From 845fab903c8a01fb7b334e806788bf5f4a385905 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 18 May 2017 10:31:18 +0300 Subject: [PATCH] [SSE] Apply bullets and numbering to text in shape (need changes in api). --- apps/common/main/lib/extend/Bootstrap.js | 3 +- .../main/resources/less/toolbar.less | 5 -- .../main/app/controller/DocumentHolder.js | 64 +++++++++++++++++- .../main/app/view/DocumentHolder.js | 44 +++++++++++- apps/spreadsheeteditor/main/locale/en.json | 2 + .../img/toolbar/bullets-and-numbering.png | Bin 0 -> 1824 bytes .../img/toolbar/bullets-and-numbering@2x.png | Bin 0 -> 4409 bytes .../main/resources/less/toolbar.less | 8 ++- 8 files changed, 116 insertions(+), 10 deletions(-) create mode 100644 apps/spreadsheeteditor/main/resources/img/toolbar/bullets-and-numbering.png create mode 100644 apps/spreadsheeteditor/main/resources/img/toolbar/bullets-and-numbering@2x.png diff --git a/apps/common/main/lib/extend/Bootstrap.js b/apps/common/main/lib/extend/Bootstrap.js index dc9498a60..ab55b71f9 100755 --- a/apps/common/main/lib/extend/Bootstrap.js +++ b/apps/common/main/lib/extend/Bootstrap.js @@ -110,6 +110,7 @@ function patchDropDownKeyDown(e) { _.delay(function() { var mnu = $('> [role=menu]', li), $subitems = mnu.find('> li:not(.divider):not(.disabled):visible > a'), + $dataviews = mnu.find('> li:not(.divider):not(.disabled):visible .dataview'), focusIdx = 0; if (mnu.find('> .menu-scroll').length>0) { var offset = mnu.scrollTop(); @@ -119,7 +120,7 @@ function patchDropDownKeyDown(e) { } } } - if ($subitems.length>0) + if ($subitems.length>0 && $dataviews.length<1) $subitems.eq(focusIdx).focus(); }, 250); } diff --git a/apps/documenteditor/main/resources/less/toolbar.less b/apps/documenteditor/main/resources/less/toolbar.less index dc537408c..e8efefcef 100644 --- a/apps/documenteditor/main/resources/less/toolbar.less +++ b/apps/documenteditor/main/resources/less/toolbar.less @@ -35,11 +35,6 @@ z-index: @zindex-tooltip + 1; } -.menu-markers, -.menu-numbers { - // -} - .item-markerlist { .background-ximage('@{app-image-path}/toolbar/bullets-and-numbering.png', '@{app-image-path}/toolbar/bullets-and-numbering@2x.png', 38px); width: 38px; diff --git a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js index 19a5dcb07..a0849f949 100644 --- a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js @@ -179,6 +179,7 @@ define([ view.imgMenu.on('item:click', _.bind(me.onImgMenu, me)); view.menuParagraphVAlign.menu.on('item:click', _.bind(me.onParagraphVAlign, me)); view.menuParagraphDirection.menu.on('item:click', _.bind(me.onParagraphDirection, me)); + view.menuParagraphBullets.menu.on('item:click', _.bind(me.onSelectNoneBullet, me)); view.menuAddHyperlinkShape.on('click', _.bind(me.onInsHyperlink, me)); view.menuEditHyperlinkShape.on('click', _.bind(me.onInsHyperlink, me)); view.menuRemoveHyperlinkShape.on('click', _.bind(me.onRemoveHyperlinkShape, me)); @@ -186,6 +187,7 @@ define([ view.mnuShapeAdvanced.on('click', _.bind(me.onShapeAdvanced, me)); view.mnuChartEdit.on('click', _.bind(me.onChartEdit, me)); view.mnuImgAdvanced.on('click', _.bind(me.onImgAdvanced, me)); + view.textInShapeMenu.on('render:after', _.bind(me.onTextInShapeAfterRender, me)); var documentHolderEl = view.cmpEl; @@ -643,6 +645,45 @@ define([ } }, + onSelectNoneBullet: function(menu, item) { + if (this.api && item.options.value == -1) { + // var properties = new Asc.asc_CImgProperty(); + // properties.asc_putListType(item.options.value); + // this.api.asc_setGraphicObjectProps(properties); + + Common.NotificationCenter.trigger('edit:complete', this.documentHolder); + Common.component.Analytics.trackEvent('DocumentHolder', 'List Type'); + } + }, + + onSelectBullets: function(picker, itemView, record, e) { + var rawData = {}, + isPickerSelect = _.isFunction(record.toJSON); + + if (isPickerSelect){ + if (record.get('selected')) { + rawData = record.toJSON(); + } else { + // record deselected + return; + } + } else { + rawData = record; + } + + // if (this.api){ + // var properties = new Asc.asc_CImgProperty(); + // properties.asc_putListType(rawData.type, rawData.subtype); + // this.api.asc_setGraphicObjectProps(properties); + // } + + if (e.type !== 'click') + this.documentHolder.textInShapeMenu.hide(); + + Common.NotificationCenter.trigger('edit:complete', this.documentHolder); + Common.component.Analytics.trackEvent('DocumentHolder', 'List Type'); + }, + onRemoveHyperlinkShape: function(item) { if (this.api) { this.api.asc_removeHyperlink(); @@ -1266,7 +1307,9 @@ define([ if (elType == Asc.c_oAscTypeSelectElement.Image) { var value = selectedObjects[i].asc_getObjectValue(), align = value.asc_getVerticalTextAlign(), - direct = value.asc_getVert(); + direct = value.asc_getVert(), + listtype = -1,//value.asc_getListType(); + listsubtype = -1;//value.asc_getListSubType(); isObjLocked = isObjLocked || value.asc_getLocked(); documentHolder.menuParagraphTop.setChecked(align == Asc.c_oAscVAlign.Top); documentHolder.menuParagraphCenter.setChecked(align == Asc.c_oAscVAlign.Center); @@ -1275,6 +1318,10 @@ define([ documentHolder.menuParagraphDirectH.setChecked(direct == Asc.c_oAscVertDrawingText.normal); documentHolder.menuParagraphDirect90.setChecked(direct == Asc.c_oAscVertDrawingText.vert); documentHolder.menuParagraphDirect270.setChecked(direct == Asc.c_oAscVertDrawingText.vert270); + + documentHolder.menuParagraphBulletNone.setChecked(listtype == -1); + var rec = documentHolder.paraBulletsPicker.store.findWhere({ type: listtype, subtype: listsubtype }); + documentHolder.paraBulletsPicker.selectRecord(rec, true); } else if (elType == Asc.c_oAscTypeSelectElement.Paragraph) { documentHolder.pmiTextAdvanced.textInfo = selectedObjects[i].asc_getObjectValue(); isObjLocked = isObjLocked || documentHolder.pmiTextAdvanced.textInfo.asc_getLocked(); @@ -2338,7 +2385,20 @@ define([ Common.NotificationCenter.trigger('edit:complete', me.documentHolder); }, - guestText : 'Guest', + onTextInShapeAfterRender:function(cmp) { + var view = this.documentHolder, + _conf = view.paraBulletsPicker.conf; + view.paraBulletsPicker = new Common.UI.DataView({ + el : $('#id-docholder-menu-bullets'), + parentMenu : view.menuParagraphBullets.menu, + store : view.paraBulletsPicker.store, + itemTemplate: _.template('
') + }); + view.paraBulletsPicker.on('item:click', _.bind(this.onSelectBullets, this)); + _conf && view.paraBulletsPicker.selectRecord(_conf.rec, true); + }, + + guestText : 'Guest', textCtrlClick : 'Press CTRL and click link', txtHeight : 'Height', txtWidth : 'Width', diff --git a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js index 6c7438387..06916b36c 100644 --- a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js @@ -538,6 +538,45 @@ define([ }) }); + me.menuParagraphBullets = new Common.UI.MenuItem({ + caption : me.bulletsText, + menu : new Common.UI.Menu({ + menuAlign: 'tl-tr', + items : [ + { template: _.template('') }, + {caption: '--'}, + me.menuParagraphBulletNone = new Common.UI.MenuItem({ + caption : me.textNone, + checkable : true, + checked : false, + value : -1 + }) + ] + }) + }); + me.paraBulletsPicker = { + conf: {rec: null}, + store : new Common.UI.DataViewStore([ + {offsety: 38, type: 0, subtype: 1}, + {offsety: 76, type: 0, subtype: 2}, + {offsety: 114, type: 0, subtype: 3}, + {offsety: 152, type: 0, subtype: 4}, + {offsety: 190, type: 0, subtype: 5}, + {offsety: 228, type: 0, subtype: 6}, + {offsety: 266, type: 0, subtype: 7}, + {offsety: 570, type: 1, subtype: 4}, + {offsety: 532, type: 1, subtype: 5}, + {offsety: 608, type: 1, subtype: 6}, + {offsety: 418, type: 1, subtype: 1}, + {offsety: 456, type: 1, subtype: 2}, + {offsety: 494, type: 1, subtype: 3}, + {offsety: 646, type: 1, subtype: 7} + ]), + selectRecord: function (rec) { + this.conf.rec = rec; + } + }; + me.menuAddHyperlinkShape = new Common.UI.MenuItem({ caption : me.txtInsHyperlink }); @@ -588,6 +627,7 @@ define([ {caption: '--'}, me.menuParagraphVAlign, me.menuParagraphDirection, + me.menuParagraphBullets, me.menuAddHyperlinkShape, me.menuHyperlinkShape, {caption: '--'}, @@ -712,7 +752,9 @@ define([ txtClearSparklines: 'Clear Selected Sparklines', txtClearSparklineGroups: 'Clear Selected Sparkline Groups', txtShowComment: 'Show Comment', - advancedImgText: 'Image Advanced Settings' + advancedImgText: 'Image Advanced Settings', + textNone: 'None', + bulletsText: 'Bullets and Numbering' }, SSE.Views.DocumentHolder || {})); }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index 8974c9d62..fbcfebf66 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -1027,6 +1027,8 @@ "SSE.Views.DocumentHolder.txtUngroup": "Ungroup", "SSE.Views.DocumentHolder.txtWidth": "Width", "SSE.Views.DocumentHolder.vertAlignText": "Vertical Alignment", + "SSE.Views.DocumentHolder.textNone": "None", + "SSE.Views.DocumentHolder.bulletsText": "Bullets and Numbering", "SSE.Views.FileMenu.btnBackCaption": "Go to Documents", "SSE.Views.FileMenu.btnCloseMenuCaption": "Close Menu", "SSE.Views.FileMenu.btnCreateNewCaption": "Create New", diff --git a/apps/spreadsheeteditor/main/resources/img/toolbar/bullets-and-numbering.png b/apps/spreadsheeteditor/main/resources/img/toolbar/bullets-and-numbering.png new file mode 100644 index 0000000000000000000000000000000000000000..7831c5018c53d8f69b8e603462f0b8c874f47d12 GIT binary patch literal 1824 zcmV+*2jBRKP)u_1eF?GxH zX2X0?1?Ss0dSSwZ$xYsuck+GoOVW4=zlj>Es9Yt&B9_9j;xYNw^%ME-!0LUxyt!rStH`1J}CChVwaGg$e_T#aU1 z*NTiqKj<0I?9=%NpqbTqm)PkMfbW;Oezs=MduD-qY89>7i&JO5EvO0dcoS;)@|7PX zvpbcVWrTHK4IeVtdZPOGUx+Ya!h|_f4ud&^s^1}*QOY=iId_!uIX|0HUOj5fs<&Nr zz3OLvce4tD8Rsg38TYW-t{;*xVd;xNGEK2mTmzMEdQrm=US_e_G)!%8TlL4X%s*4+ z-NfQE4dy*wS)IEz-URygN2o;ul?&W*4bA{!KoX}xT=OR*f%F-*r`$~%2i&0zsn zL~Fz1?r$$D%ggpRmKsGWj%1Qpbfa5`xeqV^M2vh_zGZf&6OMjFFs%p)h zge~A5zJW!bwST-Qm@C3mc6@uxlwUXq8YG8IWSmpb3-uqV|M-Q49bdfs!Wr}vzzMVg z&wjI>V`A~yML|V*aD;t(vDk4=;Sw}2X8-{#3{Ds=odBlnTD*)2fZ4)x#!BE|VwCX)y`Q+OC`ht^5wxusGC9C(BwQq57Zu zM%UT-eHs3sFnw8YQ_Q>NY;EZ?jARixbjlx8OkWoKZA_qWn4ie44-bRUJt#|e|9ZH4PVLxG603vBP z!3^^aYiE>K3`~G?s;~6P0dc*u7*&t%HO5v2=S(54A7SEmpg^`ktda+0^vSb|HE7&_ zRR3r%eW?jP7|9~613JbPbHehH|F?PcD9=EPl(HWGO%Y3@wm+T2{1yn)~FJe!c@sP20SA!c_|Z O0000RAtNn literal 0 HcmV?d00001 diff --git a/apps/spreadsheeteditor/main/resources/img/toolbar/bullets-and-numbering@2x.png b/apps/spreadsheeteditor/main/resources/img/toolbar/bullets-and-numbering@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2839461c1d2cc73fab059159df0272b3ad467fd1 GIT binary patch literal 4409 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 literal 0 HcmV?d00001 diff --git a/apps/spreadsheeteditor/main/resources/less/toolbar.less b/apps/spreadsheeteditor/main/resources/less/toolbar.less index 864d1ff25..8c2162fa0 100644 --- a/apps/spreadsheeteditor/main/resources/less/toolbar.less +++ b/apps/spreadsheeteditor/main/resources/less/toolbar.less @@ -247,4 +247,10 @@ #slot-field-fontsize { width: 45px; -} \ No newline at end of file +} + +.item-markerlist { + .background-ximage('@{app-image-path}/toolbar/bullets-and-numbering.png', '@{app-image-path}/toolbar/bullets-and-numbering@2x.png', 38px); + width: 38px; + height: 38px; +}