[DE] Add smartarts
This commit is contained in:
parent
3dcf0f6f4f
commit
a964a622b4
|
@ -1355,4 +1355,36 @@ define(function(){ 'use strict';
|
||||||
}
|
}
|
||||||
})(), Common.define.effectData || {});
|
})(), Common.define.effectData || {});
|
||||||
|
|
||||||
|
Common.define.smartArt = _.extend( new(function() {
|
||||||
|
return {
|
||||||
|
textList: 'List',
|
||||||
|
textProcess: 'Process',
|
||||||
|
textCycle: 'Cycle',
|
||||||
|
textHierarchy: 'Hierarchy',
|
||||||
|
textRelationship: 'Relationship',
|
||||||
|
textMatrix: 'Matrix',
|
||||||
|
textPyramid: 'Pyramid',
|
||||||
|
|
||||||
|
getSmartArtGroupData: function(headername) {
|
||||||
|
return [
|
||||||
|
{id: 'menu-smart-art-group-list', caption: this.textList},
|
||||||
|
{id: 'menu-smart-art-group-process', caption: this.textProcess},
|
||||||
|
{id: 'menu-smart-art-group-cycle', caption: this.textCycle},
|
||||||
|
{id: 'menu-smart-art-group-hierarchy', caption: this.textHierarchy},
|
||||||
|
{id: 'menu-smart-art-group-relationship', caption: this.textRelationship},
|
||||||
|
{id: 'menu-smart-art-group-matrix', caption: this.textMatrix},
|
||||||
|
{id: 'menu-smart-art-group-pyramid', caption: this.textPyramid}
|
||||||
|
];
|
||||||
|
},
|
||||||
|
|
||||||
|
getSmartArtData: function() {
|
||||||
|
return [
|
||||||
|
{ group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.barNormal, /*tip: this.*/},
|
||||||
|
|
||||||
|
|
||||||
|
];
|
||||||
|
},
|
||||||
|
}
|
||||||
|
})(), Common.define.smartArt || {});
|
||||||
|
|
||||||
});
|
});
|
|
@ -118,7 +118,8 @@ define([
|
||||||
'change:compact' : this.onClickChangeCompact,
|
'change:compact' : this.onClickChangeCompact,
|
||||||
'home:open' : this.onHomeOpen,
|
'home:open' : this.onHomeOpen,
|
||||||
'add:chart' : this.onSelectChart,
|
'add:chart' : this.onSelectChart,
|
||||||
'insert:textart' : this.onInsertTextart
|
'insert:textart' : this.onInsertTextart,
|
||||||
|
'generate:smartart' : this.generateSmartArt,
|
||||||
},
|
},
|
||||||
'FileMenu': {
|
'FileMenu': {
|
||||||
'menu:hide': this.onFileMenu.bind(this, 'hide'),
|
'menu:hide': this.onFileMenu.bind(this, 'hide'),
|
||||||
|
@ -425,6 +426,8 @@ define([
|
||||||
Common.NotificationCenter.on('storage:image-load', _.bind(this.openImageFromStorage, this));
|
Common.NotificationCenter.on('storage:image-load', _.bind(this.openImageFromStorage, this));
|
||||||
Common.NotificationCenter.on('storage:image-insert', _.bind(this.insertImageFromStorage, this));
|
Common.NotificationCenter.on('storage:image-insert', _.bind(this.insertImageFromStorage, this));
|
||||||
Common.NotificationCenter.on('dropcap:settings', _.bind(this.onDropCapAdvancedClick, this));
|
Common.NotificationCenter.on('dropcap:settings', _.bind(this.onDropCapAdvancedClick, this));
|
||||||
|
this.api.asc_registerCallback('asc_onAddSmartArtPreview', _.bind(this.onApiAddSmartArtPreview, this));
|
||||||
|
this.api.asc_registerCallback('asc_onEndSmartArtPreview', _.bind(this.onApiEndSmartArtPreview, this));
|
||||||
} else if (this.mode.isRestrictedEdit) {
|
} else if (this.mode.isRestrictedEdit) {
|
||||||
this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObjectRestrictedEdit, this));
|
this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObjectRestrictedEdit, this));
|
||||||
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiCoAuthoringDisconnect, this));
|
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiCoAuthoringDisconnect, this));
|
||||||
|
@ -3315,6 +3318,38 @@ define([
|
||||||
})).show();
|
})).show();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
generateSmartArt: function () {
|
||||||
|
this.api.asc_generateSmartArtPreviews();
|
||||||
|
},
|
||||||
|
|
||||||
|
onApiAddSmartArtPreview: function (previews) {
|
||||||
|
if (!this.smartArtPreviewStore) {
|
||||||
|
this.smartArtPreviewStore = [];
|
||||||
|
}
|
||||||
|
previews.forEach(_.bind(function (preview) {
|
||||||
|
var name = preview.asc_getName();
|
||||||
|
this.smartArtPreviewStore.push({
|
||||||
|
name: name,
|
||||||
|
imageUrl: preview.asc_getImage(),
|
||||||
|
tip: name
|
||||||
|
});
|
||||||
|
}, this));
|
||||||
|
},
|
||||||
|
|
||||||
|
onApiEndSmartArtPreview: function () {
|
||||||
|
//console.log('_____________');
|
||||||
|
//console.log('Asc.c_oAscSmartArtTypes', Asc.c_oAscSmartArtTypes);
|
||||||
|
//console.log('Asc.c_oAscSmartArtNameTypes', Asc.c_oAscSmartArtNameTypes);
|
||||||
|
|
||||||
|
var menuPicker = this.toolbar.btnInsertSmartArt.menu.items[0].menuPicker;
|
||||||
|
menuPicker.setStore(new Common.UI.DataViewStore(this.smartArtPreviewStore));
|
||||||
|
menuPicker.onResetItems();
|
||||||
|
|
||||||
|
console.log(this.smartArtPreviewStore);
|
||||||
|
|
||||||
|
console.log('end');
|
||||||
|
},
|
||||||
|
|
||||||
textEmptyImgUrl : 'You need to specify image URL.',
|
textEmptyImgUrl : 'You need to specify image URL.',
|
||||||
textWarning : 'Warning',
|
textWarning : 'Warning',
|
||||||
textFontSizeErr : 'The entered value is incorrect.<br>Please enter a numeric value between 1 and 300',
|
textFontSizeErr : 'The entered value is incorrect.<br>Please enter a numeric value between 1 and 300',
|
||||||
|
|
|
@ -103,6 +103,7 @@
|
||||||
<span class="btn-slot text x-huge" id="slot-btn-insimage"></span>
|
<span class="btn-slot text x-huge" id="slot-btn-insimage"></span>
|
||||||
<span class="btn-slot text x-huge" id="slot-btn-inschart"></span>
|
<span class="btn-slot text x-huge" id="slot-btn-inschart"></span>
|
||||||
<span class="btn-slot text x-huge" id="slot-btn-insshape"></span>
|
<span class="btn-slot text x-huge" id="slot-btn-insshape"></span>
|
||||||
|
<span class="btn-slot text x-huge" id="slot-btn-inssmartart"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="separator long"></div>
|
<div class="separator long"></div>
|
||||||
<div class="group">
|
<div class="group">
|
||||||
|
|
|
@ -780,6 +780,21 @@ define([
|
||||||
});
|
});
|
||||||
this.paragraphControls.push(this.btnInsertShape);
|
this.paragraphControls.push(this.btnInsertShape);
|
||||||
|
|
||||||
|
this.btnInsertSmartArt = new Common.UI.Button({
|
||||||
|
id: 'tlbtn-insertsmartart',
|
||||||
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
|
iconCls: 'toolbar__icon',
|
||||||
|
lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.contentLock, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode,
|
||||||
|
_set.lostConnect, _set.disableOnStart],
|
||||||
|
caption: me.capBtnInsSmartArt,
|
||||||
|
enableToggle: true,
|
||||||
|
menu: true,
|
||||||
|
dataHint: '1',
|
||||||
|
dataHintDirection: 'bottom',
|
||||||
|
dataHintOffset: 'small'
|
||||||
|
});
|
||||||
|
this.paragraphControls.push(this.btnInsertSmartArt);
|
||||||
|
|
||||||
this.btnInsertEquation = new Common.UI.Button({
|
this.btnInsertEquation = new Common.UI.Button({
|
||||||
id: 'tlbtn-insertequation',
|
id: 'tlbtn-insertequation',
|
||||||
cls: 'btn-toolbar x-huge icon-top',
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
|
@ -1716,6 +1731,7 @@ define([
|
||||||
_injectComponent('#slot-btn-datetime', this.btnInsDateTime);
|
_injectComponent('#slot-btn-datetime', this.btnInsDateTime);
|
||||||
_injectComponent('#slot-btn-blankpage', this.btnBlankPage);
|
_injectComponent('#slot-btn-blankpage', this.btnBlankPage);
|
||||||
_injectComponent('#slot-btn-insshape', this.btnInsertShape);
|
_injectComponent('#slot-btn-insshape', this.btnInsertShape);
|
||||||
|
_injectComponent('#slot-btn-inssmartart', this.btnInsertSmartArt);
|
||||||
_injectComponent('#slot-btn-insequation', this.btnInsertEquation);
|
_injectComponent('#slot-btn-insequation', this.btnInsertEquation);
|
||||||
_injectComponent('#slot-btn-inssymbol', this.btnInsertSymbol);
|
_injectComponent('#slot-btn-inssymbol', this.btnInsertSymbol);
|
||||||
_injectComponent('#slot-btn-pageorient', this.btnPageOrient);
|
_injectComponent('#slot-btn-pageorient', this.btnPageOrient);
|
||||||
|
@ -2015,6 +2031,7 @@ define([
|
||||||
this.btnInsDateTime.updateHint(this.tipDateTime);
|
this.btnInsDateTime.updateHint(this.tipDateTime);
|
||||||
this.btnBlankPage.updateHint(this.tipBlankPage);
|
this.btnBlankPage.updateHint(this.tipBlankPage);
|
||||||
this.btnInsertShape.updateHint(this.tipInsertShape);
|
this.btnInsertShape.updateHint(this.tipInsertShape);
|
||||||
|
this.btnInsertSmartArt.updateHint(this.tipInsertSmartArt);
|
||||||
this.btnInsertEquation.updateHint(this.tipInsertEquation);
|
this.btnInsertEquation.updateHint(this.tipInsertEquation);
|
||||||
this.btnInsertSymbol.updateHint(this.tipInsertSymbol);
|
this.btnInsertSymbol.updateHint(this.tipInsertSymbol);
|
||||||
this.btnDropCap.updateHint(this.tipDropCap);
|
this.btnDropCap.updateHint(this.tipDropCap);
|
||||||
|
@ -2199,6 +2216,43 @@ define([
|
||||||
};
|
};
|
||||||
this.btnInsertChart.menu.on('show:before', onShowBefore);
|
this.btnInsertChart.menu.on('show:before', onShowBefore);
|
||||||
|
|
||||||
|
this.btnInsertSmartArt.setMenu(new Common.UI.Menu({
|
||||||
|
items: []
|
||||||
|
}));
|
||||||
|
|
||||||
|
var smartArtGroups = Common.define.smartArt.getSmartArtGroupData();
|
||||||
|
smartArtGroups.forEach(_.bind(function (item, index) {
|
||||||
|
this.btnInsertSmartArt.menu.addItem({
|
||||||
|
caption: item.caption,
|
||||||
|
value: item.id,
|
||||||
|
menu: new Common.UI.Menu({
|
||||||
|
items: [
|
||||||
|
{template: _.template('<div id="' + item.id + '" class="menu-add-smart-art" style="width: 300px; height: 500px;"></div>')}
|
||||||
|
],
|
||||||
|
menuAlign: 'tl-tr',
|
||||||
|
})});
|
||||||
|
console.log(this.btnInsertSmartArt.menu.items[index]);
|
||||||
|
this.btnInsertSmartArt.menu.items[index].menuPicker = new Common.UI.DataViewSimple({
|
||||||
|
el: $('#' + item.id),
|
||||||
|
parentMenu: this.btnInsertSmartArt.menu.items[index].menu,
|
||||||
|
itemTemplate: _.template([
|
||||||
|
'<div>',
|
||||||
|
'<img src="<%= imageUrl %>" width="' + 50 + '" height="' + 50 + '" + <% if(typeof imageUrl === "undefined" || imageUrl===null || imageUrl==="") { %> style="visibility: hidden;" <% } %>/>',
|
||||||
|
'</div>'
|
||||||
|
].join('')),
|
||||||
|
//store: new Common.UI.DataViewStore(),
|
||||||
|
delayRenderTips: true,
|
||||||
|
scrollAlwaysVisible: true
|
||||||
|
});
|
||||||
|
this.btnInsertSmartArt.menu.items[index].menuPicker.on('item:click', _.bind(function (picker, item, record, e) {
|
||||||
|
console.log(record.name);
|
||||||
|
}, this));
|
||||||
|
}, this));
|
||||||
|
|
||||||
|
$('#menu-smart-art-group-list').css('height', '700px');
|
||||||
|
|
||||||
|
this.fireEvent('generate:smartart');
|
||||||
|
|
||||||
var onShowBeforeTextArt = function (menu) {
|
var onShowBeforeTextArt = function (menu) {
|
||||||
var collection = DE.getCollection('Common.Collections.TextArt');
|
var collection = DE.getCollection('Common.Collections.TextArt');
|
||||||
if (collection.length<1)
|
if (collection.length<1)
|
||||||
|
@ -2688,6 +2742,7 @@ define([
|
||||||
tipBack: 'Back',
|
tipBack: 'Back',
|
||||||
tipInsertShape: 'Insert Autoshape',
|
tipInsertShape: 'Insert Autoshape',
|
||||||
tipInsertEquation: 'Insert Equation',
|
tipInsertEquation: 'Insert Equation',
|
||||||
|
tipInsertSmartArt: 'Insert SmartArt',
|
||||||
mniImageFromFile: 'Image from File',
|
mniImageFromFile: 'Image from File',
|
||||||
mniImageFromUrl: 'Image from URL',
|
mniImageFromUrl: 'Image from URL',
|
||||||
mniCustomTable: 'Insert Custom Table',
|
mniCustomTable: 'Insert Custom Table',
|
||||||
|
@ -2789,6 +2844,7 @@ define([
|
||||||
capBtnPageOrient: 'Orientation',
|
capBtnPageOrient: 'Orientation',
|
||||||
capBtnMargins: 'Margins',
|
capBtnMargins: 'Margins',
|
||||||
capBtnPageSize: 'Size',
|
capBtnPageSize: 'Size',
|
||||||
|
capBtnInsSmartArt: 'SmartArt',
|
||||||
tipImgAlign: 'Align objects',
|
tipImgAlign: 'Align objects',
|
||||||
tipImgGroup: 'Group objects',
|
tipImgGroup: 'Group objects',
|
||||||
tipImgWrapping: 'Wrap text',
|
tipImgWrapping: 'Wrap text',
|
||||||
|
|
Loading…
Reference in a new issue