diff --git a/apps/pdfeditor/main/app/controller/Toolbar.js b/apps/pdfeditor/main/app/controller/Toolbar.js
index 9058a73eae..a694382247 100644
--- a/apps/pdfeditor/main/app/controller/Toolbar.js
+++ b/apps/pdfeditor/main/app/controller/Toolbar.js
@@ -251,6 +251,9 @@ define([
toolbar.chShowComments.on('change', _.bind(this.onShowCommentsChange, this));
toolbar.btnTextComment.on('click', _.bind(this.onBtnTextCommentClick, this));
toolbar.btnTextComment.menu.on('item:click', _.bind(this.onMenuTextCommentClick, this));
+ toolbar.btnStamp.on('click', _.bind(this.onBtnStampClick, this));
+ toolbar.btnStamp.menu.on('item:click', _.bind(this.onMenuStampClick, this));
+ toolbar.btnStamp.menu.on('show:after', _.bind(this.onStampShowAfter, this));
// toolbar.btnRotate.on('click', _.bind(this.onRotateClick, this));
Common.NotificationCenter.on('leftmenu:save', _.bind(this.tryToSave, this));
Common.NotificationCenter.on('draw:start', _.bind(this.onDrawStart, this));
@@ -1141,6 +1144,48 @@ define([
Common.component.Analytics.trackEvent('ToolBar', 'Add Text');
},
+ onBtnStampClick: function(btn, e) {
+ this.onInsertStamp(btn.options.stampType, btn, e);
+ },
+
+ onMenuStampClick: function(btn, e) {
+ var oldType = this.toolbar.btnStamp.options.stampType;
+ var newType = e.value;
+
+ if(newType !== oldType){
+ this.toolbar.btnStamp.options.stampType = newType;
+ }
+ this.onInsertStamp(newType, btn, e);
+ },
+
+ onInsertStamp: function(type, btn, e) {
+ this.api && this.api.AddStampAnnot(type);
+
+ Common.NotificationCenter.trigger('edit:complete', this.toolbar, this.toolbar.btnStamp);
+ Common.component.Analytics.trackEvent('ToolBar', 'Add Stamp');
+ },
+
+ onStampShowAfter: function(menu) {
+ var me = this;
+ if (menu.getItemsLength(true)<1 && this.api) {
+ var arr = this.api.asc_getPropertyEditorStamps(),
+ template = _.template([
+ '',
+ '',
+ ''
+ ].join(''));
+ arr.forEach(function(item){
+ var menuItem = new Common.UI.MenuItem({
+ value: item.Type,
+ stampImage: item.Image,
+ template: template
+ });
+ menu.addItem(menuItem, true);
+ });
+ this.toolbar.btnStamp.options.stampType = arr[0].Type;
+ }
+ },
+
onFillRequiredFields: function(isFilled) {
this.toolbar && this.toolbar.btnSubmit && this.toolbar.lockToolbar(Common.enumLock.requiredNotFilled, !isFilled, {array: [this.toolbar.btnSubmit]});
},
diff --git a/apps/pdfeditor/main/app/template/Toolbar.template b/apps/pdfeditor/main/app/template/Toolbar.template
index 40c5bccefa..c58bd4b524 100644
--- a/apps/pdfeditor/main/app/template/Toolbar.template
+++ b/apps/pdfeditor/main/app/template/Toolbar.template
@@ -176,6 +176,10 @@