Private
Public Access
Release 0.12.0
This commit is contained in:
1 parent
f74a658097
commit
7f6eeab39e
48 files changed
+3617
-1266
No files matched your search
+65
-19
@@ -1,21 +1,67 @@
|
||||
function showPanel(name,focus){
|
||||
['overview','receiver','calibration'].forEach(function(key){document.getElementById(key+'Panel').style.display=key===name?'block':'none';document.getElementById(key+'Tab').setAttribute('aria-pressed',String(key===name));});
|
||||
if(focus!==false)document.getElementById({overview:'start',receiver:'receiver',calibration:'calibrate'}[name]).focus();
|
||||
function showPanel(name, focus) {
|
||||
['overview', 'receiver', 'calibration'].forEach(function(key) {
|
||||
document.getElementById(key + 'Panel').style.display = key === name ? 'block' : 'none';
|
||||
document.getElementById(key + 'Tab').setAttribute('aria-pressed', String(key === name));
|
||||
});
|
||||
if (focus !== false) document.getElementById({
|
||||
overview: 'start',
|
||||
receiver: 'receiver',
|
||||
calibration: 'calibrate'
|
||||
} [name]).focus();
|
||||
}
|
||||
['overview','receiver','calibration'].forEach(function(name){document.getElementById(name+'Tab').onclick=function(){showPanel(name);};});
|
||||
document.getElementById('calibrationShortcut').onclick=function(){showPanel('calibration');};
|
||||
function setupFormEditors(ids,doc,win){
|
||||
var pairs=ids.map(function(id){return {input:doc.getElementById(id),field:doc.getElementById(id+'Field')};});
|
||||
pairs.forEach(function(pair){
|
||||
var input=pair.input,field=pair.field;input.readOnly=true;
|
||||
field.onclick=function(){if(input.disabled || !input.readOnly)return;input.readOnly=false;input.focus();};
|
||||
input.addEventListener('blur',function(){input.readOnly=true;});
|
||||
input.addEventListener('mousedown',function(event){if(input.readOnly)event.preventDefault();});
|
||||
});
|
||||
function finishEditing(){
|
||||
pairs.forEach(function(pair){if(!pair.input.readOnly){pair.input.readOnly=true;pair.input.blur();pair.field.focus();}});
|
||||
}
|
||||
doc.addEventListener('keyboardStateChange',function(event){var detail=event.detail||{};if(detail.visibility===false || detail.isShowing===false)finishEditing();});
|
||||
doc.addEventListener('keydown',function(event){if((event.keyCode===461 || event.key==='Escape') && pairs.some(function(pair){return !pair.input.readOnly;})){event.preventDefault();finishEditing();}});
|
||||
['overview', 'receiver', 'calibration'].forEach(function(name) {
|
||||
document.getElementById(name + 'Tab').onclick = function() {
|
||||
showPanel(name);
|
||||
};
|
||||
});
|
||||
document.getElementById('calibrationShortcut').onclick = function() {
|
||||
showPanel('calibration');
|
||||
};
|
||||
|
||||
function setupFormEditors(ids, doc, win) {
|
||||
var pairs = ids.map(function(id) {
|
||||
return {
|
||||
input: doc.getElementById(id),
|
||||
field: doc.getElementById(id + 'Field')
|
||||
};
|
||||
});
|
||||
pairs.forEach(function(pair) {
|
||||
var input = pair.input,
|
||||
field = pair.field;
|
||||
input.readOnly = true;
|
||||
field.onclick = function() {
|
||||
if (input.disabled || !input.readOnly) return;
|
||||
input.readOnly = false;
|
||||
input.focus();
|
||||
};
|
||||
input.addEventListener('blur', function() {
|
||||
input.readOnly = true;
|
||||
});
|
||||
input.addEventListener('mousedown', function(event) {
|
||||
if (input.readOnly) event.preventDefault();
|
||||
});
|
||||
});
|
||||
|
||||
function finishEditing() {
|
||||
pairs.forEach(function(pair) {
|
||||
if (!pair.input.readOnly) {
|
||||
pair.input.readOnly = true;
|
||||
pair.input.blur();
|
||||
pair.field.focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
doc.addEventListener('keyboardStateChange', function(event) {
|
||||
var detail = event.detail || {};
|
||||
if (detail.visibility === false || detail.isShowing === false) finishEditing();
|
||||
});
|
||||
doc.addEventListener('keydown', function(event) {
|
||||
if ((event.keyCode === 461 || event.key === 'Escape') && pairs.some(function(pair) {
|
||||
return !pair.input.readOnly;
|
||||
})) {
|
||||
event.preventDefault();
|
||||
finishEditing();
|
||||
}
|
||||
});
|
||||
}
|
||||
setupFormEditors(['host','port','piccapPort','token','customProfile'],document,window);
|
||||
setupFormEditors(['host', 'port', 'piccapPort', 'token', 'customProfile'], document, window);
|
||||
Reference in new issue
Block a user