@@ -13,11 +13,26 @@ function initializeForm() {
13
13
browser . storage . local . get ( ) . then ( onGot , onError ) ;
14
14
15
15
function onGot ( options ) {
16
+ let lockdownHours = options [ "lockdownHours" ] ;
17
+ if ( lockdownHours > 0 ) {
18
+ document . querySelector ( "#hours" ) . value = lockdownHours ;
19
+ }
20
+
21
+ let lockdownMins = options [ "lockdownMins" ] ;
22
+ if ( lockdownMins > 0 ) {
23
+ document . querySelector ( "#mins" ) . value = lockdownMins ;
24
+ }
25
+
16
26
for ( let set = 1 ; set <= NUM_SETS ; set ++ ) {
27
+ let lockdown = options [ `lockdown${ set } ` ] ;
28
+ if ( lockdown ) {
29
+ document . querySelector ( `#blockSet${ set } ` ) . checked = lockdown ;
30
+ }
31
+
17
32
// Append custom set name to check box label (if specified)
18
33
let setName = options [ `setName${ set } ` ] ;
19
34
if ( setName ) {
20
- document . querySelector ( `#siteLabel ${ set } ` ) . innerText += ` (${ setName } )` ;
35
+ document . querySelector ( `#blockSetLabel ${ set } ` ) . innerText += ` (${ setName } )` ;
21
36
}
22
37
}
23
38
}
@@ -37,7 +52,7 @@ function onActivate() {
37
52
let mins = document . querySelector ( "#mins" ) . value ;
38
53
let duration = hours * 3600 + mins * 60 ;
39
54
40
- if ( ! duration ) {
55
+ if ( ! duration || duration < 0 ) {
41
56
$ ( "#alertNoDuration" ) . dialog ( "open" ) ;
42
57
return ;
43
58
}
@@ -48,7 +63,7 @@ function onActivate() {
48
63
// Request lockdown for each selected set
49
64
let noneSelected = true ;
50
65
for ( let set = 1 ; set <= NUM_SETS ; set ++ ) {
51
- let selected = document . querySelector ( `#site ${ set } ` ) . checked ;
66
+ let selected = document . querySelector ( `#blockSet ${ set } ` ) . checked ;
52
67
if ( selected ) {
53
68
noneSelected = false ;
54
69
let message = {
@@ -66,6 +81,15 @@ function onActivate() {
66
81
return ;
67
82
}
68
83
84
+ // Save options for next time
85
+ let options = { } ;
86
+ options [ "lockdownHours" ] = hours ;
87
+ options [ "lockdownMins" ] = mins ;
88
+ for ( let set = 1 ; set <= NUM_SETS ; set ++ ) {
89
+ options [ `lockdown${ set } ` ] = document . querySelector ( `#blockSet${ set } ` ) . checked ;
90
+ }
91
+ browser . storage . local . set ( options ) ;
92
+
69
93
// Request tab close
70
94
browser . runtime . sendMessage ( { type : "close" } ) ;
71
95
}
@@ -82,12 +106,12 @@ function onCancel() {
82
106
/*** STARTUP CODE BEGINS HERE ***/
83
107
84
108
// Use HTML for first check box to create other check boxes
85
- let siteHTML = $ ( "#sites " ) . html ( ) ;
109
+ let blockSetHTML = $ ( "#blockSets " ) . html ( ) ;
86
110
for ( let set = 2 ; set <= NUM_SETS ; set ++ ) {
87
- let nextSiteHTML = siteHTML
111
+ let nextSetHTML = blockSetHTML
88
112
. replace ( / B l o c k S e t 1 / g, `Block Set ${ set } ` )
89
113
. replace ( / ( i d | f o r ) = " ( \w + ) 1 " / g, `$1="$2${ set } "` ) ;
90
- $ ( "#sites " ) . append ( nextSiteHTML ) ;
114
+ $ ( "#blockSets " ) . append ( nextSetHTML ) ;
91
115
}
92
116
93
117
// Set up JQuery UI widgets
0 commit comments