From 7ec26813a0cae0996f2d5873b9bdd1aeede68d41 Mon Sep 17 00:00:00 2001 From: Determinant Date: Mon, 11 Feb 2019 00:13:45 -0500 Subject: support custom color --- src/Settings.js | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'src/Settings.js') diff --git a/src/Settings.js b/src/Settings.js index 9358eee..40f4839 100644 --- a/src/Settings.js +++ b/src/Settings.js @@ -196,7 +196,7 @@ class Settings extends React.Component { }).then(() => this.setState({ calendars })); } - async loadAll(loadDefaultPatterns) { + async loadAll(loadPatterns = false) { await new Promise(resolver => (this.setState({ calendarsLoading: true }, resolver))); let colors = gapi.getAuthToken().then(gapi.getColors).then(color => { @@ -213,18 +213,27 @@ class Settings extends React.Component { //cal: new gapi.GCalendar(item.id, item.summary) }}); this.loadCalendars(cals); - if (loadDefaultPatterns) - { - this.loadPatterns(items.map((item, idx) => { - return new PatternEntry(item.summary, idx, - new Pattern(item.id, false, item.summary, item.summary), - Pattern.anyPattern()); - }), 'main'); - } + if (loadPatterns) + this.loadDefaultPatterns(); }); this.setState({ calendarsLoading: false }); }; + loadDefaultPatterns() { + let patterns = []; + let idx = 0; + for (let id in this.state.calendars) { + let cal = this.state.calendars[id]; + if (!cal.enabled) continue; + patterns.push(new PatternEntry(cal.name, idx++, + new Pattern(id, false, cal.name, cal.name), + Pattern.anyPattern(), + cal.color)); + } + console.log(patterns); + this.loadPatterns(patterns, 'main'); + } + loadCalendars = calendars => { for (let id in this.state.calendars) { if (calendars.hasOwnProperty(id)) @@ -246,6 +255,7 @@ class Settings extends React.Component { updatePattern = (field, idx, value) => { let patterns = this.state.patterns; patterns[idx][field] = value; + console.log(patterns[idx]); this.loadPatterns(patterns); }; @@ -378,6 +388,12 @@ class Settings extends React.Component { onClick={() => this.newPattern()} disabled={!this.state.isLoggedIn}> Tracked Events +
+ +
{(this.state.isLoggedIn && -- cgit v1.2.3-70-g09d2