@@ -48,8 +48,7 @@ if (!window.scrumDateRangeUtils) {
4848 normalizedEndDate = '' ;
4949 }
5050
51- const didChange =
52- normalizedStartDate !== originalStartDate || normalizedEndDate !== originalEndDate ;
51+ const didChange = normalizedStartDate !== originalStartDate || normalizedEndDate !== originalEndDate ;
5352
5453 if ( didChange ) {
5554 startDateInput . value = normalizedStartDate ;
@@ -147,19 +146,16 @@ function handleBodyOnLoad() {
147146 showOpenLabelElement . checked = true ;
148147 handleOpenLabelChange ( ) ;
149148 }
150- const wasNormalizedOnLoad = window . scrumDateRangeUtils . normalizeDateRangeValues (
151- startingDateElement ,
152- endingDateElement ,
153- ) ;
154- if ( wasNormalizedOnLoad ) {
155- window . scrumDateRangeUtils . persistDateRange ( startingDateElement , endingDateElement ) ;
156149 }
157- if ( items . showOpenLabel ) {
158- showOpenLabelElement . checked = items . showOpenLabel ;
159- } else if ( items . showOpenLabel !== false ) {
160- // undefined
161- showOpenLabelElement . checked = true ;
162- handleOpenLabelChange ( ) ;
150+
151+ if ( startingDateElement && endingDateElement ) {
152+ const wasNormalizedOnLoad = window . scrumDateRangeUtils . normalizeDateRangeValues (
153+ startingDateElement ,
154+ endingDateElement ,
155+ ) ;
156+ if ( wasNormalizedOnLoad ) {
157+ window . scrumDateRangeUtils . persistDateRange ( startingDateElement , endingDateElement ) ;
158+ }
163159 }
164160
165161 if ( yesterdayContributionElement ) {
@@ -182,16 +178,19 @@ function handleBodyOnLoad() {
182178 } ) ;
183179}
184180
185- document . getElementById ( 'refreshCache' ) . addEventListener ( 'click' , async ( e ) => {
186- const button = e . currentTarget ;
187- button . classList . add ( 'loading' ) ;
188- button . disabled = true ;
181+ const refreshCacheButton = document . getElementById ( 'refreshCache' ) ;
182+ if ( refreshCacheButton ) {
183+ refreshCacheButton . addEventListener ( 'click' , ( e ) => {
184+ const button = e . currentTarget ;
185+ button . classList . add ( 'loading' ) ;
186+ button . disabled = true ;
189187
190- setTimeout ( ( ) => {
191- button . classList . remove ( 'loading' ) ;
192- button . disabled = false ;
193- } , 500 ) ;
194- } ) ;
188+ setTimeout ( ( ) => {
189+ button . classList . remove ( 'loading' ) ;
190+ button . disabled = false ;
191+ } , 500 ) ;
192+ } ) ;
193+ }
195194
196195function handleStartingDateChange ( ) {
197196 if ( ! startingDateElement ) return ;
@@ -200,18 +199,8 @@ function handleStartingDateChange() {
200199}
201200function handleEndingDateChange ( ) {
202201 if ( ! endingDateElement ) return ;
203- const value = endingDateElement . value ;
204- browser . storage . local . set ( { endingDate : value } ) ;
205- window . scrumDateRangeUtils . normalizeSyncAndPersistDateRange (
206- startingDateElement ,
207- endingDateElement ,
208- ) ;
209- }
210- function handleEndingDateChange ( ) {
211- window . scrumDateRangeUtils . normalizeSyncAndPersistDateRange (
212- startingDateElement ,
213- endingDateElement ,
214- ) ;
202+ if ( ! startingDateElement ) return ;
203+ window . scrumDateRangeUtils . normalizeSyncAndPersistDateRange ( startingDateElement , endingDateElement ) ;
215204}
216205
217206function handleYesterdayContributionChange ( ) {
@@ -222,20 +211,21 @@ function handleYesterdayContributionChange() {
222211 if ( value ) {
223212 if ( startingDateElement ) startingDateElement . readOnly = true ;
224213 if ( endingDateElement ) endingDateElement . readOnly = true ;
225- endingDateElement . value = getToday ( ) ;
226- startingDateElement . value = getYesterday ( ) ;
227- window . scrumDateRangeUtils . normalizeSyncAndPersistDateRange (
228- startingDateElement ,
229- endingDateElement ,
230- ) ;
231- labelElement . classList . add ( 'selectedLabel' ) ;
232- labelElement . classList . remove ( 'unselectedLabel' ) ;
214+ if ( endingDateElement ) endingDateElement . value = getToday ( ) ;
215+ if ( startingDateElement ) startingDateElement . value = getYesterday ( ) ;
216+ window . scrumDateRangeUtils . normalizeSyncAndPersistDateRange ( startingDateElement , endingDateElement ) ;
217+ if ( labelElement ) {
218+ labelElement . classList . add ( 'selectedLabel' ) ;
219+ labelElement . classList . remove ( 'unselectedLabel' ) ;
220+ }
233221 } else {
234- startingDateElement . readOnly = false ;
235- endingDateElement . readOnly = false ;
222+ if ( startingDateElement ) startingDateElement . readOnly = false ;
223+ if ( endingDateElement ) endingDateElement . readOnly = false ;
236224 window . scrumDateRangeUtils . normalizeDateRangeValues ( startingDateElement , endingDateElement ) ;
237- labelElement . classList . add ( 'unselectedLabel' ) ;
238- labelElement . classList . remove ( 'selectedLabel' ) ;
225+ if ( labelElement ) {
226+ labelElement . classList . add ( 'unselectedLabel' ) ;
227+ labelElement . classList . remove ( 'selectedLabel' ) ;
228+ }
239229 }
240230 browser . storage . local . set ( { yesterdayContribution : value } ) ;
241231}
0 commit comments