Commit e290cea2 authored by Julia Radzhabova's avatar Julia Radzhabova

[SSE] Выставление цветовых фильтров.

parent 96ed203d
...@@ -106,13 +106,13 @@ define([ ...@@ -106,13 +106,13 @@ define([
handleClick: function(e) { handleClick: function(e) {
var me = this; var me = this;
var target = $(e.target).closest('a'); var target = $(e.target).closest('div.palette-color-item');
var color, cmp; var color, cmp;
if (target.length==0) return; if (target.length==0) return;
if (target.hasClass('color-transparent') ) { if (target.hasClass('color-transparent') ) {
$(me.el).find('a.' + me.selectedCls).removeClass(me.selectedCls); $(me.el).find('div.' + me.selectedCls).removeClass(me.selectedCls);
target.addClass(me.selectedCls); target.addClass(me.selectedCls);
me.value = 'transparent'; me.value = 'transparent';
me.trigger('select', me, 'transparent'); me.trigger('select', me, 'transparent');
...@@ -120,7 +120,7 @@ define([ ...@@ -120,7 +120,7 @@ define([
if (!/^[a-fA-F0-9]{6}$/.test(me.value) || _.indexOf(me.colors, me.value)<0 ) if (!/^[a-fA-F0-9]{6}$/.test(me.value) || _.indexOf(me.colors, me.value)<0 )
me.value = false; me.value = false;
$(me.el).find('a.' + me.selectedCls).removeClass(me.selectedCls); $(me.el).find('div.' + me.selectedCls).removeClass(me.selectedCls);
target.addClass(me.selectedCls); target.addClass(me.selectedCls);
color = target[0].className.match(me.colorRe)[1]; color = target[0].className.match(me.colorRe)[1];
...@@ -142,21 +142,21 @@ define([ ...@@ -142,21 +142,21 @@ define([
select: function(color, suppressEvent) { select: function(color, suppressEvent) {
var el = $(this.el); var el = $(this.el);
el.find('a.' + this.selectedCls).removeClass(this.selectedCls); el.find('div.' + this.selectedCls).removeClass(this.selectedCls);
if (!color) return; if (!color) return;
if (typeof(color) == 'object' ) { if (typeof(color) == 'object' ) {
var effectEl; var effectEl;
if (color.effectId !== undefined) { if (color.effectId !== undefined) {
effectEl = el.find('a[effectid="'+color.effectId+'"]').first(); effectEl = el.find('div[effectid="'+color.effectId+'"]').first();
if (effectEl.length>0) { if (effectEl.length>0) {
effectEl.addClass(this.selectedCls); effectEl.addClass(this.selectedCls);
this.value = effectEl[0].className.match(this.colorRe)[1].toUpperCase(); this.value = effectEl[0].className.match(this.colorRe)[1].toUpperCase();
} else } else
this.value = false; this.value = false;
} else if (color.effectValue !== undefined) { } else if (color.effectValue !== undefined) {
effectEl = el.find('a[effectvalue="'+color.effectValue+'"].color-' + color.color.toUpperCase()).first(); effectEl = el.find('div[effectvalue="'+color.effectValue+'"].color-' + color.color.toUpperCase()).first();
if (effectEl.length>0) { if (effectEl.length>0) {
effectEl.addClass(this.selectedCls); effectEl.addClass(this.selectedCls);
this.value = effectEl[0].className.match(this.colorRe)[1].toUpperCase(); this.value = effectEl[0].className.match(this.colorRe)[1].toUpperCase();
...@@ -173,7 +173,7 @@ define([ ...@@ -173,7 +173,7 @@ define([
if (_.indexOf(this.colors, this.value)<0) this.value = false; if (_.indexOf(this.colors, this.value)<0) this.value = false;
if (color != this.value || this.options.allowReselect) { if (color != this.value || this.options.allowReselect) {
(color == 'transparent') ? el.find('a.color-transparent').addClass(this.selectedCls) : el.find('a.palette-color.color-' + color).first().addClass(this.selectedCls); (color == 'transparent') ? el.find('div.color-transparent').addClass(this.selectedCls) : el.find('div.palette-color.color-' + color).first().addClass(this.selectedCls);
this.value = color; this.value = color;
if (suppressEvent !== true) { if (suppressEvent !== true) {
this.fireEvent('select', this, color); this.fireEvent('select', this, color);
...@@ -182,7 +182,7 @@ define([ ...@@ -182,7 +182,7 @@ define([
} else { } else {
var co = el.find('#'+color).first(); var co = el.find('#'+color).first();
if (co.length==0) if (co.length==0)
co = el.find('a[color="'+color+'"]').first(); co = el.find('div[color="'+color+'"]').first();
if (co.length>0) { if (co.length>0) {
co.addClass(this.selectedCls); co.addClass(this.selectedCls);
this.value = color.toUpperCase(); this.value = color.toUpperCase();
...@@ -206,7 +206,7 @@ define([ ...@@ -206,7 +206,7 @@ define([
}, },
clearSelection: function(suppressEvent) { clearSelection: function(suppressEvent) {
$(this.el).find('a.' + this.selectedCls).removeClass(this.selectedCls); $(this.el).find('div.' + this.selectedCls).removeClass(this.selectedCls);
this.value = undefined; this.value = undefined;
} }
}); });
......
...@@ -519,6 +519,7 @@ define([ ...@@ -519,6 +519,7 @@ define([
'006400', '800080', '8B0000', '808000', 'FFFFFF', 'D3D3D3' '006400', '800080', '8B0000', '808000', 'FFFFFF', 'D3D3D3'
] ]
}); });
this.mnuSortColorCellsPicker.on('select', _.bind(this.onSortColorCellsSelect, this));
this.mnuSortColorFontPicker = new Common.UI.ColorPaletteExt({ this.mnuSortColorFontPicker = new Common.UI.ColorPaletteExt({
el: $('#filter-dlg-sort-font-color'), el: $('#filter-dlg-sort-font-color'),
...@@ -529,6 +530,7 @@ define([ ...@@ -529,6 +530,7 @@ define([
'006400', '800080', '8B0000', '808000', 'FFFFFF', 'D3D3D3' '006400', '800080', '8B0000', '808000', 'FFFFFF', 'D3D3D3'
] ]
}); });
this.mnuSortColorFontPicker.on('select', _.bind(this.onSortColorFontSelect, this));
this.mnuFilterColorCellsPicker = new Common.UI.ColorPaletteExt({ this.mnuFilterColorCellsPicker = new Common.UI.ColorPaletteExt({
el: $('#filter-dlg-filter-cells-color'), el: $('#filter-dlg-filter-cells-color'),
...@@ -539,6 +541,7 @@ define([ ...@@ -539,6 +541,7 @@ define([
'006400', '800080', '8B0000', '808000', 'FFFFFF', 'D3D3D3' '006400', '800080', '8B0000', '808000', 'FFFFFF', 'D3D3D3'
] ]
}); });
this.mnuFilterColorCellsPicker.on('select', _.bind(this.onFilterColorSelect, this, null));
this.mnuFilterColorFontPicker = new Common.UI.ColorPaletteExt({ this.mnuFilterColorFontPicker = new Common.UI.ColorPaletteExt({
el: $('#filter-dlg-filter-font-color'), el: $('#filter-dlg-filter-font-color'),
...@@ -549,6 +552,7 @@ define([ ...@@ -549,6 +552,7 @@ define([
'006400', '800080', '8B0000', '808000', 'FFFFFF', 'D3D3D3' '006400', '800080', '8B0000', '808000', 'FFFFFF', 'D3D3D3'
] ]
}); });
this.mnuFilterColorFontPicker.on('select', _.bind(this.onFilterColorSelect, this, false));
this.input = new Common.UI.InputField({ this.input = new Common.UI.InputField({
el : $('#id-sd-cell-search', this.$window), el : $('#id-sd-cell-search', this.$window),
...@@ -742,6 +746,30 @@ define([ ...@@ -742,6 +746,30 @@ define([
dlgDigitalFilter.show(); dlgDigitalFilter.show();
}, },
onFilterColorSelect: function(isCellColor, picker, color) {
var filterObj = this.configTo.asc_getFilterObj();
if (filterObj.asc_getType() !== Asc.c_oAscAutoFilterTypes.ColorFilter) {
filterObj.asc_setFilter(new Asc.ColorFilter());
filterObj.asc_setType(Asc.c_oAscAutoFilterTypes.ColorFilter);
}
var colorFilter = filterObj.asc_getFilter();
colorFilter.asc_setCellColor(isCellColor);
colorFilter.asc_setCColor(Common.Utils.ThemeColor.getRgbColor(color));
this.api.asc_applyAutoFilter('colorFilter', this.configTo);
this.close();
},
onSortColorCellsSelect: function(picker, color) {
},
onSortColorFontSelect: function(picker, color) {
},
onCellCheck: function (listView, itemView, record) { onCellCheck: function (listView, itemView, record) {
if (this.checkCellTrigerBlock) if (this.checkCellTrigerBlock)
return; return;
...@@ -834,6 +862,34 @@ define([ ...@@ -834,6 +862,34 @@ define([
this.miTextFilter.setChecked(isCustomFilter && isTextFilter, true); this.miTextFilter.setChecked(isCustomFilter && isTextFilter, true);
this.miNumFilter.setChecked(isCustomFilter && !isTextFilter, true); this.miNumFilter.setChecked(isCustomFilter && !isTextFilter, true);
if (colorsFont && colorsFont.length>0) {
var colors = [];
colorsFont.forEach(function(item, index) {
colors.push(Common.Utils.ThemeColor.getHexColor(item.get_r(), item.get_g(), item.get_b()).toLocaleUpperCase());
});
this.mnuSortColorFontPicker.updateColors(colors);
this.mnuFilterColorFontPicker.updateColors(colors);
this.miSortFontColor.setVisible(true);
this.miFilterFontColor.setVisible(true);
} else {
this.miSortFontColor.setVisible(false);
this.miFilterFontColor.setVisible(false);
}
if (colorsFill && colorsFill.length>0) {
var colors = [];
colorsFill.forEach(function(item, index) {
colors.push(Common.Utils.ThemeColor.getHexColor(item.get_r(), item.get_g(), item.get_b()).toLocaleUpperCase());
});
this.mnuSortColorCellsPicker.updateColors(colors);
this.mnuFilterColorCellsPicker.updateColors(colors);
this.miSortCellColor.setVisible(true);
this.miFilterCellColor.setVisible(true);
} else {
this.miSortCellColor.setVisible(false);
this.miFilterCellColor.setVisible(false);
}
if (isCustomFilter) { if (isCustomFilter) {
var customFilter = filterObj.asc_getFilter(), var customFilter = filterObj.asc_getFilter(),
customFilters = customFilter.asc_getCustomFilters(), customFilters = customFilter.asc_getCustomFilters(),
...@@ -855,6 +911,15 @@ define([ ...@@ -855,6 +911,15 @@ define([
} }
if (isCustomConditions) if (isCustomConditions)
items[items.length-1].setChecked(true, true); items[items.length-1].setChecked(true, true);
} else if (this.initialFilterType === Asc.c_oAscAutoFilterTypes.ColorFilter) {
var colorFilter = filterObj.asc_getFilter(),
filterColor = colorFilter.asc_getCColor();
if (filterColor)
filterColor = Common.Utils.ThemeColor.getHexColor(filterColor.get_r(), filterColor.get_g(), filterColor.get_b()).toLocaleUpperCase();
if ( colorFilter.asc_getCellColor()===null ) // cell color
this.mnuFilterColorCellsPicker.select(filterColor, true);
else if (colorFilter.asc_getCellColor()===false) // font color
this.mnuFilterColorFontPicker.select(filterColor, true);
} }
this.miSortLow2High.setChecked(false, true); this.miSortLow2High.setChecked(false, true);
...@@ -868,33 +933,6 @@ define([ ...@@ -868,33 +933,6 @@ define([
} }
} }
if (colorsFont && colorsFont.length>0) {
var colors = [];
colorsFont.forEach(function(item, index) {
colors.push(Common.Utils.ThemeColor.getHexColor(item.get_r(), item.get_g(), item.get_b()).toLocaleUpperCase());
});
this.mnuSortColorFontPicker.updateColors(colors);
this.mnuFilterColorFontPicker.updateColors(colors);
this.miSortFontColor.setVisible(true);
this.miFilterFontColor.setVisible(true);
} else {
this.miSortFontColor.setVisible(false);
this.miFilterFontColor.setVisible(false);
}
if (colorsFill && colorsFill.length>0) {
var colors = [];
colorsFill.forEach(function(item, index) {
colors.push(Common.Utils.ThemeColor.getHexColor(item.get_r(), item.get_g(), item.get_b()).toLocaleUpperCase());
});
this.mnuSortColorCellsPicker.updateColors(colors);
this.mnuFilterColorCellsPicker.updateColors(colors);
this.miSortCellColor.setVisible(true);
this.miFilterCellColor.setVisible(true);
} else {
this.miSortCellColor.setVisible(false);
this.miFilterCellColor.setVisible(false);
}
this.btnOk.setDisabled(isCustomFilter); this.btnOk.setDisabled(isCustomFilter);
}, },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment