Merge pull request #5665 from ctrlaltdavid/20664

Add search radius field to entities list
This commit is contained in:
Ryan Downe Karpf 2015-09-01 14:39:53 -07:00
commit f0d69b1cdd
3 changed files with 33 additions and 8 deletions

View file

@ -20,7 +20,9 @@
elRefresh = document.getElementById("refresh");
elDelete = document.getElementById("delete");
elTeleport = document.getElementById("teleport");
elRadius = document.getElementById("radius");
elNoEntitiesMessage = document.getElementById("no-entities");
elNoEntitiesRadius = document.getElementById("no-entities-radius");
document.getElementById("entity-name").onclick = function() {
setSortColumn('name');
@ -186,6 +188,13 @@
}
}, false);
elRadius.onchange = function () {
elRadius.value = Math.max(elRadius.value, 0);
EventBridge.emitWebEvent(JSON.stringify({ type: 'radius', radius: elRadius.value }));
refreshEntities();
elNoEntitiesRadius.firstChild.nodeValue = elRadius.value;
}
if (window.EventBridge !== undefined) {
EventBridge.scriptEventReceived.connect(function(data) {
data = JSON.parse(data);
@ -218,14 +227,15 @@
</head>
<body onload='loaded();'>
<div id="entity-list-header">
<input type="button" id="refresh" value="Refresh"></button>
<input type="button" id="teleport" value="Teleport"></button>
<input type="button" id="delete" style="background-color: rgb(244, 64, 64); float: right" value="Delete"></button>
<input type="button" id="refresh" value="Refresh" />
<input type="button" id="teleport" value="Teleport" />
<input type="button" id="delete" style="background-color: rgb(244, 64, 64); float: right" value="Delete" />
</div>
<div id="entity-list">
<div id="search-area">
<input type="text" class="search" id="filter" placeholder="Filter" />
<span id="radius-and-unit"><input type="number" id="radius" value="100" />&nbsp;m</span>
</div>
<table id="entity-table">
<thead>
@ -246,7 +256,7 @@
</table>
</div>
<div id="no-entities">
No entities found within 50 meter radius. Try moving to a different location and refreshing.
No entities found within a <span id="no-entities-radius">100</span> meter radius. Try moving to a different location and refreshing.
</div>
</body>
</html>

View file

@ -102,13 +102,23 @@ input[type=button] {
}
#search-area {
width: 100%;
padding: 0.5em;
box-sizing: border-box;
padding-right: 6em;
}
#search-area input {
width: 100%;
#filter {
width: 99%;
}
#radius-and-unit {
width: 6em;
float: right;
margin-right: -6em;
}
#radius {
width: 4em;
}
textarea, input {

View file

@ -4,6 +4,8 @@ EntityListTool = function(opts) {
var url = Script.resolvePath('html/entityList.html');
var webView = new WebWindow('Entities', url, 200, 280, true);
var searchRadius = 100;
var visible = false;
webView.setVisible(visible);
@ -33,7 +35,7 @@ EntityListTool = function(opts) {
that.sendUpdate = function() {
var entities = [];
var ids = Entities.findEntities(MyAvatar.position, 100);
var ids = Entities.findEntities(MyAvatar.position, searchRadius);
for (var i = 0; i < ids.length; i++) {
var id = ids[i];
var properties = Entities.getEntityProperties(id);
@ -80,6 +82,9 @@ EntityListTool = function(opts) {
}
} else if (data.type == "delete") {
deleteSelectedEntities();
} else if (data.type === "radius") {
searchRadius = data.radius;
that.sendUpdate();
}
});