diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index d959ba97f..e1f149fa1 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -260,6 +260,7 @@ define([ toolbar.btnPaste.on('click', _.bind(this.onCopyPaste, this, false)); toolbar.btnIncFontSize.on('click', _.bind(this.onIncrease, this)); toolbar.btnDecFontSize.on('click', _.bind(this.onDecrease, this)); + toolbar.mnuChangeCase.on('item:click', _.bind(this.onChangeCase, this)); toolbar.btnBold.on('click', _.bind(this.onBold, this)); toolbar.btnItalic.on('click', _.bind(this.onItalic, this)); toolbar.btnUnderline.on('click', _.bind(this.onUnderline, this)); @@ -1337,6 +1338,12 @@ define([ } }, + onChangeCase: function(menu, item, e) { + if (this.api) + this.api.asc_ChangeTextCase(item.value); + Common.NotificationCenter.trigger('edit:complete', this.toolbar); + }, + onSelectBullets: function(btn, picker, itemView, record) { var rawData = {}, isPickerSelect = _.isFunction(record.toJSON); diff --git a/apps/documenteditor/main/app/template/Toolbar.template b/apps/documenteditor/main/app/template/Toolbar.template index 3b250232a..756901ba2 100644 --- a/apps/documenteditor/main/app/template/Toolbar.template +++ b/apps/documenteditor/main/app/template/Toolbar.template @@ -35,6 +35,7 @@ +
diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index a5397ac4e..5b7811f26 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -290,6 +290,22 @@ define([ this.paragraphControls.push(this.btnParagraphColor); this.textOnlyControls.push(this.btnParagraphColor); + this.btnChangeCase = new Common.UI.Button({ + id: 'id-toolbar-btn-case', + cls: 'btn-toolbar', + iconCls: 'toolbar__icon btn-case', + menu: new Common.UI.Menu({ + items: [ + {caption: this.mniSentenceCase, value: Asc.c_oAscChangeTextCaseType.SentenceCase}, + {caption: this.mniLowerCase, value: Asc.c_oAscChangeTextCaseType.LowerCase}, + {caption: this.mniUpperCase, value: Asc.c_oAscChangeTextCaseType.UpperCase}, + {caption: this.mniCapitalizeWords, value: Asc.c_oAscChangeTextCaseType.CapitalizeWords}, + {caption: this.mniToggleCase, value: Asc.c_oAscChangeTextCaseType.ToggleCase} + ] + }) + }); + this.paragraphControls.push(this.btnChangeCase); + this.btnAlignLeft = new Common.UI.Button({ id: 'id-toolbar-btn-align-left', cls: 'btn-toolbar', @@ -1095,6 +1111,7 @@ define([ this.mnuInsertImage = this.btnInsertImage.menu; this.mnuPageSize = this.btnPageSize.menu; this.mnuColorSchema = this.btnColorSchemas.menu; + this.mnuChangeCase = this.btnChangeCase.menu; this.cmbFontSize = new Common.UI.ComboBox({ cls: 'input-group-nr', @@ -1347,6 +1364,7 @@ define([ _injectComponent('#slot-btn-subscript', this.btnSubscript); _injectComponent('#slot-btn-highlight', this.btnHighlightColor); _injectComponent('#slot-btn-fontcolor', this.btnFontColor); + _injectComponent('#slot-btn-changecase', this.btnChangeCase); _injectComponent('#slot-btn-align-left', this.btnAlignLeft); _injectComponent('#slot-btn-align-center', this.btnAlignCenter); _injectComponent('#slot-btn-align-right', this.btnAlignRight); @@ -1638,6 +1656,7 @@ define([ this.btnHighlightColor.updateHint(this.tipHighlightColor); this.btnFontColor.updateHint(this.tipFontColor); this.btnParagraphColor.updateHint(this.tipPrColor); + this.btnChangeCase.updateHint(this.tipChangeCase); this.btnAlignLeft.updateHint(this.tipAlignLeft + Common.Utils.String.platformKey('Ctrl+L')); this.btnAlignCenter.updateHint(this.tipAlignCenter + Common.Utils.String.platformKey('Ctrl+E')); this.btnAlignRight.updateHint(this.tipAlignRight + Common.Utils.String.platformKey('Ctrl+R')); @@ -2392,7 +2411,13 @@ define([ textRestartEachSection: 'Restart Each Section', textSuppressForCurrentParagraph: 'Suppress for Current Paragraph', textCustomLineNumbers: 'Line Numbering Options', - tipLineNumbers: 'Show line numbers' + tipLineNumbers: 'Show line numbers', + tipChangeCase: 'Change case', + mniSentenceCase: 'Sentence case.', + mniLowerCase: 'lowercase', + mniUpperCase: 'UPPERCASE', + mniCapitalizeWords: 'Capitalize Each Word', + mniToggleCase: 'tOGGLE cASE' } })(), DE.Views.Toolbar || {})); }); diff --git a/apps/documenteditor/main/resources/less/toolbar.less b/apps/documenteditor/main/resources/less/toolbar.less index 1acca729c..75d6818d1 100644 --- a/apps/documenteditor/main/resources/less/toolbar.less +++ b/apps/documenteditor/main/resources/less/toolbar.less @@ -217,7 +217,7 @@ #slot-field-fontname { float: left; - width: 117px; + width: 84px; } #slot-field-fontsize { @@ -226,7 +226,7 @@ margin-left: 2px; } -#slot-btn-incfont, #slot-btn-decfont { +#slot-btn-incfont, #slot-btn-decfont, #slot-btn-changecase { margin-left: 2px; }