@@ -36,10 +36,10 @@ function writeStorage(key, value) {
36
36
}
37
37
38
38
function fancyDblClickHandler ( el , onsingle , ondouble ) {
39
- return function ( ) {
39
+ return function ( ) {
40
40
if ( el . getAttribute ( "data-dblclick" ) == null ) {
41
41
el . setAttribute ( "data-dblclick" , 1 ) ;
42
- setTimeout ( function ( ) {
42
+ setTimeout ( function ( ) {
43
43
if ( el . getAttribute ( "data-dblclick" ) == 1 ) {
44
44
onsingle ( ) ;
45
45
}
@@ -171,7 +171,7 @@ var units = {
171
171
"FARAD" , "Farad" , "farad" ,
172
172
"HENRY" , "Henry" , "henry"
173
173
] ,
174
- getMultiplier : function ( s ) {
174
+ getMultiplier : function ( s ) {
175
175
if ( this . prefixes . giga . includes ( s ) ) return 1e9 ;
176
176
if ( this . prefixes . mega . includes ( s ) ) return 1e6 ;
177
177
if ( this . prefixes . kilo . includes ( s ) ) return 1e3 ;
@@ -360,7 +360,7 @@ function loadSettings() {
360
360
var input = document . createElement ( "input" ) ;
361
361
input . type = "file" ;
362
362
input . accept = ".settings.json" ;
363
- input . onchange = function ( e ) {
363
+ input . onchange = function ( e ) {
364
364
var file = e . target . files [ 0 ] ;
365
365
var reader = new FileReader ( ) ;
366
366
reader . onload = readerEvent => {
@@ -388,10 +388,10 @@ function loadSettings() {
388
388
var currentMetadata = JSON . stringify ( pcbdata . metadata , null , 4 ) ;
389
389
var fileMetadata = JSON . stringify ( newSettings . pcbmetadata , null , 4 ) ;
390
390
if ( ! confirm (
391
- `Settins file metadata does not match current metadata.\n\n` +
392
- `Page metadata:\n${ currentMetadata } \n\n` +
393
- `Settings file metadata:\n${ fileMetadata } \n\n` +
394
- `Press OK if you would like to import settings anyway.` ) ) {
391
+ `Settins file metadata does not match current metadata.\n\n` +
392
+ `Page metadata:\n${ currentMetadata } \n\n` +
393
+ `Settings file metadata:\n${ fileMetadata } \n\n` +
394
+ `Press OK if you would like to import settings anyway.` ) ) {
395
395
return ;
396
396
}
397
397
}
@@ -402,6 +402,23 @@ function loadSettings() {
402
402
input . click ( ) ;
403
403
}
404
404
405
+ function resetSettings ( ) {
406
+ if ( ! confirm (
407
+ `This will reset all checkbox states and other settings.\n\n` +
408
+ `Press OK if you want to continue.` ) ) {
409
+ return ;
410
+ }
411
+ if ( storage ) {
412
+ var keys = [ ] ;
413
+ for ( var i = 0 ; i < storage . length ; i ++ ) {
414
+ var key = storage . key ( i ) ;
415
+ if ( key . startsWith ( storagePrefix ) ) keys . push ( key ) ;
416
+ }
417
+ for ( var key of keys ) storage . removeItem ( key ) ;
418
+ }
419
+ location . reload ( ) ;
420
+ }
421
+
405
422
function overwriteSettings ( newSettings ) {
406
423
initDone = false ;
407
424
Object . assign ( settings , newSettings ) ;
@@ -594,14 +611,14 @@ const IBOM_EVENT_TYPES = {
594
611
595
612
const EventHandler = {
596
613
callbacks : { } ,
597
- init : function ( ) {
614
+ init : function ( ) {
598
615
for ( eventType of Object . values ( IBOM_EVENT_TYPES ) )
599
616
this . callbacks [ eventType ] = [ ] ;
600
617
} ,
601
- registerCallback : function ( eventType , callback ) {
618
+ registerCallback : function ( eventType , callback ) {
602
619
this . callbacks [ eventType ] . push ( callback ) ;
603
620
} ,
604
- emitEvent : function ( eventType , eventArgs ) {
621
+ emitEvent : function ( eventType , eventArgs ) {
605
622
event = {
606
623
eventType : eventType ,
607
624
args : eventArgs ,
0 commit comments