Fixes #21718 This is a PR for review of approach that I have come up with refactor for issue : #21718. We can discuss the approach in the comments. This PR moves autocomplete suggestions from a static utility file, entityDefinitions, to widget/index.ts file of each widget. This refactor will help in the long term project of moving widgets into its own module as well as support for custom widgets.
70 lines
1.9 KiB
TypeScript
70 lines
1.9 KiB
TypeScript
import { FILL_WIDGET_MIN_WIDTH } from "constants/minWidthConstants";
|
|
import { ResponsiveBehavior } from "utils/autoLayout/constants";
|
|
|
|
import { dataSetForWorld, MapTypes } from "./constants";
|
|
import IconSVG from "./icon.svg";
|
|
import Widget from "./widget";
|
|
|
|
export const CONFIG = {
|
|
type: Widget.getWidgetType(),
|
|
name: "Map Chart", // The display name which will be made in uppercase and show in the widgets panel ( can have spaces )
|
|
iconSVG: IconSVG,
|
|
needsMeta: true, // Defines if this widget adds any meta properties
|
|
isCanvas: false, // Defines if this widget has a canvas within in which we can drop other widgets
|
|
searchTags: ["graph", "visuals", "visualisations"],
|
|
defaults: {
|
|
rows: 32,
|
|
columns: 24,
|
|
widgetName: "MapChart",
|
|
version: 1,
|
|
mapType: MapTypes.WORLD,
|
|
mapTitle: "Global Population",
|
|
showLabels: true,
|
|
data: dataSetForWorld,
|
|
colorRange: [
|
|
{
|
|
minValue: 0.5,
|
|
maxValue: 1.0,
|
|
code: "#FFD74D",
|
|
},
|
|
{
|
|
minValue: 1.0,
|
|
maxValue: 2.0,
|
|
code: "#FB8C00",
|
|
},
|
|
{
|
|
minValue: 2.0,
|
|
maxValue: 3.0,
|
|
code: "#E65100",
|
|
},
|
|
],
|
|
responsiveBehavior: ResponsiveBehavior.Fill,
|
|
minWidth: FILL_WIDGET_MIN_WIDTH,
|
|
},
|
|
properties: {
|
|
derived: Widget.getDerivedPropertiesMap(),
|
|
default: Widget.getDefaultPropertiesMap(),
|
|
meta: Widget.getMetaPropertiesMap(),
|
|
config: Widget.getPropertyPaneConfig(),
|
|
contentConfig: Widget.getPropertyPaneContentConfig(),
|
|
styleConfig: Widget.getPropertyPaneStyleConfig(),
|
|
stylesheetConfig: Widget.getStylesheetConfig(),
|
|
autocompleteDefinitions: Widget.getAutocompleteDefinitions(),
|
|
},
|
|
autoLayout: {
|
|
widgetSize: [
|
|
{
|
|
viewportMinWidth: 0,
|
|
configuration: () => {
|
|
return {
|
|
minWidth: "280px",
|
|
minHeight: "300px",
|
|
};
|
|
},
|
|
},
|
|
],
|
|
},
|
|
};
|
|
|
|
export default Widget;
|