OLD | NEW |
1 /* | 1 /* |
2 * This file is part of Adblock Plus <https://adblockplus.org/>, | 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
3 * Copyright (C) 2006-2015 Eyeo GmbH | 3 * Copyright (C) 2006-2015 Eyeo GmbH |
4 * | 4 * |
5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
8 * | 8 * |
9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 { | 94 { |
95 E("filters-add-command").setAttribute("disabled", !FilterView.editable); | 95 E("filters-add-command").setAttribute("disabled", !FilterView.editable); |
96 }, | 96 }, |
97 | 97 |
98 /** | 98 /** |
99 * Called whenever filter actions menu is opened, initializes menu items. | 99 * Called whenever filter actions menu is opened, initializes menu items. |
100 */ | 100 */ |
101 fillActionsPopup: function() | 101 fillActionsPopup: function() |
102 { | 102 { |
103 let editable = FilterView.editable; | 103 let editable = FilterView.editable; |
104 let items = FilterView.selectedItems.filter(function(i) !i.filter.dummy); | 104 let items = FilterView.selectedItems.filter(i => !i.filter.dummy); |
105 items.sort(function(entry1, entry2) entry1.index - entry2.index); | 105 items.sort((entry1, entry2) => entry1.index - entry2.index); |
106 let activeItems = items.filter(function(i) i.filter instanceof ActiveFilter)
; | 106 let activeItems = items.filter(i => i.filter instanceof ActiveFilter); |
107 | 107 |
108 E("filters-edit-command").setAttribute("disabled", !editable || !items.lengt
h); | 108 E("filters-edit-command").setAttribute("disabled", !editable || !items.lengt
h); |
109 E("filters-delete-command").setAttribute("disabled", !editable || !items.len
gth); | 109 E("filters-delete-command").setAttribute("disabled", !editable || !items.len
gth); |
110 E("filters-resetHitCounts-command").setAttribute("disabled", !activeItems.le
ngth); | 110 E("filters-resetHitCounts-command").setAttribute("disabled", !activeItems.le
ngth); |
111 E("filters-moveUp-command").setAttribute("disabled", !editable || FilterView
.isSorted() || !items.length || items[0].index == 0); | 111 E("filters-moveUp-command").setAttribute("disabled", !editable || FilterView
.isSorted() || !items.length || items[0].index == 0); |
112 E("filters-moveDown-command").setAttribute("disabled", !editable || FilterVi
ew.isSorted() || !items.length || items[items.length - 1].index == FilterView.ro
wCount - 1); | 112 E("filters-moveDown-command").setAttribute("disabled", !editable || FilterVi
ew.isSorted() || !items.length || items[items.length - 1].index == FilterView.ro
wCount - 1); |
113 E("filters-copy-command").setAttribute("disabled", !items.length); | 113 E("filters-copy-command").setAttribute("disabled", !items.length); |
114 E("filters-cut-command").setAttribute("disabled", !editable || !items.length
); | 114 E("filters-cut-command").setAttribute("disabled", !editable || !items.length
); |
115 E("filters-paste-command").setAttribute("disabled", !editable || !Utils.clip
board.hasDataMatchingFlavors(["text/unicode"], 1, Utils.clipboard.kGlobalClipboa
rd)); | 115 E("filters-paste-command").setAttribute("disabled", !editable || !Utils.clip
board.hasDataMatchingFlavors(["text/unicode"], 1, Utils.clipboard.kGlobalClipboa
rd)); |
116 }, | 116 }, |
(...skipping 18 matching lines...) Expand all Loading... |
135 }, | 135 }, |
136 | 136 |
137 /** | 137 /** |
138 * Enables or disables all filters in the current selection. | 138 * Enables or disables all filters in the current selection. |
139 */ | 139 */ |
140 selectionToggleDisabled: function() | 140 selectionToggleDisabled: function() |
141 { | 141 { |
142 if (this.treeElement.editingColumn) | 142 if (this.treeElement.editingColumn) |
143 return; | 143 return; |
144 | 144 |
145 let items = FilterView.selectedItems.filter(function(i) i.filter instanceof
ActiveFilter); | 145 let items = FilterView.selectedItems.filter(i => i.filter instanceof ActiveF
ilter); |
146 if (items.length) | 146 if (items.length) |
147 { | 147 { |
148 FilterView.boxObject.beginUpdateBatch(); | 148 FilterView.boxObject.beginUpdateBatch(); |
149 let newValue = !items[0].filter.disabled; | 149 let newValue = !items[0].filter.disabled; |
150 for (let i = 0; i < items.length; i++) | 150 for (let i = 0; i < items.length; i++) |
151 items[i].filter.disabled = newValue; | 151 items[i].filter.disabled = newValue; |
152 FilterView.boxObject.endUpdateBatch(); | 152 FilterView.boxObject.endUpdateBatch(); |
153 } | 153 } |
154 }, | 154 }, |
155 | 155 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 } | 198 } |
199 tree.addEventListener("DOMAttrModified", listener, false); | 199 tree.addEventListener("DOMAttrModified", listener, false); |
200 }, | 200 }, |
201 | 201 |
202 /** | 202 /** |
203 * Deletes items from the list. | 203 * Deletes items from the list. |
204 */ | 204 */ |
205 deleteItems: function(/**Array*/ items) | 205 deleteItems: function(/**Array*/ items) |
206 { | 206 { |
207 let oldIndex = FilterView.selection.currentIndex; | 207 let oldIndex = FilterView.selection.currentIndex; |
208 items.sort(function(entry1, entry2) entry2.index - entry1.index); | 208 items.sort((entry1, entry2) => entry2.index - entry1.index); |
209 | 209 |
210 for (let i = 0; i < items.length; i++) | 210 for (let i = 0; i < items.length; i++) |
211 FilterStorage.removeFilter(items[i].filter, FilterView._subscription, item
s[i].index); | 211 FilterStorage.removeFilter(items[i].filter, FilterView._subscription, item
s[i].index); |
212 | 212 |
213 FilterView.selectRow(oldIndex); | 213 FilterView.selectRow(oldIndex); |
214 }, | 214 }, |
215 | 215 |
216 /** | 216 /** |
217 * Deletes selected filters. | 217 * Deletes selected filters. |
218 */ | 218 */ |
(...skipping 10 matching lines...) Expand all Loading... |
229 }, | 229 }, |
230 | 230 |
231 /** | 231 /** |
232 * Resets hit counts of the selected filters. | 232 * Resets hit counts of the selected filters. |
233 */ | 233 */ |
234 resetHitCounts: function() | 234 resetHitCounts: function() |
235 { | 235 { |
236 if (this.treeElement.editingColumn) | 236 if (this.treeElement.editingColumn) |
237 return; | 237 return; |
238 | 238 |
239 let items = FilterView.selectedItems.filter(function(i) i.filter instanceof
ActiveFilter); | 239 let items = FilterView.selectedItems.filter(i => i.filter instanceof ActiveF
ilter); |
240 if (items.length) | 240 if (items.length) |
241 FilterStorage.resetHitCounts(items.map(function(i) i.filter)); | 241 FilterStorage.resetHitCounts(items.map(i => i.filter)); |
242 }, | 242 }, |
243 | 243 |
244 /** | 244 /** |
245 * Moves items to a different position in the list. | 245 * Moves items to a different position in the list. |
246 * @param {Array} items | 246 * @param {Array} items |
247 * @param {Integer} offset negative offsets move the items up, positive down | 247 * @param {Integer} offset negative offsets move the items up, positive down |
248 */ | 248 */ |
249 _moveItems: function(/**Array*/ items, /**Integer*/ offset) | 249 _moveItems: function(/**Array*/ items, /**Integer*/ offset) |
250 { | 250 { |
251 if (!items.length) | 251 if (!items.length) |
252 return; | 252 return; |
253 | 253 |
254 if (offset < 0) | 254 if (offset < 0) |
255 { | 255 { |
256 items.sort(function(entry1, entry2) entry1.index - entry2.index); | 256 items.sort((entry1, entry2) => entry1.index - entry2.index); |
257 let position = items[0].index + offset; | 257 let position = items[0].index + offset; |
258 if (position < 0) | 258 if (position < 0) |
259 return; | 259 return; |
260 | 260 |
261 for (let i = 0; i < items.length; i++) | 261 for (let i = 0; i < items.length; i++) |
262 FilterStorage.moveFilter(items[i].filter, FilterView._subscription, item
s[i].index, position++); | 262 FilterStorage.moveFilter(items[i].filter, FilterView._subscription, item
s[i].index, position++); |
263 FilterView.selection.rangedSelect(position - items.length, position - 1, f
alse); | 263 FilterView.selection.rangedSelect(position - items.length, position - 1, f
alse); |
264 } | 264 } |
265 else if (offset > 0) | 265 else if (offset > 0) |
266 { | 266 { |
267 items.sort(function(entry1, entry2) entry2.index - entry1.index); | 267 items.sort((entry1, entry2) => entry2.index - entry1.index); |
268 let position = items[0].index + offset; | 268 let position = items[0].index + offset; |
269 if (position >= FilterView.rowCount) | 269 if (position >= FilterView.rowCount) |
270 return; | 270 return; |
271 | 271 |
272 for (let i = 0; i < items.length; i++) | 272 for (let i = 0; i < items.length; i++) |
273 FilterStorage.moveFilter(items[i].filter, FilterView._subscription, item
s[i].index, position--); | 273 FilterStorage.moveFilter(items[i].filter, FilterView._subscription, item
s[i].index, position--); |
274 FilterView.selection.rangedSelect(position + 1, position + items.length, f
alse); | 274 FilterView.selection.rangedSelect(position + 1, position + items.length, f
alse); |
275 } | 275 } |
276 }, | 276 }, |
277 | 277 |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 /** | 401 /** |
402 * Copies selected items to clipboard and optionally removes them from the | 402 * Copies selected items to clipboard and optionally removes them from the |
403 * list after that. | 403 * list after that. |
404 */ | 404 */ |
405 copySelected: function(/**Boolean*/ keep) | 405 copySelected: function(/**Boolean*/ keep) |
406 { | 406 { |
407 let items = FilterView.selectedItems; | 407 let items = FilterView.selectedItems; |
408 if (!items.length) | 408 if (!items.length) |
409 return; | 409 return; |
410 | 410 |
411 items.sort(function(entry1, entry2) entry1.index - entry2.index); | 411 items.sort((entry1, entry2) => entry1.index - entry2.index); |
412 let text = items.map(function(i) i.filter.text).join(IO.lineBreak); | 412 let text = items.map(i => i.filter.text).join(IO.lineBreak); |
413 Utils.clipboardHelper.copyString(text); | 413 Utils.clipboardHelper.copyString(text); |
414 | 414 |
415 if (!keep && FilterView.editable && !this.treeElement.editingColumn) | 415 if (!keep && FilterView.editable && !this.treeElement.editingColumn) |
416 this.deleteItems(items); | 416 this.deleteItems(items); |
417 }, | 417 }, |
418 | 418 |
419 /** | 419 /** |
420 * Pastes text from clipboard as filters at the current position. | 420 * Pastes text from clipboard as filters at the current position. |
421 */ | 421 */ |
422 paste: function() | 422 paste: function() |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 | 458 |
459 /** | 459 /** |
460 * Called whenever the user starts a drag operation. | 460 * Called whenever the user starts a drag operation. |
461 */ | 461 */ |
462 startDrag: function(/**Event*/ event) | 462 startDrag: function(/**Event*/ event) |
463 { | 463 { |
464 let items = FilterView.selectedItems; | 464 let items = FilterView.selectedItems; |
465 if (!items.length) | 465 if (!items.length) |
466 return; | 466 return; |
467 | 467 |
468 items.sort(function(entry1, entry2) entry1.index - entry2.index); | 468 items.sort((entry1, entry2) => entry1.index - entry2.index); |
469 event.dataTransfer.setData("text/plain", items.map(function(i) i.filter.text
).join(IO.lineBreak)); | 469 event.dataTransfer.setData("text/plain", items.map(i => i.filter.text).join(
IO.lineBreak)); |
470 this.dragItems = items; | 470 this.dragItems = items; |
471 event.stopPropagation(); | 471 event.stopPropagation(); |
472 }, | 472 }, |
473 | 473 |
474 /** | 474 /** |
475 * Called to check whether moving the items to the given position is possible. | 475 * Called to check whether moving the items to the given position is possible. |
476 */ | 476 */ |
477 canDrop: function(/**Integer*/ newPosition, /**nsIDOMDataTransfer*/ dataTransf
er) | 477 canDrop: function(/**Integer*/ newPosition, /**nsIDOMDataTransfer*/ dataTransf
er) |
478 { | 478 { |
479 if (!FilterView.editable || this.treeElement.editingColumn) | 479 if (!FilterView.editable || this.treeElement.editingColumn) |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
548 return; | 548 return; |
549 | 549 |
550 this.deleteItems(this.dragItems); | 550 this.deleteItems(this.dragItems); |
551 } | 551 } |
552 }; | 552 }; |
553 | 553 |
554 window.addEventListener("load", function() | 554 window.addEventListener("load", function() |
555 { | 555 { |
556 FilterActions.init(); | 556 FilterActions.init(); |
557 }, false); | 557 }, false); |
OLD | NEW |