/* * (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/component/Menu"], function ($, _, Backbone, gateway) { SSE.Views.DocumentHolder = Backbone.View.extend(_.extend({ el: "#editor_sdk", template: null, events: {}, initialize: function () { var me = this; this.setApi = function (api) { me.api = api; return me; }; var value = window.localStorage.getItem("sse-settings-livecomment"); me.isLiveCommenting = !(value !== null && parseInt(value) == 0); }, 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); }, createDelayedElements: function () { var me = this; me.pmiCut = new Common.UI.MenuItem({ caption: me.txtCut, value: "cut" }); me.pmiCopy = new Common.UI.MenuItem({ caption: me.txtCopy, value: "copy" }); me.pmiPaste = new Common.UI.MenuItem({ caption: me.txtPaste, value: "paste" }); me.pmiInsertEntire = new Common.UI.MenuItem({ caption: me.txtInsert }); me.pmiInsertCells = new Common.UI.MenuItem({ caption: me.txtInsert, menu: new Common.UI.Menu({ menuAlign: "tl-tr", items: [{ caption: me.txtShiftRight, value: c_oAscInsertOptions.InsertCellsAndShiftRight }, { caption: me.txtShiftDown, value: c_oAscInsertOptions.InsertCellsAndShiftDown }, { caption: me.txtRow, value: c_oAscInsertOptions.InsertRows }, { caption: me.txtColumn, value: c_oAscInsertOptions.InsertColumns }] }) }); me.pmiDeleteEntire = new Common.UI.MenuItem({ caption: me.txtDelete }); me.pmiDeleteCells = new Common.UI.MenuItem({ caption: me.txtDelete, menu: new Common.UI.Menu({ menuAlign: "tl-tr", items: [{ caption: me.txtShiftLeft, value: c_oAscDeleteOptions.DeleteCellsAndShiftLeft }, { caption: me.txtShiftUp, value: c_oAscDeleteOptions.DeleteCellsAndShiftTop }, { caption: me.txtRow, value: c_oAscDeleteOptions.DeleteRows }, { caption: me.txtColumn, value: c_oAscDeleteOptions.DeleteColumns }] }) }); me.pmiClear = new Common.UI.MenuItem({ caption: me.txtClear, menu: new Common.UI.Menu({ menuAlign: "tl-tr", items: [{ caption: me.txtClearAll, value: c_oAscCleanOptions.All }, { caption: me.txtClearText, value: c_oAscCleanOptions.Text }, { caption: me.txtClearFormat, value: c_oAscCleanOptions.Format }, { caption: me.txtClearComments, value: c_oAscCleanOptions.Comments }, { caption: me.txtClearHyper, value: c_oAscCleanOptions.Hyperlinks }] }) }); me.pmiSortCells = new Common.UI.MenuItem({ caption: me.txtSort, menu: new Common.UI.Menu({ menuAlign: "tl-tr", items: [{ caption: me.txtAscending, value: "ascending" }, { caption: me.txtDescending, value: "descending" }] }) }); me.pmiInsFunction = new Common.UI.MenuItem({ caption: me.txtFormula }); me.menuAddHyperlink = new Common.UI.MenuItem({ caption: me.txtInsHyperlink, inCell: true }); me.menuEditHyperlink = new Common.UI.MenuItem({ caption: me.editHyperlinkText, inCell: true }); me.menuRemoveHyperlink = new Common.UI.MenuItem({ caption: me.removeHyperlinkText }); me.menuHyperlink = new Common.UI.MenuItem({ caption: me.txtInsHyperlink, menu: new Common.UI.Menu({ menuAlign: "tl-tr", items: [me.menuEditHyperlink, me.menuRemoveHyperlink] }) }); me.pmiRowHeight = new Common.UI.MenuItem({ caption: me.txtRowHeight, action: "row-height" }); me.pmiColumnWidth = new Common.UI.MenuItem({ caption: me.txtColumnWidth, action: "column-width" }); me.pmiEntireHide = new Common.UI.MenuItem({ caption: me.txtHide }); me.pmiEntireShow = new Common.UI.MenuItem({ caption: me.txtShow }); me.pmiAddComment = new Common.UI.MenuItem({ id: "id-context-menu-item-add-comment", caption: me.txtAddComment }); me.pmiCellMenuSeparator = new Common.UI.MenuItem({ caption: "--" }); me.ssMenu = new Common.UI.Menu({ id: "id-context-menu-cell", items: [me.pmiCut, me.pmiCopy, me.pmiPaste, { caption: "--" }, me.pmiInsertEntire, me.pmiInsertCells, me.pmiDeleteEntire, me.pmiDeleteCells, me.pmiClear, me.pmiSortCells, { caption: "--" }, me.pmiAddComment, me.pmiCellMenuSeparator, me.pmiInsFunction, me.menuAddHyperlink, me.menuHyperlink, me.pmiRowHeight, me.pmiColumnWidth, me.pmiEntireHide, me.pmiEntireShow] }); me.mnuGroupImg = new Common.UI.MenuItem({ caption: this.txtGroup, iconCls: "mnu-group", type: "group", value: "grouping" }); me.mnuUnGroupImg = new Common.UI.MenuItem({ caption: this.txtUngroup, iconCls: "mnu-ungroup", type: "group", value: "ungrouping" }); me.mnuShapeSeparator = new Common.UI.MenuItem({ caption: "--" }); me.mnuShapeAdvanced = new Common.UI.MenuItem({ caption: me.advancedShapeText }); me.mnuChartEdit = new Common.UI.MenuItem({ caption: me.chartText }); me.pmiImgCut = new Common.UI.MenuItem({ caption: me.txtCut, value: "cut" }); me.pmiImgCopy = new Common.UI.MenuItem({ caption: me.txtCopy, value: "copy" }); me.pmiImgPaste = new Common.UI.MenuItem({ caption: me.txtPaste, value: "paste" }); this.imgMenu = new Common.UI.Menu({ items: [me.pmiImgCut, me.pmiImgCopy, me.pmiImgPaste, { caption: "--" }, { caption: this.textArrangeFront, iconCls: "mnu-arrange-front", type: "arrange", value: c_oAscDrawingLayerType.BringToFront }, { caption: this.textArrangeBack, iconCls: "mnu-arrange-back", type: "arrange", value: c_oAscDrawingLayerType.SendToBack }, { caption: this.textArrangeForward, iconCls: "mnu-arrange-forward", type: "arrange", value: c_oAscDrawingLayerType.BringForward }, { caption: this.textArrangeBackward, iconCls: "mnu-arrange-backward", type: "arrange", value: c_oAscDrawingLayerType.SendBackward }, { caption: "--" }, me.mnuGroupImg, me.mnuUnGroupImg, me.mnuShapeSeparator, me.mnuChartEdit, me.mnuShapeAdvanced] }); this.menuParagraphVAlign = new Common.UI.MenuItem({ caption: this.vertAlignText, menu: 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 }), me.menuParagraphCenter = new Common.UI.MenuItem({ caption: me.centerCellText, checkable: true, toggleGroup: "popupparagraphvalign", value: c_oAscVerticalTextAlign.TEXT_ALIGN_CTR }), this.menuParagraphBottom = new Common.UI.MenuItem({ caption: me.bottomCellText, checkable: true, toggleGroup: "popupparagraphvalign", value: c_oAscVerticalTextAlign.TEXT_ALIGN_BOTTOM })] }) }); me.menuAddHyperlinkShape = new Common.UI.MenuItem({ caption: me.txtInsHyperlink }); me.menuEditHyperlinkShape = new Common.UI.MenuItem({ caption: me.editHyperlinkText }); me.menuRemoveHyperlinkShape = new Common.UI.MenuItem({ caption: me.removeHyperlinkText }); me.menuHyperlinkShape = new Common.UI.MenuItem({ caption: me.txtInsHyperlink, menu: new Common.UI.Menu({ menuAlign: "tl-tr", items: [me.menuEditHyperlinkShape, me.menuRemoveHyperlinkShape] }) }); this.pmiTextAdvanced = new Common.UI.MenuItem({ caption: me.txtTextAdvanced }); me.pmiTextCut = new Common.UI.MenuItem({ caption: me.txtCut, value: "cut" }); me.pmiTextCopy = new Common.UI.MenuItem({ caption: me.txtCopy, value: "copy" }); me.pmiTextPaste = new Common.UI.MenuItem({ caption: me.txtPaste, value: "paste" }); this.textInShapeMenu = new Common.UI.Menu({ items: [me.pmiTextCut, me.pmiTextCopy, me.pmiTextPaste, { caption: "--" }, me.menuParagraphVAlign, me.menuAddHyperlinkShape, me.menuHyperlinkShape, { caption: "--" }, me.pmiTextAdvanced] }); this.funcMenu = new Common.UI.Menu({ items: [{ caption: "item 1" }, { caption: "item 2" }, { caption: "item 3" }, { caption: "item 4" }, { caption: "item 5" }] }); me.fireEvent("createdelayedelements", [me]); }, setMenuItemCommentCaptionMode: function (edit) { edit ? this.pmiAddComment.setCaption(this.txtEditComment) : this.pmiAddComment.setCaption(this.txtAddComment); }, setLiveCommenting: function (value) { this.isLiveCommenting = value; }, txtSort: "Sort", txtAscending: "Ascending", txtDescending: "Descending", txtFormula: "Insert Function", txtInsHyperlink: "Hyperlink", txtCut: "Cut", txtCopy: "Copy", txtPaste: "Paste", txtInsert: "Insert", txtDelete: "Delete", txtClear: "Clear", txtClearAll: "All", txtClearText: "Text", txtClearFormat: "Format", txtClearHyper: "Hyperlink", txtClearComments: "Comments", txtShiftRight: "Shift cells right", txtShiftLeft: "Shift cells left", txtShiftUp: "Shift cells up", txtShiftDown: "Shift cells down", txtRow: "Entire Row", txtColumn: "Entire Column", txtColumnWidth: "Column Width", txtRowHeight: "Row Height", txtWidth: "Width", txtHide: "Hide", txtShow: "Show", textArrangeFront: "Bring To Front", textArrangeBack: "Send To Back", textArrangeForward: "Bring Forward", textArrangeBackward: "Send Backward", txtArrange: "Arrange", txtAddComment: "Add Comment", txtEditComment: "Edit Comment", txtUngroup: "Ungroup", txtGroup: "Group", topCellText: "Align Top", centerCellText: "Align Center", bottomCellText: "Align Bottom", vertAlignText: "Vertical Alignment", txtTextAdvanced: "Text Advanced Settings", editHyperlinkText: "Edit Hyperlink", removeHyperlinkText: "Remove Hyperlink", editChartText: "Edit Data", advancedShapeText: "Shape Advanced Settings", chartText: "Chart Advanced Settings" }, SSE.Views.DocumentHolder || {})); });