Descripción general de la barra de herramientas de React
El componente React Toolbar es un contenedor complementario para las operaciones de interfaz de usuario que se utilizarán principalmente con nuestros componentes de gráficos. La barra de herramientas se actualizará dinámicamente con un ajuste preestablecido de propiedades y elementos de herramienta cuando se vincule a nuestros IgrDataChart
componentes o IgrCategoryChart
. Podrá crear herramientas personalizadas para su proyecto que permitan a los usuarios finales proporcionar cambios, ofreciendo una cantidad infinita de personalización.
React Toolbar Example
Dependencies
Instale los diseños, entradas, gráficos y paquetes principales de Ignite UI for React:
npm install igniteui-react-layouts
npm install igniteui-react-inputs
npm install igniteui-react-charts
npm install igniteui-react-core
Los siguientes módulos son necesarios cuando se utiliza el IgrToolbar
IgrDataChart
componente y sus características.
import { IgxToolbarModule } from 'igniteui-react-layouts';
import { IgrDataChartToolbarModule, IgrDataChartCoreModule, IgrDataChartCategoryModule, IgrDataChartAnnotationModule, IgrDataChartInteractivityModule, IgrDataChartCategoryTrendLineModule } from 'igniteui-react-charts';
IgxToolbarModule.register();
IgrDataChartToolbarModule.register();
IgrDataChartCoreModule.register();
IgrDataChartCategoryModule.register();
IgrDataChartAnnotationModule.register();
IgrDataChartInteractivityModule.register();
IgrDataChartCategoryTrendLineModule.register();
Usage
Tool Actions
A continuación se muestra una lista de los diferentes IgrToolAction
elementos que puede agregar a la barra de herramientas.
IgrToolActionButton
IgrToolActionCheckbox
IgrToolActionIconButton
IgrToolActionIconMenu
IgrToolActionLabel
IgrToolActionNumberInput
IgrToolActionRadio
Cada una de estas herramientas expone un evento OnCommand
que se activa al hacer clic con el mouse.
Las herramientas nuevas y existentes se pueden reposicionar y marcar como ocultas utilizando las overlayId
propiedades y beforeId
afterId
del IgrToolAction
objeto. ToolActions también expone una visibility
propiedad.
El siguiente ejemplo demuestra cómo ocultar las acciones de las herramientas de menú integradas ZoomReset y AnalyzeMenu. Se agrega una nueva instancia de la acción de la herramienta ZoomReset y se coloca dentro de ZoomMenu usando la propiedad afterId
y asignándola a ZoomOut. Esto asegurará que la nueva herramienta Restablecer se muestre en la parte inferior del ZoomMenu.
React Data Chart Integration
La barra de herramientas React contiene una Target
propiedad. Esto se utiliza para vincular un componente, como se IgrDataChart
muestra en el código siguiente:
private toolbar: IgrToolbar
private toolbarRef(r: IgrToolbar) {
this.toolbar = r;
this.setState({});
}
private chart: IgrDataChart
private chartRef(r: IgrDataChart) {
this.chart = r;
this.toolbar.target = this.chart;
this.setState({});
}
public render(): JSX.Element {
return (
<div>
<IgrToolbar
ref={this.toolbarRef}>
</IgrToolbar>
</div>
<div>
<IgrDataChart
ref={this.chartRef}>
</IgrDataChart>
</div>
);
}
Varios elementos y menús preexistentes IgrToolAction
están disponibles cuando se IgrDataChart
vincula con la barra de herramientas. Aquí hay una lista de las acciones integradas de ReactTool IgrDataChart
y sus asociadas overlayId
:
Acciones de zoom
ZoomReset
: AIgrToolActionLabel
que invoca el método en el gráfico para restablecer elresetZoom
nivel de zoom a su posición predeterminada.ZoomMenu
: AIgrToolActionIconMenu
that exposes twoIgrToolActionLabel
items to invoke thezoomIn
andzoomOut
methods on the chart for increasing/decreasing the chart's zoom level.
Acciones de tendencia
AnalyzeMenu
: AIgrToolActionIconMenu
que contiene varias opciones para configurar diferentes opciones del gráfico.AnalyzeHeader
: encabezado de una subsección.LinesMenu
: un submenú que contiene varias herramientas para mostrar diferentes líneas horizontales discontinuas en el gráfico.LinesHeader
: encabezado de sección del submenú para las siguientes tres herramientas:MaxValue
: AIgrToolActionCheckbox
que muestra una línea horizontal discontinua a lo largo del eje y en el valor máximo de la serie.MinValue
: AIgrToolActionCheckbox
que muestra una línea horizontal discontinua a lo largo del eje y en el valor mínimo de la serie.Average
: AIgrToolActionCheckbox
que muestra una línea horizontal discontinua a lo largo del eje y en el valor medio de la serie.
TrendsMenu
: Un submenú que contiene herramientas para aplicar varias líneas de tendencia al área de trazadoIgrDataChart
.TrendsHeader
: encabezado de sección de submenú para las siguientes tres herramientas:- Exponencial: A
IgrToolActionRadio
que establece eltrendLineType
en cada serie del gráfico en ExponentialFit. - Lineal: A
IgrToolActionRadio
que establece eltrendLineType
en cada serie del gráfico en LinearFit. - Logarítmico: A
IgrToolActionRadio
que establece eltrendLineType
en cada serie del gráfico en LogarithmicFit.
- Exponencial: A
HelpersHeader
: encabezado de una subsección.SeriesAvg
: AIgrToolActionCheckbox
que agrega o quita a a aIgrValueLayer
la colección de series del gráfico mediante elValueLayerValueMode
tipoAverage
of.ValueLabelsMenu
: Un submenú que contiene varias herramientas para mostrar diferentes anotaciones en elIgrDataChart
área de la trama.ValueLabelsHeader
: encabezado de sección del submenú para las siguientes herramientas:ShowValueLabels
: AIgrToolActionCheckbox
que alterna los valores de los puntos de datos mediante aIgrCalloutLayer
.ShowLastValueLabel
: AIgrToolActionCheckbox
que alterna las anotaciones del eje del valor final mediante aIgrFinalValueLayer
.
ShowCrosshairs
: AIgrToolActionCheckbox
que alterna las anotaciones en forma de cruz al pasar el ratón por encima a través de la propiedad delcrosshairsDisplayMode
gráfico.ShowGridlines
: AIgrToolActionCheckbox
que alterna líneas de cuadrícula adicionales aplicando aMajorStroke
al eje X.
Acción Guardar en imagen
CopyAsImage
: AIgrToolActionLabel
que expone una opción para copiar el gráfico en el portapapeles.CopyHeader
: Un encabezado de subsección.
SVG Icons
Al agregar herramientas manualmente, los iconos se pueden asignar mediante el RenderIconFromText
método. Hay tres parámetros que se deben pasar en este método. El primero es el nombre de la colección de iconos definido en la herramienta, por ejemplo. iconCollectionName
El segundo es el nombre del icono definido en la herramienta, por ejemplo iconName
, seguido de la adición de la cadena SVG.
public toolbarCustomIconOnViewInit(): void {
const icon = '<svg width="28px" height="28px" stroke="none" viewBox="0 0 3.5 3.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--gis" preserveAspectRatio="xMidYMid meet"><path d="M0.436 0.178a0.073 0.073 0 0 0 -0.062 0.036L0.01 0.846a0.073 0.073 0 0 0 0.063 0.109h0.729a0.073 0.073 0 0 0 0.063 -0.109L0.501 0.214a0.073 0.073 0 0 0 -0.064 -0.036zm0.001 0.219 0.238 0.413H0.199zM1.4 0.507v0.245h0.525v-0.245zm0.77 0v0.245h1.33v-0.245zM0.073 1.388A0.073 0.073 0 0 0 0 1.461v0.583a0.073 0.073 0 0 0 0.073 0.073h0.729A0.073 0.073 0 0 0 0.875 2.045V1.461a0.073 0.073 0 0 0 -0.073 -0.073zm0.073 0.146h0.583v0.438H0.146zM1.4 1.674v0.245h0.945v-0.245zm1.19 0v0.245h0.91v-0.245zM0.438 2.447c-0.241 0 -0.438 0.197 -0.438 0.438 0 0.241 0.197 0.438 0.438 0.438s0.438 -0.197 0.438 -0.438c0 -0.241 -0.197 -0.438 -0.438 -0.438zm0 0.146a0.291 0.291 0 0 1 0.292 0.292 0.291 0.291 0 0 1 -0.292 0.292 0.291 0.291 0 0 1 -0.292 -0.292A0.291 0.291 0 0 1 0.438 2.593zM1.4 2.842v0.245h0.525v-0.245zm0.77 0v0.245h1.33v-0.245z" fill="#000000" fill-rule="evenodd"/></svg>';
this.toolbar.registerIconFromText("CustomCollection", "CustomIcon", icon);
}
public toolbarCustomIconOnViewInit(): void {
const icon = '<svg width="28px" height="28px" stroke="none" viewBox="0 0 3.5 3.5" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--gis" preserveAspectRatio="xMidYMid meet"><path d="M0.436 0.178a0.073 0.073 0 0 0 -0.062 0.036L0.01 0.846a0.073 0.073 0 0 0 0.063 0.109h0.729a0.073 0.073 0 0 0 0.063 -0.109L0.501 0.214a0.073 0.073 0 0 0 -0.064 -0.036zm0.001 0.219 0.238 0.413H0.199zM1.4 0.507v0.245h0.525v-0.245zm0.77 0v0.245h1.33v-0.245zM0.073 1.388A0.073 0.073 0 0 0 0 1.461v0.583a0.073 0.073 0 0 0 0.073 0.073h0.729A0.073 0.073 0 0 0 0.875 2.045V1.461a0.073 0.073 0 0 0 -0.073 -0.073zm0.073 0.146h0.583v0.438H0.146zM1.4 1.674v0.245h0.945v-0.245zm1.19 0v0.245h0.91v-0.245zM0.438 2.447c-0.241 0 -0.438 0.197 -0.438 0.438 0 0.241 0.197 0.438 0.438 0.438s0.438 -0.197 0.438 -0.438c0 -0.241 -0.197 -0.438 -0.438 -0.438zm0 0.146a0.291 0.291 0 0 1 0.292 0.292 0.291 0.291 0 0 1 -0.292 0.292 0.291 0.291 0 0 1 -0.292 -0.292A0.291 0.291 0 0 1 0.438 2.593zM1.4 2.842v0.245h0.525v-0.245zm0.77 0v0.245h1.33v-0.245z" fill="#000000" fill-rule="evenodd"/></svg>';
this.toolbar.registerIconFromText("CustomCollection", "CustomIcon", icon);
}
<IgrToolbar orientation="Vertical" />
Vertical Orientation
De forma predeterminada, la barra de herramientas React se muestra horizontalmente, pero también tiene la capacidad de mostrarse verticalmente estableciendo la orientation
propiedad.
<IgrToolbar orientation="Vertical" />
El siguiente ejemplo muestra la orientación vertical de la barra de herramientas React.