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.

    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

    Acciones de tendencia

    • AnalyzeMenu: A IgrToolActionIconMenu 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: A IgrToolActionCheckbox que muestra una línea horizontal discontinua a lo largo del eje y en el valor máximo de la serie.
        • MinValue: A IgrToolActionCheckbox que muestra una línea horizontal discontinua a lo largo del eje y en el valor mínimo de la serie.
        • Average: A IgrToolActionCheckbox 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 trazado IgrDataChart.
    • HelpersHeader: encabezado de una subsección.
    • SeriesAvg: A IgrToolActionCheckbox que agrega o quita a a a IgrValueLayer la colección de series del gráfico mediante el ValueLayerValueMode tipo Average of.
    • ValueLabelsMenu: Un submenú que contiene varias herramientas para mostrar diferentes anotaciones en el IgrDataChart área de la trama.
    • ShowCrosshairs: A IgrToolActionCheckbox que alterna las anotaciones en forma de cruz al pasar el ratón por encima a través de la propiedad del crosshairsDisplayMode gráfico.
    • ShowGridlines: A IgrToolActionCheckbox que alterna líneas de cuadrícula adicionales aplicando a MajorStroke al eje X.

    Acción Guardar en imagen

    • CopyAsImage: A IgrToolActionLabel 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.

    API References

    Additional Resources