forked from newthuhole/hole_thu_frontend
add unique filter
This commit is contained in:
19
src/Flows.js
19
src/Flows.js
@@ -137,6 +137,7 @@ export class Flow extends Component {
|
|||||||
chunks: [],
|
chunks: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
};
|
};
|
||||||
|
this.on_scroll_bound=this.on_scroll.bind(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
load_page(page) {
|
load_page(page) {
|
||||||
@@ -153,7 +154,10 @@ export class Flow extends Component {
|
|||||||
this.setState((prev,props)=>({
|
this.setState((prev,props)=>({
|
||||||
chunks: prev.chunks.concat([{
|
chunks: prev.chunks.concat([{
|
||||||
title: 'Page '+page,
|
title: 'Page '+page,
|
||||||
data: json.data,
|
data: json.data.filter((x)=>(
|
||||||
|
prev.chunks.length===0 ||
|
||||||
|
!(prev.chunks[prev.chunks.length-1].data.some((p)=>p.pid===x.pid))
|
||||||
|
)),
|
||||||
}]),
|
}]),
|
||||||
loading: false,
|
loading: false,
|
||||||
}));
|
}));
|
||||||
@@ -200,8 +204,8 @@ export class Flow extends Component {
|
|||||||
chunks: [{
|
chunks: [{
|
||||||
title: 'PID = '+pid,
|
title: 'PID = '+pid,
|
||||||
data: [json.data],
|
data: [json.data],
|
||||||
mode: 'single_finished',
|
|
||||||
}],
|
}],
|
||||||
|
mode: 'single_finished',
|
||||||
loading: false,
|
loading: false,
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
@@ -209,6 +213,9 @@ export class Flow extends Component {
|
|||||||
console.trace(err);
|
console.trace(err);
|
||||||
alert('load failed');
|
alert('load failed');
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
console.log('nothing to load');
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
this.setState((prev,props)=>({
|
this.setState((prev,props)=>({
|
||||||
loaded_pages: prev.loaded_pages+1,
|
loaded_pages: prev.loaded_pages+1,
|
||||||
@@ -228,12 +235,12 @@ export class Flow extends Component {
|
|||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.load_page(1);
|
this.load_page(1);
|
||||||
window.addEventListener('scroll',this.on_scroll.bind(this));
|
window.addEventListener('scroll',this.on_scroll_bound);
|
||||||
window.addEventListener('resize',this.on_scroll.bind(this));
|
window.addEventListener('resize',this.on_scroll_bound);
|
||||||
}
|
}
|
||||||
componentWillUnmount() {
|
componentWillUnmount() {
|
||||||
window.removeEventListener('scroll',this.on_scroll.bind(this));
|
window.removeEventListener('scroll',this.on_scroll_bound);
|
||||||
window.removeEventListener('resize',this.on_scroll.bind(this));
|
window.removeEventListener('resize',this.on_scroll_bound);
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
|||||||
Reference in New Issue
Block a user