From fc02d82c069b3a9de710c9d26333951db581a467 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 28 Jun 2019 14:12:34 +0300 Subject: [PATCH] Merge develop into feature/pe-header-footer --- .../resources/img/controls/toolbarbig.png | Bin 18593 -> 22008 bytes .../resources/img/controls/toolbarbig@2x.png | Bin 40641 -> 48536 bytes apps/common/main/resources/less/toolbar.less | 10 + apps/documenteditor/main/app/view/Links.js | 2 +- .../mobile/app/controller/add/AddOther.js | 209 +++++++++- .../mobile/app/template/AddOther.template | 66 +++ .../mobile/app/view/add/AddOther.js | 64 ++- apps/documenteditor/mobile/locale/en.json | 7 + .../mobile/resources/css/app-ios.css | 5 + .../mobile/resources/css/app-material.css | 5 + .../mobile/resources/less/ios/_icons.less | 5 + .../resources/less/material/_icons.less | 5 + apps/presentationeditor/main/app.reporter.js | 29 +- .../main/app_dev.reporter.js | 29 +- .../main/index.reporter.html | 23 +- .../main/index.reporter.html.deploy | 23 +- .../main/app/controller/FormulaDialog.js | 86 +++- .../main/app/controller/Toolbar.js | 18 +- .../main/app/template/Toolbar.template | 17 + .../main/app/view/FormulaDialog.js | 29 +- .../main/app/view/FormulaTab.js | 379 ++++++++++++++++++ .../main/app/view/Toolbar.js | 4 +- apps/spreadsheeteditor/main/locale/de.json | 26 +- apps/spreadsheeteditor/main/locale/en.json | 34 +- apps/spreadsheeteditor/main/locale/es.json | 26 +- apps/spreadsheeteditor/main/locale/fr.json | 26 +- apps/spreadsheeteditor/main/locale/it.json | 26 +- apps/spreadsheeteditor/main/locale/pl.json | 26 +- apps/spreadsheeteditor/main/locale/ru.json | 26 +- 29 files changed, 989 insertions(+), 216 deletions(-) create mode 100644 apps/spreadsheeteditor/main/app/view/FormulaTab.js diff --git a/apps/common/main/resources/img/controls/toolbarbig.png b/apps/common/main/resources/img/controls/toolbarbig.png index f87aaed874e577564feb703b237ca14717d2a73b..38de26838bb118730f4f01736c5568713dee63d6 100644 GIT binary patch literal 22008 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 N002ovPDHLkV1fjA-G~4H diff --git a/apps/common/main/resources/img/controls/toolbarbig@2x.png b/apps/common/main/resources/img/controls/toolbarbig@2x.png index 7bc1cd89f598e70e161e920644f95bf4dc1cd8f8..4d2d6765ef53ca0d33c63e8c110d0df451fe5841 100644 GIT binary patch literal 48536 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 Izc3B{Unwq$DgXcg literal 40641 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
3H{;vn^+08hyKh!Rb3;`UBy5 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 HSx5X2x7<(( diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less index 69ae8523b..dc661e93c 100644 --- a/apps/common/main/resources/less/toolbar.less +++ b/apps/common/main/resources/less/toolbar.less @@ -519,6 +519,16 @@ .button-normal-icon(btn-to-columns, 61, @toolbar-big-icon-size); .button-normal-icon(btn-watermark, 63, @toolbar-big-icon-size); .button-normal-icon(btn-color-schema, 64, @toolbar-big-icon-size); +.button-normal-icon(btn-ins-formula, 65, @toolbar-big-icon-size); +.button-normal-icon(btn-autosumm, 66, @toolbar-big-icon-size); +.button-normal-icon(btn-recent, 67, @toolbar-big-icon-size); +.button-normal-icon(btn-finance, 68, @toolbar-big-icon-size); +.button-normal-icon(btn-logic, 69, @toolbar-big-icon-size); +.button-normal-icon(btn-func-text, 70, @toolbar-big-icon-size); +.button-normal-icon(btn-datetime, 71, @toolbar-big-icon-size); +.button-normal-icon(btn-lookup, 72, @toolbar-big-icon-size); +.button-normal-icon(btn-func-math, 73, @toolbar-big-icon-size); +.button-normal-icon(btn-more, 74, @toolbar-big-icon-size); .item-shape { .icon { diff --git a/apps/documenteditor/main/app/view/Links.js b/apps/documenteditor/main/app/view/Links.js index 6d2c0e6ff..c9b83f9d4 100644 --- a/apps/documenteditor/main/app/view/Links.js +++ b/apps/documenteditor/main/app/view/Links.js @@ -122,7 +122,7 @@ define([ var me = this, $host = me.toolbar.$el; - this.btnsContents = Common.Utils.injectButtons($host.find('.btn-slot.btn-contents'), '', 'btn-contents', me.capBtnInsContents ); + this.btnsContents = Common.Utils.injectButtons($host.find('.btn-slot.btn-contents'), '', 'btn-contents', me.capBtnInsContents, undefined, true, true ); this.btnsNotes = Common.Utils.injectButtons($host.find('.btn-slot.slot-notes'), '', 'btn-notes', me.capBtnInsFootnote, undefined, true, true); this.btnsHyperlink = Common.Utils.injectButtons($host.find('.btn-slot.slot-inshyperlink'), '', 'btn-inserthyperlink', me.capBtnInsLink); Array.prototype.push.apply(this.paragraphControls, this.btnsContents.concat(this.btnsNotes, this.btnsHyperlink)); diff --git a/apps/documenteditor/mobile/app/controller/add/AddOther.js b/apps/documenteditor/mobile/app/controller/add/AddOther.js index e979187e8..04ba5b122 100644 --- a/apps/documenteditor/mobile/app/controller/add/AddOther.js +++ b/apps/documenteditor/mobile/app/controller/add/AddOther.js @@ -72,6 +72,8 @@ define([ 'page:show' : this.onPageShow } }); + this.toCustomFormat; + this.fromCustomFormat; }, setApi: function (api) { @@ -107,11 +109,121 @@ define([ $('#add-link-display input').val(_.isString(text) ? text : ''); }); } + } else if (pageId == '#addother-insert-footnote') { + me.initInsertFootnote(); } }, // Handlers + initInsertFootnote: function () { + var me = this, + dataFormatFootnote = [ + { text: '1, 2, 3,...', value: Asc.c_oAscNumberingFormat.Decimal }, + { text: 'a, b, c,...', value: Asc.c_oAscNumberingFormat.LowerLetter }, + { text: 'A, B, C,...', value: Asc.c_oAscNumberingFormat.UpperLetter }, + { text: 'i, ii, iii,...', value: Asc.c_oAscNumberingFormat.LowerRoman }, + { text: 'I, II, III,...', value: Asc.c_oAscNumberingFormat.UpperRoman } + ], + dataPosFootnote = [ + {value: Asc.c_oAscFootnotePos.PageBottom, displayValue: this.textBottomOfPage }, + {value: Asc.c_oAscFootnotePos.BeneathText, displayValue: this.textBelowText } + ], + props = me.api.asc_GetFootnoteProps(), + propsFormat = props.get_NumFormat(), + propsPos = props.get_Pos(); + + me.onFormatFootnoteChange(propsFormat); + + var view = me.getView('AddOther'); + view.renderNumFormat(dataFormatFootnote, propsFormat); + view.renderFootnotePos(dataPosFootnote, propsPos); + + $('#start-at-footnote .button').single('click', _.bind(me.onStartAt, me)); + $('.page[data-page=addother-insert-footnote] input:radio[name=doc-footnote-format]').single('change', _.bind(me.onFormatFootnoteChange, me)); + $('#footnote-insert').single('click', _.bind(this.onClickInsertFootnote, this)); + }, + + onClickInsertFootnote: function() { + var me = this, + format = $('input[name="doc-footnote-format"]:checked').data('value'), + start = $('#start-at-footnote .item-after label').text(), + position = $('input[name="doc-footnote-pos"]:checked').data('value'), + props = new Asc.CAscFootnotePr(); + var startTo10; + if (me.fromCustomFormat) { + startTo10 = parseInt(me.fromCustomFormat(start)); + } else { + startTo10 = me.api.asc_GetFootnoteProps().get_NumStart(); + } + props.put_Pos(position); + props.put_NumFormat(format); + props.put_NumStart(startTo10); + props.put_NumRestart(Asc.c_oAscFootnoteRestart.Continuous); + if (me.api) { + me.api.asc_SetFootnoteProps(props, false); + me.api.asc_AddFootnote(); + DE.getController('AddContainer').hideModal(); + } + }, + + onFormatFootnoteChange: function(e) { + var me = this; + var value = e.currentTarget ? $(e.currentTarget).data('value') : e; + var startAt = $('#start-at-footnote .item-after label'), + currValue; + if(e.currentTarget) { + currValue = me.fromCustomFormat(startAt.text()); + } else { + currValue = me.api.asc_GetFootnoteProps().get_NumStart(); + } + switch (value) { + case Asc.c_oAscNumberingFormat.UpperRoman: // I, II, III, ... + me.toCustomFormat = me._10toRome; + me.fromCustomFormat = me._Rometo10; + break; + case Asc.c_oAscNumberingFormat.LowerRoman: // i, ii, iii, ... + me.toCustomFormat = function(value) { return me._10toRome(value).toLocaleLowerCase(); }; + me.fromCustomFormat = function(value) { return me._Rometo10(value.toLocaleUpperCase()); }; + break; + case Asc.c_oAscNumberingFormat.UpperLetter: // A, B, C, ... + me.toCustomFormat = me._10toS; + me.fromCustomFormat = me._Sto10; + break; + case Asc.c_oAscNumberingFormat.LowerLetter: // a, b, c, ... + me.toCustomFormat = function(value) { return me._10toS(value).toLocaleLowerCase(); }; + me.fromCustomFormat = function(value) { return me._Sto10(value.toLocaleUpperCase()); }; + break; + default: // 1, 2, 3, ... + me.toCustomFormat = function(value) { return value; }; + me.fromCustomFormat = function(value) { return value; }; + break; + } + var newValue = me.toCustomFormat(currValue); + startAt.text(newValue); + }, + + onStartAt: function(e) { + var $button = $(e.currentTarget), + value = $('#start-at-footnote .item-after label').text(), + intValue, + step = 1, + maxValue = 16383, + me = this; + if(me.fromCustomFormat) { + intValue = parseInt(me.fromCustomFormat(value)); + } else { + intValue = me.api.asc_GetFootnoteProps().get_NumStart(); + } + if ($button.hasClass('decrement')) { + intValue = Math.max(1, intValue - step); + } else { + intValue = Math.min(maxValue, intValue + step); + } + var newValue = me.toCustomFormat(intValue); + $('#start-at-footnote .item-after label').text(newValue); + }, + onInsertLink: function (e) { var me = this, url = $('#add-link-url input').val(), @@ -208,7 +320,102 @@ define([ DE.getController('AddContainer').hideModal(); }, - txtNotUrl: 'This field should be a URL in the format \"http://www.example.com\"' + _10toS: function(value) { + value = parseInt(value); + var n = Math.ceil(value / 26), + code = String.fromCharCode((value-1) % 26 + "A".charCodeAt(0)) , + result = ''; + + for (var i=0; i0) { + val = digits[n][1]; + div = value - val; + if (div>=0) { + result += digits[n][0]; + value = div; + } else + n++; + } + + return result; + }, + + _Rometo10: function(str) { + if ( !/[IVXLCDM]/.test(str) || str.length<1 ) return 1; + + var digits = { + 'I': 1, + 'V': 5, + 'X': 10, + 'L': 50, + 'C': 100, + 'D': 500, + 'M': 1000 + }; + + var n = str.length-1, + result = digits[str.charAt(n)], + prev = result; + + for (var i=n-1; i>=0; i-- ) { + var val = digits[str.charAt(i)]; + if (val10) return 1; + val *= -1; + } + + result += val; + } + + return result; + }, + + txtNotUrl: 'This field should be a URL in the format \"http://www.example.com\"', + textBottomOfPage: 'Bottom Of Page', + textBelowText: 'Below Text' } })(), DE.Controllers.AddOther || {})) diff --git a/apps/documenteditor/mobile/app/template/AddOther.template b/apps/documenteditor/mobile/app/template/AddOther.template index 36c324b5c..76c91c506 100644 --- a/apps/documenteditor/mobile/app/template/AddOther.template +++ b/apps/documenteditor/mobile/app/template/AddOther.template @@ -62,6 +62,18 @@ +
  • + +
    +
    + +
    +
    +
    <%= scope.textFootnote %>
    +
    +
    +
    +
  • @@ -258,4 +270,58 @@ + + + +
    + +
    +
    +
    <%= scope.textFormat %>
    +
    +
      +
    +
    +
    +
      +
    • +
      +
      +
      <%= scope.textStartFrom %>
      +
      + <% if (!android) { %><% } %> +

      + <% if (android) { %><% } else { %>-<% } %> + <% if (android) { %><% } %> + <% if (android) { %><% } else { %>+<% } %> +

      +
      +
      +
      +
    • +
    +
    +
    <%= scope.textLocation %>
    +
    +
      +
    +
    +
    + <% if (android) { %> + <%= scope.textInsertFootnote %> + <% } else { %> + + <% } %> +
    +
    +
    \ No newline at end of file diff --git a/apps/documenteditor/mobile/app/view/add/AddOther.js b/apps/documenteditor/mobile/app/view/add/AddOther.js index 0389eccb7..c5c1afd41 100644 --- a/apps/documenteditor/mobile/app/view/add/AddOther.js +++ b/apps/documenteditor/mobile/app/view/add/AddOther.js @@ -69,6 +69,7 @@ define([ $('#add-other-section').single('click', _.bind(me.showSectionBreak, me)); $('#add-other-link').single('click', _.bind(me.showLink, me)); $('#add-other-pagenumber').single('click', _.bind(me.showPagePosition, me)); + $('#add-other-footnote').single('click', _.bind(me.showPageFootnote, me)); me.initControls(); }, @@ -138,6 +139,62 @@ define([ this.showPage('#addother-pagenumber'); }, + showPageFootnote: function () { + this.showPage('#addother-insert-footnote'); + }, + + renderNumFormat: function (dataFormat, selectFormat) { + var $listFormat = $('#list-format-footnote ul'), + items = []; + + _.each(dataFormat, function (formatItem) { + var itemTemplate = [ + '
  • ', + '', + '
  • ' + ].join(''); + items.push(_.template(itemTemplate)({ + android: Framework7.prototype.device.android, + item: formatItem, + select: selectFormat + })); + }); + + $listFormat.html(items); + }, + + renderFootnotePos: function (dataPosition, selectPosition) { + var $listPos = $('#position-footnote ul'), + items = []; + + _.each(dataPosition, function (posItem) { + var itemTemplate = [ + '
  • ', + '', + '
  • ' + ].join(''); + items.push(_.template(itemTemplate)({ + android: Framework7.prototype.device.android, + item: posItem, + select: selectPosition + })); + }); + + $listPos.html(items); + }, + textPageBreak: 'Page Break', textSectionBreak: 'Section Break', textColumnBreak: 'Column Break', @@ -159,7 +216,12 @@ define([ textNextPage: 'Next Page', textContPage: 'Continuous Page', textEvenPage: 'Even Page', - textOddPage: 'Odd Page' + textOddPage: 'Odd Page', + textFootnote: 'Footnote', + textInsertFootnote: 'Insert Footnote', + textFormat: 'Format', + textStartFrom: 'Start At', + textLocation: 'Location' } diff --git a/apps/documenteditor/mobile/locale/en.json b/apps/documenteditor/mobile/locale/en.json index adc775d36..0823b2b2a 100644 --- a/apps/documenteditor/mobile/locale/en.json +++ b/apps/documenteditor/mobile/locale/en.json @@ -10,6 +10,8 @@ "DE.Controllers.AddImage.textEmptyImgUrl": "You need to specify image URL.", "DE.Controllers.AddImage.txtNotUrl": "This field should be a URL in the 'http://www.example.com' format", "DE.Controllers.AddOther.txtNotUrl": "This field should be a URL in the 'http://www.example.com' format", + "DE.Controllers.AddOther.textBottomOfPage": "Bottom Of Page", + "DE.Controllers.AddOther.textBelowText": "Below Text", "DE.Controllers.AddTable.textCancel": "Cancel", "DE.Controllers.AddTable.textColumns": "Columns", "DE.Controllers.AddTable.textRows": "Rows", @@ -271,6 +273,11 @@ "DE.Views.AddOther.textRightTop": "Right Top", "DE.Views.AddOther.textSectionBreak": "Section Break", "DE.Views.AddOther.textTip": "Screen Tip", + "DE.Views.AddOther.textFootnote": "Footnote", + "DE.Views.AddOther.textInsertFootnote": "Insert Footnote", + "DE.Views.AddOther.textFormat": "Format", + "DE.Views.AddOther.textStartFrom": "Start At", + "DE.Views.AddOther.textLocation": "Location", "DE.Views.EditChart.textAlign": "Align", "DE.Views.EditChart.textBack": "Back", "DE.Views.EditChart.textBackward": "Move Backward", diff --git a/apps/documenteditor/mobile/resources/css/app-ios.css b/apps/documenteditor/mobile/resources/css/app-ios.css index 3ab4a1d35..e5fc9e44f 100644 --- a/apps/documenteditor/mobile/resources/css/app-ios.css +++ b/apps/documenteditor/mobile/resources/css/app-ios.css @@ -6854,6 +6854,11 @@ i.icon.icon-app-settings { height: 24px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M7%2014H16C18.2091%2014%2020%2015.7909%2020%2018C20%2020.2091%2018.2091%2022%2016%2022H7C4.79086%2022%203%2020.2091%203%2018C3%2015.7909%204.79086%2014%207%2014ZM16%2013C18.7614%2013%2021%2015.2386%2021%2018C21%2020.7614%2018.7614%2023%2016%2023H7C4.23858%2023%202%2020.7614%202%2018C2%2015.2386%204.23858%2013%207%2013H16Z%22%20fill%3D%22%23446995%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M16%2020C14.8954%2020%2014%2019.1046%2014%2018C14%2016.8954%2014.8954%2016%2016%2016C17.1046%2016%2018%2016.8954%2018%2018C18%2019.1046%2017.1046%2020%2016%2020ZM16%2021C14.3431%2021%2013%2019.6569%2013%2018C13%2016.3431%2014.3431%2015%2016%2015C17.6569%2015%2019%2016.3431%2019%2018C19%2019.6569%2017.6569%2021%2016%2021Z%22%20fill%3D%22%23446995%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M16%203H7C4.79086%203%203%204.79086%203%207C3%209.20914%204.79086%2011%207%2011H16C18.2091%2011%2020%209.20914%2020%207C20%204.79086%2018.2091%203%2016%203ZM7%202C4.23858%202%202%204.23858%202%207C2%209.76142%204.23858%2012%207%2012H16C18.7614%2012%2021%209.76142%2021%207C21%204.23858%2018.7614%202%2016%202H7Z%22%20fill%3D%22%23446995%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M7%209C8.10457%209%209%208.10457%209%207C9%205.89543%208.10457%205%207%205C5.89543%205%205%205.89543%205%207C5%208.10457%205.89543%209%207%209ZM7%2010C8.65685%2010%2010%208.65685%2010%207C10%205.34315%208.65685%204%207%204C5.34315%204%204%205.34315%204%207C4%208.65685%205.34315%2010%207%2010Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fsvg%3E"); } +i.icon.icon-footnote { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M22%208.11133H20.9177V5.15361L20.9282%204.66765L20.9457%204.13624C20.7659%204.31571%2020.641%204.43341%2020.5709%204.48935L19.9825%204.96132L19.4606%204.31105L21.1103%203H22V8.11133Z%22%20fill%3D%22%23446995%22%2F%3E%3Cpath%20d%3D%22M10.3363%2018.8514L8.98161%2015.3968H4.61996L3.28021%2018.8514H2L6.3021%207.94526H7.36646L11.6462%2018.8514H10.3363ZM8.58713%2014.2601L7.3218%2010.8947C7.15806%2010.4687%206.98935%209.94621%206.81567%209.32711C6.70651%209.80258%206.5502%2010.3251%206.34676%2010.8947L5.06655%2014.2601H8.58713Z%22%20fill%3D%22%23446995%22%2F%3E%3Cpath%20d%3D%22M16.1425%2010.5752C17.2143%2010.5752%2018.0454%2010.9417%2018.6359%2011.6748C19.2313%2012.4028%2019.5291%2013.4355%2019.5291%2014.7728C19.5291%2016.11%2019.2288%2017.1501%2018.6284%2017.893C18.033%2018.631%2017.2043%2019%2016.1425%2019C15.6115%2019%2015.1252%2018.9034%2014.6836%2018.7103C14.2469%2018.5121%2013.8798%2018.21%2013.582%2017.8039H13.4927L13.2322%2018.8514H12.3465V7.29149H13.582V10.0997C13.582%2010.7288%2013.5622%2011.2934%2013.5225%2011.7936H13.582C14.1576%2010.9814%2015.0111%2010.5752%2016.1425%2010.5752ZM15.9638%2011.6079C15.1203%2011.6079%2014.5124%2011.8506%2014.1403%2012.336C13.7681%2012.8164%2013.582%2013.6286%2013.582%2014.7728C13.582%2015.9169%2013.7731%2016.7366%2014.1551%2017.2318C14.5372%2017.7222%2015.15%2017.9673%2015.9936%2017.9673C16.7528%2017.9673%2017.3185%2017.6925%2017.6906%2017.1427C18.0628%2016.588%2018.2488%2015.793%2018.2488%2014.7579C18.2488%2013.698%2018.0628%2012.908%2017.6906%2012.388C17.3185%2011.8679%2016.7429%2011.6079%2015.9638%2011.6079Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fsvg%3E"); +} .label-switch input[type="checkbox"]:checked + .checkbox { background: #446995; } diff --git a/apps/documenteditor/mobile/resources/css/app-material.css b/apps/documenteditor/mobile/resources/css/app-material.css index 60eb21871..aaa58ba90 100644 --- a/apps/documenteditor/mobile/resources/css/app-material.css +++ b/apps/documenteditor/mobile/resources/css/app-material.css @@ -6334,6 +6334,11 @@ i.icon.icon-app-settings { height: 24px; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M7%2014H16C18.2091%2014%2020%2015.7909%2020%2018C20%2020.2091%2018.2091%2022%2016%2022H7C4.79086%2022%203%2020.2091%203%2018C3%2015.7909%204.79086%2014%207%2014ZM16%2013C18.7614%2013%2021%2015.2386%2021%2018C21%2020.7614%2018.7614%2023%2016%2023H7C4.23858%2023%202%2020.7614%202%2018C2%2015.2386%204.23858%2013%207%2013H16Z%22%20fill%3D%22%23446995%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M16%2020C14.8954%2020%2014%2019.1046%2014%2018C14%2016.8954%2014.8954%2016%2016%2016C17.1046%2016%2018%2016.8954%2018%2018C18%2019.1046%2017.1046%2020%2016%2020ZM16%2021C14.3431%2021%2013%2019.6569%2013%2018C13%2016.3431%2014.3431%2015%2016%2015C17.6569%2015%2019%2016.3431%2019%2018C19%2019.6569%2017.6569%2021%2016%2021Z%22%20fill%3D%22%23446995%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M16%203H7C4.79086%203%203%204.79086%203%207C3%209.20914%204.79086%2011%207%2011H16C18.2091%2011%2020%209.20914%2020%207C20%204.79086%2018.2091%203%2016%203ZM7%202C4.23858%202%202%204.23858%202%207C2%209.76142%204.23858%2012%207%2012H16C18.7614%2012%2021%209.76142%2021%207C21%204.23858%2018.7614%202%2016%202H7Z%22%20fill%3D%22%23446995%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M7%209C8.10457%209%209%208.10457%209%207C9%205.89543%208.10457%205%207%205C5.89543%205%205%205.89543%205%207C5%208.10457%205.89543%209%207%209ZM7%2010C8.65685%2010%2010%208.65685%2010%207C10%205.34315%208.65685%204%207%204C5.34315%204%204%205.34315%204%207C4%208.65685%205.34315%2010%207%2010Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fsvg%3E"); } +i.icon.icon-footnote { + width: 24px; + height: 24px; + background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M22%208.11133H20.9177V5.15361L20.9282%204.66765L20.9457%204.13624C20.7659%204.31571%2020.641%204.43341%2020.5709%204.48935L19.9825%204.96132L19.4606%204.31105L21.1103%203H22V8.11133Z%22%20fill%3D%22%23446995%22%2F%3E%3Cpath%20d%3D%22M10.3363%2018.8514L8.98161%2015.3968H4.61996L3.28021%2018.8514H2L6.3021%207.94526H7.36646L11.6462%2018.8514H10.3363ZM8.58713%2014.2601L7.3218%2010.8947C7.15806%2010.4687%206.98935%209.94621%206.81567%209.32711C6.70651%209.80258%206.5502%2010.3251%206.34676%2010.8947L5.06655%2014.2601H8.58713Z%22%20fill%3D%22%23446995%22%2F%3E%3Cpath%20d%3D%22M16.1425%2010.5752C17.2143%2010.5752%2018.0454%2010.9417%2018.6359%2011.6748C19.2313%2012.4028%2019.5291%2013.4355%2019.5291%2014.7728C19.5291%2016.11%2019.2288%2017.1501%2018.6284%2017.893C18.033%2018.631%2017.2043%2019%2016.1425%2019C15.6115%2019%2015.1252%2018.9034%2014.6836%2018.7103C14.2469%2018.5121%2013.8798%2018.21%2013.582%2017.8039H13.4927L13.2322%2018.8514H12.3465V7.29149H13.582V10.0997C13.582%2010.7288%2013.5622%2011.2934%2013.5225%2011.7936H13.582C14.1576%2010.9814%2015.0111%2010.5752%2016.1425%2010.5752ZM15.9638%2011.6079C15.1203%2011.6079%2014.5124%2011.8506%2014.1403%2012.336C13.7681%2012.8164%2013.582%2013.6286%2013.582%2014.7728C13.582%2015.9169%2013.7731%2016.7366%2014.1551%2017.2318C14.5372%2017.7222%2015.15%2017.9673%2015.9936%2017.9673C16.7528%2017.9673%2017.3185%2017.6925%2017.6906%2017.1427C18.0628%2016.588%2018.2488%2015.793%2018.2488%2014.7579C18.2488%2013.698%2018.0628%2012.908%2017.6906%2012.388C17.3185%2011.8679%2016.7429%2011.6079%2015.9638%2011.6079Z%22%20fill%3D%22%23446995%22%2F%3E%3C%2Fsvg%3E"); +} .navbar i.icon.icon-undo { width: 22px; height: 22px; diff --git a/apps/documenteditor/mobile/resources/less/ios/_icons.less b/apps/documenteditor/mobile/resources/less/ios/_icons.less index 8973f03d2..507610a60 100644 --- a/apps/documenteditor/mobile/resources/less/ios/_icons.less +++ b/apps/documenteditor/mobile/resources/less/ios/_icons.less @@ -451,4 +451,9 @@ i.icon { height: 24px; .encoded-svg-background(''); } + &.icon-footnote { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } } \ No newline at end of file diff --git a/apps/documenteditor/mobile/resources/less/material/_icons.less b/apps/documenteditor/mobile/resources/less/material/_icons.less index 6a26e59fe..b4db3fbfa 100644 --- a/apps/documenteditor/mobile/resources/less/material/_icons.less +++ b/apps/documenteditor/mobile/resources/less/material/_icons.less @@ -378,6 +378,11 @@ i.icon { height: 24px; .encoded-svg-background(''); } + &.icon-footnote { + width: 24px; + height: 24px; + .encoded-svg-background(''); + } } // Overwrite color for toolbar diff --git a/apps/presentationeditor/main/app.reporter.js b/apps/presentationeditor/main/app.reporter.js index 6c90d9036..14ed36933 100644 --- a/apps/presentationeditor/main/app.reporter.js +++ b/apps/presentationeditor/main/app.reporter.js @@ -96,34 +96,7 @@ require([ }); var setDocumentTitle = function(title) { - function getUrlParams() { - var e, - a = /\+/g, // Regex for replacing addition symbol with a space - r = /([^&=]+)=?([^&]*)/g, - d = function (s) { return decodeURIComponent(s.replace(a, " ")); }, - q = window.location.search.substring(1), - urlParams = {}; - - while (e = r.exec(q)) - urlParams[d(e[1])] = d(e[2]); - - return urlParams; - } - var params = getUrlParams(), - lang = (params["lang"] || 'en').split(/[\-\_]/)[0], - presenter = 'Presenter View'; - - if ( lang == 'de') presenter = ''; - else if ( lang == 'es') presenter = ''; - else if ( lang == 'fr') presenter = ''; - else if ( lang == 'it') presenter = ''; - else if ( lang == 'pt') presenter = ''; - else if ( lang == 'ru') presenter = 'Режим докладчика'; - else if ( lang == 'sl') presenter = ''; - else if ( lang == 'tr') presenter = ''; - presenter && (presenter += ' - '); - - window.document.title = presenter + (title || ''); + (title) && (window.document.title += (' - ' + title)); }; function load_document(data) { diff --git a/apps/presentationeditor/main/app_dev.reporter.js b/apps/presentationeditor/main/app_dev.reporter.js index 7fd416947..04b34270e 100644 --- a/apps/presentationeditor/main/app_dev.reporter.js +++ b/apps/presentationeditor/main/app_dev.reporter.js @@ -97,34 +97,7 @@ require([ }); var setDocumentTitle = function(title) { - function getUrlParams() { - var e, - a = /\+/g, // Regex for replacing addition symbol with a space - r = /([^&=]+)=?([^&]*)/g, - d = function (s) { return decodeURIComponent(s.replace(a, " ")); }, - q = window.location.search.substring(1), - urlParams = {}; - - while (e = r.exec(q)) - urlParams[d(e[1])] = d(e[2]); - - return urlParams; - } - var params = getUrlParams(), - lang = (params["lang"] || 'en').split(/[\-\_]/)[0], - presenter = 'Presenter View'; - - if ( lang == 'de') presenter = ''; - else if ( lang == 'es') presenter = ''; - else if ( lang == 'fr') presenter = ''; - else if ( lang == 'it') presenter = ''; - else if ( lang == 'pt') presenter = ''; - else if ( lang == 'ru') presenter = 'Режим докладчика'; - else if ( lang == 'sl') presenter = ''; - else if ( lang == 'tr') presenter = ''; - presenter && (presenter += ' - '); - - window.document.title = presenter + (title || ''); + (title) && (window.document.title += (' - ' + title)); }; function load_document(data) { diff --git a/apps/presentationeditor/main/index.reporter.html b/apps/presentationeditor/main/index.reporter.html index 7e582e153..1584f730c 100644 --- a/apps/presentationeditor/main/index.reporter.html +++ b/apps/presentationeditor/main/index.reporter.html @@ -226,18 +226,25 @@ customer = params["customer"] ? ('
    ' + encodeUrlParam(params["customer"]) + '
    ') : '', margin = (customer !== '') ? 50 : 20, loading = 'Loading...', + presenter = 'Presenter View', logo = params["logo"] ? ((params["logo"] !== 'none') ? ('') : '') : null; window.frameEditorId = params["frameEditorId"]; - if ( lang == 'de') loading = 'Ladevorgang...'; - else if ( lang == 'es') loading = 'Cargando...'; - else if ( lang == 'fr') loading = 'Chargement en cours...'; - else if ( lang == 'it') loading = 'Caricamento in corso...'; - else if ( lang == 'pt') loading = 'Carregando...'; - else if ( lang == 'ru') loading = 'Загрузка...'; - else if ( lang == 'sl') loading = 'Nalaganje...'; - else if ( lang == 'tr') loading = 'Yükleniyor...'; + if ( lang == 'bg') { presenter = 'Изглед на презентатора';} + else if ( lang == 'cs') { presenter = 'Zobrazení přednášejícího';} + else if ( lang == 'de') { presenter = 'Referentenansicht'; loading = 'Ladevorgang...';} + else if ( lang == 'es') { presenter = 'Vista del presentador'; loading = 'Cargando...';} + else if ( lang == 'fr') { presenter = 'Mode présentateur'; loading = 'Chargement en cours...';} + else if ( lang == 'it') { presenter = 'Visualizzazione del presenter'; loading = 'Caricamento in corso...';} + else if ( lang == 'pl') { presenter = 'Widok Prezentera';} + else if ( lang == 'pt') { presenter = 'Vista de apresentador'; loading = 'Carregando...';} + else if ( lang == 'ru') { presenter = 'Режим докладчика'; loading = 'Загрузка...';} + else if ( lang == 'sk') { presenter = 'Režim prezentácie';} + else if ( lang == 'sl') { loading = 'Nalaganje...';} + else if ( lang == 'zh') { presenter = '演示者视图';} + else if ( lang == 'tr') { loading = 'Yükleniyor...';} + window.document.title = presenter; if (!stopLoading) document.write( diff --git a/apps/presentationeditor/main/index.reporter.html.deploy b/apps/presentationeditor/main/index.reporter.html.deploy index 9ce5c414d..5b403c632 100644 --- a/apps/presentationeditor/main/index.reporter.html.deploy +++ b/apps/presentationeditor/main/index.reporter.html.deploy @@ -222,18 +222,25 @@ customer = params["customer"] ? ('
    ' + encodeUrlParam(params["customer"]) + '
    ') : '', margin = (customer !== '') ? 50 : 20, loading = 'Loading...', + presenter = 'Presenter View', logo = params["logo"] ? ((params["logo"] !== 'none') ? ('') : '') : null; window.frameEditorId = params["frameEditorId"]; - if ( lang == 'de') loading = 'Ladevorgang...'; - else if ( lang == 'es') loading = 'Cargando...'; - else if ( lang == 'fr') loading = 'Chargement en cours...'; - else if ( lang == 'it') loading = 'Caricamento in corso...'; - else if ( lang == 'pt') loading = 'Carregando...'; - else if ( lang == 'ru') loading = 'Загрузка...'; - else if ( lang == 'sl') loading = 'Nalaganje...'; - else if ( lang == 'tr') loading = 'Yükleniyor...'; + if ( lang == 'bg') { presenter = 'Изглед на презентатора';} + else if ( lang == 'cs') { presenter = 'Zobrazení přednášejícího';} + else if ( lang == 'de') { presenter = 'Referentenansicht'; loading = 'Ladevorgang...';} + else if ( lang == 'es') { presenter = 'Vista del presentador'; loading = 'Cargando...';} + else if ( lang == 'fr') { presenter = 'Mode présentateur'; loading = 'Chargement en cours...';} + else if ( lang == 'it') { presenter = 'Visualizzazione del presenter'; loading = 'Caricamento in corso...';} + else if ( lang == 'pl') { presenter = 'Widok Prezentera';} + else if ( lang == 'pt') { presenter = 'Vista de apresentador'; loading = 'Carregando...';} + else if ( lang == 'ru') { presenter = 'Режим докладчика'; loading = 'Загрузка...';} + else if ( lang == 'sk') { presenter = 'Režim prezentácie';} + else if ( lang == 'sl') { loading = 'Nalaganje...';} + else if ( lang == 'zh') { presenter = '演示者视图';} + else if ( lang == 'tr') { loading = 'Yükleniyor...';} + window.document.title = presenter; if (!stopLoading) document.write( diff --git a/apps/spreadsheeteditor/main/app/controller/FormulaDialog.js b/apps/spreadsheeteditor/main/app/controller/FormulaDialog.js index d33d7145e..730a51d60 100644 --- a/apps/spreadsheeteditor/main/app/controller/FormulaDialog.js +++ b/apps/spreadsheeteditor/main/app/controller/FormulaDialog.js @@ -43,16 +43,18 @@ define([ 'core', 'spreadsheeteditor/main/app/collection/FormulaGroups', - 'spreadsheeteditor/main/app/view/FormulaDialog' + 'spreadsheeteditor/main/app/view/FormulaDialog', + 'spreadsheeteditor/main/app/view/FormulaTab' ], function () { 'use strict'; SSE.Controllers = SSE.Controllers || {}; - SSE.Controllers.FormulaDialog = Backbone.Controller.extend({ + SSE.Controllers.FormulaDialog = Backbone.Controller.extend(_.extend({ models: [], views: [ - 'FormulaDialog' + 'FormulaDialog', + 'FormulaTab' ], collections: [ 'FormulaGroups' @@ -74,18 +76,43 @@ define([ me.formulasGroups.reset(); me.reloadTranslations(lang); } + }, + 'FormulaTab': { + 'function:apply': this.applyFunction + }, + 'Toolbar': { + 'function:apply': this.applyFunction } }); }, + applyFunction: function(func, autocomplete, group) { + if (func) { + if (func.origin === 'more') { + this.showDialog(group); + } else { + this.api.asc_insertFormula(func.name, Asc.c_oAscPopUpSelectorType.Func, !!autocomplete); + !autocomplete && this.updateLast10Formulas(func.origin); + } + } + }, + + setConfig: function(config) { + this.toolbar = config.toolbar; + this.formulaTab = this.createView('FormulaTab', { + toolbar: this.toolbar.toolbar, + formulasGroups: this.formulasGroups + }); + return this; + }, + setApi: function (api) { this.api = api; if (this.formulasGroups && this.api) { Common.Utils.InternalSettings.set("sse-settings-func-last", Common.localStorage.getItem("sse-settings-func-last")); - this.reloadTranslations( - Common.localStorage.getItem("sse-settings-func-locale") || this.appOptions.lang ); + this.reloadTranslations(Common.localStorage.getItem("sse-settings-func-locale") || this.appOptions.lang ); var me = this; @@ -93,14 +120,8 @@ define([ api : this.api, toolclose : 'hide', formulasGroups : this.formulasGroups, - handler : function (func) { - if (func) { - me.api.asc_insertFormula(func.name, Asc.c_oAscPopUpSelectorType.Func); - me.updateLast10Formulas(func.origin); - } - } + handler : _.bind(this.applyFunction, this) }); - this.formulas.on({ 'hide': function () { me.api.asc_enableKeyEvents(true); @@ -108,6 +129,8 @@ define([ }); } + this.formulaTab && this.formulaTab.setApi(this.api); + return this; }, @@ -118,6 +141,9 @@ define([ onLaunch: function () { this.formulasGroups = this.getApplication().getCollection('FormulaGroups'); + var descriptions = ['Financial', 'Logical', 'TextAndData', 'DateAndTime', 'LookupAndReference', 'Mathematic', 'Cube', 'Database', 'Engineering', 'Information', + 'Statistical', 'Last10']; + Common.Gateway.on('init', this.loadConfig.bind(this)); }, @@ -176,7 +202,7 @@ define([ return null; }, - showDialog: function () { + showDialog: function (group) { if (this.formulas) { if ( this.needUpdateFormula ) { this.needUpdateFormula = false; @@ -185,7 +211,7 @@ define([ this.formulas.fillFormulasGroups(); } } - this.formulas.show(); + this.formulas.show(group); } }, hideDialog: function () { @@ -207,6 +233,7 @@ define([ if (this.formulasGroups) { var group = this.formulasGroups.findWhere({name : 'Last10'}); group && group.set('functions', this.loadingLast10Formulas(this.getDescription(Common.Utils.InternalSettings.get("sse-settings-func-locale")))); + this.formulaTab && this.formulaTab.updateRecent(); } }, @@ -248,7 +275,8 @@ define([ last10FunctionsGroup = new SSE.Models.FormulaGroup ({ name : ascGroupName, index : index, - store : store + store : store, + caption : this['sCategory' + ascGroupName] || ascGroupName }); if (last10FunctionsGroup) { last10FunctionsGroup.set('functions', this.loadingLast10Formulas(descrarr)); @@ -256,10 +284,12 @@ define([ index += 1; } + ascGroupName = 'All'; allFunctionsGroup = new SSE.Models.FormulaGroup ({ - name : 'All', + name : ascGroupName, index : index, - store : store + store : store, + caption : this['sCategory' + ascGroupName] || ascGroupName }); if (allFunctionsGroup) { store.push(allFunctionsGroup); @@ -276,7 +306,8 @@ define([ formulaGroup = new SSE.Models.FormulaGroup({ name : ascGroupName, index : index, - store : store + store : store, + caption : this['sCategory' + ascGroupName] || ascGroupName }); index += 1; @@ -308,6 +339,21 @@ define([ _.sortBy(allFunctions, function (model) {return model.get('name'); })); } } - } - }); + this.formulaTab && this.formulaTab.fillFunctions(); + }, + sCategoryAll: 'All', + sCategoryLast10: '10 last used', + sCategoryLogical: 'Logical', + sCategoryCube: 'Cube', + sCategoryDatabase: 'Database', + sCategoryDateAndTime: 'Date and time', + sCategoryEngineering: 'Engineering', + sCategoryFinancial: 'Financial', + sCategoryInformation: 'Information', + sCategoryLookupAndReference: 'Lookup and reference', + sCategoryMathematic: 'Math and trigonometry', + sCategoryStatistical: 'Statistical', + sCategoryTextAndData: 'Text and data' + + }, SSE.Controllers.FormulaDialog || {})); }); diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js index 78c77b4c5..0397cd728 100644 --- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js @@ -1182,10 +1182,8 @@ define([ controller.showDialog(); } } else { - item.value = item.value || 'SUM'; - - this.api.asc_insertFormula(this.api.asc_getFormulaLocaleName(item.value), Asc.c_oAscPopUpSelectorType.Func, true); + this.toolbar.fireEvent('function:apply', [{name: this.api.asc_getFormulaLocaleName(item.value), origin: item.value}, true]); Common.NotificationCenter.trigger('edit:complete', this.toolbar); Common.component.Analytics.trackEvent('ToolBar', 'Insert formula'); @@ -1703,7 +1701,7 @@ define([ toolbar.lockToolbar(SSE.enumLock.editFormula, is_formula, { array: [toolbar.cmbFontName, toolbar.cmbFontSize, toolbar.btnIncFontSize, toolbar.btnDecFontSize, toolbar.btnBold, toolbar.btnItalic, toolbar.btnUnderline, toolbar.btnStrikeout, toolbar.btnSubscript, toolbar.btnTextColor]}); - toolbar.lockToolbar(SSE.enumLock.editText, is_text, {array:[toolbar.btnInsertFormula]}); + toolbar.lockToolbar(SSE.enumLock.editText, is_text, {array: [toolbar.btnInsertFormula].concat(toolbar.btnsFormula)}); } this._state.coauthdisable = undefined; this._state.selection_type = undefined; @@ -3105,11 +3103,17 @@ define([ me.toolbar.btnsSetAutofilter = datatab.getButtons('set-filter'); me.toolbar.btnsClearAutofilter = datatab.getButtons('clear-filter'); + var formulatab = me.getApplication().getController('FormulaDialog'); + formulatab.setConfig({toolbar: me}); + formulatab = formulatab.getView('FormulaTab'); + me.toolbar.btnsFormula = formulatab.getButtons('formula'); + Array.prototype.push.apply(me.toolbar.lockControls, formulatab.getButtons()); + if ( !config.isOffline ) { tab = {action: 'pivot', caption: me.textPivot}; $panel = me.getApplication().getController('PivotTable').createToolbarPanel(); if ($panel) { - me.toolbar.addTab(tab, $panel, 4); + me.toolbar.addTab(tab, $panel, 5); me.toolbar.setVisible('pivot', true); } } @@ -3117,7 +3121,7 @@ define([ var tab = {action: 'review', caption: me.toolbar.textTabCollaboration}; var $panel = me.getApplication().getController('Common.Controllers.ReviewChanges').createToolbarPanel(); if ( $panel ) - me.toolbar.addTab(tab, $panel, 5); + me.toolbar.addTab(tab, $panel, 6); if (!(config.customization && config.customization.compactHeader)) { // hide 'print' and 'save' buttons group and next separator @@ -3136,7 +3140,7 @@ define([ tab = {action: 'protect', caption: me.toolbar.textTabProtect}; $panel = me.getApplication().getController('Common.Controllers.Protection').createToolbarPanel(); if ($panel) - me.toolbar.addTab(tab, $panel, 6); + me.toolbar.addTab(tab, $panel, 7); } } } diff --git a/apps/spreadsheeteditor/main/app/template/Toolbar.template b/apps/spreadsheeteditor/main/app/template/Toolbar.template index a31981501..fae46d2d5 100644 --- a/apps/spreadsheeteditor/main/app/template/Toolbar.template +++ b/apps/spreadsheeteditor/main/app/template/Toolbar.template @@ -156,6 +156,23 @@ +
    +
    + +
    +
    +
    + + + + + + + + + +
    +
    diff --git a/apps/spreadsheeteditor/main/app/view/FormulaDialog.js b/apps/spreadsheeteditor/main/app/view/FormulaDialog.js index a2e7747d6..c62e81920 100644 --- a/apps/spreadsheeteditor/main/app/view/FormulaDialog.js +++ b/apps/spreadsheeteditor/main/app/view/FormulaDialog.js @@ -103,7 +103,7 @@ define([ this.descLabel = $('#formula-dlg-desc'); this.fillFormulasGroups(); }, - show: function () { + show: function (group) { if (this.$window) { var main_width, main_height, top, left, win_height = this.initConfig.height; @@ -128,8 +128,8 @@ define([ this.mask.on('mousedown',_.bind(this.onUpdateFocus, this)); this.$window.on('mousedown',_.bind(this.onUpdateFocus, this)); - if (this.cmbFuncGroup.getValue() == 0) - this.fillFunctions('Last10'); + group && this.cmbFuncGroup.setValue(group); + (group || this.cmbFuncGroup.getValue()=='Last10') && this.fillFunctions(this.cmbFuncGroup.getValue()); if (this.cmbListFunctions) { _.delay(function (me) { @@ -168,9 +168,7 @@ define([ }, onSelectGroup: function (combo, record) { if (!_.isUndefined(record) && !_.isUndefined(record.value)) { - if (record.value < this.formulasGroups.length) { - this.fillFunctions(this.formulasGroups.at(record.value).get('name')); - } + record.value && this.fillFunctions(record.value); } this.onUpdateFocus(); @@ -212,8 +210,8 @@ define([ var group = this.formulasGroups.at(i); if (group.get('functions').length) { groupsListItems.push({ - value : group.get('index'), - displayValue : this['sCategory' + group.get('name')] || group.get('name') + value : group.get('name'), + displayValue : group.get('caption') }); } } @@ -231,7 +229,7 @@ define([ } else { this.cmbFuncGroup.setData(groupsListItems); } - this.cmbFuncGroup.setValue(0); + this.cmbFuncGroup.setValue('Last10'); this.fillFunctions('Last10'); } @@ -379,19 +377,6 @@ define([ cancelButtonText: 'Cancel', okButtonText: 'Ok', - sCategoryAll: 'All', - sCategoryLast10: '10 last used', - sCategoryLogical: 'Logical', - sCategoryCube: 'Cube', - sCategoryDatabase: 'Database', - sCategoryDateAndTime: 'Date and time', - sCategoryEngineering: 'Engineering', - sCategoryFinancial: 'Financial', - sCategoryInformation: 'Information', - sCategoryLookupAndReference: 'Lookup and reference', - sCategoryMathematic: 'Math and trigonometry', - sCategoryStatistical: 'Statistical', - sCategoryTextAndData: 'Text and data', textGroupDescription: 'Select Function Group', textListDescription: 'Select Function', sDescription: 'Description', diff --git a/apps/spreadsheeteditor/main/app/view/FormulaTab.js b/apps/spreadsheeteditor/main/app/view/FormulaTab.js new file mode 100644 index 000000000..80a8720b7 --- /dev/null +++ b/apps/spreadsheeteditor/main/app/view/FormulaTab.js @@ -0,0 +1,379 @@ +/* + * + * (c) Copyright Ascensio System SIA 2010-2019 + * + * 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 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * 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 + * + */ +/** + * FormulaTab.js + * + * Created by Julia Radzhabova on 14.06.2019 + * Copyright (c) 2019 Ascensio System SIA. All rights reserved. + * + */ + +define([ + 'common/main/lib/util/utils', + 'common/main/lib/component/BaseView', + 'common/main/lib/component/Layout' +], function () { + 'use strict'; + + SSE.Views.FormulaTab = Common.UI.BaseView.extend(_.extend((function(){ + function setEvents() { + var me = this; + me.btnAutosum.on('click', function(){ + me.fireEvent('function:apply', [{name: me.api.asc_getFormulaLocaleName('SUM'), origin: 'SUM'}, true]); + }); + me.btnAutosum.menu.on('item:click', function (menu, item, e) { + me.fireEvent('function:apply', [{name: item.caption, origin: item.value}, true]); + }); + me.btnFormula.on('click', function(){ + me.fireEvent('function:apply', [{name: 'more', origin: 'more'}]); + }); + } + return { + options: {}, + + initialize: function (options) { + Common.UI.BaseView.prototype.initialize.call(this); + this.toolbar = options.toolbar; + this.formulasGroups = options.formulasGroups; + + this.lockedControls = []; + + var me = this, + $host = me.toolbar.$el, + _set = SSE.enumLock; + + var formulaDialog = SSE.getController('FormulaDialog'); + + this.btnFinancial = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'btn-finance', + caption: formulaDialog.sCategoryFinancial, + hint: formulaDialog.sCategoryFinancial, + menu: true, + split: false, + disabled: true, + lock: [_set.editText, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.selRangeEdit, _set.lostConnect, _set.coAuth] + }); + Common.Utils.injectComponent($host.find('#slot-btn-financial'), this.btnFinancial); + this.lockedControls.push(this.btnFinancial); + + this.btnLogical = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'btn-logic', + caption: formulaDialog.sCategoryLogical, + hint: formulaDialog.sCategoryLogical, + menu: true, + split: false, + disabled: true, + lock: [_set.editText, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.selRangeEdit, _set.lostConnect, _set.coAuth] + }); + Common.Utils.injectComponent($host.find('#slot-btn-logical'), this.btnLogical); + this.lockedControls.push(this.btnLogical); + + this.btnTextData = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'btn-func-text', + caption: formulaDialog.sCategoryTextAndData, + hint: formulaDialog.sCategoryTextAndData, + menu: true, + split: false, + disabled: true, + lock: [_set.editText, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.selRangeEdit, _set.lostConnect, _set.coAuth] + }); + Common.Utils.injectComponent($host.find('#slot-btn-text'), this.btnTextData); + this.lockedControls.push(this.btnTextData); + + this.btnDateTime = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'btn-datetime', + caption: formulaDialog.sCategoryDateAndTime, + hint: formulaDialog.sCategoryDateAndTime, + menu: true, + split: false, + disabled: true, + lock: [_set.editText, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.selRangeEdit, _set.lostConnect, _set.coAuth] + }); + Common.Utils.injectComponent($host.find('#slot-btn-datetime'), this.btnDateTime); + this.lockedControls.push(this.btnDateTime); + + this.btnReference = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'btn-lookup', + caption: formulaDialog.sCategoryLookupAndReference, + hint: formulaDialog.sCategoryLookupAndReference, + menu: true, + split: false, + disabled: true, + lock: [_set.editText, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.selRangeEdit, _set.lostConnect, _set.coAuth] + }); + Common.Utils.injectComponent($host.find('#slot-btn-lookup'), this.btnReference); + this.lockedControls.push(this.btnReference); + + this.btnMath = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'btn-func-math', + caption: formulaDialog.sCategoryMathematic, + hint: formulaDialog.sCategoryMathematic, + menu: true, + split: false, + disabled: true, + lock: [_set.editText, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.selRangeEdit, _set.lostConnect, _set.coAuth] + }); + Common.Utils.injectComponent($host.find('#slot-btn-math'), this.btnMath); + this.lockedControls.push(this.btnMath); + + this.btnRecent = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'btn-recent', + caption: this.txtRecent, + hint: this.txtRecent, + menu: true, + split: false, + disabled: true, + lock: [_set.editText, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.selRangeEdit, _set.lostConnect, _set.coAuth] + }); + Common.Utils.injectComponent($host.find('#slot-btn-recent'), this.btnRecent); + this.lockedControls.push(this.btnRecent); + + this.btnAutosum = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'btn-autosum', + caption: this.txtAutosum, + hint: this.txtAutosumTip, + split: true, + disabled: true, + lock: [_set.editText, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.selRangeEdit, _set.lostConnect, _set.coAuth], + menu: new Common.UI.Menu({ + items : [ + {caption: 'SUM', value: 'SUM'}, + {caption: 'MIN', value: 'MIN'}, + {caption: 'MAX', value: 'MAX'}, + {caption: 'COUNT', value: 'COUNT'}, + {caption: '--'}, + { + caption: me.txtAdditional, + value: 'more' + } + ] + }) + }); + Common.Utils.injectComponent($host.find('#slot-btn-autosum'), this.btnAutosum); + this.lockedControls.push(this.btnAutosum); + + this.btnFormula = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'btn-ins-formula', + caption: this.txtFormula, + hint: this.txtFormulaTip, + disabled: true, + lock: [_set.editText, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.selRangeEdit, _set.lostConnect, _set.coAuth] + }); + Common.Utils.injectComponent($host.find('#slot-btn-additional-formula'), this.btnFormula); + this.lockedControls.push(this.btnFormula); + + this.btnMore = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'btn-more', + caption: this.txtMore, + hint: this.txtMore, + menu: true, + split: false, + disabled: true, + lock: [_set.editText, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.selRangeEdit, _set.lostConnect, _set.coAuth] + }); + Common.Utils.injectComponent($host.find('#slot-btn-more'), this.btnMore); + this.lockedControls.push(this.btnMore); + + Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); + }, + + render: function (el) { + return this; + }, + + onAppReady: function (config) { + var me = this; + (new Promise(function (accept, reject) { + accept(); + })).then(function(){ + setEvents.call(me); + }); + }, + + show: function () { + Common.UI.BaseView.prototype.show.call(this); + this.fireEvent('show', this); + }, + + getButtons: function(type) { + return this.lockedControls; + }, + + SetDisabled: function (state) { + this.lockedControls && this.lockedControls.forEach(function(button) { + if ( button ) { + button.setDisabled(state); + } + }, this); + }, + + setButtonMenu: function(btn, name) { + var me = this, + arr = [], + group = me.formulasGroups.findWhere({name : name}); + + if (group) { + var functions = group.get('functions'); + functions && functions.forEach(function(item) { + arr.push(new Common.UI.MenuItem({ + caption: item.get('name'), + value: item.get('origin') + })); + }); + } + if (arr.length) { + arr.push(new Common.UI.MenuItem({ + caption: '--' + })); + arr.push(new Common.UI.MenuItem({ + caption: me.txtAdditional, + value: 'more' + })); + + if (btn.menu && btn.menu.rendered) { + btn.menu.removeAll(); + arr.forEach(function(item){ + btn.menu.addItem(item); + }); + } else { + btn.setMenu(new Common.UI.Menu({ + restoreHeight: 415, + items: arr + })); + btn.menu.on('item:click', function (menu, item, e) { + me.fireEvent('function:apply', [{name: item.caption, origin: item.value}, false, name]); + }); + } + } + btn.setDisabled(arr.length<1); + }, + + fillFunctions: function () { + if (this.formulasGroups) { + this.setButtonMenu(this.btnFinancial, 'Financial'); + this.setButtonMenu(this.btnLogical, 'Logical'); + this.setButtonMenu(this.btnTextData, 'TextAndData'); + this.setButtonMenu(this.btnDateTime, 'DateAndTime'); + this.setButtonMenu(this.btnReference, 'LookupAndReference'); + this.setButtonMenu(this.btnMath, 'Mathematic'); + this.setButtonMenu(this.btnRecent, 'Last10'); + + var formulas = this.btnAutosum.menu.items; + for (var i=0; i