[Gauge] - Able to add Gauge Widget to Dashboard
corteggiano opened this issue · comments
corteggiano commented
❗ PLEASE MAKE THESE CHANGES UNDER A FEATURE FLAG |
---|
❗ PLEASE MAKE THESE CHANGES IN SMALL INCREMENTAL PRs AND NOT AT ONCE |
---|
Create a feature flag by setting a local_storage value and referencing it as this:
const hasGauge = !!localStorage?.getItem('HAS_GAUGE_WIDGET');
Implementation Steps:
- Add the following to
iot-app-kit/packages/dashboard/src/customization/widgets/types.ts
export type GaugeProperties = QueryProperties & {
gaugeThickness?: number;
showName?: boolean;
showUnit?: boolean;
fontSize?: number;
labelFontSize?: number;
unitFontSize?: number;
yMin?: number;
yMax?: number;
};
export type GaugeWidget = DashboardWidget<GaugeProperties>;
-
Create
Gauge
folder underiot-app-kit/packages/dashboard/src/customization/widgets
-
In the folder, you will need the implement the following files (take a look at KPI for an idea of what to do for each file):
component.tsx
- this is where you will use the react-component implementationicon.tsx
- Represents the icon that will be shown in the widget paletteplugin.tsx
- Represents the initial state of all the settings when the widget is added to a dashboard
Initial states should include aninitialSize, showName: true, showUnit: true
-
Users should be able to add the gauge widgets to the dashboard
- Make sure you cannot add more than 1 property to a widget (we already do this for KPI so it should be the same behavior)
jmbuss commented
corteggiano commented