From 413a86179c93e561d98c7a77fbbfad6fd6330994 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 18 Apr 2023 20:36:06 +0300 Subject: [PATCH 1/2] [SSE] Show details for pivot --- .../main/app/controller/DocumentHolder.js | 9 +++++++++ apps/spreadsheeteditor/main/app/view/DocumentHolder.js | 10 +++++++++- apps/spreadsheeteditor/main/locale/en.json | 1 + 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js index 83d19104ee..f5b39a8361 100644 --- a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js @@ -226,6 +226,7 @@ define([ view.mnuSubtotalField.on('click', _.bind(me.onSubtotalField, me)); view.mnuSummarize.menu.on('item:click', _.bind(me.onSummarize, me)); view.mnuShowAs.menu.on('item:click', _.bind(me.onShowAs, me)); + view.mnuShowDetails.on('click', _.bind(me.onShowDetails, me)); view.mnuPivotSort.menu.on('item:click', _.bind(me.onPivotSort, me)); view.mnuPivotFilter.menu.on('item:click', _.bind(me.onPivotFilter, me)); view.pmiClear.menu.on('item:click', _.bind(me.onClear, me)); @@ -820,6 +821,10 @@ define([ } }, + onShowDetails: function(item, e) { + this.propsPivot.originalProps && this.api && this.api.asc_pivotShowDetails(this.propsPivot.originalProps); + }, + fillPivotProps: function() { var props = this.propsPivot.originalProps; if (!props) return; @@ -836,6 +841,7 @@ define([ this.propsPivot.filter = info.asc_getFilter(); this.propsPivot.rowFilter = info.asc_getFilterRow(); this.propsPivot.colFilter = info.asc_getFilterCol(); + this.propsPivot.showDetails = info.asc_showDetails(); if (colFieldIndex>-1) { var fprops = props.asc_getColumnFields(); @@ -2726,6 +2732,8 @@ define([ documentHolder.mnuFieldSettings.setVisible(!!this.propsPivot.field); documentHolder.mnuSummarize.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===2)); documentHolder.mnuShowAs.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===2) && !this.propsPivot.rowTotal && !this.propsPivot.colTotal); + documentHolder.mnuShowDetails.setVisible(!!this.propsPivot.showDetails); + documentHolder.mnuShowDetailsSeparator.setVisible(!!this.propsPivot.showDetails); documentHolder.mnuPivotValueSeparator.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===2)); documentHolder.mnuPivotSort.setVisible(this.propsPivot.filter || this.propsPivot.rowFilter || this.propsPivot.colFilter); documentHolder.mnuPivotFilter.setVisible(!!this.propsPivot.filter); @@ -2860,6 +2868,7 @@ define([ documentHolder.mnuSubtotalField.setDisabled(isPivotLocked || this._state.wsLock); documentHolder.mnuSummarize.setDisabled(isPivotLocked || this._state.wsLock); documentHolder.mnuShowAs.setDisabled(isPivotLocked || this._state.wsLock); + documentHolder.mnuShowDetails.setDisabled(this.api.asc_isWorkbookLocked() || this.api.asc_isProtectedWorkbook()); documentHolder.mnuPivotFilter.setDisabled(isPivotLocked || this._state.wsLock); } diff --git a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js index 3dc1942a36..54b62a7c4a 100644 --- a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js @@ -539,12 +539,17 @@ define([ }) }); + me.mnuShowDetails = new Common.UI.MenuItem({ + caption : me.txtShowDetails + }); + me.mnuPivotRefreshSeparator = new Common.UI.MenuItem({caption: '--'}); me.mnuPivotSubtotalSeparator = new Common.UI.MenuItem({caption: '--'}); me.mnuPivotSettingsSeparator = new Common.UI.MenuItem({caption: '--'}); me.mnuPivotDeleteSeparator = new Common.UI.MenuItem({caption: '--'}); me.mnuPivotValueSeparator = new Common.UI.MenuItem({caption: '--'}); me.mnuPivotFilterSeparator = new Common.UI.MenuItem({caption: '--'}); + me.mnuShowDetailsSeparator = new Common.UI.MenuItem({caption: '--'}); me.pmiInsFunction = new Common.UI.MenuItem({ iconCls: 'menu__icon btn-function', @@ -801,6 +806,8 @@ define([ me.mnuPivotValueSeparator, me.mnuSummarize, me.mnuShowAs, + me.mnuShowDetailsSeparator, + me.mnuShowDetails, me.mnuPivotSettingsSeparator, me.mnuFieldSettings, me.mnuPivotSettings, @@ -1766,7 +1773,8 @@ define([ txtLabelFilter: 'Label filters', txtTop10: 'Top 10', txtClearPivotField: 'Clear filter from {0}', - txtSortOption: 'More sort options' + txtSortOption: 'More sort options', + txtShowDetails: 'Show details' }, 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 95e84d75b4..c4a593cfe1 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -2390,6 +2390,7 @@ "SSE.Views.DocumentHolder.txtWidth": "Width", "SSE.Views.DocumentHolder.unicodeText": "Unicode", "SSE.Views.DocumentHolder.vertAlignText": "Vertical alignment", + "SSE.Views.DocumentHolder.txtShowDetails": "Show details", "SSE.Views.ExternalLinksDlg.closeButtonText": "Close", "SSE.Views.ExternalLinksDlg.textDelete": "Break links", "SSE.Views.ExternalLinksDlg.textDeleteAll": "Break all links", From ef042d7e055dad2fabcf45bc2d8a1740d3e5ce75 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 18 Apr 2023 22:22:00 +0300 Subject: [PATCH 2/2] [SSE] Refactoring pivot context menu --- .../main/app/controller/DocumentHolder.js | 32 +++++++++---------- .../main/app/view/DocumentHolder.js | 10 +++--- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js index f5b39a8361..2aa79d46c7 100644 --- a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js @@ -2721,23 +2721,23 @@ define([ needshow && this.fillPivotProps(); documentHolder.mnuRefreshPivot.setVisible(needshow); documentHolder.mnuPivotRefreshSeparator.setVisible(needshow); - documentHolder.mnuSubtotalField.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===0 || this.propsPivot.fieldType===1)); - documentHolder.mnuPivotSubtotalSeparator.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===0 || this.propsPivot.fieldType===1)); - documentHolder.mnuGroupPivot.setVisible(needshow); - documentHolder.mnuUnGroupPivot.setVisible(needshow); - documentHolder.mnuDeleteField.setVisible(!!this.propsPivot.field); - documentHolder.mnuPivotDeleteSeparator.setVisible(!!this.propsPivot.field); - documentHolder.mnuPivotSettingsSeparator.setVisible(needshow); - documentHolder.mnuPivotSettings.setVisible(needshow); - documentHolder.mnuFieldSettings.setVisible(!!this.propsPivot.field); - documentHolder.mnuSummarize.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===2)); - documentHolder.mnuShowAs.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===2) && !this.propsPivot.rowTotal && !this.propsPivot.colTotal); - documentHolder.mnuShowDetails.setVisible(!!this.propsPivot.showDetails); - documentHolder.mnuShowDetailsSeparator.setVisible(!!this.propsPivot.showDetails); - documentHolder.mnuPivotValueSeparator.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===2)); documentHolder.mnuPivotSort.setVisible(this.propsPivot.filter || this.propsPivot.rowFilter || this.propsPivot.colFilter); documentHolder.mnuPivotFilter.setVisible(!!this.propsPivot.filter); documentHolder.mnuPivotFilterSeparator.setVisible(this.propsPivot.filter || this.propsPivot.rowFilter || this.propsPivot.colFilter); + documentHolder.mnuSubtotalField.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===0 || this.propsPivot.fieldType===1)); + documentHolder.mnuPivotSubtotalSeparator.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===0 || this.propsPivot.fieldType===1)); + documentHolder.mnuGroupPivot.setVisible(!!this.propsPivot.canGroup); + documentHolder.mnuUnGroupPivot.setVisible(!!this.propsPivot.canGroup); + documentHolder.mnuPivotGroupSeparator.setVisible(!!this.propsPivot.canGroup); + documentHolder.mnuDeleteField.setVisible(!!this.propsPivot.field); + documentHolder.mnuPivotDeleteSeparator.setVisible(!!this.propsPivot.field); + documentHolder.mnuSummarize.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===2)); + documentHolder.mnuShowAs.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===2) && !this.propsPivot.rowTotal && !this.propsPivot.colTotal); + documentHolder.mnuPivotValueSeparator.setVisible(!!this.propsPivot.field && (this.propsPivot.fieldType===2)); + documentHolder.mnuShowDetails.setVisible(!!this.propsPivot.showDetails); + documentHolder.mnuShowDetailsSeparator.setVisible(!!this.propsPivot.showDetails); + documentHolder.mnuPivotSettings.setVisible(needshow); + documentHolder.mnuFieldSettings.setVisible(!!this.propsPivot.field); if (this.propsPivot.field) { documentHolder.mnuDeleteField.setCaption(documentHolder.txtDelField + ' ' + (this.propsPivot.rowTotal || this.propsPivot.colTotal ? documentHolder.txtGrandTotal : '"' + Common.Utils.String.htmlEncode(this.propsPivot.fieldName) + '"'), true); @@ -2859,8 +2859,8 @@ define([ documentHolder.pmiGetRangeList.setDisabled(false); if (inPivot) { - documentHolder.mnuGroupPivot.setDisabled(isPivotLocked || !this.propsPivot.canGroup || this._state.wsLock); - documentHolder.mnuUnGroupPivot.setDisabled(isPivotLocked || !this.propsPivot.canGroup || this._state.wsLock); + documentHolder.mnuGroupPivot.setDisabled(isPivotLocked || this._state.wsLock); + documentHolder.mnuUnGroupPivot.setDisabled(isPivotLocked || this._state.wsLock); documentHolder.mnuRefreshPivot.setDisabled(isPivotLocked || this._state.wsLock); documentHolder.mnuPivotSettings.setDisabled(isPivotLocked || this._state.wsLock); documentHolder.mnuFieldSettings.setDisabled(isPivotLocked || this._state.wsLock); diff --git a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js index 54b62a7c4a..8c638cd258 100644 --- a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js @@ -545,7 +545,7 @@ define([ me.mnuPivotRefreshSeparator = new Common.UI.MenuItem({caption: '--'}); me.mnuPivotSubtotalSeparator = new Common.UI.MenuItem({caption: '--'}); - me.mnuPivotSettingsSeparator = new Common.UI.MenuItem({caption: '--'}); + me.mnuPivotGroupSeparator = new Common.UI.MenuItem({caption: '--'}); me.mnuPivotDeleteSeparator = new Common.UI.MenuItem({caption: '--'}); me.mnuPivotValueSeparator = new Common.UI.MenuItem({caption: '--'}); me.mnuPivotFilterSeparator = new Common.UI.MenuItem({caption: '--'}); @@ -801,14 +801,14 @@ define([ me.mnuPivotSubtotalSeparator, me.mnuGroupPivot, me.mnuUnGroupPivot, - me.mnuPivotDeleteSeparator, + me.mnuPivotGroupSeparator, me.mnuDeleteField, - me.mnuPivotValueSeparator, + me.mnuPivotDeleteSeparator, me.mnuSummarize, me.mnuShowAs, - me.mnuShowDetailsSeparator, + me.mnuPivotValueSeparator, me.mnuShowDetails, - me.mnuPivotSettingsSeparator, + me.mnuShowDetailsSeparator, me.mnuFieldSettings, me.mnuPivotSettings, me.pmiAddCommentSeparator,