diff --git a/apps/common/main/lib/component/Window.js b/apps/common/main/lib/component/Window.js index 9405cc200..063bed7bf 100644 --- a/apps/common/main/lib/component/Window.js +++ b/apps/common/main/lib/component/Window.js @@ -951,6 +951,13 @@ define([ this.$window.find('.resize-border').remove(); } this.resizable = resizable; + } else { + if (resizable) { + (minSize && minSize.length>1) && (this.initConfig.minwidth = minSize[0]); + (minSize && minSize.length>1) && (this.initConfig.minheight = minSize[1]); + (maxSize && maxSize.length>1) && (this.initConfig.maxwidth = maxSize[0]); + (maxSize && maxSize.length>1) && (this.initConfig.maxheight = maxSize[1]); + } } }, diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js index 856454690..a75270b3a 100644 --- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js @@ -2376,7 +2376,7 @@ define([ toolbar.lockToolbar(SSE.enumLock.multiselect, this._state.multiselect, { array: [toolbar.btnTableTemplate, toolbar.btnInsertHyperlink, toolbar.btnInsertTable]}); this._state.inpivot = !!info.asc_getPivotTableInfo(); - toolbar.lockToolbar(SSE.enumLock.editPivot, this._state.inpivot, { array: toolbar.btnsSetAutofilter.concat(toolbar.btnsClearAutofilter, toolbar.btnsSortDown, toolbar.btnsSortUp, toolbar.btnCustomSort, + toolbar.lockToolbar(SSE.enumLock.editPivot, this._state.inpivot, { array: toolbar.btnsSetAutofilter.concat(toolbar.btnCustomSort, toolbar.btnMerge, toolbar.btnInsertHyperlink, toolbar.btnInsertTable, toolbar.btnRemoveDuplicates)}); toolbar.lockToolbar(SSE.enumLock.noSlicerSource, !(this._state.inpivot || formatTableInfo), { array: [toolbar.btnInsertSlicer]}); diff --git a/apps/spreadsheeteditor/main/app/view/AutoFilterDialog.js b/apps/spreadsheeteditor/main/app/view/AutoFilterDialog.js index 4cf0401c3..d6726cf2d 100644 --- a/apps/spreadsheeteditor/main/app/view/AutoFilterDialog.js +++ b/apps/spreadsheeteditor/main/app/view/AutoFilterDialog.js @@ -83,7 +83,7 @@ define([ '', '', '
', - ' ', - ' ' @@ -567,6 +1038,11 @@ define([ }); this.miSortHigh2Low.on('click', _.bind(this.onSortType, this, Asc.c_oAscSortOptions.Descending)); + this.miSortOptions = new Common.UI.MenuItem({ + caption : this.txtSortOption + }); + this.miSortOptions.on('click', _.bind(this.onSortOptions, this)); + this.miSortCellColor = new Common.UI.MenuItem({ caption : this.txtSortCellColor, toggleGroup : 'menufiltersort', @@ -685,19 +1161,75 @@ define([ }); this.miReapply.on('click', _.bind(this.onReapply, this)); + this.miReapplySeparator = new Common.UI.MenuItem({ caption: '--' }); + + // pivot + this.miValueFilter = new Common.UI.MenuItem({ + caption : this.txtValueFilter, + toggleGroup : 'menufilterfilter', + checkable : true, + checked : false, + menu : new Common.UI.Menu({ + menuAlign: 'tl-tr', + items: [ + {value: Asc.c_oAscCustomAutoFilter.equals, caption: this.txtEquals, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'value'}, + {value: Asc.c_oAscCustomAutoFilter.doesNotEqual, caption: this.txtNotEquals, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'value'}, + {value: Asc.c_oAscCustomAutoFilter.isGreaterThan, caption: this.txtGreater, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'value'}, + {value: Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo, caption: this.txtGreaterEquals,checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'value'}, + {value: Asc.c_oAscCustomAutoFilter.isLessThan, caption: this.txtLess, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'value'}, + {value: Asc.c_oAscCustomAutoFilter.isLessThanOrEqualTo, caption: this.txtLessEquals, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'value'}, + {value: -2, caption: this.txtBetween, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'value'}, + {value: -3, caption: this.txtNotBetween, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'value'}, + {value: Asc.c_oAscCustomAutoFilter.top10, caption: this.txtTop10, checkable: true, type: Asc.c_oAscAutoFilterTypes.Top10, pivottype: 'value'} + ] + }) + }); + this.miValueFilter.menu.on('item:click', _.bind(this.onValueFilterMenuClick, this)); + + this.miLabelFilter = new Common.UI.MenuItem({ + caption : this.txtLabelFilter, + toggleGroup : 'menufilterfilter', + checkable : true, + checked : false, + menu : new Common.UI.Menu({ + menuAlign: 'tl-tr', + items: [ + {value: Asc.c_oAscCustomAutoFilter.equals, caption: this.txtEquals, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {value: Asc.c_oAscCustomAutoFilter.doesNotEqual, caption: this.txtNotEquals, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {value: Asc.c_oAscCustomAutoFilter.beginsWith, caption: this.txtBegins, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {value: Asc.c_oAscCustomAutoFilter.doesNotBeginWith, caption: this.txtNotBegins, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {value: Asc.c_oAscCustomAutoFilter.endsWith, caption: this.txtEnds, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {value: Asc.c_oAscCustomAutoFilter.doesNotEndWith, caption: this.txtNotEnds, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {value: Asc.c_oAscCustomAutoFilter.contains, caption: this.txtContains, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {value: Asc.c_oAscCustomAutoFilter.doesNotContain, caption: this.txtNotContains, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {caption: '--'}, + {value: Asc.c_oAscCustomAutoFilter.isGreaterThan, caption: this.txtGreater, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {value: Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo, caption: this.txtGreaterEquals,checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {value: Asc.c_oAscCustomAutoFilter.isLessThan, caption: this.txtLess, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {value: Asc.c_oAscCustomAutoFilter.isLessThanOrEqualTo, caption: this.txtLessEquals, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {value: -2, caption: this.txtBetween, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'}, + {value: -3, caption: this.txtNotBetween, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters, pivottype: 'label'} + ] + }) + }); + this.miLabelFilter.menu.on('item:click', _.bind(this.onLabelFilterMenuClick, this)); + this.filtersMenu = new Common.UI.Menu({ items: [ this.miSortLow2High, this.miSortHigh2Low, + this.miSortOptions, this.miSortCellColor, this.miSortFontColor, {caption : '--'}, + this.miLabelFilter, + this.miValueFilter, this.miNumFilter, this.miTextFilter, this.miFilterCellColor, this.miFilterFontColor, this.miClear, - {caption : '--'}, + this.miReapplySeparator, this.miReapply ] }); @@ -847,6 +1379,19 @@ define([ this.close(); }, + onSortOptions: function () { + var me = this, + dlgSort = new SSE.Views.SortFilterDialog({api:this.api}).on({ + 'close': function() { + me.close(); + } + }); + this.close(); + + dlgSort.setSettings(this.configTo); + dlgSort.show(); + }, + onNumCustomFilterItemClick: function(item) { var filterObj = this.configTo.asc_getFilterObj(), value1 = '', value2 = '', @@ -866,10 +1411,10 @@ define([ if (item.value!==-1) { var newCustomFilter = new Asc.CustomFilters(); - newCustomFilter.asc_setCustomFilters((item.value == -2) ? [new Asc.CustomFilter(), new Asc.CustomFilter()]: [new Asc.CustomFilter()]); + newCustomFilter.asc_setCustomFilters((item.value == -2 || item.value == -3) ? [new Asc.CustomFilter(), new Asc.CustomFilter()]: [new Asc.CustomFilter()]); var newCustomFilters = newCustomFilter.asc_getCustomFilters(); - newCustomFilters[0].asc_setOperator((item.value == -2) ? Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo : item.value); + newCustomFilters[0].asc_setOperator((item.value == -2) ? Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo : ((item.value == -3) ? Asc.c_oAscCustomAutoFilter.isLessThan : item.value)); if (item.value == -2) { var isBetween = (cond1 == Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo && cond2 == Asc.c_oAscCustomAutoFilter.isLessThanOrEqualTo); @@ -877,6 +1422,12 @@ define([ newCustomFilters[0].asc_setVal(isBetween ? value1 : ''); newCustomFilters[1].asc_setOperator(Asc.c_oAscCustomAutoFilter.isLessThanOrEqualTo); newCustomFilters[1].asc_setVal(isBetween ? value2 : ''); + } else if (item.value == -3) { + var isNotBetween = (cond1 == Asc.c_oAscCustomAutoFilter.isLessThan && cond2 == Asc.c_oAscCustomAutoFilter.isGreaterThan); + newCustomFilter.asc_setAnd(isNotBetween ? isAnd : false); + newCustomFilters[0].asc_setVal(isNotBetween ? value1 : ''); + newCustomFilters[1].asc_setOperator(Asc.c_oAscCustomAutoFilter.isGreaterThan); + newCustomFilters[1].asc_setVal(isNotBetween ? value2 : ''); } else { newCustomFilter.asc_setAnd(true); newCustomFilters[0].asc_setVal((item.value == cond1) ? value1 : ''); @@ -887,6 +1438,14 @@ define([ } var me = this, + dlgDigitalFilter; + if (item.options.pivottype == 'label' || item.options.pivottype == 'value') + dlgDigitalFilter = new SSE.Views.PivotDigitalFilterDialog({api:this.api, type: item.options.pivottype}).on({ + 'close': function() { + me.close(); + } + }); + else dlgDigitalFilter = new SSE.Views.DigitalFilterDialog({api:this.api, type: 'number'}).on({ 'close': function() { me.close(); @@ -930,12 +1489,19 @@ define([ } var me = this, + dlgDigitalFilter; + if (item.options.pivottype == 'label' || item.options.pivottype == 'value') + dlgDigitalFilter = new SSE.Views.PivotDigitalFilterDialog({api:this.api, type: item.options.pivottype}).on({ + 'close': function() { + me.close(); + } + }); + else dlgDigitalFilter = new SSE.Views.DigitalFilterDialog({api:this.api, type: 'text'}).on({ 'close': function() { me.close(); } }); - this.close(); dlgDigitalFilter.setSettings(this.configTo); @@ -956,9 +1522,9 @@ define([ this.close(); }, - onTop10FilterItemClick: function(menu, item) { + onTop10FilterItemClick: function(item) { var me = this, - dlgTop10Filter = new SSE.Views.Top10FilterDialog({api:this.api}).on({ + dlgTop10Filter = new SSE.Views.Top10FilterDialog({api:this.api, type: item.options.pivottype}).on({ 'close': function() { me.close(); } @@ -969,6 +1535,35 @@ define([ dlgTop10Filter.show(); }, + onLabelFilterMenuClick: function(menu, item) { + if (item.value == Asc.c_oAscCustomAutoFilter.isGreaterThan || item.value == Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo || item.value == Asc.c_oAscCustomAutoFilter.isLessThan || + item.value == Asc.c_oAscCustomAutoFilter.isLessThanOrEqualTo || item.value == -2 || item.value == -3) + this.onNumCustomFilterItemClick(item); + else + this.onTextFilterMenuClick(menu, item); + }, + + onValueFilterMenuClick: function(menu, item) { + var me = this; + var pivotObj = this.configTo.asc_getPivotObj(), + fields = pivotObj.asc_getDataFields(); + if (fields.length<2) { + Common.UI.warning({title: this.textWarning, + msg: this.warnFilterError, + callback: function() { + _.delay(function () { + me.close(); + }, 10); + } + }); + } else { + if (item.options.type == Asc.c_oAscAutoFilterTypes.CustomFilters) + this.onNumCustomFilterItemClick(item); + else + this.onTop10FilterItemClick(item); + } + }, + onFilterColorSelect: function(isCellColor, picker, color) { var filterObj = this.configTo.asc_getFilterObj(); if (filterObj.asc_getType() !== Asc.c_oAscAutoFilterTypes.ColorFilter) { @@ -1098,6 +1693,34 @@ define([ _setDefaults: function() { this.initialFilterType = this.configTo.asc_getFilterObj().asc_getType(); + var menuPanel = this.$window.find('.menu-panel'); + this.menuPanelWidth = menuPanel.innerWidth(); + var width = this.getWidth(); + if (Common.Utils.InternalSettings.get('sse-settings-size-filter-window')) { + width = Common.Utils.InternalSettings.get('sse-settings-size-filter-window')[0] + this.menuPanelWidth; + } + + var pivotObj = this.configTo.asc_getPivotObj(), + isPivot = !!pivotObj, + isValueFilter = false; + + this.miValueFilter.setVisible(isPivot); + this.miLabelFilter.setVisible(isPivot); + this.miSortOptions.setVisible(isPivot); + + if (isPivot) { + if (pivotObj.asc_getIsPageFilter()) { + this.setResizable(true, [this.initConfig.minwidth - this.menuPanelWidth, this.initConfig.minheight]); + menuPanel.addClass('hidden'); + width -= this.menuPanelWidth; + this.menuPanelWidth = 0; + } + this.miReapplySeparator.setVisible(false); + this.miReapply.setVisible(false); + + isValueFilter = (pivotObj.asc_getDataFieldIndexFilter()!==0); + } + this.setSize(width, this.getHeight()); var filterObj = this.configTo.asc_getFilterObj(), isCustomFilter = (this.initialFilterType === Asc.c_oAscAutoFilterTypes.CustomFilters), @@ -1111,17 +1734,20 @@ define([ if (sortColor) sortColor = Common.Utils.ThemeColor.getHexColor(sortColor.get_r(), sortColor.get_g(), sortColor.get_b()).toLocaleUpperCase(); - this.miTextFilter.setVisible(isTextFilter); - this.miNumFilter.setVisible(!isTextFilter); + this.miTextFilter.setVisible(!isPivot && isTextFilter); + this.miNumFilter.setVisible(!isPivot && !isTextFilter); this.miTextFilter.setChecked(isCustomFilter && isTextFilter, true); this.miNumFilter.setChecked((isCustomFilter || isDynamicFilter || isTop10) && !isTextFilter, true); + this.miValueFilter.setChecked(isPivot && isValueFilter, true); + this.miLabelFilter.setChecked(isPivot && !isValueFilter && (isCustomFilter || isTop10), true); + this.miSortLow2High.setChecked(sort == Asc.c_oAscSortOptions.Ascending, true); this.miSortHigh2Low.setChecked(sort == Asc.c_oAscSortOptions.Descending, true); var hasColors = (colorsFont && colorsFont.length>0); this.miSortFontColor.setVisible(hasColors); - this.miFilterFontColor.setVisible(hasColors); + this.miFilterFontColor.setVisible(!isPivot && hasColors); if (hasColors) { var colors = []; colorsFont.forEach(function(item, index) { @@ -1141,7 +1767,7 @@ define([ hasColors = (colorsFill && colorsFill.length>0); this.miSortCellColor.setVisible(hasColors); - this.miFilterCellColor.setVisible(hasColors); + this.miFilterCellColor.setVisible(!isPivot && hasColors); if (hasColors) { var colors = []; colorsFill.forEach(function(item, index) { @@ -1165,7 +1791,7 @@ define([ isAnd = (customFilter.asc_getAnd()), cond1 = customFilters[0].asc_getOperator(), cond2 = ((customFilters.length>1) ? (customFilters[1].asc_getOperator() || 0) : 0), - items = (isTextFilter) ? this.miTextFilter.menu.items : this.miNumFilter.menu.items, + items = isPivot ? (isValueFilter ? this.miValueFilter.menu.items : this.miLabelFilter.menu.items) : ((isTextFilter) ? this.miTextFilter.menu.items : this.miNumFilter.menu.items), isCustomConditions = true; if (customFilters.length==1) @@ -1174,7 +1800,7 @@ define([ item.setChecked(checked, true); if (checked) isCustomConditions = false; }); - else if (!isTextFilter && (cond1 == Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo && cond2 == Asc.c_oAscCustomAutoFilter.isLessThanOrEqualTo || + else if ((isPivot || !isTextFilter) && (cond1 == Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo && cond2 == Asc.c_oAscCustomAutoFilter.isLessThanOrEqualTo || cond1 == Asc.c_oAscCustomAutoFilter.isLessThanOrEqualTo && cond2 == Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo)){ items[6].setChecked(true, true); // between filter isCustomConditions = false; @@ -1195,7 +1821,7 @@ define([ } } else if (isDynamicFilter || isTop10) { var dynType = (isDynamicFilter) ? filterObj.asc_getFilter().asc_getType() : null, - items = this.miNumFilter.menu.items; + items = isPivot ? this.miValueFilter.menu.items : this.miNumFilter.menu.items; items.forEach(function(item){ item.setChecked(isDynamicFilter && (item.options.type == Asc.c_oAscAutoFilterTypes.DynamicFilter) && (item.value == dynType) || isTop10 && (item.options.type == Asc.c_oAscAutoFilterTypes.Top10), true); @@ -1360,6 +1986,9 @@ define([ isValid = true; } if (isValid) { + var pivotObj = this.configTo.asc_getPivotObj(); + if (pivotObj && pivotObj.asc_getIsPageFilter()) + pivotObj.asc_setIsMultipleItemSelectionAllowed(true); this.configTo.asc_getFilterObj().asc_setType(Asc.c_oAscAutoFilterTypes.Filters); this.api.asc_applyAutoFilter(this.configTo); } @@ -1394,6 +2023,7 @@ define([ this.$window.find('.combo-values').css({'height': size[1] - 100 + 'px'}); this.curSize.height = size[1]; } + size[0] -= this.menuPanelWidth; Common.Utils.InternalSettings.set('sse-settings-size-filter-window', size); }, @@ -1438,7 +2068,12 @@ define([ txtContains : "Contains...", txtNotContains : "Does not contain...", textSelectAllResults: 'Select All Search Results', - textAddSelection : 'Add current selection to filter' + textAddSelection : 'Add current selection to filter', + txtValueFilter: 'Value filter', + txtLabelFilter: 'Label filter', + warnFilterError: 'You need at least one field in the Values area in order to apply a value filter.', + txtNotBetween: 'Not between...', + txtSortOption: 'More sort options...' }, SSE.Views.AutoFilterDialog || {})); }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/view/DataTab.js b/apps/spreadsheeteditor/main/app/view/DataTab.js index 22a82ee58..f7bd1439f 100644 --- a/apps/spreadsheeteditor/main/app/view/DataTab.js +++ b/apps/spreadsheeteditor/main/app/view/DataTab.js @@ -190,17 +190,17 @@ define([ this.lockedControls.push(this.btnCustomSort); this.btnsSortDown = Common.Utils.injectButtons($host.find('.slot-sortdesc'), '', 'toolbar__icon btn-sort-down', '', - [_set.editCell, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.lostConnect, _set.coAuth, _set.ruleFilter, _set.editPivot, _set.cantModifyFilter, _set.sheetLock]); + [_set.editCell, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.lostConnect, _set.coAuth, _set.ruleFilter, _set.cantModifyFilter, _set.sheetLock]); this.btnsSortUp = Common.Utils.injectButtons($host.find('.slot-sortasc'), '', 'toolbar__icon btn-sort-up', '', - [_set.editCell, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.lostConnect, _set.coAuth, _set.ruleFilter, _set.editPivot, _set.cantModifyFilter, _set.sheetLock]); + [_set.editCell, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.lostConnect, _set.coAuth, _set.ruleFilter, _set.cantModifyFilter, _set.sheetLock]); this.btnsSetAutofilter = Common.Utils.injectButtons($host.find('.slot-btn-setfilter'), '', 'toolbar__icon btn-autofilter', '', [_set.editCell, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.selSlicer, _set.lostConnect, _set.coAuth, _set.ruleFilter, _set.editPivot, _set.cantModifyFilter], false, false, true); this.btnsClearAutofilter = Common.Utils.injectButtons($host.find('.slot-btn-clear-filter'), '', 'toolbar__icon btn-clear-filter', '', - [_set.editCell, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.lostConnect, _set.coAuth, _set.ruleDelFilter, _set.editPivot]); + [_set.editCell, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.lostConnect, _set.coAuth, _set.ruleDelFilter]); Array.prototype.push.apply(this.lockedControls, this.btnsSortDown.concat(this.btnsSortUp, this.btnsSetAutofilter,this.btnsClearAutofilter)); diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index d21b9534b..c613f3e40 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -1236,6 +1236,11 @@ "SSE.Views.AutoFilterDialog.txtTitle": "Filter", "SSE.Views.AutoFilterDialog.txtTop10": "Top 10", "SSE.Views.AutoFilterDialog.warnNoSelected": "You must choose at least one value", + "SSE.Views.AutoFilterDialog.txtValueFilter": "Value filter", + "SSE.Views.AutoFilterDialog.txtLabelFilter": "Label filter", + "SSE.Views.AutoFilterDialog.warnFilterError": "You need at least one field in the Values area in order to apply a value filter.", + "SSE.Views.AutoFilterDialog.txtNotBetween": "Not between...", + "SSE.Views.AutoFilterDialog.txtSortOption": "More sort options...", "SSE.Views.CellEditor.textManager": "Name Manager", "SSE.Views.CellEditor.tipFormula": "Insert function", "SSE.Views.CellRangeDialog.errorMaxRows": "ERROR! The maximum number of data series per chart is 255", @@ -2015,6 +2020,27 @@ "SSE.Views.ParagraphSettingsAdvanced.textTabRight": "Right", "SSE.Views.ParagraphSettingsAdvanced.textTitle": "Paragraph - Advanced Settings", "SSE.Views.ParagraphSettingsAdvanced.txtAutoText": "Auto", + "SSE.Views.PivotDigitalFilterDialog.capCondition1": "equals", + "SSE.Views.PivotDigitalFilterDialog.capCondition10": "does not end with", + "SSE.Views.PivotDigitalFilterDialog.capCondition11": "contains", + "SSE.Views.PivotDigitalFilterDialog.capCondition12": "does not contain", + "SSE.Views.PivotDigitalFilterDialog.capCondition2": "does not equal", + "SSE.Views.PivotDigitalFilterDialog.capCondition3": "is greater than", + "SSE.Views.PivotDigitalFilterDialog.capCondition4": "is greater than or equal to", + "SSE.Views.PivotDigitalFilterDialog.capCondition5": "is less than", + "SSE.Views.PivotDigitalFilterDialog.capCondition6": "is less than or equal to", + "SSE.Views.PivotDigitalFilterDialog.capCondition7": "begins with", + "SSE.Views.PivotDigitalFilterDialog.capCondition8": "does not begin with", + "SSE.Views.PivotDigitalFilterDialog.capCondition9": "ends with", + "SSE.Views.PivotDigitalFilterDialog.textUse1": "Use ? to present any single character", + "SSE.Views.PivotDigitalFilterDialog.textUse2": "Use * to present any series of character", + "SSE.Views.PivotDigitalFilterDialog.textShowLabel": "Show items for which the label:", + "SSE.Views.PivotDigitalFilterDialog.textShowValue": "Show items for which:", + "SSE.Views.PivotDigitalFilterDialog.txtTitleValue": "Value Filter", + "SSE.Views.PivotDigitalFilterDialog.txtTitleLabel": "Label Filter", + "SSE.Views.PivotDigitalFilterDialog.capCondition13": "between", + "SSE.Views.PivotDigitalFilterDialog.capCondition14": "not between", + "SSE.Views.PivotDigitalFilterDialog.txtAnd": "and", "SSE.Views.PivotSettings.textAdvanced": "Show advanced settings", "SSE.Views.PivotSettings.textColumns": "Columns", "SSE.Views.PivotSettings.textFields": "Select Fields", @@ -2379,6 +2405,9 @@ "SSE.Views.SortDialog.textZA": "Z to A", "SSE.Views.SortDialog.txtInvalidRange": "Invalid cells range.", "SSE.Views.SortDialog.txtTitle": "Sort", + "SSE.Views.SortFilterDialog.txtTitle": "Sort", + "SSE.Views.SortFilterDialog.textAsc": "Ascenging (A to Z) by", + "SSE.Views.SortFilterDialog.textDesc": "Descending (Z to A) by", "SSE.Views.SortOptionsDialog.textCase": "Case sensitive", "SSE.Views.SortOptionsDialog.textHeaders": "My data has headers", "SSE.Views.SortOptionsDialog.textLeftRight": "Sort left to right", @@ -2786,6 +2815,9 @@ "SSE.Views.Top10FilterDialog.txtPercent": "Percent", "SSE.Views.Top10FilterDialog.txtTitle": "Top 10 AutoFilter", "SSE.Views.Top10FilterDialog.txtTop": "Top", + "SSE.Views.Top10FilterDialog.txtValueTitle": "Top 10 Filter", + "SSE.Views.Top10FilterDialog.txtSum": "Sum", + "SSE.Views.Top10FilterDialog.txtBy": "by", "SSE.Views.ValueFieldSettingsDialog.textTitle": "Value Field Settings", "SSE.Views.ValueFieldSettingsDialog.txtAverage": "Average", "SSE.Views.ValueFieldSettingsDialog.txtBaseField": "Base field",