Angular Toolbar Overview
El componente Angular Toolbar es un contenedor complementario para las operaciones de la interfaz de usuario que se utilizará principalmente con nuestros componentes de gráficos. La barra de herramientas se actualizará dinámicamente con un ajuste preestablecido de propiedades y elementos de herramientas cuando se vincule a nuestros componentes IgxDataChartComponent
o IgxCategoryChartComponent
. Podrá crear herramientas personalizadas para su proyecto que permitirán a los usuarios finales realizar cambios, ofreciendo una cantidad infinita de personalización.
Angular Toolbar Example
Dependencies
Instale la Ignite UI for Angular:
npm install igniteui-angular-layouts
npm install igniteui-angular-inputs
npm install igniteui-angular-charts
npm install igniteui-angular-core
Los siguientes módulos son necesarios cuando se utiliza IgxToolbarComponent
con el componente IgxDataChartComponent
y sus características.
import { IgxToolbarModule } from 'igniteui-angular-layouts';
import { IgxDataChartToolbarModule, IgxDataChartCoreModule, IgxDataChartCategoryModule, IgxDataChartAnnotationModule, IgxDataChartInteractivityModule, IgxDataChartCategoryTrendLineModule } from 'igniteui-angular-charts';
@NgModule({
imports: [
// ...
IgxToolbarModule,
IgxDataChartToolbarModule,
IgxDataChartCoreModule,
IgxDataChartCategoryModule,
IgxDataChartAnnotationModule,
IgxDataChartInteractivityModule,
IgxDataChartCategoryTrendLineModule
// ...
]
})
export class AppModule {}
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
La siguiente es una lista de los diferentes elementos IgxToolActionComponent
que puede agregar a la barra de herramientas.
IgxToolActionButtonComponent
IgxToolActionCheckboxComponent
IgxToolActionIconButtonComponent
IgxToolActionIconMenuComponent
IgxToolActionLabelComponent
IgxToolActionNumberInputComponent
IgxToolActionRadioComponent
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 usando las propiedades overlayId
, beforeId
y afterId
en el objeto IgxToolActionComponent
. ToolActions también expone una propiedad visibility
.
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.
Angular Data Chart Integration
La barra de herramientas Angular contiene una propiedad Target
. Esto se utiliza para vincular un componente, como IgxDataChartComponent
, como se muestra en el siguiente código:
<div class="legend">
<igx-toolbar
name="toolbar"
[target]="chart"
#toolbar>
</igx-toolbar>
</div>
<div class="container fill">
<igx-data-chart
name="chart"
#chart>
</igx-data-chart>
Varios elementos y menús IgxToolActionComponent
preexistentes quedan disponibles cuando IgxDataChartComponent
se vincula con la barra de herramientas. Aquí hay una lista de las acciones integradas de la herramienta Angular IgxDataChartComponent
y su overlayId
asociado:
Acciones de zoom
ZoomReset
: unIgxToolActionLabelComponent
que invoca el métodoresetZoom
en el gráfico para restablecer el nivel de zoom a su posición predeterminada.ZoomMenu
: unIgxToolActionIconMenuComponent
que expone dos elementosIgxToolActionLabelComponent
para invocar los métodoszoomIn
yzoomOut
en el gráfico para aumentar/disminuir el nivel de zoom del gráfico.
Acciones de tendencia
AnalyzeMenu
: unIgxToolActionIconMenuComponent
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
: unIgxToolActionCheckboxComponent
que muestra una línea horizontal discontinua a lo largo del eje y en el valor máximo de la serie.MinValue
: unIgxToolActionCheckboxComponent
que muestra una línea horizontal discontinua a lo largo del eje y en el valor mínimo de la serie.Average
: unIgxToolActionCheckboxComponent
que muestra una línea horizontal discontinua a lo largo del eje y en el valor promedio de la serie.
TrendsMenu
: A sub menu containing tools for applying various trendlines to theIgxDataChartComponent
plot area.TrendsHeader
: encabezado de sección de submenú para las siguientes tres herramientas:- Exponencial: A
IgxToolActionRadioComponent
que establece eltrendLineType
en cada serie del gráfico en ExponentialFit. - Lineal: A
IgxToolActionRadioComponent
que establece eltrendLineType
en cada serie del gráfico en LinearFit. - Logarítmico: A
IgxToolActionRadioComponent
que establece eltrendLineType
en cada serie del gráfico en LogarithmicFit.
- Exponencial: A
HelpersHeader
: encabezado de una subsección.SeriesAvg
: unIgxToolActionCheckboxComponent
que agrega o elimina unIgxValueLayerComponent
a la colección de series del gráfico utilizandoValueLayerValueMode
de tipoAverage
.ValueLabelsMenu
: Un submenú que contiene varias herramientas para mostrar diferentes anotaciones en elIgxDataChartComponent
área de la trama.ValueLabelsHeader
: encabezado de sección del submenú para las siguientes herramientas:ShowValueLabels
: unIgxToolActionCheckboxComponent
que alterna valores de puntos de datos mediante el uso de unIgxCalloutLayerComponent
.ShowLastValueLabel
: unIgxToolActionCheckboxComponent
que alterna las anotaciones del eje del valor final mediante el uso de unIgxFinalValueLayerComponent
.
ShowCrosshairs
: unIgxToolActionCheckboxComponent
que alterna las anotaciones en forma de cruz al pasar el mouse a través de la propiedadcrosshairsDisplayMode
del gráfico.ShowGridlines
: unIgxToolActionCheckboxComponent
que alterna líneas de cuadrícula adicionales aplicando unMajorStroke
al eje X.
Acción Guardar en imagen
CopyAsImage
: AIgxToolActionLabelComponent
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.
<igx-tool-action-label
title="Custom Icon"
iconName="CustomIcon"
iconCollectionName="CustomCollection">
</igx-tool-action-label>
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);
}
Vertical Orientation
De forma predeterminada, la barra de herramientas Angular se muestra horizontalmente, pero también tiene la capacidad de mostrarse verticalmente configurando la propiedad orientation
.
<igx-toolbar orientation="Vertical" />
En el ejemplo siguiente se muestra la orientación vertical de la barra de herramientas angular.