| <!doctype html> |
| <html lang="en-us"> |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
| <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon"> |
| <link rel="stylesheet" href="common/testing.css"/> |
| <title>sqlite3-api batch SQL runner for the SAHPool VFS</title> |
| </head> |
| <body> |
| <header id='titlebar'><span>sqlite3-api batch SQL runner for the SAHPool VFS</span></header> |
| <div> |
| <span class='input-wrapper'> |
| <input type='checkbox' class='disable-during-eval' id='cb-reverse-log-order' checked></input> |
| <label for='cb-reverse-log-order' id='lbl-reverse-log-order'>Reverse log order</label> |
| </span> |
| </div> |
| <div id='test-output' class='reverse'></div> |
| <script> |
| (function(){ |
| const E = (sel)=>document.querySelector(sel); |
| |
| const eOut = E('#test-output'); |
| const log2 = function(cssClass,...args){ |
| let ln; |
| if(1 || cssClass){ |
| ln = document.createElement('div'); |
| if(cssClass) ln.classList.add(cssClass); |
| ln.append(document.createTextNode(args.join(' '))); |
| }else{ |
| // This doesn't work with the "reverse order" option! |
| ln = document.createTextNode(args.join(' ')+'\n'); |
| } |
| eOut.append(ln); |
| }; |
| const log = (...args)=>{ |
| //console.log(...args); |
| log2('', ...args); |
| }; |
| const logErr = function(...args){ |
| console.error(...args); |
| log2('error', ...args); |
| }; |
| const logWarn = function(...args){ |
| console.warn(...args); |
| log2('warning', ...args); |
| }; |
| |
| const cbReverseLog = E('#cb-reverse-log-order'); |
| const lblReverseLog = E('#lbl-reverse-log-order'); |
| if(cbReverseLog.checked){ |
| lblReverseLog.classList.add('warning'); |
| eOut.classList.add('reverse'); |
| } |
| cbReverseLog.addEventListener('change', function(){ |
| if(this.checked){ |
| eOut.classList.add('reverse'); |
| lblReverseLog.classList.add('warning'); |
| }else{ |
| eOut.classList.remove('reverse'); |
| lblReverseLog.classList.remove('warning'); |
| } |
| }, false); |
| |
| const w = new Worker('batch-runner-sahpool.js?sqlite3.dir=jswasm'); |
| w.onmessage = function(msg){ |
| msg = msg.data; |
| switch(msg.type){ |
| case 'stdout': log(...msg.data); break; |
| case 'warn': logWarn(...msg.data); break; |
| case 'error': logErr(...msg.data); break; |
| default: |
| logErr("Unhandled worker message type:",msg); |
| break; |
| } |
| }; |
| })(); |
| </script> |
| <style> |
| #test-output { |
| white-space: break-spaces; |
| overflow: auto; |
| } |
| </style> |
| </body> |
| </html> |