if (tmpPortalEntries[page_col] === undefined) {
tmpPortalEntries[page_col] = [];
}
- tmpPortalEntries[page_col][item.col_pos()] = item;
+ if (tmpPortalEntries[page_col][item.col_pos()] === undefined) {
+ tmpPortalEntries[page_col][item.col_pos()] = [];
+ }
+ // we push here, then flatten the results when we filter
+ // by owner later because (page_col, col_pos) is not
+ // guaranteed to be unique
+ tmpPortalEntries[page_col][item.col_pos()].push(item);
},
err => {},
() => {
for (let ou of wsAncestors) {
tmpPortalEntries.forEach((col) => {
if (col !== undefined) {
- const filtered = col.filter(x => x !== undefined)
+ const filtered = col.reduce((prev, curr) => prev.concat(curr), [])
+ .filter(x => x !== undefined)
.filter(x => ou === x.owner());
if (filtered.length) {
foundMatch = true;