diff --git a/configure/public/toolConfigs.json b/configure/public/toolConfigs.json index 2faa9ba3..14ccc057 100644 --- a/configure/public/toolConfigs.json +++ b/configure/public/toolConfigs.json @@ -1 +1 @@ -{"Layers":{"defaultIcon":"layers","description":"Hierarchically toggle layers on and off and alter their opacities.","descriptionFull":{"title":"Hierarchically toggle layers on and off and alter their opacities.","example":{"expanded":"(bool) is initial state expanded [default false]"}},"hasVars":true,"name":"Layers","toolbarPriority":1,"paths":{"LayersTool":"essence/Tools/Layers/LayersTool"},"expandable":true},"Legend":{"defaultIcon":"map-legend","description":"Show a chart mapping colors and symbols to meaning.","descriptionFull":{"title":"Show a chart legend that maps colors and symbols to meaning.","example":{"displayOnStart":true,"justification":"right"}},"hasVars":true,"name":"Legend","toolbarPriority":2,"separatedTool":true,"paths":{"LegendTool":"essence/Tools/Legend/LegendTool"}},"Info":{"defaultIcon":"information-variant","description":"Display the geojson properties field of a clicked point.","descriptionFull":{"title":"","example":{"sortAlphabetically":true}},"hasVars":true,"name":"Info","toolbarPriority":3,"paths":{"InfoTool":"essence/Tools/Info/InfoTool"},"expandable":true},"Sites":{"defaultIcon":"pin","description":"A button bar to navigate between various map locations.","descriptionFull":{"title":"A button bar to quickly navigate between preset map locations.","example":{"sites":[{"name":"(str) Name of site","code":"(str) Unique identifier. Can match header layer to toggle it's sublayers","view":["(num) Latitude","(num) Longitude","(num) Zoom level"]},{"...":"..."}]}},"hasVars":true,"name":"Sites","toolbarPriority":4,"paths":{"SitesTool":"essence/Tools/Sites/SitesTool"}},"Isochrone":{"defaultIcon":"circle-double","description":"Find the range of locations accessible to an explorer within a given time.","descriptionFull":{"title":"Given a user-defined starting point, render a shaded region where colors indicate minimum travel time or resource expenditure to reach a given location. Hover over the region to view the least costly path from the start to the cursor. Costs are calculated based on selectable and configurable models, which may each require multiple different tilesets as input.","example":{"data":{"DEM":[{"name":"Unique Name 1","tileurl":"Layers/Example/{z}/{x}/{y}.png","minZoom":8,"maxNativeZoom":18,"resolution":256,"interpolateSeams":true},{"...":"..."}],"slope":[{"...":"..."}],"cost":[{"...":"..."}]},"interpolateSeams":false,"models":["Traverse Time","Isodistance","..."]}},"hasVars":true,"name":"Isochrone","toolbarPriority":10,"paths":{"IsochroneTool":"essence/Tools/Isochrone/IsochroneTool"}},"Viewshed":{"defaultIcon":"wifi-strength-2","description":"Realtime user generated viewsheds.","descriptionFull":{"title":"Renders dynamic tilesets based on line-of-sight visibilities from user defined source points. DEM tiles are used to generate these. At least one DEM tileset must be configured. curvature is optional and can be set to false to disable using the Major Radius to account for curvature during generations. cameraPresets are optional and the objects within only require the name field.","example":{"data":[{"name":"Unique Name 1","demtileurl":"Layers/Example/demtileset/{z}/{x}/{y}.png","minZoom":8,"maxNativeZoom":18},{"...":"..."}],"curvature":false,"cameraPresets":[{"name":"CAM A","height":2,"azCenter":0,"azFOV":70,"elCenter":-10,"elFOV":30},{"...":"..."}]}},"hasVars":true,"name":"Viewshed","toolbarPriority":101,"paths":{"ViewshedTool":"essence/Tools/Viewshed/ViewshedTool","ViewshedTool_Manager":"essence/Tools/Viewshed/ViewshedTool_Manager","ViewshedTool_Algorithm":"essence/Tools/Viewshed/ViewshedTool_Algorithm"}},"Shade":{"defaultIcon":"sun-angle-outline","description":"Realtime user generated sun and orbiter masks.","descriptionFull":{"title":"Shades the ground when line-of-sights to an orbiting target are occluded.","example":{"dem":"Data/missionDEM.tif","data":[{"name":"User-friendly name for DEM","demtileurl":"pathToDEMTiles/{z}/{x}/{y}.png","minZoom":8,"maxNativeZoom":18}],"sources":[{"name":"User-friendly name for orbiter or body that 'casts shadows'","value":"SPICE Spacecraft name or ID"},{"name":"...","value":"..."}],"observers":[{"name":"User-friendly name for observer for spacecraft time computations","value":"SPICE Spacecraft name or ID"}],"defaultHeight":0}},"hasVars":true,"name":"Shade","toolbarPriority":102,"paths":{"ShadeTool":"essence/Tools/Shade/ShadeTool","ShadeTool_Manager":"essence/Tools/Shade/ShadeTool_Algorithm","ShadeTool_Algorithm":"essence/Tools/Shade/ShadeTool_Algorithm"}},"Chemistry":{"defaultIcon":"flask","description":"Display chemistry percentages via graphs of a clicked point.","descriptionFull":{},"hasVars":false,"name":"Chemistry","paths":{"ChemistryTool":"essence/Tools/Chemistry/ChemistryTool"}},"Identifier":{"defaultIcon":"map-marker","description":"Mouse over the map for a by-pixel legend of a raster.","descriptionFull":{"title":"Mouse over to query underlying datasets.","example":{"[Layer_Name]":{"url":"(str) path_to_data/data.tif","bands":"(int) how many bands to query from","sigfigs":"(int) how many digits after the decimal","unit":"(str) whatever string unit","timeFormat":"(str) for formatting injected '{starttime}' and '{endtime}' in url. See syntax in https://d3js.org/d3-time-format#locale_format"},"...":{}}},"hasVars":true,"name":"Identifier","paths":{"IdentifierTool":"essence/Tools/Identifier/IdentifierTool"}},"Kinds":{"defaultIcon":"palette-swatch","description":"Not a real tool but plugin to configure different layer interactions.","descriptionFull":{},"hasVars":false,"name":"Kinds","kinds":["info","waypoint","chemistry_tool","draw_tool","edl_wedge"],"paths":{"Kinds":"essence/MMGIS-Private-Tools/Kinds/Kinds"}},"Measure":{"defaultIcon":"tape-measure","description":"Measure distances and generates elevation profiles.","descriptionFull":{"title":"Specify a path to a Digital Elevation Model (dem) .tif. Measure distances and generates elevation profiles. Can also query specific bands at specific points of images and generate profiles of them. If multiple dems are specified, a dropdown will be present for users to toggle between them.","example":{"dem":"(str) path to Data/defaultDEM.tif","layerDems":{"[layer_name]":"(str) path/to/layers/dem.tif"},"onlyShowDemIfLayerOn":true,"defaultMode":"segment || continuous || continuous_color"}},"hasVars":true,"name":"Measure","paths":{"MeasureTool":"essence/Tools/Measure/MeasureTool"},"config":{"rows":[{"components":[{"field":"variables.dem","name":"DEM path","description":"Path to Data/defaultDEM.tif","type":"text","width":12}]},{"components":[{"field":"variables.layerDems","name":"Layer specific DEMs","description":"Only show DEM if associated layer is on.","type":"objectarray","width":12,"object":[{"field":"layer","name":"Layer Name","description":"","type":"text","width":4},{"field":"dem","name":"DEM Path","description":"","type":"text","width":8}]}]},{"components":[{"field":"variables.onlyShowDemIfLayerOn","name":"Only Show DEM If On","description":"Only show DEM if associated layer is on.","type":"checkbox","width":2,"defaultChecked":false}]},{"components":[{"field":"variables.defaultMode","name":"Default Mode","description":"","type":"dropdown","width":2,"options":["segment","continuous","continuous_color"]}]}]}},"Curtain":{"defaultIcon":"waves","description":"Curtain views of Ground Penetrating Radar data.","descriptionFull":{"title":"Vertical imagery aligned under terrain for visualizing data from ground penetrating radar.","example":{"withCredentials":false}},"hasVars":true,"name":"Curtain","paths":{"CurtainTool":"essence/MMGIS-Private-Tools/Curtain/CurtainTool"}},"Draw":{"defaultIcon":"pencil","description":"Advanced drawing","descriptionFull":{"title":"","example":{"intents":["Polygon_1_Alias","Polygon_2_Alias","Polygon_3_Alias","Line_Alias","Point_Alias","All_Alias"],"defaultDrawClipping":"over || under || off","defaultPublicFilter":false,"defaultYoursOnlyFilter":true,"defaultOnFilter":false,"leadsCanEditFileInfo":false,"hoverLengthOnLines":false,"mtttt":"MTTTT endpoint path that overrides MTTTT_HOST env and provides backwards compatibility","mttttInfoLink":"Powered by link destination","mttttHostPath":"Path to append to MTTTT_HOST env /mttt/sites/JEZ","mttttWithCreds":false,"scienceIntent":true,"templates":{"myTemplate":[{"type":"slider","field":"a","min":0,"max":100,"step":1,"default":0},{"type":"number","field":"b","min":0,"max":100,"step":1,"required":true,"default":3},{"type":"text","field":"c","minLength":2,"maxLength":4,"required":true,"regex":null,"default":null},{"type":"textarea","field":"d","maxLength":10,"required":true,"default":"hi"},{"type":"checkbox","field":"e","default":true},{"type":"dropdown","field":"f","items":["Yes","No","Maybe"],"default":"No"},{"type":"incrementer","field":"g","default":"ID-#"},{"type":"date","field":"h","format":"HH:mm:ss","default":"now"}]}}},"hasVars":true,"name":"Draw","toolbarPriority":1001,"paths":{"DrawTool":"essence/MMGIS-Private-Tools/Draw/DrawTool"},"tests":{"DrawToolTest":"essence/MMGIS-Private-Tools/Draw/DrawTool.test"},"expandable":true}} \ No newline at end of file +{"Layers":{"defaultIcon":"layers","description":"Hierarchically toggle layers on and off and alter their opacities.","descriptionFull":{"title":"Hierarchically toggle layers on and off and alter their opacities.","example":{"expanded":"(bool) is initial state expanded [default false]"}},"hasVars":true,"name":"Layers","toolbarPriority":1,"paths":{"LayersTool":"essence/Tools/Layers/LayersTool"},"expandable":true,"config":{"rows":[{"components":[{"field":"variables.expanded","name":"Expanded","description":"Whether all layer groupings default to being expanded (as opposed to being collapsed).","type":"checkbox","width":3,"defaultChecked":false}]}]}},"Legend":{"defaultIcon":"map-legend","description":"Show a chart mapping colors and symbols to meaning.","descriptionFull":{"title":"Show a chart legend that maps colors and symbols to meaning.","example":{"displayOnStart":true,"justification":"right"}},"hasVars":true,"name":"Legend","toolbarPriority":2,"separatedTool":true,"paths":{"LegendTool":"essence/Tools/Legend/LegendTool"},"config":{"rows":[{"components":[{"field":"variables.displayOnStart","name":"Display on Start","description":"Whether the expanded legend should automatically be displayed on start.","type":"checkbox","width":3,"defaultChecked":false},{"field":"variables.justification","name":"Justification","description":"","type":"dropdown","width":2,"options":["left","right"]}]}]}},"Info":{"defaultIcon":"information-variant","description":"Display the geojson properties field of a clicked point.","descriptionFull":{"title":"","example":{"sortAlphabetically":true}},"hasVars":true,"name":"Info","toolbarPriority":3,"paths":{"InfoTool":"essence/Tools/Info/InfoTool"},"expandable":true,"config":{"rows":[{"components":[{"field":"variables.sortAlphabetically","name":"Sort Alphabetically","description":"Whether to sort the feature's fields alphabetically instead of listing them in their native order.","type":"checkbox","width":3,"defaultChecked":false}]}]}},"Sites":{"defaultIcon":"pin","description":"A button bar to navigate between various map locations.","descriptionFull":{"title":"A button bar to quickly navigate between preset map locations.","example":{"sites":[{"name":"(str) Name of site","code":"(str) Unique identifier. Can match header layer to toggle it's sublayers","view":["(num) Latitude","(num) Longitude","(num) Zoom level"]},{"...":"..."}]}},"hasVars":true,"name":"Sites","toolbarPriority":4,"paths":{"SitesTool":"essence/Tools/Sites/SitesTool"}},"Isochrone":{"defaultIcon":"circle-double","description":"Find the range of locations accessible to an explorer within a given time.","descriptionFull":{"title":"Given a user-defined starting point, render a shaded region where colors indicate minimum travel time or resource expenditure to reach a given location. Hover over the region to view the least costly path from the start to the cursor. Costs are calculated based on selectable and configurable models, which may each require multiple different tilesets as input.","example":{"data":{"DEM":[{"name":"Unique Name 1","tileurl":"Layers/Example/{z}/{x}/{y}.png","minZoom":8,"maxNativeZoom":18,"resolution":256,"interpolateSeams":true},{"...":"..."}],"slope":[{"...":"..."}],"cost":[{"...":"..."}]},"interpolateSeams":false,"models":["Traverse Time","Isodistance","..."]}},"hasVars":true,"name":"Isochrone","toolbarPriority":10,"paths":{"IsochroneTool":"essence/Tools/Isochrone/IsochroneTool"}},"Viewshed":{"defaultIcon":"wifi-strength-2","description":"Realtime user generated viewsheds.","descriptionFull":{"title":"Renders dynamic tilesets based on line-of-sight visibilities from user defined source points. DEM tiles are used to generate these. At least one DEM tileset must be configured. curvature is optional and can be set to false to disable using the Major Radius to account for curvature during generations. cameraPresets are optional and the objects within only require the name field.","example":{"data":[{"name":"Unique Name 1","demtileurl":"Layers/Example/demtileset/{z}/{x}/{y}.png","minZoom":8,"maxNativeZoom":18},{"...":"..."}],"curvature":false,"cameraPresets":[{"name":"CAM A","height":2,"azCenter":0,"azFOV":70,"elCenter":-10,"elFOV":30},{"...":"..."}]}},"hasVars":true,"name":"Viewshed","toolbarPriority":101,"paths":{"ViewshedTool":"essence/Tools/Viewshed/ViewshedTool","ViewshedTool_Manager":"essence/Tools/Viewshed/ViewshedTool_Manager","ViewshedTool_Algorithm":"essence/Tools/Viewshed/ViewshedTool_Algorithm"}},"Shade":{"defaultIcon":"sun-angle-outline","description":"Realtime user generated sun and orbiter masks.","descriptionFull":{"title":"Shades the ground when line-of-sights to an orbiting target are occluded.","example":{"dem":"Data/missionDEM.tif","data":[{"name":"User-friendly name for DEM","demtileurl":"pathToDEMTiles/{z}/{x}/{y}.png","minZoom":8,"maxNativeZoom":18}],"sources":[{"name":"User-friendly name for orbiter or body that 'casts shadows'","value":"SPICE Spacecraft name or ID"},{"name":"...","value":"..."}],"observers":[{"name":"User-friendly name for observer for spacecraft time computations","value":"SPICE Spacecraft name or ID"}],"defaultHeight":0}},"hasVars":true,"name":"Shade","toolbarPriority":102,"paths":{"ShadeTool":"essence/Tools/Shade/ShadeTool","ShadeTool_Manager":"essence/Tools/Shade/ShadeTool_Algorithm","ShadeTool_Algorithm":"essence/Tools/Shade/ShadeTool_Algorithm"},"config":{"rows":[{"components":[{"field":"variables.dem","name":"DEM path","description":"Path to Data/defaultDEM.tif","type":"text","width":12}]},{"components":[{"field":"variables.data","name":"Layer specific DEMs","description":"Only show DEM if associated layer is on.","type":"objectarray","width":12,"object":[{"field":"name","name":"Name","description":"User-friendly name for DEM","type":"text","width":2},{"field":"demtileurl","name":"DEM Path","description":"","type":"text","width":8},{"field":"minZoom","name":"Minimum Zoom","description":"","type":"number","min":0,"step":1,"width":1},{"field":"maxNativeZoom","name":"Maximum Native Zoom","description":"","type":"number","min":0,"step":1,"width":1}]}]},{"components":[{"field":"variables.sources","name":"Sources","description":"Only show DEM if associated layer is on.","type":"objectarray","width":12,"object":[{"field":"name","name":"Name","description":"User-friendly name for orbiter or body that 'casts shadows'","type":"text","width":4},{"field":"value","name":"Value","description":"SPICE Spacecraft name or ID","type":"text","width":4}]}]},{"components":[{"field":"variables.observers","name":"Observers","description":"Only show DEM if associated layer is on.","type":"objectarray","width":12,"object":[{"field":"name","name":"Name","description":"User-friendly name for observer for spacecraft time computations","type":"text","width":4},{"field":"value","name":"Value","description":"SPICE Spacecraft name or ID","type":"text","width":4}]}]},{"components":[{"field":"variables.defaultHeight","name":"Default Height","description":"","type":"number","min":0,"width":1}]}]}},"Chemistry":{"defaultIcon":"flask","description":"Display chemistry percentages via graphs of a clicked point.","descriptionFull":{},"hasVars":false,"name":"Chemistry","paths":{"ChemistryTool":"essence/Tools/Chemistry/ChemistryTool"}},"Identifier":{"defaultIcon":"map-marker","description":"Mouse over the map for a by-pixel legend of a raster.","descriptionFull":{"title":"Mouse over to query underlying datasets.","example":{"[Layer_Name]":{"url":"(str) path_to_data/data.tif","bands":"(int) how many bands to query from","sigfigs":"(int) how many digits after the decimal","unit":"(str) whatever string unit","timeFormat":"(str) for formatting injected '{starttime}' and '{endtime}' in url. See syntax in https://d3js.org/d3-time-format#locale_format"},"...":{}}},"hasVars":true,"name":"Identifier","paths":{"IdentifierTool":"essence/Tools/Identifier/IdentifierTool"},"config":{"rows":[{"components":[{"field":"variables.layers","name":"Layers","description":"Only show DEM if associated layer is on.","type":"objectarray","width":12,"object":[{"field":"name","name":"Layer Name or UUID","description":"","type":"text","width":4},{"field":"url","name":"URL to .tif","description":"This can be a relative path to a file under the Mission name or a full url path. The former is preferred is the file is large. Can use '{starttime}' and '{endtime}' if the layer is time enabled.","type":"text","width":8},{"field":"bands","name":"Bands","description":"Number of bands from which to query.","type":"number","min":0,"step":1,"width":2},{"field":"sigfigs","name":"SigFigs","description":"Number of significant figures to use after the decimal of returned values.","type":"number","min":0,"step":1,"width":2},{"field":"unit","name":"Unit","description":"A string that is appended to your returned value. e.g. ' m' would be appended on a raw value ('41') and show '41 m'. If it was 'm', it would return '41m', without a space.","type":"text","width":4},{"field":"timeFormat","name":"Time Format","description":"A string for formatting the injected '{starttime}' and '{endtime}' in the url. See syntax in https://d3js.org/d3-time-format#locale_format","type":"text","width":4}]}]}]}},"Kinds":{"defaultIcon":"palette-swatch","description":"Not a real tool but plugin to configure different layer interactions.","descriptionFull":{},"hasVars":false,"name":"Kinds","kinds":["info","waypoint","chemistry_tool","draw_tool","edl_wedge"],"paths":{"Kinds":"essence/MMGIS-Private-Tools/Kinds/Kinds"}},"Measure":{"defaultIcon":"tape-measure","description":"Measure distances and generates elevation profiles.","descriptionFull":{"title":"Specify a path to a Digital Elevation Model (dem) .tif. Measure distances and generates elevation profiles. Can also query specific bands at specific points of images and generate profiles of them. If multiple dems are specified, a dropdown will be present for users to toggle between them.","example":{"dem":"(str) path to Data/defaultDEM.tif","layerDems":{"[layer_name]":"(str) path/to/layers/dem.tif"},"onlyShowDemIfLayerOn":true,"defaultMode":"segment || continuous || continuous_color"}},"hasVars":true,"name":"Measure","paths":{"MeasureTool":"essence/Tools/Measure/MeasureTool"},"config":{"rows":[{"components":[{"field":"variables.dem","name":"DEM path","description":"Path to Data/defaultDEM.tif","type":"text","width":12}]},{"components":[{"field":"variables.layerDems","name":"Layer specific DEMs","description":"Only show DEM if associated layer is on.","type":"objectarray","width":12,"object":[{"field":"layer","name":"Layer Name","description":"","type":"text","width":4},{"field":"dem","name":"DEM Path","description":"","type":"text","width":8}]}]},{"components":[{"field":"variables.onlyShowDemIfLayerOn","name":"Only Show DEM If On","description":"Only show DEM if associated layer is on.","type":"checkbox","width":2,"defaultChecked":false}]},{"components":[{"field":"variables.defaultMode","name":"Default Mode","description":"","type":"dropdown","width":2,"options":["segment","continuous","continuous_color"]}]}]}},"Curtain":{"defaultIcon":"waves","description":"Curtain views of Ground Penetrating Radar data.","descriptionFull":{"title":"Vertical imagery aligned under terrain for visualizing data from ground penetrating radar.","example":{"withCredentials":false}},"hasVars":true,"name":"Curtain","paths":{"CurtainTool":"essence/MMGIS-Private-Tools/Curtain/CurtainTool"}},"Draw":{"defaultIcon":"pencil","description":"Advanced drawing","descriptionFull":{"title":"","example":{"intents":["Polygon_1_Alias","Polygon_2_Alias","Polygon_3_Alias","Line_Alias","Point_Alias","All_Alias"],"defaultDrawClipping":"over || under || off","defaultPublicFilter":false,"defaultYoursOnlyFilter":true,"defaultOnFilter":false,"leadsCanEditFileInfo":false,"hoverLengthOnLines":false,"mtttt":"MTTTT endpoint path that overrides MTTTT_HOST env and provides backwards compatibility","mttttInfoLink":"Powered by link destination","mttttHostPath":"Path to append to MTTTT_HOST env /mttt/sites/JEZ","mttttWithCreds":false,"scienceIntent":true,"templates":{"myTemplate":[{"type":"slider","field":"a","min":0,"max":100,"step":1,"default":0},{"type":"number","field":"b","min":0,"max":100,"step":1,"required":true,"default":3},{"type":"text","field":"c","minLength":2,"maxLength":4,"required":true,"regex":null,"default":null},{"type":"textarea","field":"d","maxLength":10,"required":true,"default":"hi"},{"type":"checkbox","field":"e","default":true},{"type":"dropdown","field":"f","items":["Yes","No","Maybe"],"default":"No"},{"type":"incrementer","field":"g","default":"ID-#"},{"type":"date","field":"h","format":"HH:mm:ss","default":"now"}]}}},"hasVars":true,"name":"Draw","toolbarPriority":1001,"paths":{"DrawTool":"essence/MMGIS-Private-Tools/Draw/DrawTool"},"tests":{"DrawToolTest":"essence/MMGIS-Private-Tools/Draw/DrawTool.test"},"expandable":true}} \ No newline at end of file diff --git a/configure/src/components/Tabs/Layers/Modals/LayerModal/LayerModal.js b/configure/src/components/Tabs/Layers/Modals/LayerModal/LayerModal.js index 5c7812e6..1962ecb8 100644 --- a/configure/src/components/Tabs/Layers/Modals/LayerModal/LayerModal.js +++ b/configure/src/components/Tabs/Layers/Modals/LayerModal/LayerModal.js @@ -56,8 +56,9 @@ const useStyles = makeStyles((theme) => ({ }, contents: { height: "100%", - width: "calc(100% - 350px)", - maxWidth: "1400px !important", + width: "100%", + maxWidth: "1500px !important", + maxHeight: "calc(100% - 32px) !important", }, heading: { height: theme.headHeights[2], diff --git a/configure/src/components/Tabs/Tools/Modals/ToolModal/ToolModal.js b/configure/src/components/Tabs/Tools/Modals/ToolModal/ToolModal.js index d7a565da..ab7b0fb4 100644 --- a/configure/src/components/Tabs/Tools/Modals/ToolModal/ToolModal.js +++ b/configure/src/components/Tabs/Tools/Modals/ToolModal/ToolModal.js @@ -54,8 +54,9 @@ const useStyles = makeStyles((theme) => ({ }, contents: { height: "100%", - width: "calc(100% - 350px)", - maxWidth: "1400px !important", + width: "100%", + maxWidth: "1500px !important", + maxHeight: "calc(100% - 32px) !important", }, heading: { height: theme.headHeights[2], diff --git a/configure/src/core/Maker.js b/configure/src/core/Maker.js index fa031ba0..b79bcfc2 100644 --- a/configure/src/core/Maker.js +++ b/configure/src/core/Maker.js @@ -94,12 +94,15 @@ const useStyles = makeStyles((theme) => ({ }, objectArrayBox: { display: "flex", - margin: "0px 10px", + margin: "0px 10px 10px 10px", + background: theme.palette.swatches.grey[1000], + padding: "10px", + boxShadow: "0px 2px 2px 0px rgba(0, 0, 0, 0.1)", }, object: { border: `2px solid ${theme.palette.swatches.grey[900]}`, borderLeft: `2px solid ${theme.palette.swatches.grey[200]}`, - background: theme.palette.swatches.grey[950], + background: theme.palette.swatches.grey[850], }, map: {}, noMargin: { diff --git a/configure/src/themes/light.js b/configure/src/themes/light.js index 0cc2511a..24342a1f 100644 --- a/configure/src/themes/light.js +++ b/configure/src/themes/light.js @@ -32,6 +32,7 @@ export const palette = { 600: "#949a9e", 700: "#b4b8bb", 800: "#d4d6d8", + 850: "#efefef", 900: "#f4f5f5", 950: "#fafafa", 1000: "#FFFFFF", diff --git a/src/essence/Tools/Identifier/config.json b/src/essence/Tools/Identifier/config.json index b7fee79f..a76e358b 100644 --- a/src/essence/Tools/Identifier/config.json +++ b/src/essence/Tools/Identifier/config.json @@ -18,5 +18,68 @@ "name": "Identifier", "paths": { "IdentifierTool": "essence/Tools/Identifier/IdentifierTool" + }, + "config": { + "rows": [ + { + "components": [ + { + "field": "variables.layers", + "name": "Layers", + "description": "Only show DEM if associated layer is on.", + "type": "objectarray", + "width": 12, + "object": [ + { + "field": "name", + "name": "Layer Name or UUID", + "description": "", + "type": "text", + "width": 4 + }, + { + "field": "url", + "name": "URL to .tif", + "description": "This can be a relative path to a file under the Mission name or a full url path. The former is preferred is the file is large. Can use '{starttime}' and '{endtime}' if the layer is time enabled.", + "type": "text", + "width": 8 + }, + { + "field": "bands", + "name": "Bands", + "description": "Number of bands from which to query.", + "type": "number", + "min": 0, + "step": 1, + "width": 2 + }, + { + "field": "sigfigs", + "name": "SigFigs", + "description": "Number of significant figures to use after the decimal of returned values.", + "type": "number", + "min": 0, + "step": 1, + "width": 2 + }, + { + "field": "unit", + "name": "Unit", + "description": "A string that is appended to your returned value. e.g. ' m' would be appended on a raw value ('41') and show '41 m'. If it was 'm', it would return '41m', without a space.", + "type": "text", + "width": 4 + }, + { + "field": "timeFormat", + "name": "Time Format", + "description": "A string for formatting the injected '{starttime}' and '{endtime}' in the url. See syntax in https://d3js.org/d3-time-format#locale_format", + "type": "text", + "width": 4 + } + ] + } + ] + } + ] } } diff --git a/src/essence/Tools/Info/config.json b/src/essence/Tools/Info/config.json index 53d09cbd..27688c6a 100644 --- a/src/essence/Tools/Info/config.json +++ b/src/essence/Tools/Info/config.json @@ -13,5 +13,21 @@ "paths": { "InfoTool": "essence/Tools/Info/InfoTool" }, - "expandable": true + "expandable": true, + "config": { + "rows": [ + { + "components": [ + { + "field": "variables.sortAlphabetically", + "name": "Sort Alphabetically", + "description": "Whether to sort the feature's fields alphabetically instead of listing them in their native order.", + "type": "checkbox", + "width": 3, + "defaultChecked": false + } + ] + } + ] + } } diff --git a/src/essence/Tools/Layers/config.json b/src/essence/Tools/Layers/config.json index d3cd9df1..c86dcc9c 100644 --- a/src/essence/Tools/Layers/config.json +++ b/src/essence/Tools/Layers/config.json @@ -13,5 +13,21 @@ "paths": { "LayersTool": "essence/Tools/Layers/LayersTool" }, - "expandable": true + "expandable": true, + "config": { + "rows": [ + { + "components": [ + { + "field": "variables.expanded", + "name": "Expanded", + "description": "Whether all layer groupings default to being expanded (as opposed to being collapsed).", + "type": "checkbox", + "width": 3, + "defaultChecked": false + } + ] + } + ] + } } diff --git a/src/essence/Tools/Legend/config.json b/src/essence/Tools/Legend/config.json index 2a14f923..0cc2581c 100644 --- a/src/essence/Tools/Legend/config.json +++ b/src/essence/Tools/Legend/config.json @@ -14,5 +14,29 @@ "separatedTool": true, "paths": { "LegendTool": "essence/Tools/Legend/LegendTool" + }, + "config": { + "rows": [ + { + "components": [ + { + "field": "variables.displayOnStart", + "name": "Display on Start", + "description": "Whether the expanded legend should automatically be displayed on start.", + "type": "checkbox", + "width": 3, + "defaultChecked": false + }, + { + "field": "variables.justification", + "name": "Justification", + "description": "", + "type": "dropdown", + "width": 2, + "options": ["left", "right"] + } + ] + } + ] } } diff --git a/src/essence/Tools/Shade/config.json b/src/essence/Tools/Shade/config.json index beead680..fa1e329d 100644 --- a/src/essence/Tools/Shade/config.json +++ b/src/essence/Tools/Shade/config.json @@ -39,5 +39,131 @@ "ShadeTool": "essence/Tools/Shade/ShadeTool", "ShadeTool_Manager": "essence/Tools/Shade/ShadeTool_Algorithm", "ShadeTool_Algorithm": "essence/Tools/Shade/ShadeTool_Algorithm" + }, + "config": { + "rows": [ + { + "components": [ + { + "field": "variables.dem", + "name": "DEM path", + "description": "Path to Data/defaultDEM.tif", + "type": "text", + "width": 12 + } + ] + }, + { + "components": [ + { + "field": "variables.data", + "name": "Layer specific DEMs", + "description": "Only show DEM if associated layer is on.", + "type": "objectarray", + "width": 12, + "object": [ + { + "field": "name", + "name": "Name", + "description": "User-friendly name for DEM", + "type": "text", + "width": 2 + }, + { + "field": "demtileurl", + "name": "DEM Path", + "description": "", + "type": "text", + "width": 8 + }, + { + "field": "minZoom", + "name": "Minimum Zoom", + "description": "", + "type": "number", + "min": 0, + "step": 1, + "width": 1 + }, + { + "field": "maxNativeZoom", + "name": "Maximum Native Zoom", + "description": "", + "type": "number", + "min": 0, + "step": 1, + "width": 1 + } + ] + } + ] + }, + { + "components": [ + { + "field": "variables.sources", + "name": "Sources", + "description": "Only show DEM if associated layer is on.", + "type": "objectarray", + "width": 12, + "object": [ + { + "field": "name", + "name": "Name", + "description": "User-friendly name for orbiter or body that 'casts shadows'", + "type": "text", + "width": 4 + }, + { + "field": "value", + "name": "Value", + "description": "SPICE Spacecraft name or ID", + "type": "text", + "width": 4 + } + ] + } + ] + }, + { + "components": [ + { + "field": "variables.observers", + "name": "Observers", + "description": "Only show DEM if associated layer is on.", + "type": "objectarray", + "width": 12, + "object": [ + { + "field": "name", + "name": "Name", + "description": "User-friendly name for observer for spacecraft time computations", + "type": "text", + "width": 4 + }, + { + "field": "value", + "name": "Value", + "description": "SPICE Spacecraft name or ID", + "type": "text", + "width": 4 + } + ] + } + ] + }, + { + "components": [ + { + "field": "variables.defaultHeight", + "name": "Default Height", + "description": "", + "type": "number", + "min": 0, + "width": 2 + } + ] + } + ] } }