1629 lines
84 KiB
JavaScript
1629 lines
84 KiB
JavaScript
/*
|
||
* (c) Copyright Ascensio System SIA 2010-2015
|
||
*
|
||
* This program is a free software product. You can redistribute it and/or
|
||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||
* version 3 as published by the Free Software Foundation. In accordance with
|
||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||
* of any third-party rights.
|
||
*
|
||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||
*
|
||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||
* EU, LV-1021.
|
||
*
|
||
* The interactive user interfaces in modified source and object code versions
|
||
* of the Program must display Appropriate Legal Notices, as required under
|
||
* Section 5 of the GNU AGPL version 3.
|
||
*
|
||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||
* grant you any rights under trademark law for use of our trademarks.
|
||
*
|
||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||
* well as technical writing content are licensed under the terms of the
|
||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||
*
|
||
*/
|
||
define(["jquery", "underscore", "backbone", "gateway", "common/main/lib/util/utils", "common/main/lib/component/Menu", "common/main/lib/view/CopyWarningDialog", "presentationeditor/main/app/view/HyperlinkSettingsDialog", "presentationeditor/main/app/view/ParagraphSettingsAdvanced", "presentationeditor/main/app/view/ShapeSettingsAdvanced", "presentationeditor/main/app/view/TableSettingsAdvanced"], function ($, _, Backbone, gateway) {
|
||
PE.Views.DocumentHolder = Backbone.View.extend(_.extend({
|
||
el: "#editor_sdk",
|
||
template: null,
|
||
events: {},
|
||
initialize: function () {
|
||
var me = this;
|
||
me.usertips = [];
|
||
me._TtHeight = 20;
|
||
me.show_copywarning = true;
|
||
me.slidesCount = 0;
|
||
var usersStore = PE.getCollection("Common.Collections.Users");
|
||
var value = window.localStorage.getItem("pe-settings-livecomment");
|
||
me.isLiveCommenting = !(value !== null && parseInt(value) == 0);
|
||
var showPopupMenu = function (menu, value, event, docElement, eOpts) {
|
||
if (!_.isUndefined(menu) && menu !== null) {
|
||
Common.UI.Menu.Manager.hideAll();
|
||
var showPoint = [event.get_X(), event.get_Y()],
|
||
menuContainer = $(me.el).find(Common.Utils.String.format("#menu-container-{0}", menu.id));
|
||
if (event.get_Type() == c_oAscContextMenuTypes.Thumbnails) {
|
||
showPoint[0] -= 3;
|
||
showPoint[1] -= 3;
|
||
}
|
||
if (!menu.rendered) {
|
||
if (menuContainer.length < 1) {
|
||
menuContainer = $(Common.Utils.String.format('<div id="menu-container-{0}" style="position: absolute; z-index: 10000;"><div class="dropdown-toggle" data-toggle="dropdown"></div></div>', menu.id));
|
||
$(me.el).append(menuContainer);
|
||
}
|
||
menu.render(menuContainer);
|
||
menu.cmpEl.attr({
|
||
tabindex: "-1"
|
||
});
|
||
}
|
||
menuContainer.css({
|
||
left: showPoint[0],
|
||
top: showPoint[1]
|
||
});
|
||
menu.show();
|
||
if (_.isFunction(menu.options.initMenu)) {
|
||
menu.options.initMenu(value);
|
||
menu.alignPosition();
|
||
}
|
||
_.delay(function () {
|
||
menu.cmpEl.focus();
|
||
},
|
||
10);
|
||
me.currentMenu = menu;
|
||
}
|
||
};
|
||
var showObjectMenu = function (event, docElement, eOpts) {
|
||
if (me.api && me.mode.isEdit) {
|
||
var menu_props = {},
|
||
menu_to_show = null,
|
||
selectedElements = me.api.getSelectedElements();
|
||
if (selectedElements && _.isArray(selectedElements)) {
|
||
_.each(selectedElements, function (element, index) {
|
||
var elType = element.get_ObjectType(),
|
||
elValue = element.get_ObjectValue();
|
||
if (c_oAscTypeSelectElement.Image == elType) {
|
||
menu_to_show = me.pictureMenu;
|
||
menu_props.imgProps = {};
|
||
menu_props.imgProps.value = elValue;
|
||
menu_props.imgProps.locked = (elValue) ? elValue.get_Locked() : false;
|
||
} else {
|
||
if (c_oAscTypeSelectElement.Table == elType) {
|
||
menu_to_show = me.tableMenu;
|
||
menu_props.tableProps = {};
|
||
menu_props.tableProps.value = elValue;
|
||
menu_props.tableProps.locked = (elValue) ? elValue.get_Locked() : false;
|
||
} else {
|
||
if (c_oAscTypeSelectElement.Hyperlink == elType) {
|
||
menu_props.hyperProps = {};
|
||
menu_props.hyperProps.value = elValue;
|
||
} else {
|
||
if (c_oAscTypeSelectElement.Shape == elType) {
|
||
menu_to_show = me.pictureMenu;
|
||
menu_props.shapeProps = {};
|
||
menu_props.shapeProps.value = elValue;
|
||
menu_props.shapeProps.locked = (elValue) ? elValue.get_Locked() : false;
|
||
if (elValue.get_FromChart()) {
|
||
menu_props.shapeProps.isChart = true;
|
||
}
|
||
} else {
|
||
if (c_oAscTypeSelectElement.Chart == elType) {
|
||
menu_to_show = me.pictureMenu;
|
||
menu_props.chartProps = {};
|
||
menu_props.chartProps.value = elValue;
|
||
menu_props.chartProps.locked = (elValue) ? elValue.get_Locked() : false;
|
||
} else {
|
||
if (c_oAscTypeSelectElement.Slide == elType) {
|
||
menu_props.slideProps = {};
|
||
menu_props.slideProps.value = elValue;
|
||
menu_props.slideProps.locked = (elValue) ? elValue.get_LockDelete() : false;
|
||
} else {
|
||
if (c_oAscTypeSelectElement.Paragraph == elType) {
|
||
menu_props.paraProps = {};
|
||
menu_props.paraProps.value = elValue;
|
||
menu_props.paraProps.locked = (elValue) ? elValue.get_Locked() : false;
|
||
if ((menu_props.shapeProps && menu_props.shapeProps.value || menu_props.chartProps && menu_props.chartProps.value) && _.isUndefined(menu_props.tableProps)) {
|
||
menu_to_show = me.textMenu;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
});
|
||
if (menu_to_show === null) {
|
||
if (!_.isUndefined(menu_props.paraProps)) {
|
||
menu_to_show = me.textMenu;
|
||
} else {
|
||
if (!_.isUndefined(menu_props.slideProps)) {
|
||
menu_to_show = me.slideMenu;
|
||
}
|
||
}
|
||
}
|
||
showPopupMenu(menu_to_show, menu_props, event, docElement, eOpts);
|
||
}
|
||
}
|
||
};
|
||
var onContextMenu = function (event) {
|
||
_.delay(function () {
|
||
if (event.get_Type() == c_oAscContextMenuTypes.Thumbnails) {
|
||
showPopupMenu.call(me, me.slideMenu, {
|
||
isSlideSelect: event.get_IsSlideSelect(),
|
||
fromThumbs: true
|
||
},
|
||
event);
|
||
} else {
|
||
showObjectMenu.call(me, event);
|
||
}
|
||
},
|
||
10);
|
||
};
|
||
var handleDocumentWheel = function (event) {
|
||
if (me.api) {
|
||
var delta = (_.isUndefined(event.originalEvent)) ? event.wheelDelta : event.originalEvent.wheelDelta;
|
||
if (_.isUndefined(delta)) {
|
||
delta = event.deltaY;
|
||
}
|
||
if (event.ctrlKey || event.metaKey) {
|
||
if (delta < 0) {
|
||
me.api.zoomOut();
|
||
} else {
|
||
if (delta > 0) {
|
||
me.api.zoomIn();
|
||
}
|
||
}
|
||
event.preventDefault();
|
||
event.stopPropagation();
|
||
}
|
||
}
|
||
};
|
||
var handleDocumentKeyDown = function (event) {
|
||
if (me.api) {
|
||
var key = event.keyCode;
|
||
if ((event.ctrlKey || event.metaKey) && !event.shiftKey) {
|
||
if (key === Common.UI.Keys.NUM_PLUS || key === Common.UI.Keys.EQUALITY || (Common.Utils.isOpera && key == 43)) {
|
||
me.api.zoomIn();
|
||
event.preventDefault();
|
||
event.stopPropagation();
|
||
return false;
|
||
} else {
|
||
if (key === Common.UI.Keys.NUM_MINUS || key === Common.UI.Keys.MINUS || (Common.Utils.isOpera && key == 45)) {
|
||
me.api.zoomOut();
|
||
event.preventDefault();
|
||
event.stopPropagation();
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
if (me.currentMenu && me.currentMenu.isVisible()) {
|
||
if (key == Common.UI.Keys.UP || key == Common.UI.Keys.DOWN) {
|
||
$("ul.dropdown-menu", me.currentMenu.el).focus();
|
||
}
|
||
}
|
||
}
|
||
};
|
||
var onDocumentHolderResize = function () {
|
||
me._Height = me.cmpEl.height();
|
||
me._Width = me.cmpEl.width();
|
||
me._BodyWidth = $("body").width();
|
||
if (me.slideNumDiv) {
|
||
me.slideNumDiv.remove();
|
||
me.slideNumDiv = undefined;
|
||
}
|
||
};
|
||
var onAfterRender = function (ct) {
|
||
var meEl = me.cmpEl;
|
||
if (meEl) {
|
||
meEl.on("contextmenu", function (e) {
|
||
e.preventDefault();
|
||
e.stopPropagation();
|
||
return false;
|
||
});
|
||
meEl.on("click", function (e) {
|
||
if (e.target.localName == "canvas") {
|
||
meEl.focus();
|
||
}
|
||
});
|
||
meEl.on("mousedown", function (e) {
|
||
if (e.target.localName == "canvas") {
|
||
Common.UI.Menu.Manager.hideAll();
|
||
}
|
||
});
|
||
var addEvent = function (elem, type, fn) {
|
||
elem.addEventListener ? elem.addEventListener(type, fn, false) : elem.attachEvent("on" + type, fn);
|
||
};
|
||
var eventname = (/Firefox/i.test(navigator.userAgent)) ? "DOMMouseScroll" : "mousewheel";
|
||
addEvent(me.el, eventname, handleDocumentWheel);
|
||
}
|
||
$(document).on("mousewheel", handleDocumentWheel);
|
||
$(document).on("keydown", handleDocumentKeyDown);
|
||
$(window).on("resize", onDocumentHolderResize);
|
||
var viewport = PE.getController("Viewport").getView("Viewport");
|
||
viewport.hlayout.on("layout:resizedrag", onDocumentHolderResize);
|
||
};
|
||
var getUserName = function (id) {
|
||
if (usersStore) {
|
||
var rec = usersStore.findUser(id);
|
||
if (rec) {
|
||
return rec.get("username");
|
||
}
|
||
}
|
||
return me.guestText;
|
||
};
|
||
var screenTip = {
|
||
toolTip: new Common.UI.Tooltip({
|
||
owner: this,
|
||
html: true,
|
||
title: "<br><b>Press Ctrl and click link</b>"
|
||
}),
|
||
strTip: "",
|
||
isHidden: true,
|
||
isVisible: false
|
||
};
|
||
var userTooltip = true;
|
||
var userTipMousover = function (evt, el, opt) {
|
||
if (userTooltip === true) {
|
||
userTooltip = new Common.UI.Tooltip({
|
||
owner: evt.currentTarget,
|
||
title: me.tipIsLocked
|
||
});
|
||
userTooltip.show();
|
||
}
|
||
};
|
||
var userTipHide = function () {
|
||
if (typeof userTooltip == "object") {
|
||
userTooltip.hide();
|
||
userTooltip = undefined;
|
||
for (var i = 0; i < me.usertips.length; i++) {
|
||
me.usertips[i].off("mouseover", userTipMousover);
|
||
me.usertips[i].off("mouseout", userTipMousout);
|
||
}
|
||
}
|
||
};
|
||
var userTipMousout = function (evt, el, opt) {
|
||
if (typeof userTooltip == "object") {
|
||
if (userTooltip.$element && evt.currentTarget === userTooltip.$element[0]) {
|
||
userTipHide();
|
||
}
|
||
}
|
||
};
|
||
Common.NotificationCenter.on({
|
||
"window:show": function (e) {
|
||
screenTip.toolTip.hide();
|
||
screenTip.isVisible = false;
|
||
userTipHide();
|
||
},
|
||
"modal:show": function (e) {
|
||
me.hideTips();
|
||
},
|
||
"layout:changed": function (e) {
|
||
screenTip.toolTip.hide();
|
||
screenTip.isVisible = false;
|
||
userTipHide();
|
||
me.hideTips();
|
||
onDocumentHolderResize();
|
||
},
|
||
"copywarning:show": function () {
|
||
me.show_copywarning = false;
|
||
}
|
||
});
|
||
var onHyperlinkClick = function (url) {
|
||
if (url) {
|
||
var isvalid = url.strongMatch(Common.Utils.hostnameRe); ! isvalid && (isvalid = url.strongMatch(Common.Utils.emailRe)); ! isvalid && (isvalid = url.strongMatch(Common.Utils.ipRe)); ! isvalid && (isvalid = url.strongMatch(Common.Utils.localRe));
|
||
if (isvalid) {
|
||
window.open(url);
|
||
}
|
||
}
|
||
};
|
||
var onMouseMoveStart = function () {
|
||
screenTip.isHidden = true;
|
||
if (me.usertips.length > 0) {
|
||
if (typeof userTooltip == "object") {
|
||
userTooltip.hide();
|
||
userTooltip = true;
|
||
}
|
||
_.each(me.usertips, function (item) {
|
||
item.remove();
|
||
});
|
||
}
|
||
me.usertips = [];
|
||
me.usertipcount = 0;
|
||
};
|
||
var onMouseMoveEnd = function () {
|
||
if (screenTip.isHidden && screenTip.isVisible) {
|
||
screenTip.isVisible = false;
|
||
screenTip.toolTip.hide();
|
||
}
|
||
};
|
||
var onMouseMove = function (moveData) {
|
||
if (_.isUndefined(me._XY)) {
|
||
me._XY = [me.cmpEl.offset().left - $(window).scrollLeft(), me.cmpEl.offset().top - $(window).scrollTop()];
|
||
me._Width = me.cmpEl.width();
|
||
me._Height = me.cmpEl.height();
|
||
me._BodyWidth = $("body").width();
|
||
}
|
||
if (moveData) {
|
||
var showPoint, ToolTip;
|
||
if (moveData.get_Type() == 1) {
|
||
var hyperProps = moveData.get_Hyperlink();
|
||
var recalc = false;
|
||
if (hyperProps) {
|
||
screenTip.isHidden = false;
|
||
ToolTip = (_.isEmpty(hyperProps.get_ToolTip())) ? hyperProps.get_Value() : hyperProps.get_ToolTip();
|
||
ToolTip = Common.Utils.String.htmlEncode(ToolTip);
|
||
if (screenTip.tipLength !== ToolTip.length || screenTip.strTip.indexOf(ToolTip) < 0) {
|
||
screenTip.toolTip.setTitle(ToolTip + "<br><b>" + me.txtPressLink + "</b>");
|
||
screenTip.tipLength = ToolTip.length;
|
||
screenTip.strTip = ToolTip;
|
||
recalc = true;
|
||
}
|
||
showPoint = [moveData.get_X(), moveData.get_Y()];
|
||
showPoint[1] += (me._XY[1] - 15);
|
||
showPoint[0] += (me._XY[0] + 5);
|
||
if (!screenTip.isVisible || recalc) {
|
||
screenTip.isVisible = true;
|
||
screenTip.toolTip.show([-10000, -10000]);
|
||
}
|
||
if (recalc) {
|
||
screenTip.tipHeight = screenTip.toolTip.getBSTip().$tip.height();
|
||
screenTip.tipWidth = screenTip.toolTip.getBSTip().$tip.width();
|
||
}
|
||
showPoint[1] -= screenTip.tipHeight;
|
||
if (showPoint[0] + screenTip.tipWidth > me._BodyWidth) {
|
||
showPoint[0] = me._BodyWidth - screenTip.tipWidth;
|
||
}
|
||
screenTip.toolTip.getBSTip().$tip.css({
|
||
top: showPoint[1] + "px",
|
||
left: showPoint[0] + "px"
|
||
});
|
||
}
|
||
} else {
|
||
if (moveData.get_Type() == 2 && me.mode.isEdit) {
|
||
var src;
|
||
if (me.usertipcount >= me.usertips.length) {
|
||
src = $(document.createElement("div"));
|
||
src.addClass("username-tip");
|
||
src.css({
|
||
height: me._TtHeight + "px",
|
||
position: "absolute",
|
||
zIndex: "900",
|
||
visibility: "visible"
|
||
});
|
||
$(document.body).append(src);
|
||
if (userTooltip) {
|
||
src.on("mouseover", userTipMousover);
|
||
src.on("mouseout", userTipMousout);
|
||
}
|
||
me.usertips.push(src);
|
||
}
|
||
src = me.usertips[me.usertipcount];
|
||
me.usertipcount++;
|
||
ToolTip = getUserName(moveData.get_UserId());
|
||
showPoint = [moveData.get_X() + me._XY[0], moveData.get_Y() + me._XY[1]];
|
||
showPoint[0] = me._BodyWidth - showPoint[0];
|
||
showPoint[1] -= ((moveData.get_LockedObjectType() == 2) ? me._TtHeight : 0);
|
||
if (showPoint[1] > me._XY[1] && showPoint[1] + me._TtHeight < me._XY[1] + me._Height) {
|
||
src.text(ToolTip);
|
||
src.css({
|
||
visibility: "visible",
|
||
top: showPoint[1] + "px",
|
||
right: showPoint[0] + "px"
|
||
});
|
||
}
|
||
}
|
||
}
|
||
}
|
||
};
|
||
var onDialogAddHyperlink = function () {
|
||
var win, props, text;
|
||
if (me.api && me.mode.isEdit) {
|
||
var handlerDlg = function (dlg, result) {
|
||
if (result == "ok") {
|
||
props = dlg.getSettings();
|
||
(text !== false) ? me.api.add_Hyperlink(props) : me.api.change_Hyperlink(props);
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
};
|
||
text = me.api.can_AddHyperlink();
|
||
var _arr = [];
|
||
for (var i = 0; i < me.api.getCountPages(); i++) {
|
||
_arr.push({
|
||
displayValue: i + 1,
|
||
value: i
|
||
});
|
||
}
|
||
if (text !== false) {
|
||
win = new PE.Views.HyperlinkSettingsDialog({
|
||
handler: handlerDlg,
|
||
slides: _arr
|
||
});
|
||
props = new CHyperlinkProperty();
|
||
props.put_Text(text);
|
||
win.show();
|
||
win.setSettings(props);
|
||
} else {
|
||
var selectedElements = me.api.getSelectedElements();
|
||
if (selectedElements && _.isArray(selectedElements)) {
|
||
_.each(selectedElements, function (el, i) {
|
||
if (selectedElements[i].get_ObjectType() == c_oAscTypeSelectElement.Hyperlink) {
|
||
props = selectedElements[i].get_ObjectValue();
|
||
}
|
||
});
|
||
}
|
||
if (props) {
|
||
win = new PE.Views.HyperlinkSettingsDialog({
|
||
handler: handlerDlg,
|
||
slides: _arr
|
||
});
|
||
win.show();
|
||
win.setSettings(props);
|
||
}
|
||
}
|
||
}
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Add Hyperlink");
|
||
};
|
||
var onPaintSlideNum = function (slideNum) {
|
||
if (_.isUndefined(me._XY)) {
|
||
me._XY = [me.cmpEl.offset().left - $(window).scrollLeft(), me.cmpEl.offset().top - $(window).scrollTop()];
|
||
me._Width = me.cmpEl.width();
|
||
me._Height = me.cmpEl.height();
|
||
me._BodyWidth = $("body").width();
|
||
}
|
||
if (_.isUndefined(me.slideNumDiv)) {
|
||
me.slideNumDiv = $(document.createElement("div"));
|
||
me.slideNumDiv.addClass("slidenum-div");
|
||
me.slideNumDiv.css({
|
||
position: "absolute",
|
||
display: "block",
|
||
zIndex: "900",
|
||
top: me._XY[1] + me._Height / 2 + "px",
|
||
right: (me._BodyWidth - me._XY[0] - me._Width + 22) + "px"
|
||
});
|
||
$(document.body).append(me.slideNumDiv);
|
||
}
|
||
me.slideNumDiv.html(me.txtSlide + " " + (slideNum + 1));
|
||
me.slideNumDiv.show();
|
||
};
|
||
var onEndPaintSlideNum = function () {
|
||
if (me.slideNumDiv) {
|
||
me.slideNumDiv.hide();
|
||
}
|
||
};
|
||
var onCoAuthoringDisconnect = function () {
|
||
me.mode.isEdit = false;
|
||
};
|
||
var onDoubleClickOnChart = function (chart) {
|
||
if (me.mode.isEdit) {
|
||
var diagramEditor = PE.getController("Common.Controllers.ExternalDiagramEditor").getView("Common.Views.ExternalDiagramEditor");
|
||
if (diagramEditor && chart) {
|
||
diagramEditor.setEditMode(true);
|
||
diagramEditor.show();
|
||
diagramEditor.setChartData(new Asc.asc_CChartBinary(chart));
|
||
}
|
||
}
|
||
};
|
||
this.changePosition = function () {
|
||
me._XY = [me.cmpEl.offset().left - $(window).scrollLeft(), me.cmpEl.offset().top - $(window).scrollTop()];
|
||
onMouseMoveStart();
|
||
};
|
||
this.hideTips = function () {
|
||
if (typeof userTooltip == "object") {
|
||
userTooltip.hide();
|
||
userTooltip = true;
|
||
}
|
||
_.each(me.usertips, function (item) {
|
||
item.remove();
|
||
});
|
||
me.usertips = [];
|
||
me.usertipcount = 0;
|
||
};
|
||
this.setLiveCommenting = function (value) {
|
||
this.isLiveCommenting = value;
|
||
};
|
||
var keymap = {};
|
||
var hkComments = "command+alt+h,ctrl+alt+h";
|
||
keymap[hkComments] = function () {
|
||
if (me.api.can_AddQuotedComment() !== false && me.slidesCount > 0) {
|
||
me.addComment();
|
||
}
|
||
};
|
||
var hkPreview = "command+f5,ctrl+f5";
|
||
keymap[hkPreview] = function (e) {
|
||
e.preventDefault();
|
||
e.stopPropagation();
|
||
if (me.slidesCount > 0) {
|
||
var previewPanel = PE.getController("Viewport").getView("DocumentPreview");
|
||
if (previewPanel && !previewPanel.isVisible()) {
|
||
previewPanel.show();
|
||
if (me.api) {
|
||
me.api.StartDemonstration("presentation-preview", 0);
|
||
}
|
||
}
|
||
}
|
||
};
|
||
Common.util.Shortcuts.delegateShortcuts({
|
||
shortcuts: keymap
|
||
});
|
||
var onApiCountPages = function (count) {
|
||
me.slidesCount = count;
|
||
};
|
||
this.setApi = function (o) {
|
||
me.api = o;
|
||
if (me.api) {
|
||
me.api.asc_registerCallback("asc_onContextMenu", _.bind(onContextMenu, me));
|
||
me.api.asc_registerCallback("asc_onMouseMoveStart", _.bind(onMouseMoveStart, me));
|
||
me.api.asc_registerCallback("asc_onMouseMoveEnd", _.bind(onMouseMoveEnd, me));
|
||
me.api.asc_registerCallback("asc_onPaintSlideNum", _.bind(onPaintSlideNum, me));
|
||
me.api.asc_registerCallback("asc_onEndPaintSlideNum", _.bind(onEndPaintSlideNum, me));
|
||
me.api.asc_registerCallback("asc_onCountPages", _.bind(onApiCountPages, me));
|
||
me.slidesCount = me.api.getCountPages();
|
||
me.api.asc_registerCallback("asc_onHyperlinkClick", _.bind(onHyperlinkClick, me));
|
||
me.api.asc_registerCallback("asc_onMouseMove", _.bind(onMouseMove, me));
|
||
if (me.mode.isEdit === true) {
|
||
me.api.asc_registerCallback("asc_onDialogAddHyperlink", _.bind(onDialogAddHyperlink, me));
|
||
me.api.asc_registerCallback("asc_doubleClickOnChart", onDoubleClickOnChart);
|
||
}
|
||
me.api.asc_registerCallback("asc_onСoAuthoringDisconnect", _.bind(onCoAuthoringDisconnect, me));
|
||
Common.NotificationCenter.on("api:disconnect", _.bind(onCoAuthoringDisconnect, this));
|
||
}
|
||
return me;
|
||
};
|
||
this.mode = {};
|
||
this.setMode = function (mode) {
|
||
if (me.api && mode.isEdit) {
|
||
me.api.asc_registerCallback("asc_onDialogAddHyperlink", _.bind(onDialogAddHyperlink, me));
|
||
me.api.asc_registerCallback("asc_doubleClickOnChart", onDoubleClickOnChart);
|
||
}
|
||
me.mode = mode; ! (me.mode.canCoAuthoring && me.mode.isEdit && me.mode.canComments) ? Common.util.Shortcuts.suspendEvents(hkComments) : Common.util.Shortcuts.resumeEvents(hkComments);
|
||
me.editorConfig = {
|
||
user: mode.user
|
||
};
|
||
};
|
||
me.on("render:after", onAfterRender, me);
|
||
},
|
||
render: function () {
|
||
this.fireEvent("render:before", this);
|
||
this.cmpEl = $(this.el);
|
||
this.fireEvent("render:after", this);
|
||
return this;
|
||
},
|
||
focus: function () {
|
||
var me = this;
|
||
_.defer(function () {
|
||
me.cmpEl.focus();
|
||
},
|
||
50);
|
||
},
|
||
addHyperlink: function (item) {
|
||
var win, me = this;
|
||
if (me.api) {
|
||
var _arr = [];
|
||
for (var i = 0; i < me.api.getCountPages(); i++) {
|
||
_arr.push({
|
||
displayValue: i + 1,
|
||
value: i
|
||
});
|
||
}
|
||
win = new PE.Views.HyperlinkSettingsDialog({
|
||
handler: function (dlg, result) {
|
||
if (result == "ok") {
|
||
me.api.add_Hyperlink(dlg.getSettings());
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
},
|
||
slides: _arr
|
||
});
|
||
win.show();
|
||
win.setSettings(item.hyperProps.value);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Add Hyperlink");
|
||
}
|
||
},
|
||
editHyperlink: function (item, e) {
|
||
var win, me = this;
|
||
if (me.api) {
|
||
var _arr = [];
|
||
for (var i = 0; i < me.api.getCountPages(); i++) {
|
||
_arr.push({
|
||
displayValue: i + 1,
|
||
value: i
|
||
});
|
||
}
|
||
win = new PE.Views.HyperlinkSettingsDialog({
|
||
handler: function (dlg, result) {
|
||
if (result == "ok") {
|
||
me.api.change_Hyperlink(win.getSettings());
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
},
|
||
slides: _arr
|
||
});
|
||
win.show();
|
||
win.setSettings(item.hyperProps.value);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Edit Hyperlink");
|
||
}
|
||
},
|
||
addComment: function (item, e, eOpt) {
|
||
if (this.api && this.mode.canCoAuthoring && this.mode.isEdit && this.mode.canComments) {
|
||
this.suppressEditComplete = true;
|
||
this.api.asc_enableKeyEvents(false);
|
||
var controller = PE.getController("Common.Controllers.Comments");
|
||
if (controller) {
|
||
controller.addDummyComment();
|
||
}
|
||
}
|
||
},
|
||
editChartClick: function () {
|
||
var diagramEditor = PE.getController("Common.Controllers.ExternalDiagramEditor").getView("Common.Views.ExternalDiagramEditor");
|
||
if (diagramEditor) {
|
||
diagramEditor.setEditMode(true);
|
||
diagramEditor.show();
|
||
var chart = this.api.asc_getChartObject();
|
||
if (chart) {
|
||
diagramEditor.setChartData(new Asc.asc_CChartBinary(chart));
|
||
}
|
||
}
|
||
},
|
||
onCutCopyPaste: function (item, e) {
|
||
var me = this;
|
||
if (me.api) {
|
||
if (typeof window["AscDesktopEditor"] === "object") {
|
||
(item.value == "cut") ? me.api.Cut() : ((item.value == "copy") ? me.api.Copy() : me.api.Paste());
|
||
} else {
|
||
var value = window.localStorage.getItem("pe-hide-copywarning");
|
||
if (! (value && parseInt(value) == 1) && me.show_copywarning) {
|
||
(new Common.Views.CopyWarningDialog({
|
||
handler: function (dontshow) {
|
||
(item.value == "cut") ? me.api.Cut() : ((item.value == "copy") ? me.api.Copy() : me.api.Paste());
|
||
if (dontshow) {
|
||
window.localStorage.setItem("pe-hide-copywarning", 1);
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
}
|
||
})).show();
|
||
} else {
|
||
(item.value == "cut") ? me.api.Cut() : ((item.value == "copy") ? me.api.Copy() : me.api.Paste());
|
||
me.fireEvent("editcomplete", me);
|
||
}
|
||
}
|
||
} else {
|
||
me.fireEvent("editcomplete", me);
|
||
}
|
||
},
|
||
createDelayedElements: function () {
|
||
var me = this;
|
||
var mnuDeleteSlide = new Common.UI.MenuItem({
|
||
caption: me.txtDeleteSlide
|
||
}).on("click", _.bind(function (item) {
|
||
if (me.api) {
|
||
me.api.DeleteSlide();
|
||
me.fireEvent("editcomplete", this);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Delete Slide");
|
||
}
|
||
},
|
||
me));
|
||
var mnuChangeSlide = new Common.UI.MenuItem({
|
||
caption: me.txtChangeLayout,
|
||
menu: new Common.UI.Menu({
|
||
menuAlign: "tl-tr",
|
||
items: [{
|
||
template: _.template('<div id="id-docholder-menu-changeslide" class="menu-layouts" style="width: 302px; margin: 0 4px;"></div>')
|
||
}]
|
||
})
|
||
});
|
||
var mnuPreview = new Common.UI.MenuItem({
|
||
caption: me.txtPreview
|
||
}).on("click", function (item) {
|
||
var previewPanel = PE.getController("Viewport").getView("DocumentPreview");
|
||
if (previewPanel) {
|
||
previewPanel.show();
|
||
if (me.api) {
|
||
var current = me.api.getCurrentPage();
|
||
me.api.StartDemonstration("presentation-preview", _.isNumber(current) ? current : 0);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Preview");
|
||
}
|
||
}
|
||
});
|
||
var mnuSelectAll = new Common.UI.MenuItem({
|
||
caption: me.txtSelectAll
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.SelectAllSlides();
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Select All Slides");
|
||
}
|
||
});
|
||
var menuSlidePaste = new Common.UI.MenuItem({
|
||
caption: me.textPaste,
|
||
value: "paste"
|
||
}).on("click", _.bind(me.onCutCopyPaste, me));
|
||
var menuSlideSettings = new Common.UI.MenuItem({
|
||
caption: me.textSlideSettings,
|
||
value: null
|
||
}).on("click", function (item) {
|
||
PE.getController("RightMenu").onDoubleClickOnObject(item.options.value);
|
||
});
|
||
me.slideMenu = new Common.UI.Menu({
|
||
initMenu: function (value) {
|
||
menuSlidePaste.setVisible(value.fromThumbs !== true);
|
||
me.slideMenu.items[1].setVisible(value.fromThumbs === true);
|
||
me.slideMenu.items[2].setVisible(value.isSlideSelect === true);
|
||
mnuDeleteSlide.setVisible(value.isSlideSelect === true);
|
||
me.slideMenu.items[4].setVisible(value.isSlideSelect === true || value.fromThumbs !== true);
|
||
mnuChangeSlide.setVisible(value.isSlideSelect === true || value.fromThumbs !== true);
|
||
menuSlideSettings.setVisible(value.fromThumbs !== true);
|
||
menuSlideSettings.options.value = null;
|
||
for (var i = 7; i < 11; i++) {
|
||
me.slideMenu.items[i].setVisible(value.fromThumbs === true);
|
||
}
|
||
var selectedElements = me.api.getSelectedElements(),
|
||
locked = false,
|
||
lockedDeleted = false,
|
||
lockedLayout = false;
|
||
if (selectedElements && _.isArray(selectedElements)) {
|
||
_.each(selectedElements, function (element, index) {
|
||
if (c_oAscTypeSelectElement.Slide == element.get_ObjectType()) {
|
||
var elValue = element.get_ObjectValue();
|
||
locked = elValue.get_LockDelete();
|
||
lockedDeleted = elValue.get_LockRemove();
|
||
lockedLayout = elValue.get_LockLayout();
|
||
menuSlideSettings.options.value = element;
|
||
return false;
|
||
}
|
||
});
|
||
}
|
||
for (var i = 0; i < 3; i++) {
|
||
me.slideMenu.items[i].setDisabled(locked);
|
||
}
|
||
mnuPreview.setDisabled(me.slidesCount < 1);
|
||
mnuSelectAll.setDisabled(locked || me.slidesCount < 2);
|
||
mnuDeleteSlide.setDisabled(lockedDeleted || locked);
|
||
mnuChangeSlide.setDisabled(lockedLayout || locked);
|
||
},
|
||
items: [menuSlidePaste, new Common.UI.MenuItem({
|
||
caption: me.txtNewSlide
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.AddSlide();
|
||
me.fireEvent("editcomplete", this);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Add Slide");
|
||
}
|
||
}), new Common.UI.MenuItem({
|
||
caption: me.txtDuplicateSlide
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.DublicateSlide();
|
||
me.fireEvent("editcomplete", this);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Dublicate Hyperlink");
|
||
}
|
||
}), mnuDeleteSlide, {
|
||
caption: "--"
|
||
},
|
||
mnuChangeSlide, menuSlideSettings, {
|
||
caption: "--"
|
||
},
|
||
mnuSelectAll, {
|
||
caption: "--"
|
||
},
|
||
mnuPreview]
|
||
}).on("hide:after", function (menu) {
|
||
if (me.suppressEditComplete) {
|
||
me.suppressEditComplete = false;
|
||
return;
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
me.currentMenu = null;
|
||
}).on("render:after", function (cmp) {
|
||
me.slideLayoutMenu = new Common.UI.DataView({
|
||
el: $("#id-docholder-menu-changeslide"),
|
||
parentMenu: cmp,
|
||
restoreHeight: 300,
|
||
style: "max-height: 300px;",
|
||
store: PE.getCollection("SlideLayouts"),
|
||
itemTemplate: _.template(['<div class="layout" id="<%= id %>" style="width: <%= itemWidth %>px;">', '<div style="background-image: url(<%= imageUrl %>); width: <%= itemWidth %>px; height: <%= itemHeight %>px;"/>', '<div class="title"><%= title %></div> ', "</div>"].join(""))
|
||
}).on("item:click", function (picker, item, record) {
|
||
if (me.api) {
|
||
me.api.ChangeLayout(record.get("data").idx);
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Change Layout");
|
||
}
|
||
});
|
||
if (me.slideMenu) {
|
||
me.slideMenu.on("show:after", function () {
|
||
me.slideLayoutMenu.scroller.update({
|
||
alwaysVisibleY: true
|
||
});
|
||
});
|
||
}
|
||
});
|
||
var mnuTableMerge = new Common.UI.MenuItem({
|
||
caption: me.mergeCellsText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.MergeCells();
|
||
}
|
||
});
|
||
var mnuTableSplit = new Common.UI.MenuItem({
|
||
caption: me.splitCellsText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
(new Common.Views.InsertTableDialog({
|
||
handler: function (result, value) {
|
||
if (result == "ok") {
|
||
if (me.api) {
|
||
me.api.SplitCell(value.columns, value.rows);
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Table Split");
|
||
}
|
||
}
|
||
})).show();
|
||
}
|
||
});
|
||
var menuTableCellAlign = new Common.UI.MenuItem({
|
||
caption: me.cellAlignText,
|
||
menu: (function () {
|
||
function onItemClick(item, e) {
|
||
if (me.api) {
|
||
var properties = new CTableProp();
|
||
properties.put_CellsVAlign(item.valign);
|
||
me.api.tblApply(properties);
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Table Cell Align");
|
||
}
|
||
return new Common.UI.Menu({
|
||
menuAlign: "tl-tr",
|
||
items: [me.menuTableCellTop = new Common.UI.MenuItem({
|
||
caption: me.topCellText,
|
||
checkable: true,
|
||
toggleGroup: "popuptablecellalign",
|
||
value: c_oAscVertAlignJc.Top
|
||
}).on("click", _.bind(onItemClick, me)), me.menuTableCellCenter = new Common.UI.MenuItem({
|
||
caption: me.centerCellText,
|
||
checkable: true,
|
||
toggleGroup: "popuptablecellalign",
|
||
value: c_oAscVertAlignJc.Center
|
||
}).on("click", _.bind(onItemClick, me)), me.menuTableCellBottom = new Common.UI.MenuItem({
|
||
caption: me.bottomCellText,
|
||
checkable: true,
|
||
toggleGroup: "popuptablecellalign",
|
||
value: c_oAscVertAlignJc.Bottom
|
||
}).on("click", _.bind(onItemClick, me))]
|
||
});
|
||
})()
|
||
});
|
||
var menuTableAdvanced = new Common.UI.MenuItem({
|
||
caption: me.advancedTableText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
var selectedElements = me.api.getSelectedElements();
|
||
if (selectedElements && selectedElements.length > 0) {
|
||
var elType, elValue;
|
||
for (var i = selectedElements.length - 1; i >= 0; i--) {
|
||
elType = selectedElements[i].get_ObjectType();
|
||
elValue = selectedElements[i].get_ObjectValue();
|
||
if (c_oAscTypeSelectElement.Table == elType) {
|
||
(new PE.Views.TableSettingsAdvanced({
|
||
tableProps: elValue,
|
||
handler: function (result, value) {
|
||
if (result == "ok") {
|
||
if (me.api) {
|
||
me.api.tblApply(value.tableProps);
|
||
}
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Table Settings Advanced");
|
||
}
|
||
})).show();
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
});
|
||
var menuImageAdvanced = new Common.UI.MenuItem({
|
||
caption: me.advancedImageText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
var selectedElements = me.api.getSelectedElements();
|
||
if (selectedElements && selectedElements.length > 0) {
|
||
var elType, elValue;
|
||
for (var i = selectedElements.length - 1; i >= 0; i--) {
|
||
elType = selectedElements[i].get_ObjectType();
|
||
elValue = selectedElements[i].get_ObjectValue();
|
||
if (c_oAscTypeSelectElement.Image == elType) {
|
||
var imgsizeOriginal;
|
||
if (!menuImgOriginalSize.isDisabled()) {
|
||
imgsizeOriginal = me.api.get_OriginalSizeImage();
|
||
if (imgsizeOriginal) {
|
||
imgsizeOriginal = {
|
||
width: imgsizeOriginal.get_ImageWidth(),
|
||
height: imgsizeOriginal.get_ImageHeight()
|
||
};
|
||
}
|
||
} (new PE.Views.ImageSettingsAdvanced({
|
||
imageProps: elValue,
|
||
sizeOriginal: imgsizeOriginal,
|
||
handler: function (result, value) {
|
||
if (result == "ok") {
|
||
if (me.api) {
|
||
me.api.ImgApply(value.imageProps);
|
||
}
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Image Settings Advanced");
|
||
}
|
||
})).show();
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
});
|
||
var menuShapeAdvanced = new Common.UI.MenuItem({
|
||
caption: me.advancedShapeText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
var selectedElements = me.api.getSelectedElements();
|
||
if (selectedElements && selectedElements.length > 0) {
|
||
var elType, elValue;
|
||
for (var i = selectedElements.length - 1; i >= 0; i--) {
|
||
elType = selectedElements[i].get_ObjectType();
|
||
elValue = selectedElements[i].get_ObjectValue();
|
||
if (c_oAscTypeSelectElement.Shape == elType) {
|
||
(new PE.Views.ShapeSettingsAdvanced({
|
||
shapeProps: elValue,
|
||
handler: function (result, value) {
|
||
if (result == "ok") {
|
||
if (me.api) {
|
||
me.api.ShapeApply(value.shapeProps);
|
||
}
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Image Shape Advanced");
|
||
}
|
||
})).show();
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
});
|
||
var menuParagraphAdvanced = new Common.UI.MenuItem({
|
||
caption: me.advancedParagraphText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
var selectedElements = me.api.getSelectedElements();
|
||
if (selectedElements && selectedElements.length > 0) {
|
||
var elType, elValue;
|
||
for (var i = selectedElements.length - 1; i >= 0; i--) {
|
||
elType = selectedElements[i].get_ObjectType();
|
||
elValue = selectedElements[i].get_ObjectValue();
|
||
if (c_oAscTypeSelectElement.Paragraph == elType) {
|
||
(new PE.Views.ParagraphSettingsAdvanced({
|
||
paragraphProps: elValue,
|
||
api: me.api,
|
||
handler: function (result, value) {
|
||
if (result == "ok") {
|
||
if (me.api) {
|
||
me.api.paraApply(value.paragraphProps);
|
||
}
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Image Paragraph Advanced");
|
||
}
|
||
})).show();
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
});
|
||
var menuCommentParaSeparator = new Common.UI.MenuItem({
|
||
caption: "--"
|
||
});
|
||
var menuAddHyperlinkPara = new Common.UI.MenuItem({
|
||
caption: me.hyperlinkText
|
||
}).on("click", _.bind(me.addHyperlink, me));
|
||
var menuEditHyperlinkPara = new Common.UI.MenuItem({
|
||
caption: me.editHyperlinkText
|
||
}).on("click", _.bind(me.editHyperlink, me));
|
||
var menuRemoveHyperlinkPara = new Common.UI.MenuItem({
|
||
caption: me.removeHyperlinkText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.remove_Hyperlink();
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Remove Hyperlink");
|
||
});
|
||
var menuHyperlinkPara = new Common.UI.MenuItem({
|
||
caption: me.hyperlinkText,
|
||
menu: new Common.UI.Menu({
|
||
menuAlign: "tl-tr",
|
||
items: [menuEditHyperlinkPara, menuRemoveHyperlinkPara]
|
||
})
|
||
});
|
||
var menuAddHyperlinkTable = new Common.UI.MenuItem({
|
||
caption: me.hyperlinkText
|
||
}).on("click", _.bind(me.addHyperlink, me));
|
||
var menuEditHyperlinkTable = new Common.UI.MenuItem({
|
||
caption: me.editHyperlinkText
|
||
}).on("click", _.bind(me.editHyperlink, me));
|
||
var menuRemoveHyperlinkTable = new Common.UI.MenuItem({
|
||
caption: me.removeHyperlinkText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.remove_Hyperlink();
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Remove Hyperlink Table");
|
||
});
|
||
var menuHyperlinkTable = new Common.UI.MenuItem({
|
||
caption: me.hyperlinkText,
|
||
menu: new Common.UI.Menu({
|
||
menuAlign: "tl-tr",
|
||
items: [menuEditHyperlinkTable, menuRemoveHyperlinkTable]
|
||
})
|
||
});
|
||
var menuHyperlinkSeparator = new Common.UI.MenuItem({
|
||
caption: "--"
|
||
});
|
||
var mnuGroupImg = new Common.UI.MenuItem({
|
||
caption: this.txtGroup,
|
||
iconCls: "mnu-group"
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.groupShapes();
|
||
}
|
||
me.fireEvent("editcomplete", this);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Group Image");
|
||
});
|
||
var mnuUnGroupImg = new Common.UI.MenuItem({
|
||
caption: this.txtUngroup,
|
||
iconCls: "mnu-ungroup"
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.unGroupShapes();
|
||
}
|
||
me.fireEvent("editcomplete", this);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Ungroup Image");
|
||
});
|
||
var menuImgShapeArrange = new Common.UI.MenuItem({
|
||
caption: me.txtArrange,
|
||
menu: new Common.UI.Menu({
|
||
menuAlign: "tl-tr",
|
||
items: [new Common.UI.MenuItem({
|
||
caption: this.textArrangeFront,
|
||
iconCls: "mnu-arrange-front"
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.shapes_bringToFront();
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Bring To Front");
|
||
}), new Common.UI.MenuItem({
|
||
caption: this.textArrangeBack,
|
||
iconCls: "mnu-arrange-back"
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.shapes_bringToBack();
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Bring To Back");
|
||
}), new Common.UI.MenuItem({
|
||
caption: this.textArrangeForward,
|
||
iconCls: "mnu-arrange-forward"
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.shapes_bringForward();
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Send Forward");
|
||
}), new Common.UI.MenuItem({
|
||
caption: this.textArrangeBackward,
|
||
iconCls: "mnu-arrange-backward"
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.shapes_bringBackward();
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Send Backward");
|
||
}), {
|
||
caption: "--"
|
||
},
|
||
mnuGroupImg, mnuUnGroupImg]
|
||
})
|
||
});
|
||
var menuImgShapeAlign = new Common.UI.MenuItem({
|
||
caption: me.txtAlign,
|
||
menu: (function () {
|
||
function onItemClick(item) {
|
||
if (me.api) {
|
||
me.api.put_ShapesAlign(item.value);
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Image Shape Align");
|
||
}
|
||
return new Common.UI.Menu({
|
||
menuAlign: "tl-tr",
|
||
items: [new Common.UI.MenuItem({
|
||
caption: me.textShapeAlignLeft,
|
||
iconCls: "mnu-shape-align-left",
|
||
value: c_oAscAlignShapeType.ALIGN_LEFT
|
||
}).on("click", _.bind(onItemClick, me)), new Common.UI.MenuItem({
|
||
caption: me.textShapeAlignCenter,
|
||
iconCls: "mnu-shape-align-center",
|
||
value: c_oAscAlignShapeType.ALIGN_CENTER
|
||
}).on("click", _.bind(onItemClick, me)), new Common.UI.MenuItem({
|
||
caption: me.textShapeAlignRight,
|
||
iconCls: "mnu-shape-align-right",
|
||
value: c_oAscAlignShapeType.ALIGN_RIGHT
|
||
}).on("click", _.bind(onItemClick, me)), new Common.UI.MenuItem({
|
||
caption: me.textShapeAlignTop,
|
||
iconCls: "mnu-shape-align-top",
|
||
value: c_oAscAlignShapeType.ALIGN_TOP
|
||
}).on("click", _.bind(onItemClick, me)), new Common.UI.MenuItem({
|
||
caption: me.textShapeAlignMiddle,
|
||
iconCls: "mnu-shape-align-middle",
|
||
value: c_oAscAlignShapeType.ALIGN_MIDDLE
|
||
}).on("click", _.bind(onItemClick, me)), new Common.UI.MenuItem({
|
||
caption: me.textShapeAlignBottom,
|
||
iconCls: "mnu-shape-align-bottom",
|
||
value: c_oAscAlignShapeType.ALIGN_BOTTOM
|
||
}).on("click", _.bind(onItemClick, me)), {
|
||
caption: "--"
|
||
},
|
||
new Common.UI.MenuItem({
|
||
caption: me.txtDistribHor,
|
||
iconCls: "mnu-distrib-hor"
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.DistributeHorizontally();
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Distribute Horizontally");
|
||
}), new Common.UI.MenuItem({
|
||
caption: me.txtDistribVert,
|
||
iconCls: "mnu-distrib-vert"
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.DistributeVertically();
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Distribute Vertically");
|
||
})]
|
||
});
|
||
})()
|
||
});
|
||
var menuChartEdit = new Common.UI.MenuItem({
|
||
caption: me.editChartText
|
||
}).on("click", _.bind(me.editChartClick, me));
|
||
var menuParagraphVAlign = new Common.UI.MenuItem({
|
||
caption: me.vertAlignText,
|
||
menu: (function () {
|
||
function onItemClick(item) {
|
||
if (me.api) {
|
||
var properties = new CAscShapeProp();
|
||
properties.put_VerticalTextAlign(item.value);
|
||
me.api.ShapeApply(properties);
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Text Vertical Align");
|
||
}
|
||
return new Common.UI.Menu({
|
||
menuAlign: "tl-tr",
|
||
items: [me.menuParagraphTop = new Common.UI.MenuItem({
|
||
caption: me.topCellText,
|
||
checkable: true,
|
||
toggleGroup: "popupparagraphvalign",
|
||
value: c_oAscVerticalTextAlign.TEXT_ALIGN_TOP
|
||
}).on("click", _.bind(onItemClick, me)), me.menuParagraphCenter = new Common.UI.MenuItem({
|
||
caption: me.centerCellText,
|
||
checkable: true,
|
||
toggleGroup: "popupparagraphvalign",
|
||
value: c_oAscVerticalTextAlign.TEXT_ALIGN_CTR
|
||
}).on("click", _.bind(onItemClick, me)), me.menuParagraphBottom = new Common.UI.MenuItem({
|
||
caption: me.bottomCellText,
|
||
checkable: true,
|
||
toggleGroup: "popupparagraphvalign",
|
||
value: c_oAscVerticalTextAlign.TEXT_ALIGN_BOTTOM
|
||
}).on("click", _.bind(onItemClick, me))]
|
||
});
|
||
})()
|
||
});
|
||
var menuImgShapeSeparator = new Common.UI.MenuItem({
|
||
caption: "--"
|
||
});
|
||
var menuImgOriginalSize = new Common.UI.MenuItem({
|
||
caption: me.originalSizeText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
var originalImageSize = me.api.get_OriginalSizeImage();
|
||
if (originalImageSize) {
|
||
var properties = new CImgProperty();
|
||
properties.put_Width(originalImageSize.get_ImageWidth());
|
||
properties.put_Height(originalImageSize.get_ImageHeight());
|
||
me.api.ImgApply(properties);
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
Common.component.Analytics.trackEvent("DocumentHolder", "Set Image Original Size");
|
||
}
|
||
});
|
||
var menuAddCommentPara = new Common.UI.MenuItem({
|
||
caption: me.addCommentText
|
||
}).on("click", _.bind(me.addComment, me));
|
||
menuAddCommentPara.hide();
|
||
var menuAddCommentTable = new Common.UI.MenuItem({
|
||
caption: me.addCommentText
|
||
}).on("click", _.bind(me.addComment, me));
|
||
menuAddCommentTable.hide();
|
||
var menuCommentSeparatorImg = new Common.UI.MenuItem({
|
||
caption: "--"
|
||
});
|
||
menuCommentSeparatorImg.hide();
|
||
var menuAddCommentImg = new Common.UI.MenuItem({
|
||
caption: me.addCommentText
|
||
}).on("click", _.bind(me.addComment, me));
|
||
menuAddCommentImg.hide();
|
||
var menuParaCopy = new Common.UI.MenuItem({
|
||
caption: me.textCopy,
|
||
value: "copy"
|
||
}).on("click", _.bind(me.onCutCopyPaste, me));
|
||
var menuParaPaste = new Common.UI.MenuItem({
|
||
caption: me.textPaste,
|
||
value: "paste"
|
||
}).on("click", _.bind(me.onCutCopyPaste, me));
|
||
var menuParaCut = new Common.UI.MenuItem({
|
||
caption: me.textCut,
|
||
value: "cut"
|
||
}).on("click", _.bind(me.onCutCopyPaste, me));
|
||
var menuImgCopy = new Common.UI.MenuItem({
|
||
caption: me.textCopy,
|
||
value: "copy"
|
||
}).on("click", _.bind(me.onCutCopyPaste, me));
|
||
var menuImgPaste = new Common.UI.MenuItem({
|
||
caption: me.textPaste,
|
||
value: "paste"
|
||
}).on("click", _.bind(me.onCutCopyPaste, me));
|
||
var menuImgCut = new Common.UI.MenuItem({
|
||
caption: me.textCut,
|
||
value: "cut"
|
||
}).on("click", _.bind(me.onCutCopyPaste, me));
|
||
var menuTableCopy = new Common.UI.MenuItem({
|
||
caption: me.textCopy,
|
||
value: "copy"
|
||
}).on("click", _.bind(me.onCutCopyPaste, me));
|
||
var menuTablePaste = new Common.UI.MenuItem({
|
||
caption: me.textPaste,
|
||
value: "paste"
|
||
}).on("click", _.bind(me.onCutCopyPaste, me));
|
||
var menuTableCut = new Common.UI.MenuItem({
|
||
caption: me.textCut,
|
||
value: "cut"
|
||
}).on("click", _.bind(me.onCutCopyPaste, me));
|
||
me.textMenu = new Common.UI.Menu({
|
||
initMenu: function (value) {
|
||
var isInShape = (value.shapeProps && !_.isNull(value.shapeProps.value));
|
||
var isInChart = (value.chartProps && !_.isNull(value.chartProps.value));
|
||
var disabled = (value.paraProps !== undefined && value.paraProps.locked) || (value.slideProps !== undefined && value.slideProps.locked) || (isInShape && value.shapeProps.locked);
|
||
menuParagraphVAlign.setVisible(isInShape && !isInChart);
|
||
if (isInShape || isInChart) {
|
||
var align = value.shapeProps.value.get_VerticalTextAlign();
|
||
me.menuParagraphTop.setChecked(align == c_oAscVerticalTextAlign.TEXT_ALIGN_TOP);
|
||
me.menuParagraphCenter.setChecked(align == c_oAscVerticalTextAlign.TEXT_ALIGN_CTR);
|
||
me.menuParagraphBottom.setChecked(align == c_oAscVerticalTextAlign.TEXT_ALIGN_BOTTOM);
|
||
}
|
||
menuParagraphVAlign.setDisabled(disabled);
|
||
var text = null;
|
||
if (me.api) {
|
||
text = me.api.can_AddHyperlink();
|
||
}
|
||
menuAddHyperlinkPara.setVisible(value.hyperProps === undefined && text !== false);
|
||
menuHyperlinkPara.setVisible(value.hyperProps !== undefined);
|
||
menuEditHyperlinkPara.hyperProps = value.hyperProps;
|
||
if (text !== false) {
|
||
menuAddHyperlinkPara.hyperProps = {};
|
||
menuAddHyperlinkPara.hyperProps.value = new CHyperlinkProperty();
|
||
menuAddHyperlinkPara.hyperProps.value.put_Text(text);
|
||
}
|
||
menuAddCommentPara.setVisible(!isInChart && me.api.can_AddQuotedComment() !== false && me.mode.canCoAuthoring && me.mode.canComments);
|
||
menuCommentParaSeparator.setVisible(menuAddCommentPara.isVisible() || menuAddHyperlinkPara.isVisible() || menuHyperlinkPara.isVisible());
|
||
menuAddHyperlinkPara.setDisabled(disabled);
|
||
menuHyperlinkPara.setDisabled(disabled);
|
||
menuAddCommentPara.setDisabled(disabled);
|
||
menuParagraphAdvanced.setDisabled(disabled);
|
||
menuParaCut.setDisabled(disabled);
|
||
menuParaPaste.setDisabled(disabled);
|
||
},
|
||
items: [menuParaCut, menuParaCopy, menuParaPaste, {
|
||
caption: "--"
|
||
},
|
||
menuParagraphVAlign, menuParagraphAdvanced, menuCommentParaSeparator, menuAddCommentPara, menuAddHyperlinkPara, menuHyperlinkPara]
|
||
}).on("hide:after", function (menu) {
|
||
if (me.suppressEditComplete) {
|
||
me.suppressEditComplete = false;
|
||
return;
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
me.currentMenu = null;
|
||
});
|
||
me.tableMenu = new Common.UI.Menu({
|
||
initMenu: function (value) {
|
||
if (_.isUndefined(value.tableProps)) {
|
||
return;
|
||
}
|
||
var disabled = (value.slideProps !== undefined && value.slideProps.locked);
|
||
me.menuTableCellTop.setChecked(value.tableProps.value.get_CellsVAlign() == c_oAscVertAlignJc.Top);
|
||
me.menuTableCellCenter.setChecked(value.tableProps.value.get_CellsVAlign() == c_oAscVertAlignJc.Center);
|
||
me.menuTableCellBottom.setChecked(value.tableProps.value.get_CellsVAlign() == c_oAscVertAlignJc.Bottom);
|
||
if (me.api) {
|
||
mnuTableMerge.setDisabled(value.tableProps.locked || disabled || !me.api.CheckBeforeMergeCells());
|
||
mnuTableSplit.setDisabled(value.tableProps.locked || disabled || !me.api.CheckBeforeSplitCells());
|
||
}
|
||
me.tableMenu.items[5].setDisabled(value.tableProps.locked || disabled);
|
||
me.tableMenu.items[6].setDisabled(value.tableProps.locked || disabled);
|
||
menuTableCellAlign.setDisabled(value.tableProps.locked || disabled);
|
||
menuTableAdvanced.setDisabled(value.tableProps.locked || disabled);
|
||
menuTableCut.setDisabled(value.tableProps.locked || disabled);
|
||
menuTablePaste.setDisabled(value.tableProps.locked || disabled);
|
||
var text = null;
|
||
if (me.api) {
|
||
text = me.api.can_AddHyperlink();
|
||
}
|
||
menuAddHyperlinkTable.setVisible(!_.isUndefined(value.paraProps) && _.isUndefined(value.hyperProps) && text !== false);
|
||
menuHyperlinkTable.setVisible(!_.isUndefined(value.paraProps) && !_.isUndefined(value.hyperProps));
|
||
menuEditHyperlinkTable.hyperProps = value.hyperProps;
|
||
if (text !== false) {
|
||
menuAddHyperlinkTable.hyperProps = {};
|
||
menuAddHyperlinkTable.hyperProps.value = new CHyperlinkProperty();
|
||
menuAddHyperlinkTable.hyperProps.value.put_Text(text);
|
||
}
|
||
if (!_.isUndefined(value.paraProps)) {
|
||
menuAddHyperlinkTable.setDisabled(value.paraProps.locked || disabled);
|
||
menuHyperlinkTable.setDisabled(value.paraProps.locked || disabled);
|
||
}
|
||
menuAddCommentTable.setVisible(me.api.can_AddQuotedComment() !== false && me.mode.canCoAuthoring && me.mode.canComments);
|
||
menuAddCommentTable.setDisabled(!_.isUndefined(value.paraProps) && value.paraProps.locked || disabled);
|
||
menuHyperlinkSeparator.setVisible(menuAddHyperlinkTable.isVisible() || menuHyperlinkTable.isVisible() || menuAddCommentTable.isVisible());
|
||
},
|
||
items: [menuTableCut, menuTableCopy, menuTablePaste, {
|
||
caption: "--"
|
||
},
|
||
new Common.UI.MenuItem({
|
||
caption: me.selectText,
|
||
menu: new Common.UI.Menu({
|
||
menuAlign: "tl-tr",
|
||
items: [new Common.UI.MenuItem({
|
||
caption: me.rowText
|
||
}).on("click", function () {
|
||
if (me.api) {
|
||
me.api.selectRow();
|
||
}
|
||
}), new Common.UI.MenuItem({
|
||
caption: me.columnText
|
||
}).on("click", function () {
|
||
if (me.api) {
|
||
me.api.selectColumn();
|
||
}
|
||
}), new Common.UI.MenuItem({
|
||
caption: me.cellText
|
||
}).on("click", function () {
|
||
if (me.api) {
|
||
me.api.selectCell();
|
||
}
|
||
}), new Common.UI.MenuItem({
|
||
caption: me.tableText
|
||
}).on("click", function () {
|
||
if (me.api) {
|
||
me.api.selectTable();
|
||
}
|
||
})]
|
||
})
|
||
}), {
|
||
caption: me.insertText,
|
||
menu: new Common.UI.Menu({
|
||
menuAlign: "tl-tr",
|
||
style: "width: 100px",
|
||
items: [new Common.UI.MenuItem({
|
||
caption: me.insertColumnLeftText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.addColumnLeft();
|
||
}
|
||
}), new Common.UI.MenuItem({
|
||
caption: me.insertColumnRightText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.addColumnRight();
|
||
}
|
||
}), new Common.UI.MenuItem({
|
||
caption: me.insertRowAboveText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.addRowAbove();
|
||
}
|
||
}), new Common.UI.MenuItem({
|
||
caption: me.insertRowBelowText
|
||
}).on("click", function (item) {
|
||
if (me.api) {
|
||
me.api.addRowBelow();
|
||
}
|
||
})]
|
||
})
|
||
},
|
||
new Common.UI.MenuItem({
|
||
caption: me.deleteText,
|
||
menu: new Common.UI.Menu({
|
||
menuAlign: "tl-tr",
|
||
items: [new Common.UI.MenuItem({
|
||
caption: me.rowText
|
||
}).on("click", function () {
|
||
if (me.api) {
|
||
me.api.remRow();
|
||
}
|
||
}), new Common.UI.MenuItem({
|
||
caption: me.columnText
|
||
}).on("click", function () {
|
||
if (me.api) {
|
||
me.api.remColumn();
|
||
}
|
||
}), new Common.UI.MenuItem({
|
||
caption: me.tableText
|
||
}).on("click", function () {
|
||
if (me.api) {
|
||
me.api.remTable();
|
||
}
|
||
})]
|
||
})
|
||
}), {
|
||
caption: "--"
|
||
},
|
||
mnuTableMerge, mnuTableSplit, {
|
||
caption: "--"
|
||
},
|
||
menuTableCellAlign, {
|
||
caption: "--"
|
||
},
|
||
menuTableAdvanced, menuHyperlinkSeparator, menuAddCommentTable, menuAddHyperlinkTable, menuHyperlinkTable]
|
||
}).on("hide:after", function (menu) {
|
||
if (me.suppressEditComplete) {
|
||
me.suppressEditComplete = false;
|
||
return;
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
me.currentMenu = null;
|
||
});
|
||
me.pictureMenu = new Common.UI.Menu({
|
||
initMenu: function (value) {
|
||
if (me.api) {
|
||
mnuUnGroupImg.setDisabled(!me.api.canUnGroup());
|
||
mnuGroupImg.setDisabled(!me.api.canGroup());
|
||
}
|
||
var imgdisabled = (value.imgProps !== undefined && value.imgProps.locked),
|
||
shapedisabled = (value.shapeProps !== undefined && value.shapeProps.locked),
|
||
chartdisabled = (value.chartProps !== undefined && value.chartProps.locked),
|
||
disabled = imgdisabled || shapedisabled || chartdisabled || (value.slideProps !== undefined && value.slideProps.locked);
|
||
menuImgOriginalSize.setVisible(_.isUndefined(value.shapeProps) && _.isUndefined(value.chartProps));
|
||
if (menuImgOriginalSize.isVisible()) {
|
||
menuImgOriginalSize.setDisabled(disabled || _.isNull(value.imgProps.value.get_ImageUrl()) || _.isUndefined(value.imgProps.value.get_ImageUrl()));
|
||
}
|
||
menuImageAdvanced.setVisible(_.isUndefined(value.shapeProps) && _.isUndefined(value.chartProps));
|
||
menuShapeAdvanced.setVisible(_.isUndefined(value.imgProps) && _.isUndefined(value.chartProps));
|
||
menuChartEdit.setVisible(_.isUndefined(value.imgProps) && !_.isUndefined(value.chartProps) && (_.isUndefined(value.shapeProps) || value.shapeProps.isChart));
|
||
menuImgShapeSeparator.setVisible(menuImageAdvanced.isVisible() || menuShapeAdvanced.isVisible() || menuChartEdit.isVisible());
|
||
menuAddCommentImg.setVisible(me.api.can_AddQuotedComment() !== false && me.mode.canCoAuthoring && me.mode.canComments);
|
||
menuCommentSeparatorImg.setVisible(menuAddCommentImg.isVisible());
|
||
menuAddCommentImg.setDisabled(disabled);
|
||
menuImgShapeAlign.setDisabled(disabled);
|
||
menuImageAdvanced.setDisabled(disabled);
|
||
menuShapeAdvanced.setDisabled(disabled);
|
||
if (menuChartEdit.isVisible()) {
|
||
menuChartEdit.setDisabled(disabled);
|
||
}
|
||
menuImgCut.setDisabled(disabled);
|
||
menuImgPaste.setDisabled(disabled);
|
||
},
|
||
items: [menuImgCut, menuImgCopy, menuImgPaste, {
|
||
caption: "--"
|
||
},
|
||
menuImgShapeArrange, menuImgShapeAlign, menuImgShapeSeparator, menuImgOriginalSize, menuImageAdvanced, menuShapeAdvanced, menuChartEdit, menuCommentSeparatorImg, menuAddCommentImg]
|
||
}).on("hide:after", function (menu) {
|
||
if (me.suppressEditComplete) {
|
||
me.suppressEditComplete = false;
|
||
return;
|
||
}
|
||
me.fireEvent("editcomplete", me);
|
||
me.currentMenu = null;
|
||
});
|
||
var nextpage = $("#id_buttonNextPage");
|
||
nextpage.attr("data-toggle", "tooltip");
|
||
nextpage.tooltip({
|
||
title: me.textNextPage + Common.Utils.String.platformKey("PgDn"),
|
||
placement: "top-right"
|
||
});
|
||
var prevpage = $("#id_buttonPrevPage");
|
||
prevpage.attr("data-toggle", "tooltip");
|
||
prevpage.tooltip({
|
||
title: me.textPrevPage + Common.Utils.String.platformKey("PgUp"),
|
||
placement: "top-right"
|
||
});
|
||
},
|
||
insertRowAboveText: "Row Above",
|
||
insertRowBelowText: "Row Below",
|
||
insertColumnLeftText: "Column Left",
|
||
insertColumnRightText: "Column Right",
|
||
deleteText: "Delete",
|
||
deleteRowText: "Delete Row",
|
||
deleteColumnText: "Delete Column",
|
||
deleteTableText: "Delete Table",
|
||
mergeCellsText: "Merge Cells",
|
||
splitCellsText: "Split Cell...",
|
||
splitCellTitleText: "Split Cell",
|
||
originalSizeText: "Default Size",
|
||
advancedImageText: "Image Advanced Settings",
|
||
hyperlinkText: "Hyperlink",
|
||
editHyperlinkText: "Edit Hyperlink",
|
||
removeHyperlinkText: "Remove Hyperlink",
|
||
txtPressLink: "Press CTRL and click link",
|
||
selectText: "Select",
|
||
insertRowText: "Insert Row",
|
||
insertColumnText: "Insert Column",
|
||
rowText: "Row",
|
||
columnText: "Column",
|
||
cellText: "Cell",
|
||
tableText: "Table",
|
||
aboveText: "Above",
|
||
belowText: "Below",
|
||
advancedTableText: "Table Advanced Settings",
|
||
txtSelectAll: "Select All",
|
||
txtNewSlide: "New Slide",
|
||
txtDuplicateSlide: "Duplicate Slide",
|
||
txtDeleteSlide: "Delete Slide",
|
||
txtBackground: "Background",
|
||
txtChangeLayout: "Change Layout",
|
||
txtPreview: "Preview",
|
||
textShapeAlignLeft: "Align Left",
|
||
textShapeAlignRight: "Align Right",
|
||
textShapeAlignCenter: "Align Center",
|
||
textShapeAlignTop: "Align Top",
|
||
textShapeAlignBottom: "Align Bottom",
|
||
textShapeAlignMiddle: "Align Middle",
|
||
textArrangeFront: "Bring To Front",
|
||
textArrangeBack: "Send To Back",
|
||
textArrangeForward: "Bring Forward",
|
||
textArrangeBackward: "Send Backward",
|
||
txtGroup: "Group",
|
||
txtUngroup: "Ungroup",
|
||
txtArrange: "Arrange",
|
||
txtAlign: "Align",
|
||
txtDistribHor: "Distribute Horizontally",
|
||
txtDistribVert: "Distribute Vertically",
|
||
txtSlide: "Slide",
|
||
topCellText: "Align Top",
|
||
centerCellText: "Align Center",
|
||
bottomCellText: "Align Bottom",
|
||
cellAlignText: "Cell Vertical Alignment",
|
||
advancedShapeText: "Shape Advanced Settings",
|
||
addCommentText: "Add Comment",
|
||
editChartText: "Edit Data",
|
||
vertAlignText: "Vertical Alignment",
|
||
advancedParagraphText: "Text Advanced Settings",
|
||
tipIsLocked: "This element is currently being edited by another user.",
|
||
textNextPage: "Next Slide",
|
||
textPrevPage: "Previous Slide",
|
||
insertText: "Insert",
|
||
textCopy: "Copy",
|
||
textPaste: "Paste",
|
||
textCut: "Cut",
|
||
textSlideSettings: "Slide Settings"
|
||
},
|
||
PE.Views.DocumentHolder || {}));
|
||
}); |