add device search

This commit is contained in:
Stewart Allen 2020-12-20 14:15:35 -05:00
commit 6977a4e720
3 changed files with 56 additions and 1 deletions

View file

@ -52,6 +52,7 @@
let currentDevice = null, let currentDevice = null,
deviceURL = null, deviceURL = null,
deviceTexture = null, deviceTexture = null,
deviceFilter = null,
deviceImage = null, deviceImage = null,
selectedTool = null, selectedTool = null,
editTools = null, editTools = null,
@ -950,6 +951,10 @@
} }
dedup[device] = device; dedup[device] = device;
let loc = isLocalDevice(device); let loc = isLocalDevice(device);
// if filter set, use
if (!loc && deviceFilter && device.toLowerCase().indexOf(deviceFilter) < 0) {
return;
}
if (incr === 0) { if (incr === 0) {
first = device; first = device;
} }
@ -1399,6 +1404,10 @@
help: $('acct-help'), help: $('acct-help'),
export: $('acct-export') export: $('acct-export')
}, },
dev: {
search: $('dev-search'),
filter: $('dev-filter')
},
fps: $('fps'), fps: $('fps'),
load: $('load-file'), load: $('load-file'),
@ -1950,6 +1959,30 @@
if (!ev.buttons) API.event.emit('slider.unlabel'); if (!ev.buttons) API.event.emit('slider.unlabel');
}; };
UI.dev.search.onclick = () => {
let style = UI.dev.filter.style;
if (style.display === 'flex') {
style.display = '';
deviceFilter = null;
updateDeviceList();
} else {
style.display = 'flex';
UI.dev.filter.focus();
deviceFilter = UI.dev.filter.value;
updateDeviceList();
}
};
UI.dev.filter.onkeyup = (ev) => {
deviceFilter = UI.dev.filter.value;
updateDeviceList();
};
UI.dev.filter.onclick = (ev) => {
ev.preventDefault();
ev.stopPropagation();
};
API.event.on('slider.unlabel', (values) => { API.event.on('slider.unlabel', (values) => {
}); });

View file

@ -676,6 +676,22 @@ th, tr, td, label {
#mod-setup .header.sub { #mod-setup .header.sub {
padding-top: 10px; padding-top: 10px;
} }
#dev-search {
position: absolute;
font-size: 10px;
right: 3px;
}
#dev-search:hover {
color: #00f;
}
#dev-filter {
transform: translateY(-7px);
text-align: center;
position: absolute;
display: none;
padding: 1px;
right: 150%;
}
#mod-setup .left { #mod-setup .left {
width: 180px; width: 180px;
padding-right: 10px; padding-right: 10px;

View file

@ -259,7 +259,13 @@
<th><button id="mode-laser" class="dev-type"><label>LASER</label></button></th> <th><button id="mode-laser" class="dev-type"><label>LASER</label></button></th>
</tr></table> </tr></table>
</div> </div>
<label class="header sub">standard devices</label> <div class="header sub f-col j-center">
<label>standard devices</label>
<div id="dev-search">
<i class="fas fa-search"></i>
<input id="dev-filter" />
</div>
</div>
<div class="f-col mh0 mh35 j-center a-stretch"> <div class="f-col mh0 mh35 j-center a-stretch">
<div id="device-list" class="devlist f-col overy"></div> <div id="device-list" class="devlist f-col overy"></div>
</div> </div>