Fix add widget behavior, widget types and view settings button menu item...
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
// This file is intended to track default widget states as a baseline for any created widgets
|
||||
import AlertLevel from "src/components/Canvas/CanvasComponents/AlertLevelWidget.jsx"
|
||||
import GasWidget from "src/components/Canvas/CanvasComponents/GasWidget";
|
||||
|
||||
// Example widgets, returns actual baseline widget
|
||||
export const WIDGET_REGISTRY = {
|
||||
// ***************** My Dashboard Widgets *****************
|
||||
alert_level: {
|
||||
key: "alert_level",
|
||||
label: "Alert Level",
|
||||
kind: "real",
|
||||
defaults: { w: 4, h: 7, minW: 4, minH: 7, maxW: 8, maxH: 14 },
|
||||
category: "generic",
|
||||
},
|
||||
|
||||
ivans: {
|
||||
key: "ivans",
|
||||
label: "IVANS",
|
||||
kind: "placeholder",
|
||||
placeholderTitle: "IVANS",
|
||||
defaults: {w: 4, h: 7, minW: 4, minH: 5, maxW: 8, maxH: 12 },
|
||||
category: "generic",
|
||||
},
|
||||
|
||||
plume_heights: {
|
||||
key: "plume_heights",
|
||||
label: "Plume Heights",
|
||||
kind: "placeholder",
|
||||
placeholderTitle: "Plume Heights",
|
||||
defaults: {w: 4, h: 7, minW: 4, minH: 5, maxW: 8, maxH: 12 },
|
||||
category: "generic",
|
||||
},
|
||||
|
||||
alert_level_changes: {
|
||||
key: "alert_level_changes",
|
||||
label: "Alert Level Changes",
|
||||
kind: "placeholder",
|
||||
placeholderTitle: "Alert Level Changes",
|
||||
defaults: {w: 4, h: 7, minW: 4, minH: 5, maxW: 8, maxH: 12 },
|
||||
category: "generic",
|
||||
},
|
||||
|
||||
// ***************** Gas Widgets *****************
|
||||
gas_measurements: {
|
||||
key: "gas_measurements",
|
||||
label: "Gas Measurements",
|
||||
kind: "real",
|
||||
defaults: {w: 4, h: 6, minW: 4, minH: 5, maxW: 8, maxH: 12 },
|
||||
category: "gas",
|
||||
// ~ defaultConfig is being moved to widgetInspectorRegistry
|
||||
// defaultConfig: {
|
||||
// // for later filters
|
||||
// rangeDays: 30,
|
||||
// compound: null,
|
||||
// volcano: null,
|
||||
// site: null,
|
||||
// },
|
||||
},
|
||||
|
||||
gas_so2: {
|
||||
key: "gas_so2",
|
||||
label: "SO₂",
|
||||
kind: "placeholder",
|
||||
placeholderTitle: "SO2",
|
||||
defaults: {w: 4, h: 7, minW: 4, minH: 5, maxW: 8, maxH: 12 },
|
||||
category: "gas",
|
||||
},
|
||||
|
||||
// Add Additional Widgets to the Registry as they are generated
|
||||
// Gas Widgets
|
||||
// Seismic Widgets
|
||||
// Remote Sensing Widgets
|
||||
// Deformation Widgets
|
||||
};
|
||||
|
||||
// Used to define components without adding .jsx to a .js registry file
|
||||
export const WIDGET_COMPONENTS = {
|
||||
alert_level: AlertLevel,
|
||||
gas_measurements: GasWidget, // clicking CO2 renders the temp gas widget
|
||||
};
|
||||
|
||||
// Which widgets show up in "Add Widget" for each view
|
||||
// Make sure these match the keys inside the WIDGET_REGISTRY
|
||||
export const VIEW_WIDGET_KEYS = {
|
||||
mydashboard: [
|
||||
"alert_level",
|
||||
"gas_measurements",
|
||||
"ivans",
|
||||
"plume_heights",
|
||||
"alert_level_changes"
|
||||
],
|
||||
|
||||
gas: [
|
||||
"gas_measurements",
|
||||
"gas_so2",
|
||||
],
|
||||
|
||||
seismic: ["alert_level"],
|
||||
};
|
||||
|
||||
export const getWidgetsForView = (view) => {
|
||||
const keys = VIEW_WIDGET_KEYS[view] ?? [];
|
||||
return keys
|
||||
.map((k) => WIDGET_REGISTRY[k])
|
||||
.filter(Boolean);
|
||||
};
|
||||
Reference in New Issue
Block a user