UNPKG

@syncfusion/ej2-documenteditor

Version:

Feature-rich document editor control with built-in support for context menu, options pane and dialogs.

90 lines (89 loc) 3.66 kB
var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); import { RibbonGroupBase } from '../ribbon-interfaces'; export var COMMENT_ID = '_insert_comment'; /** * Comments group implementation for Insert tab * @private */ var CommentsGroup = /** @class */ (function (_super) { __extends(CommentsGroup, _super); function CommentsGroup() { return _super !== null && _super.apply(this, arguments) || this; } /** * Get the Ribbon items for Comments group * @returns {RibbonGroupModel} - Returns the Ribbon items for Comments group * @private */ CommentsGroup.prototype.getGroupModel = function () { return { header: this.localObj.getConstant('Comments'), groupIconCss: 'e-icons e-de-cnt-cmt-add', enableGroupOverflow: true, overflowHeader: this.localObj.getConstant('Comments'), collections: [{ items: [{ type: 'Button', keyTip: 'C', buttonSettings: { content: this.localObj.getConstant('New Comment'), iconCss: 'e-icons e-de-cnt-cmt-add', isToggle: false, clicked: this.newCommentHandler.bind(this) }, id: this.ribbonId + COMMENT_ID, ribbonTooltipSettings: { content: this.localObj.getConstant('Add a comment about the current selection') } }] }] }; }; CommentsGroup.prototype.newCommentHandler = function () { this.container.documentEditor.editorModule.isUserInsert = true; this.container.documentEditor.editorModule.insertComment(''); this.container.documentEditor.editorModule.isUserInsert = false; }; /** * Update selection to reflect current state * @returns {void} * @private */ CommentsGroup.prototype.updateSelection = function () { var isHeaderFooter = this.documentEditor.selection.contextType.indexOf('Header') >= 0 || this.documentEditor.selection.contextType.indexOf('Footer') >= 0; var shouldDisable = isHeaderFooter || this.container.documentEditor.selection.isinFootnote || this.container.documentEditor.selection.isinEndnote || this.container.documentEditor.commentReviewPane.commentPane.isEditMode; this.enableDisableComment(!shouldDisable); }; /** * @param {boolean} enable - Enable disable the comment * @returns {void} * @private */ CommentsGroup.prototype.enableDisableComment = function (enable) { var ribbon = this.container.ribbon.ribbon; if (enable) { ribbon.enableItem(this.ribbonId + COMMENT_ID); } else { ribbon.disableItem(this.ribbonId + COMMENT_ID); } }; return CommentsGroup; }(RibbonGroupBase)); export { CommentsGroup };