3.0.0 • Published 3 months ago

@eqproject/eqp-dashboard v3.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

Table of contents

Required

  • Angular Material installed and imported
  • ngx-echarts installed (Check compatibility with your angular version)
  • @juggle/resize-observer
  • echarts
  • @angular-material-components/datetime-picker (v2.0.4)
  • @angular-material-components/moment-adapter
  • Moment.js

Getting started

This package allows the creation of a flexible dashboard with different types of widgets. Each widget may contain various information such as graphs, statistics or entire external components

Step 1: Install eqp-dashboard:

NPM

npm install --save @eqproject/eqp-dashboard

Step 2: Import the EqpDashboardModule :

import { EqpDashboardModule } from '@eqproject/eqp-dashboard';

@NgModule({
  declarations: [AppComponent],
  imports: [EqpDashboardModule],
  bootstrap: [AppComponent]
})
export class AppModule {}

API

Inputs

InputTypeDefaultRequiredDescription
configsArray<WidgetConfig>-yesArray of WidgetConfig Objects
saveConfigsboolTruenoIf TRUE then save the widget configuration in the localstorage
hideTooltipLabelstringHidenoSet tooltip label of top left eye icon widget
showTooltipLabelstringShownoSet tooltip label of eye icon row in modal hidden items list
resizeTooltipLabelstringResize WidgetnoSet tooltip label of top right tree dots icon widget
showAllHiddenItemsLabelstringShow all hidden elementsnoSet label of settings button that shows all hidden items
showListHiddenItemsLabelstringShow hidden elements listnoSet label of settings button that shows modal of hidden items list
settingsLabelstringSettingsnoSet tooltip label of top left settings icon
smallLabelstringSmallnoSet label of small widget resize option
mediumLabelstringMediumnoSet label of medium widget resize option
LargeLabelstringLargenoSet label of large widget resize option
showSpinnerLabelboolTruenoIf TRUE then it shows the label in the widget spinner configured for an endpoint
spinnerLabelstringLoading...noSet the spinner label
dashboardSettingsLabelstringnullnoSet label for the dashboard settings button
hiddenWidgetModalTitlestringHidden widget listnoSet label for the hidden widget list modal
RechargeLabelstringReloadnoSet label for reload tooltip button
searchTooltipLabelstringSearchnoSet label for endpoint search button
emptyChartMessagestringNo data to show for this chartnoSet message to show when the chart is empty

Outputs

OutputEvent ArgumentsRequiredDescription
widgetSizeChangeEventEmitter<WidgetConfig>noInvoked when resizing the widget. Returns the data of the resized widget

Models used

WidgetConfig Model: class for configure each individual widget

PropertyDescriptionTypeExamples
WidgetIDUnique Widget ID stringstring-
WidgetTitleDisplayed widget title stringstring-
WidgetTitleColorSet Widget title colorstring'red' or '#ff0000'
WidgetSizeClassWidgetTypeEnum - define with enumerator the widget sizeWidgetSizeEnumXS, MD, XL
WidgetTypeWidgetTypeEnum - define with enumerator the widget typeWidgetTypeEnumPIE_CHART = 1, BARS_CHART = 2, LINE_CHART = 3, RADAR_CHART = 4, GAUGE_CHART = 5, STATISTIC_CHART = 6, CUSTOM_CHART = 7
ChartOptionsIf CustomComponentSelector and StatisticWidget are not defined allow to define the specific chart configuration. It can belong to one of types: LineChartOption, BarChartOption, PieChartOption, RadarChartOption, GaugeChartOptionLineChartOption or BarChartOption or PieChartOption or RadarChartOption or GaugeChartOption-
EndPointDataAllows you to configure the endpoint data to be called to retrieve the data to show in the graphEndPointData-
CustomComponentSelectorAllows you to define the selector of an external component to be shown in the widget. The component will need to reside in the project where eqp-dashbaord is locatedstring-
CustomComponentInputsAllows you to define the inputs to pass to the external component, defined by CustomComponentSelectorany-
StatisticWidgetUsed to configure a statistical widget that displays numerical dataArray<StatisticItem>-
CurrencyUsed to determine the currency formatting to useCurrencyEnum-

EndPointData Model

PropertyDescriptionTypeRequiredExamples
UrlURL of endpointstringyeshttp://localhost:5000/api/test
TokenHeader token to send to endpointstringno-
RequestMethodVerb to use for endpointRequestMethodEnumyesA single value between: GET, POST, PUT
ParamsParams to pass to endpointEndPointDataParams[]noAn object of type EndPointDataParams
ReloadDataOnParamsChangeIf TRUE then any modification of any parameter value will cause the widget updatingbooleannoDefault value: null

EndPointDataParams Model

PropertyDescriptionTypeRequiredExamples
PropertyLabelLabel to show for the property filterstringyesData inizio
PropertyNameName of the property to use as filterstringyesStartDate
PropertyValueValue of the property to use as filter (default: null)anyno-
PropertyTypeType of the filter propertyEndPointDataParamTypeyesA single value between: TEXT, NUMBER, DATE, DATETIME, CVL, EXTERNAL_TEMPLATE
CvlConfigType of the filter propertyEndpointParamCvlConfigno-
isHiddenTRUE if you want to use the filter with default value, without showing itbooleanno-
ExternalTemplateConfigTemplateRef<any>no-
ParamClassstringnoDefault value: "col-md-4 col-lg-4 col-sm-6"

EndpointParamCvlConfig Model

PropertyDescriptionTypeExamples
EnumDataIf the CVL is based on an enumerator then in this property the type of the enumerator to be used must be defined. In this way the data source of the CVL will be the set of values ​​defined for the enumeratorany-
ArrayDataIf the CVL is based on an array then in this property the array to be shown as the data source of the CVL must be definedany[]-
ArrayKeyPropertyIn the case of ArrayData defined it allows to indicate the property of the objects of the array to bind to the filterstring-
ArrayValuePropertyIn the case of ArrayData defined, it allows you to indicate the property of the objects to be displayed in the filterstring-
IsSearchableIf TRUE then it shows the search field within the CVLboolean-
ShowCancelButtonIf TRUE then it shows the button to clear the CVL selectionboolean-
SearchTextAllows you to define the label for the search fieldstring-
IsMultiSelectIt allows you to define the multi-selection of CVL valuesboolean-
BindFullObjectIt allows to define if in the CVL the binding must consider the whole object or only the property defined inside ArrayKeyPropertyboolean-
Static exposed functions
NameReturned TypeParametersExamples
CreateEndpointParamCVLConfigEndpointParamCvlConfigenumData?: any, arrayData?: any, arrayKeyProperty?: any, arrayValueProperty?: any, isMultiSelect?: boolean, isSearchable?: boolean, showCancelButton?: boolean, searchText?: string, bindFullObject?: boolean-

StatisticItem Model

PropertyDescriptionTypeRequiredExamples
IconMaterial icon tag namestringnodelete or fa fa-check
IsFontAwesomeIconTRUE if you want to use font-awesome (default: FALSE - use material icons)booleanno-
IconClassA style class to apply to the iconstringno-
LabelClassA style class to apply to the labelstringno-
LabelLabel of the statistic valuestringyes-
ProgressBarColorColor to apply to the progress barstringnored or #FFFFFF
ValueThe value to show on the statistic linenumberyes-
MaxValueThe max value of the bar (required for percentage calculations)numberno-
PercentageThe percentage value of the statistic linestringno-

LineChartOption Model

Describes the model for configuring LINE type charts | Property | Description | Type | Required | Examples | | ------------- | ------------- | ------------- | ------------- | ------------- | | xAxis | The data configuration for the X Axis of the chart | XAxisConfig | yes | View use cases 1 | | yAxis | The data configuration for the Y Axis of the chart | YAxisConfig | yes | View use cases 1 | | series | The data configuration for the X Axis of the chart | LineSeriesData | LineSeriesData[] | yes | View use cases 1 | | legend | The data configuration for chart legend (automatically set to show the legend) | LineLegend | no | - | | tooltip | The data configuration for chart tooltip (automatically set to show tooltips on hover) | LineTooltip | no | - |

Static exposed functions | Name | Returned Type | Parameters | Examples | | ------------- | ------------- | ------------- | ------------- | | CreateLineChartModel | LineChartOptions | labels: string[], seriesData: Map<string, number[]>, yAxisPosition? : string, seriesColors?: string[] | labels: list of labels for the X axis ; seriesData: Dictionary containing the configuration of the series of values to be shown for the bar chart; yAxisPosition : String that determines the position of the Y axis (left or right); seriesColors: Allows you to define the colors to be used for each series of the chart. The array is positional so the first color will be attributed to the first series, the second color to the second series etc ... |

BarChartOption Model

Describes the model for configuring BAR type charts | Property | Description | Type | Required | Examples | | ------------- | ------------- | ------------- | ------------- | ------------- | | xAxis | The data configuration for the X Axis of the chart | XAxisConfig | yes | View use cases 2 | | yAxis | The data configuration for the Y Axis of the chart | YAxisConfig | yes | View use cases 2 | | series | The data configuration for the X Axis of the chart | LineSeriesData | LineSeriesData[] | yes | View use cases 2 | | legend | The data configuration for chart legend (automatically set to show the legend) | LineLegend | no | - | | tooltip | The data configuration for chart tooltip (automatically set to show tooltips on hover) | LineTooltip | no | - |

Static exposed functions | Name | Returned Type | Parameters | Examples | | ------------- | ------------- | ------------- | ------------- | | CreateBarChartModel | BarChartOptions | labels: string[], seriesData: Map<string, number[]>, yAxisPosition? : string, seriesColors?: string[] | labels: list of labels for the X axis ; seriesData: Dictionary containing the configuration of the series of values to be shown for the bar chart; yAxisPosition : String that determines the position of the Y axis (left or right); seriesColors: Allows you to define the colors to be used for each series of the chart. The array is positional so the first color will be attributed to the first series, the second color to the second series etc ... |

PieChartOption Model

Describes the model for configuring PIE type charts | Property | Description | Type | Required | Examples | | ------------- | ------------- | ------------- | ------------- | ------------- | | tooltip | object that defines the trigger property for the tooltip configuration | any | no | View use cases 3 | | legend | object that defines the properties orient e left for the legend configuration | any | no | View use cases 3 | | series | Defines the series data for the chart | PieSeries[] | no | View use cases 3 | | isDoughnut | If TRUE then show a DoughnutChart else show a PieChart | boolean | no | Default value: false |

Static exposed functions | Name | Returned Type | Parameters | Examples | | ------------- | ------------- | ------------- | ------------- | | CreatePieChartModel | PieChartOptions | seriesData: Map<string, PieSeriesValue[]>, isDoughnut: boolean | seriesData: Dictionary containing as many keys as there are different series to show in the chart, for each series it is necessary to indicate a list of values that make up the data of the same series; isDoughnut: Allows you to decide whether to show a pie chart or a doughnut chart |

PieSeries Model

Describes the model for configuring PIE series charts | Property | Description | Type | Required | Examples | | ------------- | ------------- | ------------- | ------------- | ------------- | | name | Name of the pie chart serie | string | yes | View use cases | | type | Type of the pie chart serie (set by default to the 'pie' value) | string | yes | View use cases 3 | | data | array of values that make up the single series of the graph | PieSeriesValue[] | no | View use cases 3 | | radius | Default set with the value 50% | string | yes | View use cases 3 |

PieSeriesValue Model

Describes the model for configuring PIE series charts | Property | Description | Type | Required | Examples | | ------------- | ------------- | ------------- | ------------- | ------------- | | name | Name of value of the serie | string | yes | View use cases | | value | Single value of the serie | number | yes | View use cases 3 | | itemStyle | Define the color to apply for the value of the chart (default NULL: use the standard color) | PieSeriesValueColor | no | An object of type PieSeriesValueColor with property color. The 'color' property is a string that can contain RGB or rgba function |

RadarChartOption Model

Describes the model for configuring RADAR type charts | Property | Description | Type | Required | Examples | | ------------- | ------------- | ------------- | ------------- | ------------- | | legend | Define the configuration for the chart legend | RadarLegendData | no | View use cases 4 | | tooltip | Define the configuration for the chart tooltip (automatically set to show tooltips on hover) | RadarTooltip | no | View use cases 4 | | radar | Define the indicator marker configuration for the chart | RadarIndicator[] | yes | View use cases 4 | | series | Define the series for the chart | RadarSeries[] | yes | View use cases 4 |

Static exposed functions | Name | Returned Type | Parameters | Examples | | ------------- | ------------- | ------------- | ------------- | | CreateRadarChartModel | RadarChartOption | legendLabels: string[]; radars: Map<string,RadarIndicatorData[]> ;seriesData: Map<string, PieSeriesValue[]>; radiusChartPercentage: string,showTooltip: boolean , fillChartArea: boolean | legendLabels: List of labels to be used as chart legend. If the char contains only one radar then the array must contain only one element otherwise it will contain one for each different radar;radars: Dictionary containing the configurations of all the radars to be shown in the chart. Each node of the dictionary must contain as a key the name to be attributed to the radar and the configuration of the radar indicators;seriesData: Dictionary containing the configuration of the series of values to be shown for each configured radar; radiusChartPercentage: Indicates the scaling percentage of the radars (default value = 75%); showTooltip: If TRUE then configure the tooltips for the chart (in the tooltip will be shown the values of the radar series on which you hover with the mouse); fillChartArea: If TRUE then for each radar it applies a style that will allow you to color the entire area drawn in the radar; |

RadarLegendData Model

PropertyDescriptionTypeRequiredExamples
dataDefine the chart legendstring[]yesView use cases 4
leftDefine the chart legend positionstringyesDefault value: center

RadarIndicatorData Model

PropertyDescriptionTypeRequiredExamples
textDefine the indicator labelstringyesView use cases 4
maxDefine the indicator max valuenumberyesView use cases 4

RadarSeries Model

PropertyDescriptionTypeRequiredExamples
nameThe name of the chartstringnoView use cases 4
typeThe type of the chart (default setted on "radar" value)stringyesView use cases 4
dataThe array of values for the serieRadarSeriesData[]yesView use cases 4

RadarSeriesData Model

PropertyDescriptionTypeRequiredExamples
nameThe name of the chart seriestringnoView use cases 4
valueThe array of values for the serieany[]yesView use cases 4

GaugeChartOption Model

PropertyDescriptionTypeRequiredExamples
tooltipThe tooltip configuration for gauge chart (an object that contains the formatter property (of type string) necessary to format the informative tooltip of the chart (defualt formatter: "{a} {b}: {c}")anynoView use cases 5
seriesThe chart series dataGaugeChartSeries[]yesView use cases 5

Static exposed functions | Name | Returned Type | Parameters | Examples | | ------------- | ------------- | ------------- | ------------- | | CreateGaugeChartModel | GaugeChartOptions | seriesData: Map<string, GaugeChartData[]> | seriesData: Dictionary containing the configuration of the series of values to be shown for the gauge chart |

GaugeChartSeries Model

PropertyDescriptionTypeRequiredExamples
nameThe name of the chart seriestringyesView use cases 5
typeThe type of the chart serie (default setted on 'gauge' value)stringyesView use cases 5
detailThe gauge chart detailGaugeChartDetailData | yes |View use cases 5`
dataThe data of the seriesGaugeChartData[]yesView use cases 5

GaugeChartDetailData Model

PropertyDescriptionTypeRequiredExamples
formatterThe formatter configuration for the gauge tooltip (default value: "{a} {b} : {c}")stringyesView use cases 5

GaugeChartData Model

PropertyDescriptionTypeRequiredExamples
valueThe value of the chart serienumberyesView use cases 5
nameThe title of the chart seriestringyesView use cases 5

Use cases

Use Example in class :

Define selector in html

<eqp-dashboard [configs]="chartConfigs"></eqp-dashboard>

Define locale in the app.component.ts in order to set it for all the charts (the default value is 'it-IT')

    constructor(private eqpDashboardService : EqpDashboardService) { }
    
    ngOnInit(): void { }

    this.eqpDashboardService.setLocale('en-US')

CASE 1: Define variables and object to use to display a basic Line Chart Widget

    chartConfigs: WidgetConfig[];

    let lineChartConfig: WidgetConfig = new WidgetConfig();
    lineChartConfig.WidgetID = "Dashboard_LineChart";
    lineChartConfig.WidgetTitle = "Line Chart"
    lineChartConfig.WidgetSizeClass = WidgetSizeEnum.XS;
    lineChartConfig.WidgetType = WidgetTypeEnum.LINE_CHART;
    let lineSeriesData: Map<string, number[]> = new Map<string,number[]>();
    lineSeriesData.set("Serie 1", [10,25,35]);
    lineChartConfig.ChartOptions = LineChartOption.CreateLineChartModel(["Valore 1", "Valore 2", "Valore 3"], lineSeriesData);

    this.chartConfigs.push(lineChartConfig);

CASE 2: Define variables and object to use to display a basic Bar Chart Widget

    chartConfigs: WidgetConfig[];

    let barChartConfig: WidgetConfig = new WidgetConfig();
    barChartConfig.WidgetID = "Dashboard_BarChart";
    barChartConfig.WidgetTitle = "Bar Chart"
    barChartConfig.WidgetSizeClass = WidgetSizeEnum.XS;
    barChartConfig.WidgetType = WidgetTypeEnum.BARS_CHART;
    let barSeriesData: Map<string, number[]> = new Map<string,number[]>();
    barSeriesData.set("Serie 1", [10,25,35]);
    barChartConfig.ChartOptions = BarChartOption.CreateBarChartModel(["Valore 1", "Valore 2", "Valore 3"], barSeriesData);

    this.chartConfigs.push(barChartConfig);

CASE 3: Define variables and object to use to display a basic Pie Chart Widget

    
    chartConfigs: WidgetConfig[];

    let pieChartConfig: WidgetConfig = new WidgetConfig();
    pieChartConfig.WidgetID = "Dashboard_Pie";
    pieChartConfig.WidgetTitle = "Pie Chart"
    pieChartConfig.WidgetSizeClass = WidgetSizeEnum.XS;
    pieChartConfig.WidgetType = WidgetTypeEnum.PIE_CHART;
    let pieSeries: Map<string, PieSeriesValue[]> = new Map<string, PieSeriesValue[]>();
    pieSeries.set("Serie 1", [{name: "A", value: 10},{name: "B", value: 25},{name: "C", value: 37},{name: "D", value: 42}]);
    pieChartConfig.ChartOptions = PieChartOption.CreatePieChartModel(pieSeries);
    
    this.chartConfigs.push(pieChartConfig);

CASE 4: Define variables and object to use to display a basic Radar Chart Widget

    chartConfigs: WidgetConfig[];

    let radarChartConfig: WidgetConfig = new WidgetConfig();
    radarChartConfig.WidgetID = "Dashboard_Radar";
    radarChartConfig.WidgetTitle = "Radar chart"
    radarChartConfig.WidgetSizeClass = WidgetSizeEnum.XS;
    radarChartConfig.WidgetType = WidgetTypeEnum.RADAR_CHART;

    let seriesName: string = "Serie 1";
    let indicators: Map<string, RadarIndicatorData[]> = new Map<string,RadarIndicatorData[]>();
    indicators.set(seriesName, [{ text: "Valore 1", max: 100}, { text: "Valore 2", max: 100}, { text: "Valore 3", max: 100}, { text: "Valore 4", max: 100}, { text: "Valore 5", max: 100}]);

    let seriesData: Map<string, RadarSeriesData[]> = new Map<string,RadarSeriesData[]>();
    seriesData.set(seriesName, [{ name: "Serie 1", value: [10,25,35,40,80] }]);
    radarChartConfig.ChartOptions = RadarChartOption.CreateRadarChartModel([seriesName], indicators, seriesData);

    this.chartConfigs.push(radarChartConfig);

CASE 5: Define variables and object to use to display a basic Gauge Chart Widget

    
    chartConfigs: WidgetConfig[];

    let gaugeChartConfig: WidgetConfig = new WidgetConfig();
    gaugeChartConfig.WidgetID = "Dashboard_Gauge";
    gaugeChartConfig.WidgetTitle = "Gauge chart"
    gaugeChartConfig.WidgetSizeClass = WidgetSizeEnum.XS;
    gaugeChartConfig.WidgetType = WidgetTypeEnum.GAUGE_CHART;

    let gaugeSeries: Map<string, GaugeChartData[]> = new Map<string, GaugeChartData[]>();
    gaugeSeries.set("Valore 1", [ { name: "Km/h", value: 50}])
    gaugeChartConfig.ChartOptions = GaugeChartOption.CreateGaugeChartModel(gaugeSeries)

    this.chartConfigs.push(gaugeChartConfig);

CASE 6: Define the variables and object to use to display Chart Widget by calling a custom endpoint to fetch Chart Data

    @ViewChild('externalTemplate', { static: true }) externalTemplate: TemplateRef<any>;

    constructor() {

    }

    ngOnInit() {
      this.configureWidget();
    }

    configureWidget() {
      endPointChart: WidgetConfig = new WidgetConfig();
      chartConfigs: WidgetConfig[];

      this.endPointChart.WidgetTitle = "EndPoint Chart";
      this.endPointChart.WidgetType = WidgetTypeEnum.BARS_CHART;
      this.endPointChart.WidgetSizeClass = WidgetSizeEnum.XS;
      this.endPointChart.WidgetID = 'ID_EndPointChartTest002';
    
      this.endPointChart.EndPointData = {
        Url: "YOUR_ENDPOINT_URL",
        Token: "TOKEN",
        RequestMethod: RequestMethodEnum.GET,
        Params: {
          { 
            PropertyLabel: "Company", 
            PropertyName: "FK_Company", 
            PropertyValue: null, 
            PropertyType: EndPointDataParamType.CVL, 
            CvlConfig: EndpointParamCvlConfig.CreateEndpointParamCVLConfig(null, [{ID:1, Label: "Azienda 1"}, {ID:2, Label: "Azienda 2"}], "ID","Label", false, true, true, null, false),
          },
          { PropertyLabel: "Data inizio", PropertyName: "StartDate", PropertyValue: data1, PropertyType: EndPointDataParamType.DATE },
          { PropertyLabel: "Data fine", PropertyName: "EndDate", PropertyValue: date2, PropertyType: EndPointDataParamType.DATE },
          { PropertyLabel: "Filtro testuale", PropertyName: "Text", PropertyValue: null, PropertyType: EndPointDataParamType.TEXT },
          { PropertyLabel: "Filtro numerico", PropertyName: "Number", PropertyValue: null, PropertyType: EndPointDataParamType.NUMBER },
          { PropertyLabel: "External", PropertyName: "ExternalInput", PropertyValue: null, PropertyType: EndPointDataParamType.EXTERNAL_TEMPLATE, ExternalTemplateConfig: this.externalTemplate, ParamClass: "col-12" }
        }
      }

      this.chartConfigs = [
        this.endPointChart
      ];
    }
    
    testExternalTemplate(widget: WidgetConfig) {
      //DO SOMETHING
      //IF YOU NEED TO UPDATE THE WIDGET YOU NEED TO INVOKE runEndPointCall METHOD FROM EqpDashboardComponent (use ViewChild to access it)
    }
  <ng-template #externalTemplate let-widget="widget" let-parameter="parameter">
      <button (click)="testExternalTemplate(widget)">Click me</button>
  </ng-template>

CASE 7: Define a WidgetConfig to display a component dynamically

    config: WidgetConfig = new WidgetConfig();
    chartConfigs: WidgetConfig[];
    
    //On your app.component.ts register the selector of the component you want to inject into the dashboard
    //Use this instruction
    ComponentMapperService.register("app-my-component", MyComponent);

    this.config.CustomComponentSelector = "app-my-component";
    this.config.WidgetSizeClass = WidgetSizeEnum.XS;
    this.config.WidgetTitle = 'Test Component 001';
    this.config.WidgetID = 'ID_TestComponent003';

    this.chartConfigs = [
      this.config
    ];

CASE 8: Define a WidgetConfig to display simple statistical data

    chartConfigs: WidgetConfig[];

    let statisticConfig: WidgetConfig = new WidgetConfig();
    statisticConfig.WidgetTitle = "Statistic Widget";
    statisticConfig.WidgetSizeClass = WidgetSizeEnum.XS;
    statisticConfig.WidgetID = 'StatisticWidget_Dashboard';
    statisticConfig.WidgetType = WidgetTypeEnum.STATISTIC_CHART;
    statisticConfig.StatisticWidget = [
      { Icon: "check_circle", Label: "Completati", Value: 70, MaxValue: 100 }
    ]

    this.chartConfigs.push(statisticConfig);

CASE 9: Define a WidgetConfig to display CUSTOM_CHART

    chartConfigs: WidgetConfig[];

    let customConfig: WidgetConfig = new WidgetConfig();
    customConfig.WidgetTitle = "Custom Widget";
    customConfig.WidgetSizeClass = WidgetSizeEnum.XS;
    customConfig.WidgetID = 'CustomWidget_Dashboard';
    customConfig.WidgetType = WidgetTypeEnum.CUSTOM_CHART;

    //According to the echarts library, it is possible to configure the chart option object with the information of the desired chart.
    //If an endpoint is used, the json ChartOption will be returned by the server.
    customConfig.ChartOptions = {
      xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
      },
      yAxis: {
          type: 'value'
      },
      series: [{
          data: [150, 230, 224, 218, 135, 147, 260],
          type: 'line'
      }]
    }

    this.chartConfigs.push(statisticConfig);

Credits

This library has been developed by EqProject SRL, for more info contact: info@eqproject.it

3.0.0

3 months ago

2.5.2

3 months ago

2.0.3

4 months ago

2.5.0

4 months ago

2.5.1

4 months ago

2.0.2

8 months ago

2.0.1

1 year ago

2.0.0

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.4

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.3

2 years ago

0.2.12

2 years ago

0.2.11

2 years ago

0.2.10

2 years ago

0.2.7

2 years ago

0.2.9

2 years ago

0.2.8

2 years ago

0.2.6

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.2.3

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.2.2

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.9

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.0

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.0.21

3 years ago

0.0.20

3 years ago

0.0.11

3 years ago

0.0.12

3 years ago

0.0.13

3 years ago

0.0.14

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago