| var USBLoaded = '<span class="goofy-label-en">LOADED</span>' + |
| '<span class="goofy-label-zh">已载入</span>'; |
| var USBUnloaded = '<span class="goofy-label-en">UNLOADED</span>' + |
| '<span class="goofy-label-zh">未载入</span>'; |
| var fxtAvailable = '<span class="goofy-label-en">OK</span>' + |
| '<span class="goofy-label-zh">已连接</span>'; |
| var fxtUnavailable = '<span class="goofy-label-en">UNAVAILABLE</span>' + |
| '<span class="goofy-label-zh">未连接</span>'; |
| var fxtDetecting = '<span class="goofy-label-en">DETECTING</span>' + |
| '<span class="goofy-label-zh">侦测中</span>'; |
| var statIdle = '<span class="color_idle goofy-label-en">IDLE</span>' + |
| '<span class="color_idle goofy-label-zh">閒置中</span>'; |
| |
| window.onkeydown = function(event) { |
| if (event.keyCode == 13 || event.keyCode == 32) { |
| var testButton = document.getElementById("btn_run_test"); |
| if (!testButton.disabled) |
| ButtonRunTestClick(); |
| } |
| } |
| |
| function InitLayout(testFull) { |
| if (testFull) { |
| document.getElementById("test_sn_label").hidden = true; |
| document.getElementById("test_sn").hidden = true; |
| document.getElementById("menu_placeholder").style.height = "30%"; |
| } else { |
| var snInputBox = document.getElementById("serial_number"); |
| snInputBox.disabled = false; |
| snInputBox.autofocus = true; |
| } |
| } |
| |
| function UpdateTestBottonStatus() { |
| var testButton = document.getElementById("btn_run_test"); |
| var isSnReady = (document.getElementById("test_sn").hidden || |
| document.getElementById("serial_number").value !== ""); |
| testButton.disabled = |
| !(isSnReady && |
| document.getElementById('serial_number').validity.valid && |
| document.getElementById('usb_status').innerHTML == USBLoaded && |
| document.getElementById('fixture_status').innerHTML == fxtAvailable); |
| } |
| |
| function OnSnInputBoxClick() { |
| var snInputBox = document.getElementById("serial_number"); |
| snInputBox.value=""; |
| UpdateTestBottonStatus(); |
| } |
| |
| function OnUSBInsertion() { |
| document.getElementById("usb_status").innerHTML = USBLoaded; |
| document.getElementById("test_param").className = "panel_good"; |
| UpdateTestBottonStatus(); |
| } |
| |
| function OnUSBInit(pattern) { |
| document.getElementById("prompt_usb").hidden = true; |
| document.getElementById("container").hidden = false; |
| document.getElementById("usb_status").innerHTML = USBLoaded; |
| document.getElementById("test_param").className = "panel_good"; |
| ConfigureSNInputbox(pattern); |
| test.sendTestEvent('sync_fixture', {}); |
| } |
| |
| function OnUSBRemoval() { |
| document.getElementById("usb_status").innerHTML = USBUnloaded; |
| document.getElementById("test_param").className = "panel_bad"; |
| UpdateTestBottonStatus(); |
| } |
| |
| function ConfigureSNInputbox(pattern) { |
| var snInputBox = document.getElementById("serial_number"); |
| if (!snInputBox.disabled) { |
| snInputBox.pattern = pattern; |
| snInputBox.focus(); |
| } |
| } |
| |
| function OnAddFixtureConnection() { |
| document.getElementById("fixture_status").innerHTML = fxtAvailable; |
| document.getElementById("test_fixture").className = "panel_good"; |
| UpdateTestBottonStatus(); |
| } |
| |
| function OnRemoveFixtureConnection() { |
| document.getElementById("fixture_status").innerHTML = fxtUnavailable; |
| document.getElementById("test_fixture").className = "panel_bad"; |
| UpdateTestBottonStatus(); |
| } |
| |
| function OnDetectFixtureConnection() { |
| document.getElementById("fixture_status").innerHTML = fxtDetecting; |
| document.getElementById("test_fixture").className = "panel_bad"; |
| UpdateTestBottonStatus(); |
| } |
| |
| function ButtonRunTestClick() { |
| var testButton = document.getElementById("btn_run_test"); |
| testButton.disabled = true; |
| test.sendTestEvent("run_test", |
| {"sn": document.getElementById("serial_number").value}); |
| testButton.disabled = false; |
| UpdateTestBottonStatus(); |
| } |
| |
| function ButtonExitTestClick() { |
| test.sendTestEvent("exit_test", {}); |
| } |
| |
| function ResetUiData() { |
| document.getElementById("camera_image").hidden = true; |
| document.getElementById("camera_image").src = ""; |
| document.getElementById("analyzed_image").hidden = true; |
| document.getElementById("analyzed_image").src = ""; |
| UpdateTestStatus(statIdle); |
| UpdatePrograssBar("0%"); |
| } |
| |
| function ClearBuffer() { |
| buf = "" |
| } |
| |
| function AddBuffer(value) { |
| buf += value |
| } |
| |
| function UpdateImage(container_id) { |
| var img = document.getElementById(container_id); |
| img.src = "data:image/jpeg;base64," + buf; |
| img.hidden = false; |
| } |
| |
| function UpdateTestStatus(msg) { |
| var statusText = document.getElementById("test_status"); |
| statusText.innerHTML = msg; |
| } |
| |
| function UpdatePrograssBar(progress) { |
| var pBar = document.getElementById("progress_bar"); |
| pBar.style.width = progress; |
| } |