mirror of
https://github.com/overte-org/overte.git
synced 2025-08-05 23:39:26 +02:00
Merge pull request #5665 from ctrlaltdavid/20664
Add search radius field to entities list
This commit is contained in:
commit
f0d69b1cdd
3 changed files with 33 additions and 8 deletions
|
@ -20,7 +20,9 @@
|
||||||
elRefresh = document.getElementById("refresh");
|
elRefresh = document.getElementById("refresh");
|
||||||
elDelete = document.getElementById("delete");
|
elDelete = document.getElementById("delete");
|
||||||
elTeleport = document.getElementById("teleport");
|
elTeleport = document.getElementById("teleport");
|
||||||
|
elRadius = document.getElementById("radius");
|
||||||
elNoEntitiesMessage = document.getElementById("no-entities");
|
elNoEntitiesMessage = document.getElementById("no-entities");
|
||||||
|
elNoEntitiesRadius = document.getElementById("no-entities-radius");
|
||||||
|
|
||||||
document.getElementById("entity-name").onclick = function() {
|
document.getElementById("entity-name").onclick = function() {
|
||||||
setSortColumn('name');
|
setSortColumn('name');
|
||||||
|
@ -186,6 +188,13 @@
|
||||||
}
|
}
|
||||||
}, false);
|
}, 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) {
|
if (window.EventBridge !== undefined) {
|
||||||
EventBridge.scriptEventReceived.connect(function(data) {
|
EventBridge.scriptEventReceived.connect(function(data) {
|
||||||
data = JSON.parse(data);
|
data = JSON.parse(data);
|
||||||
|
@ -218,14 +227,15 @@
|
||||||
</head>
|
</head>
|
||||||
<body onload='loaded();'>
|
<body onload='loaded();'>
|
||||||
<div id="entity-list-header">
|
<div id="entity-list-header">
|
||||||
<input type="button" id="refresh" value="Refresh"></button>
|
<input type="button" id="refresh" value="Refresh" />
|
||||||
<input type="button" id="teleport" value="Teleport"></button>
|
<input type="button" id="teleport" value="Teleport" />
|
||||||
<input type="button" id="delete" style="background-color: rgb(244, 64, 64); float: right" value="Delete"></button>
|
<input type="button" id="delete" style="background-color: rgb(244, 64, 64); float: right" value="Delete" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="entity-list">
|
<div id="entity-list">
|
||||||
<div id="search-area">
|
<div id="search-area">
|
||||||
<input type="text" class="search" id="filter" placeholder="Filter" />
|
<input type="text" class="search" id="filter" placeholder="Filter" />
|
||||||
|
<span id="radius-and-unit"><input type="number" id="radius" value="100" /> m</span>
|
||||||
</div>
|
</div>
|
||||||
<table id="entity-table">
|
<table id="entity-table">
|
||||||
<thead>
|
<thead>
|
||||||
|
@ -246,7 +256,7 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div id="no-entities">
|
<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>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -102,13 +102,23 @@ input[type=button] {
|
||||||
}
|
}
|
||||||
|
|
||||||
#search-area {
|
#search-area {
|
||||||
width: 100%;
|
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
padding-right: 6em;
|
||||||
}
|
}
|
||||||
|
|
||||||
#search-area input {
|
#filter {
|
||||||
width: 100%;
|
width: 99%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#radius-and-unit {
|
||||||
|
width: 6em;
|
||||||
|
float: right;
|
||||||
|
margin-right: -6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#radius {
|
||||||
|
width: 4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
textarea, input {
|
textarea, input {
|
||||||
|
|
|
@ -4,6 +4,8 @@ EntityListTool = function(opts) {
|
||||||
var url = Script.resolvePath('html/entityList.html');
|
var url = Script.resolvePath('html/entityList.html');
|
||||||
var webView = new WebWindow('Entities', url, 200, 280, true);
|
var webView = new WebWindow('Entities', url, 200, 280, true);
|
||||||
|
|
||||||
|
var searchRadius = 100;
|
||||||
|
|
||||||
var visible = false;
|
var visible = false;
|
||||||
|
|
||||||
webView.setVisible(visible);
|
webView.setVisible(visible);
|
||||||
|
@ -33,7 +35,7 @@ EntityListTool = function(opts) {
|
||||||
|
|
||||||
that.sendUpdate = function() {
|
that.sendUpdate = function() {
|
||||||
var entities = [];
|
var entities = [];
|
||||||
var ids = Entities.findEntities(MyAvatar.position, 100);
|
var ids = Entities.findEntities(MyAvatar.position, searchRadius);
|
||||||
for (var i = 0; i < ids.length; i++) {
|
for (var i = 0; i < ids.length; i++) {
|
||||||
var id = ids[i];
|
var id = ids[i];
|
||||||
var properties = Entities.getEntityProperties(id);
|
var properties = Entities.getEntityProperties(id);
|
||||||
|
@ -80,6 +82,9 @@ EntityListTool = function(opts) {
|
||||||
}
|
}
|
||||||
} else if (data.type == "delete") {
|
} else if (data.type == "delete") {
|
||||||
deleteSelectedEntities();
|
deleteSelectedEntities();
|
||||||
|
} else if (data.type === "radius") {
|
||||||
|
searchRadius = data.radius;
|
||||||
|
that.sendUpdate();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue