From 1767ba0ae88ebb7d6fc4078963e191a36c27f7d3 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 31 Jan 2019 16:41:29 +0300 Subject: [PATCH 1/8] Add parameter customization.compactHeader for compact header view (not for desktop) --- apps/api/documents/api.js | 4 +++- .../main/app/controller/Toolbar.js | 16 +++++++++------- .../main/app/controller/Viewport.js | 4 ++-- apps/documenteditor/main/app/view/Toolbar.js | 2 +- .../main/app/controller/Toolbar.js | 17 ++++++++++------- .../main/app/controller/Viewport.js | 4 ++-- .../presentationeditor/main/app/view/Toolbar.js | 2 +- .../main/app/controller/Toolbar.js | 16 +++++++++------- .../main/app/controller/Viewport.js | 6 +++--- apps/spreadsheeteditor/main/app/view/Toolbar.js | 2 +- 10 files changed, 41 insertions(+), 32 deletions(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index 7a2fba2d3..5430f8307 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -122,7 +122,8 @@ forcesave: false, commentAuthorOnly: false, showReviewChanges: false, - help: true + help: true, + compactHeader: false }, plugins: { autostart: ['asc.{FFE1F462-1EA2-4391-990D-4CC84940B754}'], @@ -370,6 +371,7 @@ // _config.editorConfig.canBackToFolder = false; if (!_config.editorConfig.customization) _config.editorConfig.customization = {}; _config.editorConfig.customization.about = false; + _config.editorConfig.customization.compactHeader = false; if ( window.AscDesktopEditor ) window.AscDesktopEditor.execCommand('webapps:events', 'loading'); } diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index b6b99f48f..fbc641df4 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -2778,15 +2778,17 @@ define([ me.toolbar.btnSave.on('disabled', _.bind(me.onBtnChangeState, me, 'save:disabled')); - // hide 'print' and 'save' buttons group and next separator - me.toolbar.btnPrint.$el.parents('.group').hide().next().hide(); + if (!config.canBranding || !config.customization.compactHeader) { + // hide 'print' and 'save' buttons group and next separator + me.toolbar.btnPrint.$el.parents('.group').hide().next().hide(); - // hide 'undo' and 'redo' buttons and retrieve parent container - var $box = me.toolbar.btnUndo.$el.hide().next().hide().parent(); + // hide 'undo' and 'redo' buttons and retrieve parent container + var $box = me.toolbar.btnUndo.$el.hide().next().hide().parent(); - // move 'paste' button to the container instead of 'undo' and 'redo' - me.toolbar.btnPaste.$el.detach().appendTo($box); - me.toolbar.btnCopy.$el.removeClass('split'); + // move 'paste' button to the container instead of 'undo' and 'redo' + me.toolbar.btnPaste.$el.detach().appendTo($box); + me.toolbar.btnCopy.$el.removeClass('split'); + } if ( config.isDesktopApp ) { if ( config.canProtect ) { diff --git a/apps/documenteditor/main/app/controller/Viewport.js b/apps/documenteditor/main/app/controller/Viewport.js index b6f1028c2..045c70b0e 100644 --- a/apps/documenteditor/main/app/controller/Viewport.js +++ b/apps/documenteditor/main/app/controller/Viewport.js @@ -76,7 +76,7 @@ define([ 'render:before' : function (toolbar) { var config = DE.getController('Main').appOptions; toolbar.setExtra('right', me.header.getPanel('right', config)); - if (!config.isEdit) + if (!config.isEdit || config.canBranding && !!config.customization.compactHeader) toolbar.setExtra('left', me.header.getPanel('left', config)); }, 'view:compact' : function (toolbar, state) { @@ -162,7 +162,7 @@ define([ if ( panel ) panel.height = _intvars.get('toolbar-height-tabs'); } - if ( config.isEdit ) { + if ( config.isEdit && (!config.canBranding || !config.customization.compactHeader)) { var $title = me.viewport.vlayout.getItem('title').el; $title.html(me.header.getPanel('title', config)).show(); $title.find('.extra').html(me.header.getPanel('left', config)); diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index 5ee095680..184d1f779 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -2111,7 +2111,7 @@ define([ createSynchTip: function () { this.synchTooltip = new Common.UI.SynchronizeTip({ - extCls: 'inc-index', + extCls: (this.mode.canBranding && !!this.mode.customization.compactHeader) ? undefined : 'inc-index', target: this.btnCollabChanges.$el }); this.synchTooltip.on('dontshowclick', function () { diff --git a/apps/presentationeditor/main/app/controller/Toolbar.js b/apps/presentationeditor/main/app/controller/Toolbar.js index 492f45054..ba70768bf 100644 --- a/apps/presentationeditor/main/app/controller/Toolbar.js +++ b/apps/presentationeditor/main/app/controller/Toolbar.js @@ -2018,15 +2018,18 @@ define([ me.toolbar.addTab(tab, $panel, 3); me.toolbar.btnSave.on('disabled', _.bind(me.onBtnChangeState, me, 'save:disabled')); - // hide 'print' and 'save' buttons group and next separator - me.toolbar.btnPrint.$el.parents('.group').hide().next().hide(); - // hide 'undo' and 'redo' buttons and get container - var $box = me.toolbar.btnUndo.$el.hide().next().hide().parent(); + if (!config.canBranding || !config.customization.compactHeader) { + // hide 'print' and 'save' buttons group and next separator + me.toolbar.btnPrint.$el.parents('.group').hide().next().hide(); - // move 'paste' button to the container instead of 'undo' and 'redo' - me.toolbar.btnPaste.$el.detach().appendTo($box); - me.toolbar.btnCopy.$el.removeClass('split'); + // hide 'undo' and 'redo' buttons and get container + var $box = me.toolbar.btnUndo.$el.hide().next().hide().parent(); + + // move 'paste' button to the container instead of 'undo' and 'redo' + me.toolbar.btnPaste.$el.detach().appendTo($box); + me.toolbar.btnCopy.$el.removeClass('split'); + } if ( config.isDesktopApp ) { if ( config.canProtect ) { // don't add protect panel to toolbar diff --git a/apps/presentationeditor/main/app/controller/Viewport.js b/apps/presentationeditor/main/app/controller/Viewport.js index 0f04f3981..e616659ed 100644 --- a/apps/presentationeditor/main/app/controller/Viewport.js +++ b/apps/presentationeditor/main/app/controller/Viewport.js @@ -77,7 +77,7 @@ define([ 'render:before' : function (toolbar) { var config = PE.getController('Main').appOptions; toolbar.setExtra('right', me.header.getPanel('right', config)); - if (!config.isEdit) + if (!config.isEdit || config.canBranding && !!config.customization.compactHeader) toolbar.setExtra('left', me.header.getPanel('left', config)); }, 'view:compact' : function (toolbar, state) { @@ -165,7 +165,7 @@ define([ me.viewport.vlayout.getItem('toolbar').height = _intvars.get('toolbar-height-compact'); } - if ( config.isEdit ) { + if ( config.isEdit && (!config.canBranding || !config.customization.compactHeader)) { var $title = me.viewport.vlayout.getItem('title').el; $title.html(me.header.getPanel('title', config)).show(); $title.find('.extra').html(me.header.getPanel('left', config)); diff --git a/apps/presentationeditor/main/app/view/Toolbar.js b/apps/presentationeditor/main/app/view/Toolbar.js index 431e1d0bb..191720b31 100644 --- a/apps/presentationeditor/main/app/view/Toolbar.js +++ b/apps/presentationeditor/main/app/view/Toolbar.js @@ -1429,7 +1429,7 @@ define([ createSynchTip: function () { this.synchTooltip = new Common.UI.SynchronizeTip({ - extCls: 'inc-index', + extCls: (this.mode.canBranding && !!this.mode.customization.compactHeader) ? undefined : 'inc-index', target: this.btnCollabChanges.$el }); this.synchTooltip.on('dontshowclick', function () { diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js index 77958e32d..c0bf75cc7 100644 --- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js @@ -3111,15 +3111,17 @@ define([ if ( $panel ) me.toolbar.addTab(tab, $panel, 4); - // hide 'print' and 'save' buttons group and next separator - me.toolbar.btnPrint.$el.parents('.group').hide().next().hide(); + if (!config.canBranding || !config.customization.compactHeader) { + // hide 'print' and 'save' buttons group and next separator + me.toolbar.btnPrint.$el.parents('.group').hide().next().hide(); - // hide 'undo' and 'redo' buttons and get container - var $box = me.toolbar.btnUndo.$el.hide().next().hide().parent(); + // hide 'undo' and 'redo' buttons and get container + var $box = me.toolbar.btnUndo.$el.hide().next().hide().parent(); - // move 'paste' button to the container instead of 'undo' and 'redo' - me.toolbar.btnPaste.$el.detach().appendTo($box); - me.toolbar.btnCopy.$el.removeClass('split'); + // move 'paste' button to the container instead of 'undo' and 'redo' + me.toolbar.btnPaste.$el.detach().appendTo($box); + me.toolbar.btnCopy.$el.removeClass('split'); + } if ( config.isDesktopApp ) { if ( config.canProtect ) { diff --git a/apps/spreadsheeteditor/main/app/controller/Viewport.js b/apps/spreadsheeteditor/main/app/controller/Viewport.js index 3b780bbcb..e733e15d6 100644 --- a/apps/spreadsheeteditor/main/app/controller/Viewport.js +++ b/apps/spreadsheeteditor/main/app/controller/Viewport.js @@ -78,10 +78,10 @@ define([ 'render:before' : function (toolbar) { var config = SSE.getController('Main').appOptions; toolbar.setExtra('right', me.header.getPanel('right', config)); - if (!config.isEdit) + if (!config.isEdit || config.canBranding && !!config.customization.compactHeader) toolbar.setExtra('left', me.header.getPanel('left', config)); - if ( me.appConfig && me.appConfig.isEdit && toolbar.btnCollabChanges ) + if ( me.appConfig && me.appConfig.isEdit && (!config.canBranding || !config.customization.compactHeader) && toolbar.btnCollabChanges ) toolbar.btnCollabChanges = me.header.btnSave; }, @@ -148,7 +148,7 @@ define([ me.viewport.vlayout.getItem('toolbar').height = 41; } - if ( config.isEdit && !config.isEditDiagram && !config.isEditMailMerge ) { + if ( config.isEdit && !config.isEditDiagram && !config.isEditMailMerge && (!config.canBranding || !config.customization.compactHeader)) { var $title = me.viewport.vlayout.getItem('title').el; $title.html(me.header.getPanel('title', config)).show(); $title.find('.extra').html(me.header.getPanel('left', config)); diff --git a/apps/spreadsheeteditor/main/app/view/Toolbar.js b/apps/spreadsheeteditor/main/app/view/Toolbar.js index a925288eb..573eb7fc2 100644 --- a/apps/spreadsheeteditor/main/app/view/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/view/Toolbar.js @@ -2092,7 +2092,7 @@ define([ createSynchTip: function () { this.synchTooltip = new Common.UI.SynchronizeTip({ - extCls: 'inc-index', + extCls: (this.mode.canBranding && !!this.mode.customization.compactHeader) ? undefined : 'inc-index', target: this.btnCollabChanges.$el }); this.synchTooltip.on('dontshowclick', function() { From 937b4523f172c9c85e7d33450423a179a84f3fd0 Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Tue, 5 Feb 2019 18:37:42 +0300 Subject: [PATCH 2/8] [All] underscore instead tabs in toolbar's style --- apps/api/documents/api.js | 5 +- apps/common/main/resources/less/toolbar.less | 75 +++++++++++++++++++ .../main/app/controller/Viewport.js | 4 + .../main/app/controller/Viewport.js | 5 ++ .../main/app/controller/Viewport.js | 5 ++ 5 files changed, 93 insertions(+), 1 deletion(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index 5430f8307..186d401e2 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -123,7 +123,8 @@ commentAuthorOnly: false, showReviewChanges: false, help: true, - compactHeader: false + compactHeader: false, + toolbarBreakTabs: false }, plugins: { autostart: ['asc.{FFE1F462-1EA2-4391-990D-4CC84940B754}'], @@ -578,6 +579,8 @@ customization: { about: true, feedback: false + // ,compactHeader:true + // ,toolbarBreakTabs:true } } }; diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less index 8ef06f74f..61fa4462b 100644 --- a/apps/common/main/resources/less/toolbar.less +++ b/apps/common/main/resources/less/toolbar.less @@ -278,7 +278,82 @@ height: 28px; } } +} +.style-off-tabs .toolbar { + @underscore_height: 2px; + + .tabs, .extra { + background-color: transparent; + box-shadow: inset 0 -1px 0 0 @gray; + } + + .tabs { + ul { + padding: 0; + } + + li { + position: relative; + + &:after { + //transition: opacity .1s; + //transition: bottom .1s; + border-top: @underscore_height solid @gray-deep; + content: ''; + position: absolute; + width: 100%; + bottom: -@underscore_height; + opacity: 0; + } + + &.active { + background-color: transparent; + + &:after { + opacity: 1; + bottom: 0; + } + } + + > a { + color: @gray-deep; + } + } + } + + .extra { + #header-logo { + i { + .background-ximage('@{common-image-path}/header/dark-logo.png', '@{common-image-path}/header/dark-logo@2x.png', 86px); + } + } + } + + // TODO: move to appropriate module + .btn-header { + svg.icon { + fill: #000; + } + + &:hover:not(.disabled) { + background-color: @secondary; + } + + &:active, &.active { + &:not(.disabled) { + background-color: @primary; + + svg.icon { + fill: #fff; + } + } + } + } + + #rib-doc-name { + color:@gray-deep; + } } .toolbar-fullview-panel { diff --git a/apps/documenteditor/main/app/controller/Viewport.js b/apps/documenteditor/main/app/controller/Viewport.js index 045c70b0e..daa745c8a 100644 --- a/apps/documenteditor/main/app/controller/Viewport.js +++ b/apps/documenteditor/main/app/controller/Viewport.js @@ -162,6 +162,10 @@ define([ if ( panel ) panel.height = _intvars.get('toolbar-height-tabs'); } + if ( config.canBranding ) { + if ( config.customization.toolbarBreakTabs ) + me.viewport.vlayout.getItem('toolbar').el.addClass('style-off-tabs'); + } if ( config.isEdit && (!config.canBranding || !config.customization.compactHeader)) { var $title = me.viewport.vlayout.getItem('title').el; $title.html(me.header.getPanel('title', config)).show(); diff --git a/apps/presentationeditor/main/app/controller/Viewport.js b/apps/presentationeditor/main/app/controller/Viewport.js index e616659ed..27d9e5502 100644 --- a/apps/presentationeditor/main/app/controller/Viewport.js +++ b/apps/presentationeditor/main/app/controller/Viewport.js @@ -184,6 +184,11 @@ define([ toolbar = me.getApplication().getController('Toolbar').getView('Toolbar'); toolbar.btnCollabChanges = me.header.btnSave; } + + if ( config.canBranding ) { + if ( config.customization.toolbarBreakTabs ) + me.viewport.vlayout.getItem('toolbar').el.addClass('style-off-tabs'); + } }, onAppReady: function (config) { diff --git a/apps/spreadsheeteditor/main/app/controller/Viewport.js b/apps/spreadsheeteditor/main/app/controller/Viewport.js index e733e15d6..6e4fa16c0 100644 --- a/apps/spreadsheeteditor/main/app/controller/Viewport.js +++ b/apps/spreadsheeteditor/main/app/controller/Viewport.js @@ -164,6 +164,11 @@ define([ $filemenu.css('top', _tabs_new_height + _intvars.get('document-title-height')); } + + if ( config.canBranding ) { + if ( config.customization.toolbarBreakTabs ) + me.viewport.vlayout.getItem('toolbar').el.addClass('style-off-tabs'); + } }, onAppReady: function (config) { From 5943c2ebd24e83c7410e1bae030a81503bf569b4 Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Wed, 6 Feb 2019 15:57:59 +0300 Subject: [PATCH 3/8] [Common] added missed logo --- .../main/resources/img/header/dark-logo.png | Bin 0 -> 727 bytes .../main/resources/img/header/dark-logo@2x.png | Bin 0 -> 1517 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/common/main/resources/img/header/dark-logo.png create mode 100644 apps/common/main/resources/img/header/dark-logo@2x.png diff --git a/apps/common/main/resources/img/header/dark-logo.png b/apps/common/main/resources/img/header/dark-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..857f2c82e28c0ad46778889970aa062e7626f2ea GIT binary patch literal 727 zcmV;|0x127P)Nkl&<*^O=Zk8PB}74VEkp%b^Tec%<^5YaNA2z&X3%_Umkl6WnTn68y_qB0Xk z*0CDz;30Wc)skE*-OuokzZ|EcL@voH=}$bPGgDvIFj7yzTwY;I|7z1Kw78D#2TvQT zW%<4=E+(T7jJn(6wSxvE05H`0ZXA~ySufTrKzmb%z34k4IV*6N)n&y?03Ag zJE=ed3KPy8^p}T5FU2Ohn0-KVQJs7+8 z><(RDT3@Q@A@fsv^z6LyysE~e& zPO}P+N9}$MBB_pn|F1z?S;zYP8iXYsQ7OPMHXCkY5V?s?GD15(u&W^X4dw%Tpq1s= z#_TD&BQ$0e`hgv!07dk^HulGCES|_dpXRiqi}s!qEwrdhTWNv>q@p`(SVbo>nV534 zkxC6ee_h8kpM*Q+*X5=qkbR}4@Zr~GYQ)o@o5IttYc_AN`N2HruPYo`q^Yg2Cg})6 zSTaysuqHzgg8v6t>6J2!G%ElA002ov JPDHLkV1hW{SIYnZ literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/header/dark-logo@2x.png b/apps/common/main/resources/img/header/dark-logo@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d427eb3f77b71e8e8d2e82017d607b11d7b098ac GIT binary patch literal 1517 zcmVs)0SACnN}5e~uAx#`Shd^XO|oQ$5XNW|7;68G>0;Woo4 z<0%VYY&_m$6TWCz%1gxZ#JLrlo`#&l=aPf`L~>7FbYe>|kem3zN2j?9p%6C6-d3bhfdlSf*J*4qNtd$?9!J+TU2CpGoF*W0eF<(%C*%rZAn@ z%5{8PVRcx&}B{(6C)6NpKd4z zS()vad6QqPo%us6I}>H`uH<5)P}1&bji%tF&Rixl%A%dl-KB)?C1+repRkKnDpohg ztkn)XvLB)-A#D*$41VK!(3uH>xlt&}F`V0BOTA8S3ZWbn;*87~%Nsn-PwbZd1Y-Hc z3eUR~t9VLsldMc>`Q$Xyy>#r984G!zC-{_A(qBVTL+lndTEw!%p0Q=0cZiL_P<+A- zmNSvLY~i*cc0L3BC^TfI1?OB#Jw|O(qk@otJyM$amBnL(Jg%NY>;V$E6sxSy;|sbM zn+>|Rm3X=@-x9t<2{C9cxuJHkj$`+*b1jG1@2ryZN880xLekj8J{zjsO2{Ydh*s(v z-XIPt1fR*Q?~QC6HtXzF;#*?3vRD7#*tOW?9MRbmTFtMr%a=!g>*NtVQ3m5ApEDw{ zak(fP%M&OEA;sq8d%E$2{_MoyQD$;KsM5QPp^|=BVqTyG&^J;ay%DA^}f z0CD8>Xl)bw8{Z0V*u*a4TZ^;-V&9ZDQHmW&LyPi?x`#8&M8U=#f4m)?}k4)}&;B z*e|4=A(U7L-zpUO_=yRI-Yz^$T+IFVX?h!T#_=UtQDKUG#}KO+DceGPcVe|3*{JA* z`isPVE$wt+iPfa$9flj?hVeGpiAiko@G+x}u|d2nC5&>p738zZD^qM%sSWG65i5+B zq9?KR!`%v=q`FYrCUz{%y#HS(YS2IU{f;f1ujhbJ}-5AhNO^-GFDDH<_3sM1ONN&$JQk~~FG z5{E3ezB010S&x)k4zUU4h0TsctW|FHKpBjFAmvsv`P|>3tb4H!^Re(QCIP&wo!?R|#xA~pG%9mXZCQ)~>D zgb;g~gErEJ6l-46&gLzu^C3&EOPXX6i;c@Pe8OpFGM?FN<1WwI#I9nZAB7?;*u`wp>AGK3Zz#Z8#5Bt%6lRuPNuxaxTRx1zWS zqe(JcWDPaI7)EzRnr94IQMCxpj1JCd$C|Z9~V& zFwVF|DFnT3n1Uaf&sn)-+RP}5hQ4j+CpHCmnUAC4IdT&d Date: Wed, 6 Feb 2019 16:44:36 +0300 Subject: [PATCH 4/8] [common] refactoring --- apps/common/main/resources/less/toolbar.less | 121 ++++++++++--------- 1 file changed, 65 insertions(+), 56 deletions(-) diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less index 61fa4462b..9c5e0cbae 100644 --- a/apps/common/main/resources/less/toolbar.less +++ b/apps/common/main/resources/less/toolbar.less @@ -280,79 +280,88 @@ } } -.style-off-tabs .toolbar { - @underscore_height: 2px; +.style-off-tabs { + .toolbar { + @underscore_height: 2px; - .tabs, .extra { - background-color: transparent; - box-shadow: inset 0 -1px 0 0 @gray; - } - - .tabs { - ul { - padding: 0; + .tabs, .extra { + background-color: transparent; + box-shadow: inset 0 -1px 0 0 @gray; } - li { - position: relative; - - &:after { - //transition: opacity .1s; - //transition: bottom .1s; - border-top: @underscore_height solid @gray-deep; - content: ''; - position: absolute; - width: 100%; - bottom: -@underscore_height; - opacity: 0; + .tabs { + ul { + padding: 0; } - &.active { - background-color: transparent; + li { + position: relative; &:after { - opacity: 1; - bottom: 0; + //transition: opacity .1s; + //transition: bottom .1s; + border-top: @underscore_height solid @gray-deep; + content: ''; + position: absolute; + width: 100%; + bottom: -@underscore_height; + opacity: 0; } - } - > a { - color: @gray-deep; - } - } - } + &.active { + background-color: transparent; - .extra { - #header-logo { - i { - .background-ximage('@{common-image-path}/header/dark-logo.png', '@{common-image-path}/header/dark-logo@2x.png', 86px); - } - } - } + &:after { + opacity: 1; + bottom: 0; + } + } - // TODO: move to appropriate module - .btn-header { - svg.icon { - fill: #000; - } + &:hover:not(.active) { + background-color: rgba(0, 0, 0, .05); + //background-color: @secondary; + } - &:hover:not(.disabled) { - background-color: @secondary; - } - - &:active, &.active { - &:not(.disabled) { - background-color: @primary; - - svg.icon { - fill: #fff; + > a { + color: @gray-deep; } } } + + .extra { + #header-logo { + i { + .background-ximage('@{common-image-path}/header/dark-logo.png', '@{common-image-path}/header/dark-logo@2x.png', 86px); + } + } + } + + // TODO: move to appropriate module + .btn-header { + svg.icon { + fill: #000; + } + + &:hover:not(.disabled) { + background-color: @secondary; + } + + &:active, &.active { + &:not(.disabled) { + background-color: @primary; + + svg.icon { + fill: #fff; + } + } + } + } + + #rib-doc-name { + color: @gray-deep; + } } - #rib-doc-name { - color:@gray-deep; } } From 4866923553309758aef6ed0d7e4d0026faab7a7e Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Wed, 6 Feb 2019 16:50:55 +0300 Subject: [PATCH 5/8] [all] flag to hide file name from toolbar --- apps/api/documents/api.js | 3 ++- apps/common/main/resources/less/toolbar.less | 4 ++++ apps/documenteditor/main/app/controller/Viewport.js | 4 ++++ apps/presentationeditor/main/app/controller/Viewport.js | 3 +++ apps/spreadsheeteditor/main/app/controller/Viewport.js | 3 +++ 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index 186d401e2..a9844c480 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -124,7 +124,8 @@ showReviewChanges: false, help: true, compactHeader: false, - toolbarBreakTabs: false + toolbarBreakTabs: false, + toolbarHideFileName: false }, plugins: { autostart: ['asc.{FFE1F462-1EA2-4391-990D-4CC84940B754}'], diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less index 9c5e0cbae..82c6ccea8 100644 --- a/apps/common/main/resources/less/toolbar.less +++ b/apps/common/main/resources/less/toolbar.less @@ -362,6 +362,10 @@ } } + &.style-skip-docname .toolbar { + #box-doc-name > input { + display: none; + } } } diff --git a/apps/documenteditor/main/app/controller/Viewport.js b/apps/documenteditor/main/app/controller/Viewport.js index daa745c8a..11e381b25 100644 --- a/apps/documenteditor/main/app/controller/Viewport.js +++ b/apps/documenteditor/main/app/controller/Viewport.js @@ -165,7 +165,11 @@ define([ if ( config.canBranding ) { if ( config.customization.toolbarBreakTabs ) me.viewport.vlayout.getItem('toolbar').el.addClass('style-off-tabs'); + + if ( config.customization.toolbarHideFileName ) + me.viewport.vlayout.getItem('toolbar').el.addClass('style-skip-docname'); } + if ( config.isEdit && (!config.canBranding || !config.customization.compactHeader)) { var $title = me.viewport.vlayout.getItem('title').el; $title.html(me.header.getPanel('title', config)).show(); diff --git a/apps/presentationeditor/main/app/controller/Viewport.js b/apps/presentationeditor/main/app/controller/Viewport.js index 27d9e5502..cd085daf8 100644 --- a/apps/presentationeditor/main/app/controller/Viewport.js +++ b/apps/presentationeditor/main/app/controller/Viewport.js @@ -188,6 +188,9 @@ define([ if ( config.canBranding ) { if ( config.customization.toolbarBreakTabs ) me.viewport.vlayout.getItem('toolbar').el.addClass('style-off-tabs'); + + if ( config.customization.toolbarHideFileName ) + me.viewport.vlayout.getItem('toolbar').el.addClass('style-skip-docname'); } }, diff --git a/apps/spreadsheeteditor/main/app/controller/Viewport.js b/apps/spreadsheeteditor/main/app/controller/Viewport.js index 6e4fa16c0..fb6d4c595 100644 --- a/apps/spreadsheeteditor/main/app/controller/Viewport.js +++ b/apps/spreadsheeteditor/main/app/controller/Viewport.js @@ -168,6 +168,9 @@ define([ if ( config.canBranding ) { if ( config.customization.toolbarBreakTabs ) me.viewport.vlayout.getItem('toolbar').el.addClass('style-off-tabs'); + + if ( config.customization.toolbarHideFileName ) + me.viewport.vlayout.getItem('toolbar').el.addClass('style-skip-docname'); } }, From 89a704950c4221c14cd9599b32d8387f26a479dd Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 7 Feb 2019 13:18:56 +0300 Subject: [PATCH 6/8] Branding refactoring --- apps/api/documents/api.js | 2 -- apps/documenteditor/main/app/controller/Main.js | 4 ++++ apps/documenteditor/main/app/controller/Toolbar.js | 2 +- apps/documenteditor/main/app/controller/Viewport.js | 6 +++--- apps/documenteditor/main/app/view/Toolbar.js | 5 +---- apps/presentationeditor/main/app/controller/Main.js | 4 ++++ apps/presentationeditor/main/app/controller/Toolbar.js | 2 +- apps/presentationeditor/main/app/controller/Viewport.js | 6 +++--- apps/presentationeditor/main/app/view/Toolbar.js | 2 +- apps/spreadsheeteditor/main/app/controller/Main.js | 4 ++++ apps/spreadsheeteditor/main/app/controller/Toolbar.js | 2 +- apps/spreadsheeteditor/main/app/controller/Viewport.js | 8 ++++---- apps/spreadsheeteditor/main/app/view/Toolbar.js | 2 +- 13 files changed, 28 insertions(+), 21 deletions(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index a9844c480..47ae4ab68 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -580,8 +580,6 @@ customization: { about: true, feedback: false - // ,compactHeader:true - // ,toolbarBreakTabs:true } } }; diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index 991674ad5..54d2eadc3 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -1156,6 +1156,10 @@ define([ this.appOptions.canBranding = (licType === Asc.c_oLicenseResult.Success) && (typeof this.editorConfig.customization == 'object'); if (this.appOptions.canBranding) appHeader.setBranding(this.editorConfig.customization); + else if (typeof this.editorConfig.customization == 'object') { + this.editorConfig.customization.compactHeader = this.editorConfig.customization.toolbarBreakTabs = + this.editorConfig.customization.toolbarHideFileName = false; + } this.appOptions.canRename && appHeader.setCanRename(true); diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index fbc641df4..c40f61827 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -2778,7 +2778,7 @@ define([ me.toolbar.btnSave.on('disabled', _.bind(me.onBtnChangeState, me, 'save:disabled')); - if (!config.canBranding || !config.customization.compactHeader) { + if (!(config.customization && config.customization.compactHeader)) { // hide 'print' and 'save' buttons group and next separator me.toolbar.btnPrint.$el.parents('.group').hide().next().hide(); diff --git a/apps/documenteditor/main/app/controller/Viewport.js b/apps/documenteditor/main/app/controller/Viewport.js index 11e381b25..465b862a9 100644 --- a/apps/documenteditor/main/app/controller/Viewport.js +++ b/apps/documenteditor/main/app/controller/Viewport.js @@ -76,7 +76,7 @@ define([ 'render:before' : function (toolbar) { var config = DE.getController('Main').appOptions; toolbar.setExtra('right', me.header.getPanel('right', config)); - if (!config.isEdit || config.canBranding && !!config.customization.compactHeader) + if (!config.isEdit || config.customization && !!config.customization.compactHeader) toolbar.setExtra('left', me.header.getPanel('left', config)); }, 'view:compact' : function (toolbar, state) { @@ -162,7 +162,7 @@ define([ if ( panel ) panel.height = _intvars.get('toolbar-height-tabs'); } - if ( config.canBranding ) { + if ( config.customization ) { if ( config.customization.toolbarBreakTabs ) me.viewport.vlayout.getItem('toolbar').el.addClass('style-off-tabs'); @@ -170,7 +170,7 @@ define([ me.viewport.vlayout.getItem('toolbar').el.addClass('style-skip-docname'); } - if ( config.isEdit && (!config.canBranding || !config.customization.compactHeader)) { + if ( config.isEdit && (!(config.customization && config.customization.compactHeader))) { var $title = me.viewport.vlayout.getItem('title').el; $title.html(me.header.getPanel('title', config)).show(); $title.find('.extra').html(me.header.getPanel('left', config)); diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index 184d1f779..d6f6991dd 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -1565,9 +1565,6 @@ define([ var me = this; - // if (this.mode.isDesktopApp || this.mode.canBrandingExt && this.mode.customization && this.mode.customization.header === false) - // this.mnuitemHideTitleBar.hide(); - this.btnMarkers.setMenu( new Common.UI.Menu({ style: 'min-width: 139px', @@ -2111,7 +2108,7 @@ define([ createSynchTip: function () { this.synchTooltip = new Common.UI.SynchronizeTip({ - extCls: (this.mode.canBranding && !!this.mode.customization.compactHeader) ? undefined : 'inc-index', + extCls: (this.mode.customization && !!this.mode.customization.compactHeader) ? undefined : 'inc-index', target: this.btnCollabChanges.$el }); this.synchTooltip.on('dontshowclick', function () { diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js index 9482e4270..bdbd60cb7 100644 --- a/apps/presentationeditor/main/app/controller/Main.js +++ b/apps/presentationeditor/main/app/controller/Main.js @@ -898,6 +898,10 @@ define([ this.appOptions.canBranding = (licType === Asc.c_oLicenseResult.Success) && (typeof this.editorConfig.customization == 'object'); if (this.appOptions.canBranding) appHeader.setBranding(this.editorConfig.customization); + else if (typeof this.editorConfig.customization == 'object') { + this.editorConfig.customization.compactHeader = this.editorConfig.customization.toolbarBreakTabs = + this.editorConfig.customization.toolbarHideFileName = false; + } this.appOptions.canRename && appHeader.setCanRename(true); diff --git a/apps/presentationeditor/main/app/controller/Toolbar.js b/apps/presentationeditor/main/app/controller/Toolbar.js index ba70768bf..3f6df8c99 100644 --- a/apps/presentationeditor/main/app/controller/Toolbar.js +++ b/apps/presentationeditor/main/app/controller/Toolbar.js @@ -2019,7 +2019,7 @@ define([ me.toolbar.btnSave.on('disabled', _.bind(me.onBtnChangeState, me, 'save:disabled')); - if (!config.canBranding || !config.customization.compactHeader) { + if (!(config.customization && config.customization.compactHeader)) { // hide 'print' and 'save' buttons group and next separator me.toolbar.btnPrint.$el.parents('.group').hide().next().hide(); diff --git a/apps/presentationeditor/main/app/controller/Viewport.js b/apps/presentationeditor/main/app/controller/Viewport.js index cd085daf8..11c1eda21 100644 --- a/apps/presentationeditor/main/app/controller/Viewport.js +++ b/apps/presentationeditor/main/app/controller/Viewport.js @@ -77,7 +77,7 @@ define([ 'render:before' : function (toolbar) { var config = PE.getController('Main').appOptions; toolbar.setExtra('right', me.header.getPanel('right', config)); - if (!config.isEdit || config.canBranding && !!config.customization.compactHeader) + if (!config.isEdit || config.customization && !!config.customization.compactHeader) toolbar.setExtra('left', me.header.getPanel('left', config)); }, 'view:compact' : function (toolbar, state) { @@ -165,7 +165,7 @@ define([ me.viewport.vlayout.getItem('toolbar').height = _intvars.get('toolbar-height-compact'); } - if ( config.isEdit && (!config.canBranding || !config.customization.compactHeader)) { + if ( config.isEdit && (!(config.customization && config.customization.compactHeader))) { var $title = me.viewport.vlayout.getItem('title').el; $title.html(me.header.getPanel('title', config)).show(); $title.find('.extra').html(me.header.getPanel('left', config)); @@ -185,7 +185,7 @@ define([ toolbar.btnCollabChanges = me.header.btnSave; } - if ( config.canBranding ) { + if ( config.customization ) { if ( config.customization.toolbarBreakTabs ) me.viewport.vlayout.getItem('toolbar').el.addClass('style-off-tabs'); diff --git a/apps/presentationeditor/main/app/view/Toolbar.js b/apps/presentationeditor/main/app/view/Toolbar.js index 191720b31..4bf68afd8 100644 --- a/apps/presentationeditor/main/app/view/Toolbar.js +++ b/apps/presentationeditor/main/app/view/Toolbar.js @@ -1429,7 +1429,7 @@ define([ createSynchTip: function () { this.synchTooltip = new Common.UI.SynchronizeTip({ - extCls: (this.mode.canBranding && !!this.mode.customization.compactHeader) ? undefined : 'inc-index', + extCls: (this.mode.customization && !!this.mode.customization.compactHeader) ? undefined : 'inc-index', target: this.btnCollabChanges.$el }); this.synchTooltip.on('dontshowclick', function () { diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js index 5df0732da..6ca026fb2 100644 --- a/apps/spreadsheeteditor/main/app/controller/Main.js +++ b/apps/spreadsheeteditor/main/app/controller/Main.js @@ -917,6 +917,10 @@ define([ this.appOptions.canBranding = (licType === Asc.c_oLicenseResult.Success) && (typeof this.editorConfig.customization == 'object'); if (this.appOptions.canBranding) this.headerView.setBranding(this.editorConfig.customization); + else if (typeof this.editorConfig.customization == 'object') { + this.editorConfig.customization.compactHeader = this.editorConfig.customization.toolbarBreakTabs = + this.editorConfig.customization.toolbarHideFileName = false; + } this.appOptions.canRename && this.headerView.setCanRename(true); } else diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js index c0bf75cc7..8ef3c323e 100644 --- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js @@ -3111,7 +3111,7 @@ define([ if ( $panel ) me.toolbar.addTab(tab, $panel, 4); - if (!config.canBranding || !config.customization.compactHeader) { + if (!(config.customization && config.customization.compactHeader)) { // hide 'print' and 'save' buttons group and next separator me.toolbar.btnPrint.$el.parents('.group').hide().next().hide(); diff --git a/apps/spreadsheeteditor/main/app/controller/Viewport.js b/apps/spreadsheeteditor/main/app/controller/Viewport.js index fb6d4c595..1ba0a18f7 100644 --- a/apps/spreadsheeteditor/main/app/controller/Viewport.js +++ b/apps/spreadsheeteditor/main/app/controller/Viewport.js @@ -78,10 +78,10 @@ define([ 'render:before' : function (toolbar) { var config = SSE.getController('Main').appOptions; toolbar.setExtra('right', me.header.getPanel('right', config)); - if (!config.isEdit || config.canBranding && !!config.customization.compactHeader) + if (!config.isEdit || config.customization && !!config.customization.compactHeader) toolbar.setExtra('left', me.header.getPanel('left', config)); - if ( me.appConfig && me.appConfig.isEdit && (!config.canBranding || !config.customization.compactHeader) && toolbar.btnCollabChanges ) + if ( me.appConfig && me.appConfig.isEdit && !(config.customization && config.customization.compactHeader) && toolbar.btnCollabChanges ) toolbar.btnCollabChanges = me.header.btnSave; }, @@ -148,7 +148,7 @@ define([ me.viewport.vlayout.getItem('toolbar').height = 41; } - if ( config.isEdit && !config.isEditDiagram && !config.isEditMailMerge && (!config.canBranding || !config.customization.compactHeader)) { + if ( config.isEdit && !config.isEditDiagram && !config.isEditMailMerge && !(config.customization && config.customization.compactHeader)) { var $title = me.viewport.vlayout.getItem('title').el; $title.html(me.header.getPanel('title', config)).show(); $title.find('.extra').html(me.header.getPanel('left', config)); @@ -165,7 +165,7 @@ define([ $filemenu.css('top', _tabs_new_height + _intvars.get('document-title-height')); } - if ( config.canBranding ) { + if ( config.customization ) { if ( config.customization.toolbarBreakTabs ) me.viewport.vlayout.getItem('toolbar').el.addClass('style-off-tabs'); diff --git a/apps/spreadsheeteditor/main/app/view/Toolbar.js b/apps/spreadsheeteditor/main/app/view/Toolbar.js index 573eb7fc2..cd1040b90 100644 --- a/apps/spreadsheeteditor/main/app/view/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/view/Toolbar.js @@ -2092,7 +2092,7 @@ define([ createSynchTip: function () { this.synchTooltip = new Common.UI.SynchronizeTip({ - extCls: (this.mode.canBranding && !!this.mode.customization.compactHeader) ? undefined : 'inc-index', + extCls: (this.mode.customization && !!this.mode.customization.compactHeader) ? undefined : 'inc-index', target: this.btnCollabChanges.$el }); this.synchTooltip.on('dontshowclick', function() { From d4a789ce9982f15aa5743f525e181fdcf1552c8a Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Thu, 7 Feb 2019 14:57:59 +0300 Subject: [PATCH 7/8] [common] debug tabs scroll buttons --- apps/common/main/resources/less/toolbar.less | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less index 82c6ccea8..2b065f2ba 100644 --- a/apps/common/main/resources/less/toolbar.less +++ b/apps/common/main/resources/less/toolbar.less @@ -336,6 +336,20 @@ } } + .tabs .scroll { + &.left { + box-shadow: 5px 0 20px 5px @gray-light; + } + + &.right { + box-shadow: -5px 0 20px 5px @gray-light; + } + + &:after { + border-color: @gray-deep; + } + } + // TODO: move to appropriate module .btn-header { svg.icon { From e08ced6efd2602e839ee134eb7268aae4df21495 Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Thu, 7 Feb 2019 15:04:13 +0300 Subject: [PATCH 8/8] [common] use editor color for color of underscore on new style --- apps/common/main/lib/controller/Desktop.js | 14 ++++++++++++++ apps/common/main/resources/less/toolbar.less | 6 ++++++ 2 files changed, 20 insertions(+) diff --git a/apps/common/main/lib/controller/Desktop.js b/apps/common/main/lib/controller/Desktop.js index 4da882dec..fa07ce6aa 100644 --- a/apps/common/main/lib/controller/Desktop.js +++ b/apps/common/main/lib/controller/Desktop.js @@ -53,7 +53,21 @@ define([ Common.NotificationCenter.on('app:ready', function (opts) { _.extend(config, opts); !!app && app.execCommand('doc:onready', ''); + + $('.toolbar').addClass('editor-native-color'); }); + + app.on_native_message = function (cmd, param) { + if (/^style:change/.test(cmd)) { + var obj = JSON.parse(param); + + if ( obj.element == 'toolbar' ) { + if ( obj.action == 'off' && obj.style == 'native-color' ) { + $('.toolbar').removeClass('editor-native-color'); + } + } + } + } } }, process: function (opts) { diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less index 2b065f2ba..ab772349e 100644 --- a/apps/common/main/resources/less/toolbar.less +++ b/apps/common/main/resources/less/toolbar.less @@ -374,6 +374,12 @@ #rib-doc-name { color: @gray-deep; } + + &.editor-native-color { + .tabs li:after { + border-color: @tabs-bg-color; + } + } } &.style-skip-docname .toolbar {