Skip to content

Commit d6ae028

Browse files
committed
Allows to pass a single item without an array. Fix #1
1 parent 47cbd96 commit d6ae028

2 files changed

Lines changed: 18 additions & 9 deletions

File tree

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@ viewer.setFilterOptions({
3232

3333
### Specify on which items (TiledImage) to apply the filters
3434

35-
Increase the brightness on item 0 and invert item 1:
35+
Increase the brightness on item 0 and invert items 1 and 2:
3636
`````javascript
3737
var viewer = new OpenSeadragon.Viewer(...);
3838
viewer.setFilterOptions({
3939
filters: [{
40-
items: [viewer.world.getItemAt(0)],
40+
items: viewer.world.getItemAt(0),
4141
processors: [
4242
OpenSeadragon.Filters.BRIGHTNESS(50)
4343
]
4444
}, {
45-
items: [viewer.world.getItemAt(1)],
45+
items: [viewer.world.getItemAt(1), viewer.world.getItemAt(2)],
4646
processors: [
4747
OpenSeadragon.Filters.INVERT()
4848
]

openseadragon-filtering.js

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -199,12 +199,12 @@
199199
itemsToReset = getAllItems(instance.viewer.world);
200200
break;
201201
}
202-
for (var j = 0; j < filter.items.length; j++) {
203-
if (itemsToReset.indexOf(filter.items[j]) >= 0) {
204-
throw new Error('An item can not have filters ' +
205-
'assigned multiple times.');
202+
if ($.isArray(filter.items)) {
203+
for (var j = 0; j < filter.items.length; j++) {
204+
addItemToReset(filter.items[j], itemsToReset);
206205
}
207-
itemsToReset.push(filter.items[j]);
206+
} else {
207+
addItemToReset(filter.items, itemsToReset);
208208
}
209209
}
210210
for (var i = 0; i < itemsToReset.length; i++) {
@@ -213,6 +213,14 @@
213213
}
214214
}
215215

216+
function addItemToReset(item, itemsToReset) {
217+
if (itemsToReset.indexOf(item) >= 0) {
218+
throw new Error('An item can not have filters ' +
219+
'assigned multiple times.');
220+
}
221+
itemsToReset.push(item);
222+
}
223+
216224
function getAllItems(world) {
217225
var result = [];
218226
for (var i = 0; i < world.getItemCount(); i++) {
@@ -231,7 +239,8 @@
231239
var filter = instance.filters[i];
232240
if (!filter.items) {
233241
globalProcessors = filter.processors;
234-
} else if (filter.items.indexOf(item) >= 0) {
242+
} else if (filter.items === item ||
243+
$.isArray(filter.items) && filter.items.indexOf(item) >= 0) {
235244
return filter.processors;
236245
}
237246
}

0 commit comments

Comments
 (0)