From a8e02474a349b9d899e0f5a564efc7ae4f63286b Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 11 May 2016 11:49:25 +0300 Subject: [PATCH] =?UTF-8?q?[SSE]=20=D0=9F=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D1=8B=20=D0=B4=D0=B8=D0=BD=D0=B0=D0=BC=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=20=D1=84=D0=B8=D0=BB=D1=8C?= =?UTF-8?q?=D1=82=D1=80=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/view/AutoFilterDialog.js | 88 +++++++++++++------ 1 file changed, 59 insertions(+), 29 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/view/AutoFilterDialog.js b/apps/spreadsheeteditor/main/app/view/AutoFilterDialog.js index 318957d1d..5ddab8929 100644 --- a/apps/spreadsheeteditor/main/app/view/AutoFilterDialog.js +++ b/apps/spreadsheeteditor/main/app/view/AutoFilterDialog.js @@ -412,21 +412,26 @@ define([ menuAlign: 'tl-tr', items: [ {value: 0, caption: this.textNoFilter, checkable: true}, - {value: Asc.c_oAscCustomAutoFilter.equals, caption: this.txtEquals, checkable: true}, - {value: Asc.c_oAscCustomAutoFilter.doesNotEqual, caption: this.txtNotEquals, checkable: true}, - {value: Asc.c_oAscCustomAutoFilter.isGreaterThan, caption: this.txtGreater, checkable: true}, - {value: Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo, caption: this.txtGreaterEquals,checkable: true}, - {value: Asc.c_oAscCustomAutoFilter.isLessThan, caption: this.txtLess, checkable: true}, - {value: Asc.c_oAscCustomAutoFilter.isLessThanOrEqualTo, caption: this.txtLessEquals, checkable: true}, - {value: -2, caption: this.txtBetween, checkable: true}, - {value: Asc.c_oAscCustomAutoFilter.top10, caption: this.txtTop10, checkable: true}, - {value: Asc.c_oAscCustomAutoFilter.aboveAverage, caption: this.txtAboveAve, checkable: true}, - {value: Asc.c_oAscCustomAutoFilter.belowAverage, caption: this.txtBelowAve, checkable: true}, - {value: -1, caption: this.btnCustomFilter + '...', checkable: true} + {value: Asc.c_oAscCustomAutoFilter.equals, caption: this.txtEquals, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters}, + {value: Asc.c_oAscCustomAutoFilter.doesNotEqual, caption: this.txtNotEquals, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters}, + {value: Asc.c_oAscCustomAutoFilter.isGreaterThan, caption: this.txtGreater, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters}, + {value: Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo, caption: this.txtGreaterEquals,checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters}, + {value: Asc.c_oAscCustomAutoFilter.isLessThan, caption: this.txtLess, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters}, + {value: Asc.c_oAscCustomAutoFilter.isLessThanOrEqualTo, caption: this.txtLessEquals, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters}, + {value: -2, caption: this.txtBetween, checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters}, + {value: Asc.c_oAscCustomAutoFilter.top10, caption: this.txtTop10, checkable: true, type: Asc.c_oAscAutoFilterTypes.Top10}, + {value: Asc.c_oAscDynamicAutoFilter.aboveAverage, caption: this.txtAboveAve, checkable: true, type: Asc.c_oAscAutoFilterTypes.DynamicFilter}, + {value: Asc.c_oAscDynamicAutoFilter.belowAverage, caption: this.txtBelowAve, checkable: true, type: Asc.c_oAscAutoFilterTypes.DynamicFilter}, + {value: -1, caption: this.btnCustomFilter + '...', checkable: true, type: Asc.c_oAscAutoFilterTypes.CustomFilters} ] }) }); - this.miNumFilter.menu.on('item:click', _.bind(this.onNumFilterMenuClick, this)); + var items = this.miNumFilter.menu.items; + items[0].on('click', _.bind(this.onClear, this)); + for (var i=1; i1) ? (null === customFilters[1].asc_getVal() ? '' : customFilters[1].asc_getVal()) : ''); } - if (item.value==0) { - this.onClear(); - return; - } else if (item.value!==-1) { + if (item.value!==-1) { var newCustomFilter = new Asc.CustomFilters(); newCustomFilter.asc_setCustomFilters((item.value == -2) ? [new Asc.CustomFilter(), new Asc.CustomFilter()]: [new Asc.CustomFilter()]); @@ -729,6 +731,24 @@ define([ dlgDigitalFilter.show(); }, + onNumDynamicFilterItemClick: function(item) { + var filterObj = this.configTo.asc_getFilterObj(); + + if (filterObj.asc_getType() !== Asc.c_oAscAutoFilterTypes.DynamicFilter) { + filterObj.asc_setFilter(new Asc.DynamicFilter()); + filterObj.asc_setType(Asc.c_oAscAutoFilterTypes.DynamicFilter); + } + + filterObj.asc_getFilter().asc_setType(item.value); + this.api.asc_applyAutoFilter(this.configTo); + + this.close(); + }, + + onTop10FilterItemClick: function(menu, item) { + this.close(); + }, + onFilterColorSelect: function(isCellColor, picker, color) { var filterObj = this.configTo.asc_getFilterObj(); if (filterObj.asc_getType() !== Asc.c_oAscAutoFilterTypes.ColorFilter) { @@ -847,6 +867,8 @@ define([ var filterObj = this.configTo.asc_getFilterObj(), isCustomFilter = (this.initialFilterType === Asc.c_oAscAutoFilterTypes.CustomFilters), + isDynamicFilter = (this.initialFilterType === Asc.c_oAscAutoFilterTypes.DynamicFilter), + isTop10 = (this.initialFilterType === Asc.c_oAscAutoFilterTypes.Top10), isTextFilter = this.configTo.asc_getIsTextFilter(), colorsFill = this.configTo.asc_getColorsFill(), colorsFont = this.configTo.asc_getColorsFont(), @@ -858,7 +880,7 @@ define([ this.miTextFilter.setVisible(isTextFilter); this.miNumFilter.setVisible(!isTextFilter); this.miTextFilter.setChecked(isCustomFilter && isTextFilter, true); - this.miNumFilter.setChecked(isCustomFilter && !isTextFilter, true); + this.miNumFilter.setChecked((isCustomFilter || isDynamicFilter || isTop10) && !isTextFilter, true); this.miSortLow2High.setChecked(sort == Asc.c_oAscSortOptions.Ascending, true); this.miSortHigh2Low.setChecked(sort == Asc.c_oAscSortOptions.Descending, true); @@ -911,8 +933,9 @@ define([ if (customFilters.length==1) items.forEach(function(item){ - item.setChecked(item.value == cond1, true); - if (item.value == cond1) isCustomConditions = false; + var checked = (item.options.type == Asc.c_oAscAutoFilterTypes.CustomFilters) && (item.value == cond1); + item.setChecked(checked, true); + if (checked) isCustomConditions = false; }); else if (!isTextFilter && (cond1 == Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo && cond2 == Asc.c_oAscCustomAutoFilter.isLessThanOrEqualTo || cond1 == Asc.c_oAscCustomAutoFilter.isLessThanOrEqualTo && cond2 == Asc.c_oAscCustomAutoFilter.isGreaterThanOrEqualTo)){ @@ -933,6 +956,13 @@ define([ this.miFilterFontColor.setChecked(true, true); this.mnuFilterColorFontPicker.select(filterColor, true); } + } else if (isDynamicFilter || isTop10) { + var dynType = (isDynamicFilter) ? filterObj.asc_getFilter().asc_getType() : null, + 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); + }); } this.miClear.setDisabled(this.initialFilterType === Asc.c_oAscAutoFilterTypes.None);