[DE] [PE] Change chart type from the toolbar when chart is selected .
This commit is contained in:
parent
3fe8ee259f
commit
cb05587be1
|
@ -563,6 +563,7 @@ define([
|
||||||
var pr, sh, i = -1, type,
|
var pr, sh, i = -1, type,
|
||||||
paragraph_locked = false,
|
paragraph_locked = false,
|
||||||
header_locked = false,
|
header_locked = false,
|
||||||
|
image_locked = false,
|
||||||
can_add_table = false,
|
can_add_table = false,
|
||||||
can_add_image = false,
|
can_add_image = false,
|
||||||
enable_dropcap = undefined,
|
enable_dropcap = undefined,
|
||||||
|
@ -590,6 +591,7 @@ define([
|
||||||
in_header = true;
|
in_header = true;
|
||||||
} else if (type === Asc.c_oAscTypeSelectElement.Image) {
|
} else if (type === Asc.c_oAscTypeSelectElement.Image) {
|
||||||
in_image = in_header = true;
|
in_image = in_header = true;
|
||||||
|
image_locked = pr.get_Locked();
|
||||||
if (pr && pr.get_ChartProperties())
|
if (pr && pr.get_ChartProperties())
|
||||||
in_chart = true;
|
in_chart = true;
|
||||||
} else if (type === Asc.c_oAscTypeSelectElement.Math) {
|
} else if (type === Asc.c_oAscTypeSelectElement.Math) {
|
||||||
|
@ -670,16 +672,18 @@ define([
|
||||||
}
|
}
|
||||||
|
|
||||||
need_disable = paragraph_locked || header_locked || !can_add_image || in_equation;
|
need_disable = paragraph_locked || header_locked || !can_add_image || in_equation;
|
||||||
if (need_disable != toolbar.btnInsertChart.isDisabled()) {
|
if (need_disable != toolbar.btnInsertImage.isDisabled()) {
|
||||||
toolbar.btnInsertChart.setDisabled(need_disable);
|
|
||||||
toolbar.btnInsertImage.setDisabled(need_disable);
|
toolbar.btnInsertImage.setDisabled(need_disable);
|
||||||
toolbar.btnInsertShape.setDisabled(need_disable);
|
toolbar.btnInsertShape.setDisabled(need_disable);
|
||||||
toolbar.btnInsertText.setDisabled(need_disable);
|
toolbar.btnInsertText.setDisabled(need_disable);
|
||||||
}
|
}
|
||||||
|
|
||||||
need_disable = need_disable || in_image;
|
if ((need_disable || in_image) != toolbar.mnuInsertTextArt.isDisabled())
|
||||||
if (need_disable != toolbar.mnuInsertTextArt.isDisabled())
|
toolbar.mnuInsertTextArt.setDisabled(need_disable || in_image);
|
||||||
toolbar.mnuInsertTextArt.setDisabled(need_disable);
|
|
||||||
|
need_disable = in_chart && image_locked || !in_chart && need_disable;
|
||||||
|
if (need_disable != toolbar.btnInsertChart.isDisabled())
|
||||||
|
toolbar.btnInsertChart.setDisabled(need_disable);
|
||||||
|
|
||||||
need_disable = paragraph_locked || header_locked || in_chart || !can_add_image&&!in_equation;
|
need_disable = paragraph_locked || header_locked || in_chart || !can_add_image&&!in_equation;
|
||||||
if (need_disable !== toolbar.btnInsertEquation.isDisabled()) toolbar.btnInsertEquation.setDisabled(need_disable);
|
if (need_disable !== toolbar.btnInsertEquation.isDisabled()) toolbar.btnInsertEquation.setDisabled(need_disable);
|
||||||
|
@ -1675,20 +1679,43 @@ define([
|
||||||
|
|
||||||
onSelectChart: function(picker, item, record) {
|
onSelectChart: function(picker, item, record) {
|
||||||
var me = this,
|
var me = this,
|
||||||
type = record.get('type');
|
type = record.get('type'),
|
||||||
|
chart = false;
|
||||||
|
|
||||||
if (!this.diagramEditor)
|
var selectedElements = me.api.getSelectedElements();
|
||||||
this.diagramEditor = this.getApplication().getController('Common.Controllers.ExternalDiagramEditor').getView('Common.Views.ExternalDiagramEditor');
|
if (selectedElements && _.isArray(selectedElements)) {
|
||||||
|
for (var i = 0; i< selectedElements.length; i++) {
|
||||||
if (this.diagramEditor && me.api) {
|
if (Asc.c_oAscTypeSelectElement.Image == selectedElements[i].get_ObjectType()) {
|
||||||
this.diagramEditor.setEditMode(false);
|
var elValue = selectedElements[i].get_ObjectValue().get_ChartProperties();
|
||||||
this.diagramEditor.show();
|
if (elValue) {
|
||||||
|
chart = elValue;
|
||||||
var chart = me.api.asc_getChartObject(type);
|
break;
|
||||||
if (chart) {
|
}
|
||||||
this.diagramEditor.setChartData(new Asc.asc_CChartBinary(chart));
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (chart) {
|
||||||
|
var props = new Asc.asc_CImgProperty();
|
||||||
|
chart.changeType(type);
|
||||||
|
props.put_ChartProperties(chart);
|
||||||
|
this.api.ImgApply(props);
|
||||||
|
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
|
||||||
|
} else {
|
||||||
|
if (!this.diagramEditor)
|
||||||
|
this.diagramEditor = this.getApplication().getController('Common.Controllers.ExternalDiagramEditor').getView('Common.Views.ExternalDiagramEditor');
|
||||||
|
|
||||||
|
if (this.diagramEditor && me.api) {
|
||||||
|
this.diagramEditor.setEditMode(false);
|
||||||
|
this.diagramEditor.show();
|
||||||
|
|
||||||
|
chart = me.api.asc_getChartObject(type);
|
||||||
|
if (chart) {
|
||||||
|
this.diagramEditor.setChartData(new Asc.asc_CChartBinary(chart));
|
||||||
|
}
|
||||||
|
me.toolbar.fireEvent('insertchart', me.toolbar);
|
||||||
}
|
}
|
||||||
me.toolbar.fireEvent('insertchart', me.toolbar);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -1450,20 +1450,39 @@ define([
|
||||||
|
|
||||||
onSelectChart: function(picker, item, record) {
|
onSelectChart: function(picker, item, record) {
|
||||||
var me = this,
|
var me = this,
|
||||||
type = record.get('type');
|
type = record.get('type'),
|
||||||
|
chart = false;
|
||||||
|
|
||||||
if (!this.diagramEditor)
|
var selectedElements = me.api.getSelectedElements();
|
||||||
this.diagramEditor = this.getApplication().getController('Common.Controllers.ExternalDiagramEditor').getView('Common.Views.ExternalDiagramEditor');
|
if (selectedElements && _.isArray(selectedElements)) {
|
||||||
|
for (var i = 0; i< selectedElements.length; i++) {
|
||||||
if (this.diagramEditor && me.api) {
|
if (Asc.c_oAscTypeSelectElement.Chart == selectedElements[i].get_ObjectType()) {
|
||||||
this.diagramEditor.setEditMode(false);
|
chart = true;
|
||||||
this.diagramEditor.show();
|
break;
|
||||||
|
}
|
||||||
var chart = me.api.asc_getChartObject(type);
|
}
|
||||||
if (chart) {
|
}
|
||||||
this.diagramEditor.setChartData(new Asc.asc_CChartBinary(chart));
|
|
||||||
|
if (chart) {
|
||||||
|
var props = new Asc.CAscChartProp();
|
||||||
|
props.changeType(type);
|
||||||
|
this.api.ChartApply(props);
|
||||||
|
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
|
||||||
|
} else {
|
||||||
|
if (!this.diagramEditor)
|
||||||
|
this.diagramEditor = this.getApplication().getController('Common.Controllers.ExternalDiagramEditor').getView('Common.Views.ExternalDiagramEditor');
|
||||||
|
|
||||||
|
if (this.diagramEditor && me.api) {
|
||||||
|
this.diagramEditor.setEditMode(false);
|
||||||
|
this.diagramEditor.show();
|
||||||
|
|
||||||
|
chart = me.api.asc_getChartObject(type);
|
||||||
|
if (chart) {
|
||||||
|
this.diagramEditor.setChartData(new Asc.asc_CChartBinary(chart));
|
||||||
|
}
|
||||||
|
me.toolbar.fireEvent('insertchart', me.toolbar);
|
||||||
}
|
}
|
||||||
me.toolbar.fireEvent('insertchart', me.toolbar);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue