Skip to content

Commit 77ffba5

Browse files
committed
feat(core): Add Clear all filters to grid menu
1 parent 6205b8c commit 77ffba5

26 files changed

+143
-105
lines changed

src/features/cellnav/test/uiGridCellNavService.spec.js

+16-16
Original file line numberDiff line numberDiff line change
@@ -162,20 +162,20 @@ describe('ui.grid.edit uiGridCellNavService', function () {
162162

163163
describe('scrollTo', function () {
164164
/*
165-
* We have 11 rows (10 visible) and 11 columns (10 visible). The column widths are
165+
* We have 11 rows (10 visible) and 11 columns (10 visible). The column widths are
166166
* 100 for the first 5, and 200 for the second 5. Column 2 and row 2 are invisible.
167167
*/
168168
var evt;
169169
var args;
170170
var $scope;
171-
171+
172172
beforeEach(function(){
173173
var i, j, row;
174174
grid.options.columnDefs = [];
175175
for ( i = 0; i < 11; i++ ){
176176
grid.options.columnDefs.push({name: 'col' + i});
177177
}
178-
178+
179179
grid.options.data = [];
180180
for ( i = 0; i < 11; i++ ){
181181
row = {};
@@ -184,16 +184,16 @@ describe('ui.grid.edit uiGridCellNavService', function () {
184184
}
185185
grid.options.data.push( row );
186186
}
187-
187+
188188
uiGridCellNavService.initializeGrid(grid);
189-
grid.modifyRows(grid.options.data);
190-
189+
grid.modifyRows(grid.options.data);
190+
191191
grid.registerColumnBuilder(uiGridCellNavService.cellNavColumnBuilder);
192192
grid.buildColumns();
193-
193+
194194
grid.columns[2].visible = false;
195195
grid.rows[2].visible = false;
196-
196+
197197
grid.setVisibleColumns(grid.columns);
198198
grid.setVisibleRows(grid.rows);
199199

@@ -202,14 +202,14 @@ describe('ui.grid.edit uiGridCellNavService', function () {
202202
for ( i = 0; i < 11; i++ ){
203203
grid.columns[i].drawnWidth = i < 6 ? 100 : 200;
204204
}
205-
205+
206206
$scope = $rootScope.$new();
207207

208208
args = null;
209209
grid.api.core.on.scrollEnd($scope, function( receivedArgs ){
210210
args = receivedArgs;
211211
});
212-
212+
213213
});
214214

215215

@@ -232,7 +232,7 @@ describe('ui.grid.edit uiGridCellNavService', function () {
232232
grid.scrollTo( grid.options.data[0], null);
233233
});
234234
$timeout.flush();
235-
235+
236236
expect(Math.round(args.y.percentage * 10)/10).toBe(0.1);
237237
});
238238

@@ -241,7 +241,7 @@ describe('ui.grid.edit uiGridCellNavService', function () {
241241
grid.scrollTo( grid.options.data[10], null);
242242
});
243243
$timeout.flush();
244-
244+
245245
expect(args.y.percentage).toBeGreaterThan(0.5);
246246
expect(args.x).toBe(null);
247247
});
@@ -251,7 +251,7 @@ describe('ui.grid.edit uiGridCellNavService', function () {
251251
grid.scrollTo( grid.options.data[5], null);
252252
});
253253
$timeout.flush();
254-
254+
255255
expect(Math.round(args.y.percentage * 10)/10).toEqual( 0.5);
256256
expect(args.x).toBe(null);
257257
});
@@ -281,7 +281,7 @@ describe('ui.grid.edit uiGridCellNavService', function () {
281281
grid.scrollTo( null, grid.columns[8].colDef);
282282
});
283283
$timeout.flush();
284-
284+
285285
expect(isNaN(args.x.percentage)).toEqual( true );
286286
});
287287

@@ -290,8 +290,8 @@ describe('ui.grid.edit uiGridCellNavService', function () {
290290
grid.scrollTo( null, null );
291291
});
292292
$timeout.flush();
293-
293+
294294
expect(args).toEqual( null );
295295
});
296296
});
297-
});
297+
});

src/js/core/directives/ui-grid-menu-button.js

+12
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,18 @@ angular.module('ui.grid')
190190
}
191191
}
192192

193+
var clearFilters = [{
194+
title: i18nService.getSafeText('gridMenu.clearAllFilters'),
195+
action: function ($event) {
196+
$scope.grid.clearAllFilters(undefined, true, undefined);
197+
},
198+
shown: function() {
199+
return $scope.grid.options.enableFiltering;
200+
},
201+
order: 100
202+
}];
203+
menuItems = menuItems.concat( clearFilters );
204+
193205
menuItems = menuItems.concat( $scope.registeredMenuItems );
194206

195207
if ( $scope.grid.options.gridMenuShowHideColumns !== false ){

src/js/i18n/cs.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@
5353
exporterSelectedAsCsv: 'Exportovat vybranné data do csv',
5454
exporterAllAsPdf: 'Exportovat všechny data do pdf',
5555
exporterVisibleAsPdf: 'Exportovat viditelné data do pdf',
56-
exporterSelectedAsPdf: 'Exportovat vybranné data do pdf'
56+
exporterSelectedAsPdf: 'Exportovat vybranné data do pdf',
57+
clearAllFilters: 'Vyčistěte všechny filtry'
5758
},
5859
importer: {
5960
noHeaders: 'Názvy sloupců se nepodařilo získat, obsahuje soubor záhlaví?',

src/js/i18n/da.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@
4040
exporterSelectedAsCsv: 'Export selected data as csv',
4141
exporterAllAsPdf: 'Export all data as pdf',
4242
exporterVisibleAsPdf: 'Export visible data as pdf',
43-
exporterSelectedAsPdf: 'Export selected data as pdf'
43+
exporterSelectedAsPdf: 'Export selected data as pdf',
44+
clearAllFilters: 'Clear all filters'
4445
},
4546
importer: {
4647
noHeaders: 'Column names were unable to be derived, does the file have a header?',
@@ -53,4 +54,4 @@
5354
return $delegate;
5455
}]);
5556
}]);
56-
})();
57+
})();

src/js/i18n/de.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@
5353
exporterSelectedAsCsv: 'markierte Daten als CSV exportieren',
5454
exporterAllAsPdf: 'Alle Daten als PDF exportieren',
5555
exporterVisibleAsPdf: 'sichtbare Daten als PDF exportieren',
56-
exporterSelectedAsPdf: 'markierte Daten als CSV exportieren'
56+
exporterSelectedAsPdf: 'markierte Daten als CSV exportieren',
57+
clearAllFilters: 'Alle filter reinigen'
5758
},
5859
importer: {
5960
noHeaders: 'Es konnten keine Spaltennamen ermittelt werden. Sind in der Datei Spaltendefinitionen enthalten?',

src/js/i18n/en.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@
6969
exporterSelectedAsCsv: 'Export selected data as csv',
7070
exporterAllAsPdf: 'Export all data as pdf',
7171
exporterVisibleAsPdf: 'Export visible data as pdf',
72-
exporterSelectedAsPdf: 'Export selected data as pdf'
72+
exporterSelectedAsPdf: 'Export selected data as pdf',
73+
clearAllFilters: 'Clear all filters'
7374
},
7475
importer: {
7576
noHeaders: 'Column names were unable to be derived, does the file have a header?',

src/js/i18n/es.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@
5050
exporterSelectedAsCsv: 'Exportar selección como csv',
5151
exporterAllAsPdf: 'Exportar todo como pdf',
5252
exporterVisibleAsPdf: 'Exportar vista como pdf',
53-
exporterSelectedAsPdf: 'Exportar selección como pdf'
53+
exporterSelectedAsPdf: 'Exportar selección como pdf',
54+
clearAllFilters: 'Limpiar todos los filtros'
5455
},
5556
importer: {
5657
noHeaders: 'No fue posible derivar los nombres de las columnas, ¿tiene encabezados el archivo?',

src/js/i18n/fa.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@
5656
exporterSelectedAsCsv: 'خروجی داده\u200cهای انتخاب\u200cشده در فایل csv',
5757
exporterAllAsPdf: 'خروجی تمام داده\u200cها در فایل pdf',
5858
exporterVisibleAsPdf: 'خروجی داده\u200cهای قابل مشاهده در فایل pdf',
59-
exporterSelectedAsPdf: 'خروجی داده\u200cهای انتخاب\u200cشده در فایل pdf'
59+
exporterSelectedAsPdf: 'خروجی داده\u200cهای انتخاب\u200cشده در فایل pdf',
60+
clearAllFilters: 'پاک کردن تمام فیلتر'
6061
},
6162
importer: {
6263
noHeaders: 'نام ستون قابل استخراج نیست. آیا فایل عنوان دارد؟',

src/js/i18n/fi.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@
5353
exporterSelectedAsCsv: 'Vie valittu tieto csv-muodossa',
5454
exporterAllAsPdf: 'Vie tiedot pdf-muodossa',
5555
exporterVisibleAsPdf: 'Vie näkyvä tieto pdf-muodossa',
56-
exporterSelectedAsPdf: 'Vie valittu tieto pdf-muodossa'
56+
exporterSelectedAsPdf: 'Vie valittu tieto pdf-muodossa',
57+
clearAllFilters: 'Puhdista kaikki suodattimet'
5758
},
5859
importer: {
5960
noHeaders: 'Sarakkeen nimiä ei voitu päätellä, onko tiedostossa otsikkoriviä?',

src/js/i18n/fr.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@
5050
exporterSelectedAsCsv: 'Exporter les données sélectionnées en CSV',
5151
exporterAllAsPdf: 'Exporter toutes les données en PDF',
5252
exporterVisibleAsPdf: 'Exporter les données visibles en PDF',
53-
exporterSelectedAsPdf: 'Exporter les données sélectionnées en PDF'
53+
exporterSelectedAsPdf: 'Exporter les données sélectionnées en PDF',
54+
clearAllFilters: 'Nettoyez tous les filtres'
5455
},
5556
importer: {
5657
noHeaders: 'Impossible de déterminer le nom des colonnes, le fichier possède-t-il une en-tête ?',
@@ -78,4 +79,4 @@
7879
return $delegate;
7980
}]);
8081
}]);
81-
})();
82+
})();

src/js/i18n/he.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@
4848
exporterSelectedAsCsv: 'Export selected data as csv',
4949
exporterAllAsPdf: 'Export all data as pdf',
5050
exporterVisibleAsPdf: 'Export visible data as pdf',
51-
exporterSelectedAsPdf: 'Export selected data as pdf'
51+
exporterSelectedAsPdf: 'Export selected data as pdf',
52+
clearAllFilters: 'Clean all filters'
5253
},
5354
importer: {
5455
noHeaders: 'Column names were unable to be derived, does the file have a header?',
@@ -61,4 +62,4 @@
6162
return $delegate;
6263
}]);
6364
}]);
64-
})();
65+
})();

src/js/i18n/hy.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@
5353
exporterSelectedAsCsv: 'Արտահանել ընտրված տվյալները CSV',
5454
exporterAllAsPdf: 'Արտահանել PDF',
5555
exporterVisibleAsPdf: 'Արտահանել երևացող տվյալները PDF',
56-
exporterSelectedAsPdf: 'Արտահանել ընտրված տվյալները PDF'
56+
exporterSelectedAsPdf: 'Արտահանել ընտրված տվյալները PDF',
57+
clearAllFilters: 'Մաքրել բոլոր ֆիլտրերը'
5758
},
5859
importer: {
5960
noHeaders: 'Հնարավոր չեղավ որոշել սյան վերնագրերը։ Արդյո՞ք ֆայլը ունի վերնագրեր։',

src/js/i18n/it.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@
5353
exporterSelectedAsCsv: 'Esporta i dati selezionati in CSV',
5454
exporterAllAsPdf: 'Esporta tutti i dati in PDF',
5555
exporterVisibleAsPdf: 'Esporta i dati visibili in PDF',
56-
exporterSelectedAsPdf: 'Esporta i dati selezionati in PDF'
56+
exporterSelectedAsPdf: 'Esporta i dati selezionati in PDF',
57+
clearAllFilters: 'Pulire tutti i filtri'
5758
},
5859
importer: {
5960
noHeaders: 'Impossibile reperire i nomi delle colonne, sicuro che siano indicati all\'interno del file?',

src/js/i18n/ja.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@
5050
exporterSelectedAsCsv: '選択したデータをCSV形式でエクスポート',
5151
exporterAllAsPdf: 'すべてのデータをPDF形式でエクスポート',
5252
exporterVisibleAsPdf: '表示中のデータをPDF形式でエクスポート',
53-
exporterSelectedAsPdf: '選択したデータをPDF形式でエクスポート'
53+
exporterSelectedAsPdf: '選択したデータをPDF形式でエクスポート',
54+
clearAllFilters: 'すべてのフィルタを清掃してください'
5455
},
5556
importer: {
5657
noHeaders: '列名を取得できません。ファイルにヘッダが含まれていることを確認してください。',

src/js/i18n/ko.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@
5050
exporterSelectedAsCsv: 'csv로 선택된 데이터 내보내기',
5151
exporterAllAsPdf: 'pdf로 모든 데이터 내보내기',
5252
exporterVisibleAsPdf: 'pdf로 보이는 데이터 내보내기',
53-
exporterSelectedAsPdf: 'pdf로 선택 데이터 내보내기'
53+
exporterSelectedAsPdf: 'pdf로 선택 데이터 내보내기',
54+
clearAllFilters: '모든 필터를 청소'
5455
},
5556
importer: {
5657
noHeaders: '컬럼명이 지정되어 있지 않습니다. 파일에 헤더가 명시되어 있는지 확인해 주세요.',

src/js/i18n/nl.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@
5050
exporterSelectedAsCsv: 'Exporteer geselecteerde data als csv',
5151
exporterAllAsPdf: 'Exporteer alle data als pdf',
5252
exporterVisibleAsPdf: 'Exporteer zichtbare data als pdf',
53-
exporterSelectedAsPdf: 'Exporteer geselecteerde data als pdf'
53+
exporterSelectedAsPdf: 'Exporteer geselecteerde data als pdf',
54+
clearAllFilters: 'Reinig alle filters'
5455
},
5556
importer: {
5657
noHeaders: 'Kolomnamen kunnen niet worden afgeleid. Heeft het bestand een header?',

src/js/i18n/pt-br.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@
5353
exporterSelectedAsCsv: 'Exportar dados selecionados como csv',
5454
exporterAllAsPdf: 'Exportar todos os dados como pdf',
5555
exporterVisibleAsPdf: 'Exportar dados visíveis como pdf',
56-
exporterSelectedAsPdf: 'Exportar dados selecionados como pdf'
56+
exporterSelectedAsPdf: 'Exportar dados selecionados como pdf',
57+
clearAllFilters: 'Limpar todos os filtros'
5758
},
5859
importer: {
5960
noHeaders: 'Nomes de colunas não puderam ser derivados. O arquivo tem um cabeçalho?',

src/js/i18n/pt.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@
5050
exporterSelectedAsCsv: 'Exportar dados selecionados como csv',
5151
exporterAllAsPdf: 'Exportar todos os dados como pdf',
5252
exporterVisibleAsPdf: 'Exportar dados visíveis como pdf',
53-
exporterSelectedAsPdf: 'Exportar dados selecionados como pdf'
53+
exporterSelectedAsPdf: 'Exportar dados selecionados como pdf',
54+
clearAllFilters: 'Limpar todos os filtros'
5455
},
5556
importer: {
5657
noHeaders: 'Nomes de colunas não puderam ser derivados. O ficheiro tem um cabeçalho?',
@@ -73,7 +74,7 @@
7374
aggregate_min: 'Agr: Min',
7475
aggregate_avg: 'Agr: Med',
7576
aggregate_remove: 'Agr: Remover'
76-
}
77+
}
7778
});
7879
return $delegate;
7980
}]);

src/js/i18n/ru.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@
4949
exporterSelectedAsCsv: 'Экспортировать выбранные данные в CSV',
5050
exporterAllAsPdf: 'Экспортировать всё в PDF',
5151
exporterVisibleAsPdf: 'Экспортировать видимые данные в PDF',
52-
exporterSelectedAsPdf: 'Экспортировать выбранные данные в PDF'
52+
exporterSelectedAsPdf: 'Экспортировать выбранные данные в PDF',
53+
clearAllFilters: 'Очистите все фильтры'
5354
},
5455
importer: {
5556
noHeaders: 'Column names were unable to be derived, does the file have a header?',

src/js/i18n/sk.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@
4545
exporterSelectedAsCsv: 'Export selected data as csv',
4646
exporterAllAsPdf: 'Export all data as pdf',
4747
exporterVisibleAsPdf: 'Export visible data as pdf',
48-
exporterSelectedAsPdf: 'Export selected data as pdf'
48+
exporterSelectedAsPdf: 'Export selected data as pdf',
49+
clearAllFilters: 'Clear all filters'
4950
},
5051
importer: {
5152
noHeaders: 'Column names were unable to be derived, does the file have a header?',

src/js/i18n/sv.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@
5353
exporterSelectedAsCsv: 'Exportera markerad data som CSV',
5454
exporterAllAsPdf: 'Exportera all data som PDF',
5555
exporterVisibleAsPdf: 'Exportera synlig data som PDF',
56-
exporterSelectedAsPdf: 'Exportera markerad data som PDF'
56+
exporterSelectedAsPdf: 'Exportera markerad data som PDF',
57+
clearAllFilters: 'Rengör alla filter'
5758
},
5859
importer: {
5960
noHeaders: 'Kolumnnamn kunde inte härledas. Har filen ett sidhuvud?',

src/js/i18n/ta.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@
5353
exporterSelectedAsCsv: 'தேர்ந்தெடுத்த தரவுகளை கோப்பாக்கு: csv',
5454
exporterAllAsPdf: 'எல்லா தரவுகளையும் கோப்பாக்கு: pdf',
5555
exporterVisibleAsPdf: 'இருக்கும் தரவுகளை கோப்பாக்கு: pdf',
56-
exporterSelectedAsPdf: 'தேர்ந்தெடுத்த தரவுகளை கோப்பாக்கு: pdf'
56+
exporterSelectedAsPdf: 'தேர்ந்தெடுத்த தரவுகளை கோப்பாக்கு: pdf',
57+
clearAllFilters: 'Clear all filters'
5758
},
5859
importer: {
5960
noHeaders: 'பத்தியின் தலைப்புகளை பெற இயலவில்லை, கோப்பிற்கு தலைப்பு உள்ளதா?',

src/js/i18n/zh-cn.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@
5050
exporterSelectedAsCsv: '导出已选数据到CSV',
5151
exporterAllAsPdf: '导出全部数据到PDF',
5252
exporterVisibleAsPdf: '导出可见数据到PDF',
53-
exporterSelectedAsPdf: '导出已选数据到PDF'
53+
exporterSelectedAsPdf: '导出已选数据到PDF',
54+
clearAllFilters: '清除所有过滤器'
5455
},
5556
importer: {
5657
noHeaders: '无法获取列名,确定文件包含表头?',

src/js/i18n/zh-tw.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@
5050
exporterSelectedAsCsv: '導出已選數據到CSV',
5151
exporterAllAsPdf: '導出全部數據到PDF',
5252
exporterVisibleAsPdf: '導出可見數據到PDF',
53-
exporterSelectedAsPdf: '導出已選數據到PDF'
53+
exporterSelectedAsPdf: '導出已選數據到PDF',
54+
clearAllFilters: '清除所有过滤器'
5455
},
5556
importer: {
5657
noHeaders: '無法獲取列名,確定文件包含表頭?',

0 commit comments

Comments
 (0)