diff --git a/examples/zone/ZonesPlugin_createZones.html b/examples/zone/ZonesPlugin_createZones.html
index e1cf18c7d0..409f45fc70 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);