diff --git a/examples/zone/ZonesPlugin_createZones.html b/examples/zone/ZonesPlugin_createZones.html index e1cf18c7d..409f45fc7 100644 --- a/examples/zone/ZonesPlugin_createZones.html +++ b/examples/zone/ZonesPlugin_createZones.html @@ -259,6 +259,33 @@

Resources

return annotations.annotations["myAnnotation_" + zone.id]; }; + const setZoneVisible = function(zone, visible) { + zone.visible = visible; + const zoneAnnotation = getZoneAnnotation(zone); + if (zoneAnnotation) + { + zoneAnnotation.setMarkerShown(visible); + zoneAnnotation.setLabelShown(visible); + } + }; + + const sceneContextMenu = new ContextMenu({ + items: [ + [ + { + title: "Hide visible Zones ", + getEnabled: context => (zonesPlugin.zones.filter(z => z.visible).length > 0), + doAction: context => zonesPlugin.zones.filter(z => z.visible).forEach(z => setZoneVisible(z, false)) + }, + { + title: "Show hidden Zones ", + getEnabled: context => (zonesPlugin.zones.filter(z => !z.visible).length > 0), + doAction: context => zonesPlugin.zones.filter(z => !z.visible).forEach(z => setZoneVisible(z, true)) + } + ] + ] + }); + let curZoneEdit = null; const zoneEditContextMenu = new ContextMenu({ @@ -379,6 +406,10 @@

Resources

startZoneTranslate(newZone); } }, + { + title: "Hide Zone", + doAction: contextZone => setZoneVisible(contextZone, false) + }, { title: "Delete Zone", doAction: function(contextZone) { @@ -420,6 +451,11 @@

Resources

curZoneContextMenu.context = pickZone; curZoneContextMenu.show(canvasPos[0], canvasPos[1] + 50); } + else + { + sceneContextMenu.context = { }; + sceneContextMenu.show(canvasPos[0], canvasPos[1] + 50); + } }); const zonesPlugin = new ZonesPlugin(viewer);