diff --git a/apps/common/main/lib/view/Draw.js b/apps/common/main/lib/view/Draw.js index af353c503f..72d672fcd8 100644 --- a/apps/common/main/lib/view/Draw.js +++ b/apps/common/main/lib/view/Draw.js @@ -112,6 +112,7 @@ define([ ], lock = (this.appPrefix === 'de-') ? [_set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockViewIns, _set.docLockForms, _set.docLockCommentsIns, _set.viewMode] : (this.appPrefix === 'pe-') ? [_set.slideDeleted, _set.lostConnect, _set.noSlides] : + (this.appPrefix === 'pdfe-') ? [_set.pageDeleted, _set.lostConnect] : [_set.editCell, _set.lostConnect, _set.coAuth, _set['Objects']], me = this; penOptions.forEach(function (props) { diff --git a/apps/pdfeditor/main/app/controller/DocumentHolderExt.js b/apps/pdfeditor/main/app/controller/DocumentHolderExt.js index f71b6d6aa7..a5a2132bed 100644 --- a/apps/pdfeditor/main/app/controller/DocumentHolderExt.js +++ b/apps/pdfeditor/main/app/controller/DocumentHolderExt.js @@ -246,9 +246,15 @@ define([], function () { var menu_props = {}; selectedElements && _.each(selectedElements, function(element, index) { - if (Asc.c_oAscTypeSelectElement.Annot == element.get_ObjectType()) { + var elType = element.get_ObjectType(), + elValue = element.get_ObjectValue(); + if (Asc.c_oAscTypeSelectElement.Annot == elType) { menu_props.annotProps = {}; - menu_props.annotProps.value = element.get_ObjectValue(); + menu_props.annotProps.value = elValue; + } else if (Asc.c_oAscTypeSelectElement.PdfPage == elType) { + menu_props.pageProps = {}; + menu_props.pageProps.value = elValue; + menu_props.pageProps.locked = (elValue) ? elValue.asc_getDeleteLock() : false; } }); @@ -314,6 +320,10 @@ define([], function () { menu_to_show = documentHolder.editPDFModeMenu; menu_props.annotProps = {}; menu_props.annotProps.value = elValue; + } else if (Asc.c_oAscTypeSelectElement.PdfPage == elType) { + menu_props.pageProps = {}; + menu_props.pageProps.value = elValue; + menu_props.pageProps.locked = (elValue) ? elValue.asc_getDeleteLock() : false; } }); if (menu_to_show === null) { diff --git a/apps/pdfeditor/main/app/controller/InsTab.js b/apps/pdfeditor/main/app/controller/InsTab.js index 0897adcc6d..605de1152d 100644 --- a/apps/pdfeditor/main/app/controller/InsTab.js +++ b/apps/pdfeditor/main/app/controller/InsTab.js @@ -927,7 +927,8 @@ define([ var pr, i = -1, type, paragraph_locked = false, no_paragraph = true, - in_chart = false; + in_chart = false, + page_deleted = false; while (++i < selectedObjects.length) { type = selectedObjects[i].get_ObjectType(); @@ -944,6 +945,8 @@ define([ if (type == Asc.c_oAscTypeSelectElement.Chart) { in_chart = true; } + } else if (type == Asc.c_oAscTypeSelectElement.PdfPage) { + page_deleted = pr.asc_getDeleteLock(); } } @@ -961,6 +964,11 @@ define([ if (this._state.activated) this._state.no_paragraph = no_paragraph; Common.Utils.lockControls(Common.enumLock.noParagraphSelected, no_paragraph, {array: this.view.lockedControls}); } + + if (page_deleted !== undefined && this._state.pagecontrolsdisable !== page_deleted) { + if (this._state.activated) this._state.pagecontrolsdisable = page_deleted; + Common.Utils.lockControls(Common.enumLock.pageDeleted, page_deleted, {array: this.view.lockedControls}); + } }, onApiCanAddHyperlink: function(value) { diff --git a/apps/pdfeditor/main/app/controller/Toolbar.js b/apps/pdfeditor/main/app/controller/Toolbar.js index d392ea8897..27b78f78c4 100644 --- a/apps/pdfeditor/main/app/controller/Toolbar.js +++ b/apps/pdfeditor/main/app/controller/Toolbar.js @@ -389,6 +389,7 @@ define([ this.toolbar.setApi(this.api); + this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObjectAnnotate, this)); this.api.asc_registerCallback('asc_onCanUndo', _.bind(this.onApiCanRevert, this, 'undo')); this.api.asc_registerCallback('asc_onCanRedo', _.bind(this.onApiCanRevert, this, 'redo')); this.api.asc_registerCallback('asc_onZoomChange', _.bind(this.onApiZoomChange, this)); @@ -532,6 +533,22 @@ define([ } }, + onApiFocusObjectAnnotate: function(selectedObjects) { + if (!this.editMode || !this.mode.isPDFAnnotate) return; + + var i = -1, + page_deleted = false; + while (++i < selectedObjects.length) { + if (selectedObjects[i].get_ObjectType() == Asc.c_oAscTypeSelectElement.PdfPage) { + page_deleted = selectedObjects[i].get_ObjectValue().asc_getDeleteLock(); + } + } + if (page_deleted !== undefined && this._state.pagecontrolsdisable !== page_deleted) { + if (this._state.activated) this._state.pagecontrolsdisable = page_deleted; + this.toolbar.lockToolbar(Common.enumLock.pageDeleted, page_deleted); + } + }, + onApiFocusObject: function(selectedObjects) { if (!this.editMode || !this.mode.isPDFEdit) return; @@ -547,7 +564,10 @@ define([ in_smartart = false, in_smartart_internal = false, in_annot = false, - annot_lock = false; + annot_lock = false, + page_deleted = false, + page_rotate = false, + page_edit_text = false; while (++i < selectedObjects.length) { type = selectedObjects[i].get_ObjectType(); @@ -591,68 +611,72 @@ define([ in_annot = true; if (pr.asc_getCanEditText()) no_text = false; + } else if (type == Asc.c_oAscTypeSelectElement.PdfPage) { + page_deleted = pr.asc_getDeleteLock(); + page_rotate = pr.asc_getRotateLock(); + page_edit_text = pr.asc_getEditLock(); } } if (this._state.prcontrolsdisable !== paragraph_locked) { if (this._state.activated) this._state.prcontrolsdisable = paragraph_locked; if (paragraph_locked!==undefined) - this.toolbar.lockToolbar(Common.enumLock.paragraphLock, paragraph_locked, {array: toolbar.paragraphControls}); + toolbar.lockToolbar(Common.enumLock.paragraphLock, paragraph_locked, {array: toolbar.paragraphControls}); } if (this._state.no_paragraph !== no_paragraph) { if (this._state.activated) this._state.no_paragraph = no_paragraph; - this.toolbar.lockToolbar(Common.enumLock.noParagraphSelected, no_paragraph, {array: toolbar.paragraphControls}); - // this.toolbar.lockToolbar(Common.enumLock.noParagraphSelected, no_paragraph, {array: [toolbar.btnCopyStyle]}); + toolbar.lockToolbar(Common.enumLock.noParagraphSelected, no_paragraph, {array: toolbar.paragraphControls}); + // toolbar.lockToolbar(Common.enumLock.noParagraphSelected, no_paragraph, {array: [toolbar.btnCopyStyle]}); } if (this._state.no_text !== no_text) { if (this._state.activated) this._state.no_text = no_text; - this.toolbar.lockToolbar(Common.enumLock.noTextSelected, no_text, {array: toolbar.paragraphControls}); + toolbar.lockToolbar(Common.enumLock.noTextSelected, no_text, {array: toolbar.paragraphControls}); } if (this._state.in_annot !== in_annot) { if (this._state.activated) this._state.in_annot = in_annot; - this.toolbar.lockToolbar(Common.enumLock.inAnnotation, in_annot, {array: toolbar.paragraphControls}); + toolbar.lockToolbar(Common.enumLock.inAnnotation, in_annot, {array: toolbar.paragraphControls}); } if (this._state.no_object !== no_object ) { if (this._state.activated) this._state.no_object = no_object; - this.toolbar.lockToolbar(Common.enumLock.noObjectSelected, no_object, {array: [toolbar.btnVerticalAlign ]}); + toolbar.lockToolbar(Common.enumLock.noObjectSelected, no_object, {array: [toolbar.btnVerticalAlign ]}); } var no_drawing_objects = this.api.asc_getSelectedDrawingObjectsCount()<1; if (this._state.no_drawing_objects !== no_drawing_objects ) { if (this._state.activated) this._state.no_drawing_objects = no_drawing_objects; - this.toolbar.lockToolbar(Common.enumLock.noDrawingObjects, no_drawing_objects, {array: [toolbar.btnShapeAlign, toolbar.btnShapeArrange, toolbar.btnShapesMerge]}); + toolbar.lockToolbar(Common.enumLock.noDrawingObjects, no_drawing_objects, {array: [toolbar.btnShapeAlign, toolbar.btnShapeArrange, toolbar.btnShapesMerge]}); } if (shape_locked!==undefined && this._state.shapecontrolsdisable !== shape_locked) { if (this._state.activated) this._state.shapecontrolsdisable = shape_locked; - this.toolbar.lockToolbar(Common.enumLock.shapeLock, shape_locked, {array: toolbar.shapeControls.concat(toolbar.paragraphControls)}); + toolbar.lockToolbar(Common.enumLock.shapeLock, shape_locked, {array: toolbar.shapeControls.concat(toolbar.paragraphControls)}); } if (shape_locked===undefined && !this._state.no_drawing_objects) { // several tables selected - this.toolbar.lockToolbar(Common.enumLock.shapeLock, false, {array: toolbar.shapeControls}); + toolbar.lockToolbar(Common.enumLock.shapeLock, false, {array: toolbar.shapeControls}); } if (this._state.in_equation !== in_equation) { if (this._state.activated) this._state.in_equation = in_equation; - this.toolbar.lockToolbar(Common.enumLock.inEquation, in_equation, {array: [toolbar.btnSuperscript, toolbar.btnSubscript]}); + toolbar.lockToolbar(Common.enumLock.inEquation, in_equation, {array: [toolbar.btnSuperscript, toolbar.btnSubscript]}); } if (this._state.no_columns !== no_columns) { if (this._state.activated) this._state.no_columns = no_columns; - this.toolbar.lockToolbar(Common.enumLock.noColumns, no_columns, {array: [toolbar.btnColumns]}); + toolbar.lockToolbar(Common.enumLock.noColumns, no_columns, {array: [toolbar.btnColumns]}); } if (this._state.in_smartart !== in_smartart) { - this.toolbar.lockToolbar(Common.enumLock.inSmartart, in_smartart, {array: toolbar.paragraphControls}); + toolbar.lockToolbar(Common.enumLock.inSmartart, in_smartart, {array: toolbar.paragraphControls}); this._state.in_smartart = in_smartart; } if (this._state.in_smartart_internal !== in_smartart_internal) { - this.toolbar.lockToolbar(Common.enumLock.inSmartartInternal, in_smartart_internal, {array: toolbar.paragraphControls}); + toolbar.lockToolbar(Common.enumLock.inSmartartInternal, in_smartart_internal, {array: toolbar.paragraphControls}); this._state.in_smartart_internal = in_smartart_internal; toolbar.mnuArrangeFront.setDisabled(in_smartart_internal); @@ -660,7 +684,14 @@ define([ toolbar.mnuArrangeForward.setDisabled(in_smartart_internal); toolbar.mnuArrangeBackward.setDisabled(in_smartart_internal); } - this.toolbar.lockToolbar(Common.enumLock.cantMergeShape, !this.api.asc_canMergeSelectedShapes(), { array: [this.toolbar.btnShapesMerge] }); + toolbar.lockToolbar(Common.enumLock.cantMergeShape, !this.api.asc_canMergeSelectedShapes(), { array: [toolbar.btnShapesMerge] }); + + if (page_deleted !== undefined && this._state.pagecontrolsdisable !== page_deleted) { + if (this._state.activated) this._state.pagecontrolsdisable = page_deleted; + toolbar.lockToolbar(Common.enumLock.pageDeleted, page_deleted); + } + toolbar.lockToolbar(Common.enumLock.pageRotate, page_rotate, {array: [toolbar.btnRotatePage]}); + toolbar.lockToolbar(Common.enumLock.pageEditText, page_edit_text, {array: [toolbar.btnEditText]}); }, onApiZoomChange: function(percent, type) {}, diff --git a/apps/pdfeditor/main/app/view/DocumentHolderExt.js b/apps/pdfeditor/main/app/view/DocumentHolderExt.js index 99c3b4d034..1023a543ea 100644 --- a/apps/pdfeditor/main/app/view/DocumentHolderExt.js +++ b/apps/pdfeditor/main/app/view/DocumentHolderExt.js @@ -60,9 +60,12 @@ define([], function () { this.viewPDFModeMenu = new Common.UI.Menu({ cls: 'shifted-right', initMenu: function (value) { + var disabled = (value.pageProps!==undefined && value.pageProps.locked); me.menuPDFViewCopy.setDisabled(!(me.api && me.api.can_CopyCut())); me.menuAddComment.setVisible(me.mode && me.mode.canComments); + me.menuAddComment.setDisabled(disabled); me.menuRemoveComment.setVisible(value && value.annotProps && value.annotProps.value); + me.menuRemoveComment.setDisabled(disabled); }, items: [ me.menuPDFViewCopy, @@ -107,9 +110,12 @@ define([], function () { this.editPDFModeMenu = new Common.UI.Menu({ cls: 'shifted-right', initMenu: function (value) { + var disabled = (value.pageProps!==undefined && value.pageProps.locked); me.menuPDFEditCopy.setDisabled(!(me.api && me.api.can_CopyCut())); me.menuEditAddComment.setVisible(me.mode && me.mode.canComments); + me.menuEditAddComment.setDisabled(disabled); me.menuEditRemoveComment.setVisible(value && value.annotProps && value.annotProps.value); + me.menuEditRemoveComment.setDisabled(disabled); }, items: [ me.menuPDFEditCopy, @@ -1037,7 +1043,6 @@ define([], function () { 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) || (isInShape && value.shapeProps.locked); var isEquation= (value.mathProps && value.mathProps.value); @@ -1201,6 +1206,19 @@ define([], function () { restoreHeightAndTop: true, scrollToCheckedItem: false, initMenu: function(value) { + if (me.api) { + var i = -1, + page_deleted = false, + page_rotate = false, + selectedElements = me.api.getSelectedElements(); + while (++i < selectedElements.length) { + if (selectedElements[i].get_ObjectType() === Asc.c_oAscTypeSelectElement.PdfPage) { + page_deleted = selectedElements[i].get_ObjectValue().asc_getDeleteLock(); + page_rotate = selectedElements[i].get_ObjectValue().asc_getRotateLock(); + } + } + } + me.mnuRotatePageRight.options.value = me.mnuRotatePageLeft.options.value = value.pageNum; me.mnuRotatePageRight.setVisible(value.isPageSelect===true); me.mnuRotatePageLeft.setVisible(value.isPageSelect===true); @@ -1208,7 +1226,9 @@ define([], function () { menuPageNewSeparator.setVisible(value.isPageSelect===true); menuPageDelSeparator.setVisible(value.isPageSelect===true); - me.mnuDeletePage.setDisabled(me._pagesCount<2); + me.mnuRotatePageRight.setDisabled(page_rotate || page_deleted); + me.mnuRotatePageLeft.setDisabled(page_rotate || page_deleted); + me.mnuDeletePage.setDisabled(me._pagesCount<2 || page_deleted); }, items: [ me.mnuNewPageBefore, diff --git a/apps/pdfeditor/main/app/view/InsTab.js b/apps/pdfeditor/main/app/view/InsTab.js index 998169d857..3645bdcac2 100644 --- a/apps/pdfeditor/main/app/view/InsTab.js +++ b/apps/pdfeditor/main/app/view/InsTab.js @@ -132,7 +132,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-inserttable', caption: me.capInsertTable, - lock: [_set.lostConnect, _set.disableOnStart], + lock: [_set.pageDeleted, _set.lostConnect, _set.disableOnStart], menu: new Common.UI.Menu({ cls: 'shifted-left', items: [ @@ -153,7 +153,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertchart', caption: me.capInsertChart, - lock: [_set.lostConnect, _set.disableOnStart], + lock: [_set.pageDeleted, _set.lostConnect, _set.disableOnStart], menu: true, dataHint: '1', dataHintDirection: 'bottom', @@ -165,7 +165,7 @@ define([ id: 'tlbtn-insertsmartart', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-smart-art', - lock: [_set.lostConnect, _set.disableOnStart], + lock: [_set.pageDeleted, _set.lostConnect, _set.disableOnStart], caption: me.capBtnInsSmartArt, menu: true, action: 'insert-smartart', @@ -180,7 +180,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertequation', caption: me.capInsertEquation, - lock: [_set.paragraphLock, _set.lostConnect, _set.disableOnStart], + lock: [_set.pageDeleted, _set.paragraphLock, _set.lostConnect, _set.disableOnStart], split: true, menu: new Common.UI.Menu({cls: 'menu-shapes'}), action: 'insert-equation', @@ -230,7 +230,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-textart', caption: me.capInsertTextArt, - lock: [_set.lostConnect, _set.disableOnStart], + lock: [_set.pageDeleted, _set.lostConnect, _set.disableOnStart], menu: new Common.UI.Menu({ cls: 'menu-shapes', items: [ @@ -261,7 +261,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-datetime', caption: me.capBtnDateTime, - lock: [_set.lostConnect, _set.paragraphLock, _set.disableOnStart], + lock: [_set.pageDeleted, _set.lostConnect, _set.paragraphLock, _set.disableOnStart], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -273,7 +273,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-pagenum', caption: me.capBtnSlideNum, - lock: [_set.lostConnect, _set.paragraphLock, _set.disableOnStart], + lock: [_set.pageDeleted, _set.lostConnect, _set.paragraphLock, _set.disableOnStart], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -288,7 +288,7 @@ define([ menuWidth: 330, style: 'width: 140px;', enableKeyEvents: true, - lock: [_set.lostConnect, _set.disableOnStart], + lock: [_set.pageDeleted, _set.lostConnect, _set.disableOnStart], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: '-16, 0' @@ -324,11 +324,11 @@ define([ if (this.toolbar && this.toolbar.$el) { this.btnsInsertImage = Common.Utils.injectButtons($host.find('.slot-insertimg').add(this.toolbar.$el.find('.slot-insertimg')), 'tlbtn-insertimage-', 'toolbar__icon btn-insertimage', this.capInsertImage, - [Common.enumLock.lostConnect, Common.enumLock.disableOnStart], false, true, undefined, '1', 'bottom', 'small', undefined, 'insert-image'); + [Common.enumLock.pageDeleted, Common.enumLock.lostConnect, Common.enumLock.disableOnStart], false, true, undefined, '1', 'bottom', 'small', undefined, 'insert-image'); this.btnsInsertText = Common.Utils.injectButtons($host.find('.slot-instext').add(this.toolbar.$el.find('.slot-instext')), 'tlbtn-inserttext-', 'toolbar__icon btn-big-text', this.capInsertText, - [Common.enumLock.lostConnect, Common.enumLock.disableOnStart], true, true, true, '1', 'bottom', 'small', undefined, 'insert-text'); + [Common.enumLock.pageDeleted, Common.enumLock.lostConnect, Common.enumLock.disableOnStart], true, true, true, '1', 'bottom', 'small', undefined, 'insert-text'); this.btnsInsertShape = Common.Utils.injectButtons($host.find('.slot-insertshape').add(this.toolbar.$el.find('.slot-insertshape')), 'tlbtn-insertshape-', 'toolbar__icon btn-insertshape', this.capInsertShape, - [Common.enumLock.lostConnect, Common.enumLock.disableOnStart], false, true, true, '1', 'bottom', 'small', undefined, 'insert-shape'); + [Common.enumLock.pageDeleted, Common.enumLock.lostConnect, Common.enumLock.disableOnStart], false, true, true, '1', 'bottom', 'small', undefined, 'insert-shape'); this.btnsAddPage = Common.Utils.injectButtons($host.find('.slot-inspage').add(this.toolbar.$el.find('.slot-inspage')), 'tlbtn-insertpage-', 'toolbar__icon btn-blankpage', this.capInsPage, [Common.enumLock.lostConnect, Common.enumLock.disableOnStart], true, true, false, '1', 'bottom', 'small', undefined, 'insert-page'); } diff --git a/apps/pdfeditor/main/app/view/Toolbar.js b/apps/pdfeditor/main/app/view/Toolbar.js index 9635282ee5..dac27dd556 100644 --- a/apps/pdfeditor/main/app/view/Toolbar.js +++ b/apps/pdfeditor/main/app/view/Toolbar.js @@ -95,7 +95,10 @@ define([ inEquation: 'in-equation', inAnnotation: 'in-annotation', singlePage: 'single-page', - cantMergeShape: 'merge-shape-lock' + cantMergeShape: 'merge-shape-lock', + pageRotate: 'page-rotate', + pageDeleted: 'page-deleted', + pageEditText: 'page-edit-text' }; for (var key in enumLock) { if (enumLock.hasOwnProperty(key)) { @@ -144,7 +147,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', style: 'min-width: 45px;', iconCls: 'toolbar__icon btn-big-magic-wand', - lock: [_set.lostConnect, _set.disableOnStart], + lock: [_set.pageDeleted, _set.pageEditText, _set.lostConnect, _set.disableOnStart], caption: this.capBtnRecognize, dataHint: '1', dataHintDirection: 'bottom', @@ -699,7 +702,7 @@ define([ id: 'id-toolbar-btn-shape-arrange', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-arrange-front', - lock: [_set.lostConnect, _set.noDrawingObjects, _set.disableOnStart], + lock: [_set.shapeLock, _set.lostConnect, _set.noDrawingObjects, _set.disableOnStart], menu: new Common.UI.Menu({ items: [ this.mnuArrangeFront = new Common.UI.MenuItem({ @@ -790,7 +793,7 @@ define([ id: 'id-toolbar-btn-delpage', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-rem-comment', - lock: [_set.lostConnect, _set.disableOnStart, _set.singlePage], + lock: [_set.pageDeleted, _set.lostConnect, _set.disableOnStart, _set.singlePage], caption: this.capBtnDelPage, dataHint: '1', dataHintDirection: 'bottom', @@ -804,7 +807,7 @@ define([ caption: this.capBtnRotatePage, split: true, iconCls: 'toolbar__icon btn-update', - lock: [_set.lostConnect, _set.disableOnStart], + lock: [_set.pageDeleted, _set.pageRotate, _set.lostConnect, _set.disableOnStart], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small', @@ -856,7 +859,7 @@ define([ id: 'tlbtn-addcomment', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-big-add-comment', - lock: [_set.disableOnStart], + lock: [_set.pageDeleted, _set.disableOnStart], caption: this.capBtnComment, dataHint: '1', dataHintDirection: 'bottom', @@ -868,7 +871,7 @@ define([ id: 'tlbtn-textcomment', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-big-text-comment', - lock: [_set.disableOnStart], + lock: [_set.pageDeleted, _set.disableOnStart], caption: this.capBtnTextComment, menu: true, split: true, @@ -895,7 +898,7 @@ define([ caption: this.capBtnStamp, split: true, iconCls: 'toolbar__icon btn-stamp', - lock: [_set.disableOnStart], + lock: [_set.pageDeleted, _set.disableOnStart], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small', @@ -938,6 +941,7 @@ define([ type: AscPDF.ANNOTATIONS_TYPES.Strikeout }); this.btnsStrikeout = [this.btnStrikeout]; + this.toolbarControls.push(this.btnStrikeout); this.btnUnderline = new Common.UI.ButtonColored({ id: 'id-toolbar-btn-underline', @@ -972,6 +976,7 @@ define([ type: AscPDF.ANNOTATIONS_TYPES.Underline }); this.btnsUnderline = [this.btnUnderline]; + this.toolbarControls.push(this.btnUnderline); this.btnHighlight = new Common.UI.ButtonColored({ id: 'id-toolbar-btn-highlight', @@ -1008,6 +1013,7 @@ define([ dataHintOffset: '0, -16' }); this.btnsHighlight = [this.btnHighlight]; + this.toolbarControls.push(this.btnHighlight); if (config.isPDFAnnotate && config.canPDFEdit || config.isPDFEdit) { this.btnEditMode = new Common.UI.Button({