mockaton 9.5.0 → 9.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lcov.info CHANGED
@@ -1,5 +1,5 @@
1
1
  TN:
2
- SF:../../../../private/var/folders/f9/fpz2tbzs4tx7jynr9tg5z_j00000gn/T/mocksNw4Oce/api/js-func.POST.200.js
2
+ SF:../../../../private/var/folders/f9/fpz2tbzs4tx7jynr9tg5z_j00000gn/T/mocksAI6QK8/api/js-func.POST.200.js
3
3
  FN:2,default
4
4
  FNDA:1,default
5
5
  FNF:1
@@ -16,7 +16,7 @@ DA:5,1
16
16
  LH:5
17
17
  LF:5
18
18
  end_of_record
19
- SF:../../../../private/var/folders/f9/fpz2tbzs4tx7jynr9tg5z_j00000gn/T/mocksNw4Oce/api/object?param=[param].GET.200.js
19
+ SF:../../../../private/var/folders/f9/fpz2tbzs4tx7jynr9tg5z_j00000gn/T/mocksAI6QK8/api/object?param=[param].GET.200.js
20
20
  FNF:0
21
21
  FNH:0
22
22
  BRDA:1,0,0,1
@@ -1467,9 +1467,9 @@ end_of_record
1467
1467
  SF:src/MockDispatcher.js
1468
1468
  FN:14,dispatchMock
1469
1469
  FN:43,anonymous_1
1470
- FN:59,applyPlugins
1471
- FN:69,jsToJsonPlugin
1472
- FN:80,length
1470
+ FN:54,applyPlugins
1471
+ FN:64,jsToJsonPlugin
1472
+ FN:75,length
1473
1473
  FNDA:63,dispatchMock
1474
1474
  FNDA:57,anonymous_1
1475
1475
  FNDA:56,applyPlugins
@@ -1495,16 +1495,16 @@ BRDA:46,14,0,0
1495
1495
  BRDA:43,15,0,57
1496
1496
  BRDA:43,16,0,1
1497
1497
  BRDA:43,17,0,56
1498
- BRDA:59,18,0,56
1499
- BRDA:62,19,0,2
1500
- BRDA:62,20,0,54
1501
- BRDA:69,21,0,2
1502
- BRDA:72,22,0,1
1503
- BRDA:75,23,0,1
1504
- BRDA:80,24,0,57
1505
- BRDA:81,25,0,3
1506
- BRDA:81,26,0,54
1507
- BRDA:82,27,0,0
1498
+ BRDA:54,18,0,56
1499
+ BRDA:57,19,0,2
1500
+ BRDA:57,20,0,54
1501
+ BRDA:64,21,0,2
1502
+ BRDA:67,22,0,1
1503
+ BRDA:70,23,0,1
1504
+ BRDA:75,24,0,57
1505
+ BRDA:76,25,0,3
1506
+ BRDA:76,26,0,54
1507
+ BRDA:77,27,0,0
1508
1508
  BRF:28
1509
1509
  BRH:24
1510
1510
  DA:1,2
@@ -1558,42 +1558,37 @@ DA:48,0
1558
1558
  DA:49,0
1559
1559
  DA:50,0
1560
1560
  DA:51,0
1561
- DA:52,0
1562
- DA:53,0
1563
- DA:54,0
1564
- DA:55,0
1565
- DA:56,0
1566
- DA:57,63
1567
- DA:58,2
1568
- DA:59,56
1569
- DA:60,56
1570
- DA:61,56
1561
+ DA:52,63
1562
+ DA:53,2
1563
+ DA:54,56
1564
+ DA:55,56
1565
+ DA:56,56
1566
+ DA:57,56
1567
+ DA:58,54
1568
+ DA:59,54
1569
+ DA:60,54
1570
+ DA:61,54
1571
1571
  DA:62,56
1572
- DA:63,54
1573
- DA:64,54
1574
- DA:65,54
1575
- DA:66,54
1576
- DA:67,56
1577
- DA:68,2
1572
+ DA:63,2
1573
+ DA:64,2
1574
+ DA:65,2
1575
+ DA:66,2
1576
+ DA:67,2
1577
+ DA:68,1
1578
1578
  DA:69,2
1579
1579
  DA:70,2
1580
1580
  DA:71,2
1581
1581
  DA:72,2
1582
- DA:73,1
1582
+ DA:73,2
1583
1583
  DA:74,2
1584
- DA:75,2
1585
- DA:76,2
1586
- DA:77,2
1587
- DA:78,2
1588
- DA:79,2
1584
+ DA:75,57
1585
+ DA:76,57
1586
+ DA:77,54
1587
+ DA:78,0
1588
+ DA:79,0
1589
1589
  DA:80,57
1590
- DA:81,57
1591
- DA:82,54
1592
- DA:83,0
1593
- DA:84,0
1594
- DA:85,57
1595
1590
  LH:73
1596
- LF:85
1591
+ LF:80
1597
1592
  end_of_record
1598
1593
  SF:src/ProxyRelay.js
1599
1594
  FN:12,proxy
@@ -1680,7 +1675,7 @@ FNDA:3,setStatus
1680
1675
  FNDA:26,all
1681
1676
  FNDA:117,init
1682
1677
  FNDA:469,registerStaticMock
1683
- FNDA:1,unregisterStaticMock
1678
+ FNDA:2,unregisterStaticMock
1684
1679
  FNDA:429,brokerByRoute
1685
1680
  FNF:8
1686
1681
  FNH:8
@@ -1695,7 +1690,7 @@ BRDA:33,7,0,117
1695
1690
  BRDA:33,8,0,352
1696
1691
  BRDA:37,9,0,1
1697
1692
  BRDA:37,10,0,351
1698
- BRDA:44,11,0,1
1693
+ BRDA:44,11,0,2
1699
1694
  BRDA:50,12,0,429
1700
1695
  BRDA:51,13,0,412
1701
1696
  BRF:14
@@ -1744,8 +1739,8 @@ DA:41,469
1744
1739
  DA:42,1
1745
1740
  DA:43,1
1746
1741
  DA:44,1
1747
- DA:45,1
1748
- DA:46,1
1742
+ DA:45,2
1743
+ DA:46,2
1749
1744
  DA:47,1
1750
1745
  DA:48,1
1751
1746
  DA:49,1
@@ -1815,7 +1810,7 @@ FN:10,listFilesRecursively
1815
1810
  FN:12,anonymous_3
1816
1811
  FN:14,anonymous_4
1817
1812
  FN:22,write
1818
- FNDA:5101,isFile
1813
+ FNDA:5102,isFile
1819
1814
  FNDA:2,isDirectory
1820
1815
  FNDA:235,listFilesRecursively
1821
1816
  FNDA:5082,anonymous_3
@@ -1824,8 +1819,8 @@ FNDA:1,write
1824
1819
  FNF:6
1825
1820
  FNH:5
1826
1821
  BRDA:1,0,0,2
1827
- BRDA:6,1,0,5101
1828
- BRDA:6,2,0,5095
1822
+ BRDA:6,1,0,5102
1823
+ BRDA:6,2,0,5096
1829
1824
  BRDA:7,3,0,2
1830
1825
  BRDA:10,4,0,235
1831
1826
  BRDA:14,5,0,0
@@ -2078,21 +2073,21 @@ LF:50
2078
2073
  end_of_record
2079
2074
  SF:src/utils/http-response.js
2080
2075
  FN:7,sendOK
2081
- FN:11,sendNoContent
2082
- FN:16,sendJSON
2083
- FN:21,sendFile
2084
- FN:26,sendNotFound
2085
- FN:31,sendUnprocessableContent
2086
- FN:37,sendInternalServerError
2087
- FN:43,sendBadGateway
2088
- FN:51,sendPartialContent
2089
- FN:53,anonymous_9
2090
- FN:68,anonymous_10
2091
- FN:71,anonymous_11
2076
+ FN:12,sendJSON
2077
+ FN:18,sendFile
2078
+ FN:24,sendNoContent
2079
+ FN:31,sendNotFound
2080
+ FN:37,sendUnprocessableContent
2081
+ FN:44,sendInternalServerError
2082
+ FN:50,sendBadGateway
2083
+ FN:58,sendPartialContent
2084
+ FN:60,anonymous_9
2085
+ FN:75,anonymous_10
2086
+ FN:78,anonymous_11
2092
2087
  FNDA:154,sendOK
2093
- FNDA:1,sendNoContent
2094
2088
  FNDA:28,sendJSON
2095
2089
  FNDA:1,sendFile
2090
+ FNDA:1,sendNoContent
2096
2091
  FNDA:5,sendNotFound
2097
2092
  FNDA:16,sendUnprocessableContent
2098
2093
  FNDA:1,sendInternalServerError
@@ -2105,23 +2100,23 @@ FNF:12
2105
2100
  FNH:10
2106
2101
  BRDA:1,0,0,2
2107
2102
  BRDA:7,1,0,154
2108
- BRDA:11,2,0,1
2109
- BRDA:16,3,0,28
2110
- BRDA:21,4,0,1
2111
- BRDA:26,5,0,5
2112
- BRDA:31,6,0,16
2113
- BRDA:37,7,0,1
2114
- BRDA:38,8,0,0
2115
- BRDA:38,9,0,0
2116
- BRDA:51,10,0,3
2117
- BRDA:54,11,0,1
2118
- BRDA:55,12,0,0
2119
- BRDA:57,13,0,2
2120
- BRDA:57,14,0,2
2121
- BRDA:57,15,0,1
2122
- BRDA:61,16,0,2
2123
- BRDA:53,17,0,6
2124
- BRDA:68,18,0,2
2103
+ BRDA:12,2,0,28
2104
+ BRDA:18,3,0,1
2105
+ BRDA:24,4,0,1
2106
+ BRDA:31,5,0,5
2107
+ BRDA:37,6,0,16
2108
+ BRDA:44,7,0,1
2109
+ BRDA:45,8,0,0
2110
+ BRDA:45,9,0,0
2111
+ BRDA:58,10,0,3
2112
+ BRDA:61,11,0,1
2113
+ BRDA:62,12,0,0
2114
+ BRDA:64,13,0,2
2115
+ BRDA:64,14,0,2
2116
+ BRDA:64,15,0,1
2117
+ BRDA:68,16,0,2
2118
+ BRDA:60,17,0,6
2119
+ BRDA:75,18,0,2
2125
2120
  BRF:19
2126
2121
  BRH:16
2127
2122
  DA:1,2
@@ -2133,105 +2128,116 @@ DA:6,2
2133
2128
  DA:7,2
2134
2129
  DA:8,154
2135
2130
  DA:9,154
2136
- DA:10,2
2131
+ DA:10,154
2137
2132
  DA:11,2
2138
- DA:12,1
2139
- DA:13,1
2140
- DA:14,1
2141
- DA:15,2
2142
- DA:16,2
2143
- DA:17,28
2144
- DA:18,28
2145
- DA:19,28
2146
- DA:20,2
2147
- DA:21,2
2133
+ DA:12,2
2134
+ DA:13,28
2135
+ DA:14,28
2136
+ DA:15,28
2137
+ DA:16,28
2138
+ DA:17,2
2139
+ DA:18,2
2140
+ DA:19,1
2141
+ DA:20,1
2142
+ DA:21,1
2148
2143
  DA:22,1
2149
- DA:23,1
2150
- DA:24,1
2151
- DA:25,2
2152
- DA:26,2
2153
- DA:27,5
2154
- DA:28,5
2155
- DA:29,5
2144
+ DA:23,2
2145
+ DA:24,2
2146
+ DA:25,1
2147
+ DA:26,1
2148
+ DA:27,1
2149
+ DA:28,1
2150
+ DA:29,2
2156
2151
  DA:30,2
2157
2152
  DA:31,2
2158
- DA:32,16
2159
- DA:33,16
2160
- DA:34,16
2161
- DA:35,16
2153
+ DA:32,5
2154
+ DA:33,5
2155
+ DA:34,5
2156
+ DA:35,5
2162
2157
  DA:36,2
2163
2158
  DA:37,2
2164
- DA:38,1
2165
- DA:39,1
2166
- DA:40,1
2167
- DA:41,1
2159
+ DA:38,16
2160
+ DA:39,16
2161
+ DA:40,16
2162
+ DA:41,16
2168
2163
  DA:42,2
2169
2164
  DA:43,2
2170
- DA:44,0
2171
- DA:45,0
2172
- DA:46,0
2173
- DA:47,0
2174
- DA:48,0
2165
+ DA:44,2
2166
+ DA:45,1
2167
+ DA:46,1
2168
+ DA:47,1
2169
+ DA:48,1
2175
2170
  DA:49,2
2176
2171
  DA:50,2
2177
- DA:51,2
2178
- DA:52,3
2179
- DA:53,3
2180
- DA:54,3
2181
- DA:55,3
2182
- DA:56,3
2183
- DA:57,3
2184
- DA:58,1
2185
- DA:59,1
2186
- DA:60,1
2187
- DA:61,1
2188
- DA:62,2
2189
- DA:63,2
2190
- DA:64,2
2191
- DA:65,2
2192
- DA:66,2
2193
- DA:67,2
2194
- DA:68,2
2172
+ DA:51,0
2173
+ DA:52,0
2174
+ DA:53,0
2175
+ DA:54,0
2176
+ DA:55,0
2177
+ DA:56,2
2178
+ DA:57,2
2179
+ DA:58,2
2180
+ DA:59,3
2181
+ DA:60,3
2182
+ DA:61,3
2183
+ DA:62,3
2184
+ DA:63,3
2185
+ DA:64,3
2186
+ DA:65,1
2187
+ DA:66,1
2188
+ DA:67,1
2189
+ DA:68,1
2195
2190
  DA:69,2
2196
2191
  DA:70,2
2197
2192
  DA:71,2
2198
- DA:72,0
2193
+ DA:72,2
2199
2194
  DA:73,2
2200
2195
  DA:74,2
2201
- DA:75,3
2202
- LH:69
2203
- LF:75
2196
+ DA:75,2
2197
+ DA:76,2
2198
+ DA:77,2
2199
+ DA:78,2
2200
+ DA:79,0
2201
+ DA:80,2
2202
+ DA:81,2
2203
+ DA:82,3
2204
+ LH:76
2205
+ LF:82
2204
2206
  end_of_record
2205
2207
  SF:src/utils/logger.js
2206
2208
  FN:2,<instance_members_initializer>
2207
2209
  FN:4,setLevel
2208
2210
  FN:8,info
2209
- FN:13,access
2210
- FN:18,warn
2211
- FN:22,error
2212
- FN:27,get #date
2213
- FN:31,#sanitizeURL
2211
+ FN:13,accessMock
2212
+ FN:18,access
2213
+ FN:27,warn
2214
+ FN:31,error
2215
+ FN:35,#msg
2216
+ FN:39,#sanitizeURL
2214
2217
  FNDA:2,<instance_members_initializer>
2215
2218
  FNDA:1,setLevel
2216
2219
  FNDA:2,info
2217
- FNDA:63,access
2220
+ FNDA:63,accessMock
2221
+ FNDA:189,access
2218
2222
  FNDA:136,warn
2219
2223
  FNDA:1,error
2220
- FNDA:202,get #date
2224
+ FNDA:202,#msg
2221
2225
  FNDA:63,#sanitizeURL
2222
- FNF:8
2223
- FNH:8
2226
+ FNF:9
2227
+ FNH:9
2224
2228
  BRDA:1,0,0,2
2225
2229
  BRDA:2,1,0,2
2226
2230
  BRDA:4,2,0,1
2227
2231
  BRDA:8,3,0,2
2228
2232
  BRDA:13,4,0,63
2229
- BRDA:18,5,0,136
2230
- BRDA:22,6,0,1
2231
- BRDA:27,7,0,202
2232
- BRDA:31,8,0,63
2233
- BRF:9
2234
- BRH:9
2233
+ BRDA:18,5,0,189
2234
+ BRDA:20,6,0,0
2235
+ BRDA:27,7,0,136
2236
+ BRDA:31,8,0,1
2237
+ BRDA:35,9,0,202
2238
+ BRDA:39,10,0,63
2239
+ BRF:11
2240
+ BRH:10
2235
2241
  DA:1,2
2236
2242
  DA:2,2
2237
2243
  DA:3,2
@@ -2250,24 +2256,32 @@ DA:15,63
2250
2256
  DA:16,63
2251
2257
  DA:17,2
2252
2258
  DA:18,2
2253
- DA:19,136
2254
- DA:20,136
2255
- DA:21,2
2256
- DA:22,2
2257
- DA:23,1
2258
- DA:24,1
2259
- DA:25,2
2259
+ DA:19,189
2260
+ DA:20,189
2261
+ DA:21,0
2262
+ DA:22,0
2263
+ DA:23,0
2264
+ DA:24,0
2265
+ DA:25,189
2260
2266
  DA:26,2
2261
2267
  DA:27,2
2262
- DA:28,202
2263
- DA:29,202
2268
+ DA:28,136
2269
+ DA:29,136
2264
2270
  DA:30,2
2265
2271
  DA:31,2
2266
- DA:32,63
2267
- DA:33,63
2272
+ DA:32,1
2273
+ DA:33,1
2268
2274
  DA:34,2
2269
- LH:34
2270
- LF:34
2275
+ DA:35,2
2276
+ DA:36,202
2277
+ DA:37,202
2278
+ DA:38,2
2279
+ DA:39,2
2280
+ DA:40,63
2281
+ DA:41,63
2282
+ DA:42,2
2283
+ LH:38
2284
+ LF:42
2271
2285
  end_of_record
2272
2286
  SF:src/utils/mime.js
2273
2287
  FN:95,mapMimeToExt
@@ -2514,18 +2528,18 @@ FN:29,anonymous_5
2514
2528
  FN:43,watchStaticDir
2515
2529
  FN:47,anonymous_7
2516
2530
  FNDA:1,<instance_members_initializer>
2517
- FNDA:12,increment
2531
+ FNDA:13,increment
2518
2532
  FNDA:1,subscribe
2519
2533
  FNDA:1,unsubscribe
2520
2534
  FNDA:1,watchMocksDir
2521
2535
  FNDA:15,anonymous_5
2522
2536
  FNDA:1,watchStaticDir
2523
- FNDA:3,anonymous_7
2537
+ FNDA:4,anonymous_7
2524
2538
  FNF:8
2525
2539
  FNH:8
2526
2540
  BRDA:1,0,0,1
2527
2541
  BRDA:13,1,0,1
2528
- BRDA:15,2,0,12
2542
+ BRDA:15,2,0,13
2529
2543
  BRDA:19,3,0,1
2530
2544
  BRDA:22,4,0,1
2531
2545
  BRDA:27,5,0,1
@@ -2536,11 +2550,11 @@ BRDA:34,9,0,5
2536
2550
  BRDA:35,10,0,5
2537
2551
  BRDA:43,11,0,1
2538
2552
  BRDA:46,12,0,0
2539
- BRDA:47,13,0,3
2553
+ BRDA:47,13,0,4
2540
2554
  BRDA:49,14,0,0
2541
2555
  BRDA:50,15,0,2
2542
2556
  BRDA:52,16,0,1
2543
- BRDA:53,17,0,1
2557
+ BRDA:53,17,0,2
2544
2558
  BRF:18
2545
2559
  BRH:15
2546
2560
  DA:1,1
@@ -2558,9 +2572,9 @@ DA:12,1
2558
2572
  DA:13,1
2559
2573
  DA:14,1
2560
2574
  DA:15,1
2561
- DA:16,12
2562
- DA:17,12
2563
- DA:18,12
2575
+ DA:16,13
2576
+ DA:17,13
2577
+ DA:18,13
2564
2578
  DA:19,1
2565
2579
  DA:20,1
2566
2580
  DA:21,1
@@ -2590,16 +2604,16 @@ DA:44,1
2590
2604
  DA:45,1
2591
2605
  DA:46,1
2592
2606
  DA:47,1
2593
- DA:48,3
2594
- DA:49,3
2595
- DA:50,3
2607
+ DA:48,4
2608
+ DA:49,4
2609
+ DA:50,4
2596
2610
  DA:51,2
2597
2611
  DA:52,2
2598
2612
  DA:53,2
2599
- DA:54,1
2600
- DA:55,1
2601
- DA:56,1
2602
- DA:57,1
2613
+ DA:54,2
2614
+ DA:55,2
2615
+ DA:56,2
2616
+ DA:57,2
2603
2617
  DA:58,1
2604
2618
  DA:59,1
2605
2619
  DA:60,1
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "mockaton",
3
3
  "description": "HTTP Mock Server",
4
4
  "type": "module",
5
- "version": "9.5.0",
5
+ "version": "9.6.0",
6
6
  "main": "index.js",
7
7
  "types": "index.d.ts",
8
8
  "license": "MIT",
package/src/Dashboard.css CHANGED
@@ -102,18 +102,12 @@ select, a, input, button {
102
102
 
103
103
  a {
104
104
  text-decoration: none;
105
-
105
+
106
106
  &:hover {
107
107
  text-decoration: underline;
108
108
  }
109
109
  }
110
110
 
111
- input[type="checkbox"] {
112
- &:focus {
113
- outline: 0;
114
- }
115
- }
116
-
117
111
  a,
118
112
  button,
119
113
  input[type=checkbox],
@@ -161,7 +155,7 @@ header {
161
155
  display: flex;
162
156
  flex-wrap: wrap;
163
157
  align-items: flex-end;
164
- gap: 16px 8px;
158
+ gap: 16px 10px;
165
159
 
166
160
  @media (max-width: 800px) {
167
161
  max-width: 400px;
@@ -202,8 +196,7 @@ header {
202
196
  height: 28px;
203
197
  padding: 4px 8px;
204
198
  border: 1px solid var(--colorSecondaryActionBorder);
205
- border-right: 3px solid transparent;
206
- margin-top: 4px;
199
+ margin-top: 2px;
207
200
  color: var(--colorText);
208
201
  font-size: 11px;
209
202
  background-color: var(--colorComboBoxHeaderBackground);
@@ -211,6 +204,7 @@ header {
211
204
  }
212
205
 
213
206
  select:enabled:hover {
207
+ border-color: var(--colorSecondaryActionBorder);
214
208
  background: var(--colorHover);
215
209
  }
216
210
 
@@ -218,7 +212,7 @@ header {
218
212
  width: 84px;
219
213
 
220
214
  input[type=number] {
221
- padding-right: 0;
215
+ padding-right: 4px;
222
216
  }
223
217
 
224
218
  svg {
@@ -230,6 +224,10 @@ header {
230
224
  }
231
225
  }
232
226
 
227
+ &.CookieSelector {
228
+ width: 100px;
229
+ }
230
+
233
231
  &.FallbackBackend {
234
232
  position: relative;
235
233
  width: 160px;
@@ -272,11 +270,14 @@ header {
272
270
  }
273
271
 
274
272
  .MenuTrigger {
275
- min-width: 24px;
273
+ width: 24px;
274
+ height: 24px;
275
+ flex-shrink: 0;
276
276
  align-self: end;
277
277
  margin-left: auto;
278
278
  fill: var(--colorSecondaryAction);
279
279
  background: transparent;
280
+ border-radius: 50%;
280
281
 
281
282
  &:hover {
282
283
  fill: var(--colorAccent);
@@ -295,7 +296,7 @@ header {
295
296
  border-radius: var(--radius);
296
297
  box-shadow: var(--boxShadow1);
297
298
  background: var(--colorHeaderBackground);
298
-
299
+
299
300
  a {
300
301
  color: var(--colorAccent);
301
302
  }
@@ -438,7 +439,7 @@ table {
438
439
  > input {
439
440
  appearance: none;
440
441
 
441
- &:focus-visible {
442
+ &:focus {
442
443
  outline: 0;
443
444
  & ~ svg {
444
445
  outline: 2px solid var(--colorAccent)
@@ -530,7 +531,7 @@ table {
530
531
  .InternalServerErrorToggler,
531
532
  .NotFoundToggler {
532
533
  display: flex;
533
- margin-right: 12px;
534
+ margin-right: 10px;
534
535
  margin-left: 8px;
535
536
  cursor: pointer;
536
537
 
package/src/Dashboard.js CHANGED
@@ -33,6 +33,7 @@ const Strings = {
33
33
 
34
34
  const CSS = {
35
35
  BulkSelector: null,
36
+ CookieSelector: null,
36
37
  DelayToggler: null,
37
38
  ErrorToast: null,
38
39
  FallbackBackend: null,
@@ -92,8 +93,13 @@ const state = {
92
93
  return Boolean(this.proxyFallback)
93
94
  },
94
95
 
95
- groupByMethod: true, // TODO read from localstorage
96
- leftSideWidth: undefined
96
+ groupByMethod: localStorage.getItem('groupByMethod') !== 'false',
97
+ toggleGroupByMethod() {
98
+ this.groupByMethod = !this.groupByMethod
99
+ localStorage.setItem('groupByMethod', String(this.groupByMethod))
100
+ },
101
+
102
+ leftSideWidth: undefined,
97
103
  }
98
104
 
99
105
  const mockaton = new Commander(window.location.origin)
@@ -170,9 +176,8 @@ function Menu() {
170
176
  type: 'checkbox',
171
177
  checked: state.groupByMethod,
172
178
  onChange() {
173
- state.groupByMethod = !state.groupByMethod
179
+ state.toggleGroupByMethod()
174
180
  updateState()
175
- // TODO localstorage
176
181
  }
177
182
  }),
178
183
  r('span', null, Strings.group_by_method)),
@@ -185,7 +190,6 @@ function Menu() {
185
190
  ))
186
191
  }
187
192
 
188
-
189
193
  function CookieSelector() {
190
194
  const { cookies } = state
191
195
  function onChange() {
@@ -195,7 +199,7 @@ function CookieSelector() {
195
199
  }
196
200
  const disabled = cookies.length <= 1
197
201
  return (
198
- r('label', className(CSS.Field),
202
+ r('label', className(CSS.Field, CSS.CookieSelector),
199
203
  r('span', null, Strings.cookie),
200
204
  r('select', {
201
205
  autocomplete: 'off',
@@ -206,7 +210,6 @@ function CookieSelector() {
206
210
  r('option', { value, selected }, value)))))
207
211
  }
208
212
 
209
-
210
213
  function BulkSelector() {
211
214
  const { comments } = state
212
215
  // UX wise this should be a menu instead of this `select`.
@@ -238,7 +241,6 @@ function BulkSelector() {
238
241
  r('option', { value }, value)))))
239
242
  }
240
243
 
241
-
242
244
  function GlobalDelayField() {
243
245
  const { delay } = state
244
246
  function onChange() {
@@ -260,7 +262,6 @@ function GlobalDelayField() {
260
262
  })))
261
263
  }
262
264
 
263
-
264
265
  function ProxyFallbackField() {
265
266
  const { proxyFallback, collectProxied } = state
266
267
  function onChange() {
@@ -310,7 +311,6 @@ function SaveProxiedCheckbox({ disabled }) {
310
311
  r('span', null, Strings.save_proxied)))
311
312
  }
312
313
 
313
-
314
314
  function ResetButton() {
315
315
  function onClick() {
316
316
  mockaton.reset()
@@ -354,7 +354,6 @@ function MockList() {
354
354
  r('tbody', null, rowsFor('*').map(Row)))))
355
355
  }
356
356
 
357
-
358
357
  function Row({ method, urlMask, urlMaskDittoed, broker }) {
359
358
  const canProxy = state.canProxy
360
359
  return (