Skip to content

Commit

Permalink
Merge pull request #1432 from IgniteUI/vnext
Browse files Browse the repository at this point in the history
RELEASE - merging vnext into master
  • Loading branch information
HUSSAR-mtrela authored Dec 27, 2024
2 parents 4bfa992 + 444ce88 commit c67be23
Show file tree
Hide file tree
Showing 59 changed files with 3,428 additions and 743 deletions.
38 changes: 38 additions & 0 deletions apiMap/Blazor/webInputs.JS.blazor.apiMap.json
Original file line number Diff line number Diff line change
Expand Up @@ -1703,6 +1703,44 @@
{"names":[{"platform": "Blazor", "mappedType": "bool", "mappedName": "Elevated"}], "originalName": "Elevated"},
{"names":[{"platform": "Blazor", "mappedType": "method", "mappedName": "SetNativeElement"}], "originalName": "SetNativeElement"} ]
},
{
"originalName": "Carousel",
"originalNamespace": "Infragistics.Controls",
"originalBaseTypeNamespace": "Infragistics.Controls",
"originalBaseTypeName": "BaseElement",
"packageName": "igniteui-webinputs",
"names":[{"platform": "Blazor","fileName": "Carousel.cs","mappedName": "IgbCarousel"}],
"members":[
{"names":[{"platform": "Blazor", "mappedType": "boolean","mappedName": "DisableLoop"}], "originalName": "DisableLoop"},
{"names":[{"platform": "Blazor", "mappedType": "boolean","mappedName": "HideIndicators"}], "originalName": "HideIndicators"},
{"names":[{"platform": "Blazor", "mappedType": "boolean","mappedName": "HideNavigation"}], "originalName": "HideNavigation"},
{"names":[{"platform": "Blazor", "mappedType": "boolean","mappedName": "DisablePauseOnInteraction"}], "originalName": "DisablePauseOnInteraction"},
{"names":[{"platform": "Blazor", "mappedType": "boolean","mappedName": "Vertical"}], "originalName": "Vertical"},
{"names":[{"platform": "Blazor", "mappedType": "number","mappedName": "Interval"}], "originalName": "Interval"},
{"names":[{"platform": "Blazor", "mappedType": "number","mappedName": "MaximumIndicatorsCount"}], "originalName": "MaximumIndicatorsCount"},
{"names":[{"platform": "Blazor", "mappedType": "CarouselIndicatorsOrientation","mappedName": "IndicatorsOrientation"}], "originalName": "IndicatorsOrientation"},
{"names":[{"platform": "Blazor", "mappedType": "CarouselAnimationType","mappedName": "AnimationType"}], "originalName": "AnimationType"} ]
},
{
"originalName": "Slide",
"originalNamespace": "Infragistics.Controls",
"originalBaseTypeNamespace": "Infragistics.Controls",
"originalBaseTypeName": "BaseElement",
"packageName": "igniteui-webinputs",
"names":[{"platform": "Blazor","fileName": "CarouselSlide.cs","mappedName": "IgbCarouselSlide"}],
"members":[
{"names":[{"platform": "Blazor", "mappedType": "boolean", "mappedName": "Active"}], "originalName": "Active"} ]
},
{
"originalName": "Indicator",
"originalNamespace": "Infragistics.Controls",
"originalBaseTypeNamespace": "Infragistics.Controls",
"originalBaseTypeName": "BaseElement",
"packageName": "igniteui-webinputs",
"names":[{"platform": "Blazor","fileName": "CarouselIndicator.cs","mappedName": "IgbCarouselIndicator"}],
"members":[
{"names":[{"platform": "Blazor", "mappedType": "method", "mappedName": "setNativeElement"}], "originalName": "SetNativeElement"} ]
},
{
"originalName": "Checkbox",
"originalNamespace": "Infragistics.Controls",
Expand Down
41 changes: 41 additions & 0 deletions apiMap/React/webInputs.JS.r.apiMap.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
"igr-card-header-module.ts",
"igr-card-media-module.ts",
"igr-card-module.ts",
"igr-carousel-module.ts",
"igr-carousel-indicator-module.ts",
"igr-carousel-slide-module.ts",
"igr-checkbox-base-module.ts",
"igr-checkbox-module.ts",
"igr-chip-module.ts",
Expand Down Expand Up @@ -1795,6 +1798,44 @@
{"names":[{"platform": "React", "mappedType": "boolean", "mappedName": "elevated"}], "originalName": "Elevated"},
{"names":[{"platform": "React", "mappedType": "method", "mappedName": "setNativeElement"}], "originalName": "SetNativeElement"} ]
},
{
"originalName": "Carousel",
"originalNamespace": "Infragistics.Controls",
"originalBaseTypeNamespace": "Infragistics.Controls",
"originalBaseTypeName": "BaseElement",
"packageName": "igniteui-webinputs",
"names":[{"platform": "React","fileName": "igr-carousel.ts","mappedName": "IgrCarousel"}],
"members":[
{"names":[{"platform": "React", "mappedType": "boolean","mappedName": "disableLoop"}], "originalName": "DisableLoop"},
{"names":[{"platform": "React", "mappedType": "boolean","mappedName": "hideIndicators"}], "originalName": "HideIndicators"},
{"names":[{"platform": "React", "mappedType": "boolean","mappedName": "hideNavigation"}], "originalName": "HideNavigation"},
{"names":[{"platform": "React", "mappedType": "boolean","mappedName": "disablePauseOnInteraction"}], "originalName": "DisablePauseOnInteraction"},
{"names":[{"platform": "React", "mappedType": "boolean","mappedName": "vertical"}], "originalName": "Vertical"},
{"names":[{"platform": "React", "mappedType": "number","mappedName": "interval"}], "originalName": "Interval"},
{"names":[{"platform": "React", "mappedType": "number","mappedName": "maximumIndicatorsCount"}], "originalName": "MaximumIndicatorsCount"},
{"names":[{"platform": "React", "mappedType": "CarouselIndicatorsOrientation","mappedName": "indicatorsOrientation"}], "originalName": "IndicatorsOrientation"},
{"names":[{"platform": "React", "mappedType": "CarouselAnimationType","mappedName": "animationType"}], "originalName": "AnimationType"} ]
},
{
"originalName": "Slide",
"originalNamespace": "Infragistics.Controls",
"originalBaseTypeNamespace": "Infragistics.Controls",
"originalBaseTypeName": "BaseElement",
"packageName": "igniteui-webinputs",
"names":[{"platform": "React","fileName": "igr-carousel-slide.ts","mappedName": "IgrCarouselSlide"}],
"members":[
{"names":[{"platform": "React", "mappedType": "boolean", "mappedName": "active"}], "originalName": "Active"} ]
},
{
"originalName": "Indicator",
"originalNamespace": "Infragistics.Controls",
"originalBaseTypeNamespace": "Infragistics.Controls",
"originalBaseTypeName": "BaseElement",
"packageName": "igniteui-webinputs",
"names":[{"platform": "React","fileName": "igr-carousel-indicator.ts","mappedName": "IgrCarouselIndicator"}],
"members":[
{"names":[{"platform": "React", "mappedType": "method", "mappedName": "setNativeElement"}], "originalName": "SetNativeElement"} ]
},
{
"originalName": "Checkbox",
"originalNamespace": "Infragistics.Controls",
Expand Down
41 changes: 41 additions & 0 deletions apiMap/WebComponents/webInputs.JS.wc.apiMap.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
"igc-card-header-module.ts",
"igc-card-media-module.ts",
"igc-card-module.ts",
"igc-carousel-module.ts",
"igc-carousel-indicator-module.ts",
"igc-carousel-slide-module.ts",
"igc-checkbox-base-module.ts",
"igc-checkbox-module.ts",
"igc-chip-module.ts",
Expand Down Expand Up @@ -1778,6 +1781,44 @@
{"names":[{"platform": "WebComponents", "mappedType": "boolean", "mappedName": "elevated"}], "originalName": "Elevated"},
{"names":[{"platform": "WebComponents", "mappedType": "method", "mappedName": "setNativeElement"}], "originalName": "SetNativeElement"} ]
},
{
"originalName": "Carousel",
"originalNamespace": "Infragistics.Controls",
"originalBaseTypeNamespace": "Infragistics.Controls",
"originalBaseTypeName": "BaseElement",
"packageName": "igniteui-webinputs",
"names":[{"platform": "WebComponents","fileName": "igc-carousel-component.ts","mappedName": "IgcCarouselComponent"}],
"members":[
{"names":[{"platform": "WebComponents", "mappedType": "boolean","mappedName": "disableLoop"}], "originalName": "DisableLoop"},
{"names":[{"platform": "WebComponents", "mappedType": "boolean","mappedName": "hideIndicators"}], "originalName": "HideIndicators"},
{"names":[{"platform": "WebComponents", "mappedType": "boolean","mappedName": "hideNavigation"}], "originalName": "HideNavigation"},
{"names":[{"platform": "WebComponents", "mappedType": "boolean","mappedName": "disablePauseOnInteraction"}], "originalName": "DisablePauseOnInteraction"},
{"names":[{"platform": "WebComponents", "mappedType": "boolean","mappedName": "vertical"}], "originalName": "Vertical"},
{"names":[{"platform": "WebComponents", "mappedType": "number","mappedName": "interval"}], "originalName": "Interval"},
{"names":[{"platform": "WebComponents", "mappedType": "number","mappedName": "maximumIndicatorsCount"}], "originalName": "MaximumIndicatorsCount"},
{"names":[{"platform": "WebComponents", "mappedType": "CarouselIndicatorsOrientation","mappedName": "indicatorsOrientation"}], "originalName": "IndicatorsOrientation"},
{"names":[{"platform": "WebComponents", "mappedType": "CarouselAnimationType","mappedName": "animationType"}], "originalName": "AnimationType"} ]
},
{
"originalName": "Slide",
"originalNamespace": "Infragistics.Controls",
"originalBaseTypeNamespace": "Infragistics.Controls",
"originalBaseTypeName": "BaseElement",
"packageName": "igniteui-webinputs",
"names":[{"platform": "WebComponents","fileName": "igc-carousel-slide-component.ts","mappedName": "IgcCarouselSlideComponent"}],
"members":[
{"names":[{"platform": "WebComponents", "mappedType": "boolean", "mappedName": "active"}], "originalName": "Active"} ]
},
{
"originalName": "Indicator",
"originalNamespace": "Infragistics.Controls",
"originalBaseTypeNamespace": "Infragistics.Controls",
"originalBaseTypeName": "BaseElement",
"packageName": "igniteui-webinputs",
"names":[{"platform": "WebComponents","fileName": "igc-carousel-indicator-component.ts","mappedName": "IgcCarouselIndicatorComponent"}],
"members":[
{"names":[{"platform": "WebComponents", "mappedType": "method", "mappedName": "setNativeElement"}], "originalName": "SetNativeElement"} ]
},
{
"originalName": "Checkbox",
"originalNamespace": "Infragistics.Controls",
Expand Down
2 changes: 1 addition & 1 deletion doc/en/components/charts/features/chart-navigation.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Like this sample? Get access to our complete {Platform} toolkit and start buildi

## Chart Navigation with User Interactions

Zooming is on by default on the chart. In order to disable navigation in the UI, you need to set either the `IsHorizontalZoomEnabled` and/or the `IsVerticalZoomEnabled` properties of the chart to false, depending on the direction that you wish to disable zooming.
Whether or not zooming is on by default depends on the chart you are using. If you are using `CategoryChart`, it is on by default, but it is not in the `XamDataChart`. In order to enable or disable navigation in the UI, you need to set either the `IsHorizontalZoomEnabled` and/or the `IsVerticalZoomEnabled` properties of the chart, depending on the direction that you wish to enable or disable zooming.

It is also possible to zoom or pan simply by clicking the mouse or using touch. The `DefaultInteraction` property of the data chart determines what happens on mouse click or touch events. This property defaults to `DragZoom` and when set to this with zooming enabled, clicking and dragging will place a preview rectangle over the plot area that will become the zoomed area of the chart. This `DefaultInteraction` property can also be set to either `DragPan` to allow panning or `None` to prevent these operations.

Expand Down
164 changes: 164 additions & 0 deletions doc/en/components/dashboard-tile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
---
title: {Platform} Dashboard Tile Component | {ProductName}
_description: See how you can easily get started with {Platform} Dashboard Tile Component.
_keywords: {ProductName}, UI controls, {Platform} widgets, web widgets, UI widgets, {Platform}, Native {Platform} Components Suite, Native {Platform} Controls, Native {Platform} Components Library, {Platform} Dashboard components, {Platform} Dashboard Tile controls
mentionedTypes: ["Toolbar", "CategoryChart", "XamDataChart", "XamRadialGauge", "XamLinearGauge", "XamGeographicMap"]
---

# {Platform} Dashboard Tile Overview

The {Platform} Dashboard Tile is a automatic data visualization component which determines via analysis of a DataSource collection/array or single data point what would be the most appropriate visualization to display. It then also provides a further suite of tools in its embedded `Toolbar` that let you alter the visualization that is presented in a variety of ways.

A wide variety of visualizations may be selected for display depending on the shape of the provided data including, but not limited to: Category Charts, Radial and Polar Charts, Scatter Charts, Geographic Maps, Radial and Linear Gauges, Financial Charts and Stacked Charts.

Interacting with the chart type menu in the toolbar will allow for selecting a different visualization among the list of likely candidates.

## {Platform} Dashboard Tile Example

<!-- TODO -->
`sample="/charts/dashboard-tile/chart-dashboard", height="600", alt="{Platform} Dashboard Tile Example"`

## Dependencies

<!-- Angular, WebComponents, React -->
Install the following packages in the {ProductName} toolset:

```cmd
npm install {PackageCharts}
npm install {PackageCore}
npm install {PackageDashboards}
npm install {PackageGauges}
npm install {PackageGrids}
npm install {PackageInputs}
npm install {PackageLayouts}
npm install {PackageMaps}
```

The following modules are suggested when using the Dashboard Tile component:

```ts
import { IgxDashboardTileModule, IgxDataChartDashboardTileModule, IgxRadialGaugeDashboardTileModule,
IgxLinearGaugeDashboardTileModule, IgxGeographicMapDashboardTileModule,
IgxPieChartDashboardTileModule } from "igniteui-angular-dashboards";

@NgModule({
imports: [
IgxDataChartDashboardTileModule,
IgxRadialGaugeDashboardTileModule,
IgxLinearGaugeDashboardTileModule,
IgxGeographicMapDashboardTileModule,
IgxPieChartDashboardTileModule,
IgxDashboardTileModule
]
})
export class AppModule {}
```

```ts
import { IgrDashboardTileModule, IgrDataChartDashboardTileModule, IgrRadialGaugeDashboardTileModule,
IgrLinearGaugeDashboardTileModule, IgrGeographicMapDashboardTileModule,
IgrPieChartDashboardTileModule } from "igniteui-react-dashboards";

IgrDataChartDashboardTileModule.register();
IgrRadialGaugeDashboardTileModule.register();
IgrLinearGaugeDashboardTileModule.register();
IgrGeographicMapDashboardTileModule.register();
IgrPieChartDashboardTileModule.register();
IgrDashboardTileModule.register();
```

```ts
import { IgcDashboardTileModule, IgcDataChartDashboardTileModule, IgcRadialGaugeDashboardTileModule,
IgcLinearGaugeDashboardTileModule, IgcGeographicMapDashboardTileModule,
IgcPieChartDashboardTileModule } from "igniteui-angular-dashboards";

ModuleManager.register(
IgcDataChartDashboardTileModule,
IgcRadialGaugeDashboardTileModule,
IgcLinearGaugeDashboardTileModule,
IgcGeographicMapDashboardTileModule,
IgcPieChartDashboardTileModule,
IgcDashboardTileModule
);
```

<!-- end:Angular, WebComponents, React -->

<!-- Blazor -->

Add the **IgniteUI.Blazor.Controls** namespace in the **_Imports.razor** file:

```razor
@using IgniteUI.Blazor.Controls
```

The following modules are suggested when using the Dashboard Tile component:

```razor
// in Program.cs file
builder.Services.AddIgniteUIBlazor(
typeof(IgbDataChartDashboardTileModule),
typeof(IgbRadialGaugeDashboardTileModule),
typeof(IgbLinearGaugeDashboardTileModule),
typeof(IgbGeographicMapDashboardTileModule),
typeof(IgbPieChartDashboardTileModule),
typeof(IgbDashboardTileModule)
);
```

<!-- end: Blazor -->

## Usage

Depending on what you bind the Dashboard Tile's `DataSource` property to will determine which visualization you see by default, as the control will evaluate the data you bind and then choose a visualization from the {ProductName} toolset to show. The data visualization controls that are included to be shown in the Dashboard Tile are the following:

* [{IgPrefix}CategoryChart](charts/chart-overview.md)
* [{IgPrefix}DataChart](charts/chart-overview.md)
* [{IgPrefix}DataPieChart](charts/types/data-pie-chart.md)
* [{IgPrefix}GeographicMap](geo-map.md)
* [{IgPrefix}Linear Gauge](linear-gauge.md)
* [{IgPrefix}RadialGauge](radial-gauge.md)

The data visualization that is chosen by default is mainly dependent on the schema and the count of the `DataSource` that you have bound. For example, if you bind a single numeric value, you will get a `XamRadialGauge`, but if you bind a collection of value-label pairs that are easy to distinguish from each other, you will likely get a `XamDataPieChart`. If you bind an `DataSource` that has more value paths, you will receive a `XamDataChart` with multiple column series or line series, depending mainly on the count of the collection bound. You can also bind to a `ShapeDataSource` or data the appears to contain geographic points to receive a `XamGeographicMap`.

You are not locked into a single visualization when you bind the `DataSource`, and you can tell the control that you want to see a particular visualization by setting its `VisualizationType` property. For example, if you specifically wanted to see a line chart, you could define the Dashboard Tile like so:

<!-- TODO SAMPLE -->

`sample="/charts/dashboard-tile/gauge-dashboard", height="600", alt="{Platform} Dashboard Tile Gauge Example"`

The visualization or properties of the visualization are also configurable using the `Toolbar` at the top of the control. This `Toolbar` has the default tools for the current visualization with the addition of four Dashboard Tile specific ones, highlighted below:

<img src="../images/dashboard-tile-toolbar.png" />

From left to right:

- The first tool will show a data grid with the `DataSource` provided to the control. This is a toggle tool, so if you click it again after showing the grid, it will revert to the visualization.
- The second tool allows you to configure the settings of the current data visualization.
- The third tool allows you to change the current visualization, allowing you to plot a different series type or show a different type of visualization altogether. This can be set on the control by setting the `VisualizationType` property, mentioned above.
- The last tool allows you to configure which properties on your underlying data item are included for the control. You can configure this by setting the `IncludedProperties` or `ExcludedProperties` collection on the control.

This demo demonstrates dashboard tile integration with the {Platform} Pie Chart. The toolbar options at the top right provides access to styling and changing the data visualization.

`sample="/charts/dashboard-tile/pie-dashboard", height="600", alt="{Platform} Dashboard Tile Pie Example"`

This demo demonstrates dashboard tile integration with the {Platform} Geographic Map. The toolbar options at the top right provides access to styling and changing the data visualization.

`sample="/charts/dashboard-tile/map-dashboard", height="600", alt="{Platform} Dashboard Tile Map Example"`


## API References

- `Toolbar`
- `CategoryChart`
- `XamDataChart`
- `DataPieChart`
- `XamGeographicMap`
- `XamLinearGauge`
- `XamRadialGauge`

## Additional Resources

* [{ProductName} **Forums**]({ForumsLink})
* [{ProductName} **GitHub**]({GithubLink})
Loading

0 comments on commit c67be23

Please sign in to comment.