From 580990a5eb4a79892c48e3a3fce3386fe80e6cc2 Mon Sep 17 00:00:00 2001 From: Determinant Date: Sat, 2 Feb 2019 22:15:54 -0500 Subject: finish cache design --- src/App.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/App.js') diff --git a/src/App.js b/src/App.js index efdb446..43beb53 100644 --- a/src/App.js +++ b/src/App.js @@ -174,22 +174,28 @@ class Dashboard extends React.Component { let event_pms = []; let cals = this.state.calendars; for (let id in cals) - event_pms.push(this.getCalEvents(id, start, end) - .then(r => { return { id, events: r }; })); - console.log(cals); + { + let patterns = filterPatterns(this.state.patterns, cals[id].name); + if (patterns.length > 0) + event_pms.push(this.getCalEvents(id, start, end) + .then(r => { return { id, events: r, patterns }; })); + } Promise.all(event_pms).then(all_events => { console.log(all_events); let events = {}; + let patterns = {}; let results = {}; // pattern idx => time let cal_results = {}; // cal id => time - all_events.forEach(e => events[e.id] = e.events); + all_events.forEach(e => { + events[e.id] = e.events; + patterns[e.id] = e.patterns; + }); for (let i = 0; i < this.state.patterns.length; i++) results[i] = 0; for (let id in cals) { if (!events[id]) continue; - let patterns = filterPatterns(this.state.patterns, cals[id].name); events[id].forEach(event => { - patterns.forEach(p => { + patterns[id].forEach(p => { if (!p.event.regex.test(event.summary)) return; if (!cal_results.hasOwnProperty(id)) { cal_results[id] = 0; -- cgit v1.2.3