Visão geral da barra de ferramentas do Web Components
O componente Web Components Barra de Ferramentas é um contêiner companheiro para operações de interface a serem usados principalmente com nossos componentes de gráficos. A barra de ferramentas será atualizada dinamicamente com um pré-definido de propriedades e itens da ferramenta quando vinculada aos nossosIgcDataChartComponent componentes ouIgcCategoryChartComponent OR. Você poderá criar ferramentas personalizadas para seu projeto, permitindo que os usuários finais façam alterações, oferecendo uma quantidade infinita de personalização.
Web Components Toolbar Example
Dependencies
Instale os Ignite UI for Web Components layouts, entradas, gráficos e pacotes principais:
npm install igniteui-webcomponents-layouts
npm install igniteui-webcomponents-inputs
npm install igniteui-webcomponents-charts
npm install igniteui-webcomponents-core
Os seguintes módulos são necessários ao usar oIgcToolbarComponent com oIgcDataChartComponent componente e suas funcionalidades.
import { ModuleManager } from 'igniteui-webcomponents-core';
import { IgcToolbarModule } from 'igniteui-webcomponents-layouts';
import { IgcDataChartToolbarModule, IgcDataChartCoreModule, IgcDataChartCategoryModule, IgcDataChartAnnotationModule, IgcDataChartInteractivityModule, IgcDataChartCategoryTrendLineModule } from 'igniteui-webcomponents-charts';
ModuleManager.register(
IgcToolbarModule,
IgcToolActionLabelModule,
IgcDataChartToolbarModule,
IgcDataChartCategoryModule,
IgcDataChartCoreModule,
IgcDataChartInteractivityModule,
IgcDataChartAnnotationModule,
IgcDataChartCategoryTrendLineModule
);
Usage
Tool Actions
A seguir está uma lista dos diferentesIgcToolActionComponent itens que você pode adicionar à Barra de Ferramentas.
IgcToolActionButtonComponentIgcToolActionCheckboxComponentIgcToolActionIconButtonComponentIgcToolActionIconMenuComponentIgcToolActionLabelComponentIgcToolActionNumberInputComponentIgcToolActionRadioComponentIgcToolActionSubPanelComponent
Cada uma dessas ferramentas expõe umOnCommand evento que é acionado por um clique do mouse. Note que oIgcToolActionIconMenuComponent é um wrapper para outras ferramentas que também pode ser envolvido dentro de umIgcToolActionIconMenuComponent.
Ferramentas novas e existentes podem ser reposicionadas e marcadas como ocultas usando asoverlayIdbeforeId propriedades eafterId noIgcToolActionComponent objeto. As ToolActions também expõem umavisibility propriedade.
O exemplo a seguir demonstra algumas características. Primeiro, você pode agrupar ferramentasIgcToolActionSubPanelComponent em conjunto incluindo ocultar ferramentas integradas, como as ações do menu ZoomReset e AnalyzeMenu. Neste exemplo, uma nova instância da ferramenta ZoomReset é acionada dentro do ZoomMenu, usando aafterId propriedade e atribuindo isso ao ZoomOut para ser preciso em sua posição. Também é destacado pelaisHighlighted propriedade na ferramenta.
Web Components Data Chart Integration
A barra de ferramentas Web Components contém umaTarget propriedade. Isso é usado para vincular um componente, comoIgcDataChartComponent mostrado no código abaixo:
<div>
<igc-toolbar
name="Toolbar"
id="Toolbar">
</igc-toolbar>
</div>
<div class="container fill">
<igc-data-chart
is-horizontal-zoom-enabled="true"
name="chart"
id="chart">
</igc-data-chart>
</div>
private _bind: () => void;
constructor() {
var toolbar = this.toolbar = document.getElementById('Toolbar') as IgcToolbarComponent;
var chart = this.chart = document.getElementById('chart') as IgcDataChartComponent;
this._bind = () => {
toolbar.target = this.chart;
}
this._bind();
}
Vários itens e menus pré-existentesIgcToolActionComponent ficam disponíveis quando elesIgcDataChartComponent são vinculados à Barra de Ferramentas. Aqui está uma lista das Ações Web ComponentsIgcDataChartComponent Ferramentas integradas e suas associadasoverlayId:
Ações de zoom
ZoomMenu: AIgcToolActionIconMenuComponentque expõe trêsIgcToolActionLabelComponentitens para invocar oszoomInmétodos ezoomOutno gráfico para aumentar/diminuir o nível de zoom do gráfico, incluindoZoomReset, aIgcToolActionLabelComponentque invoca oresetZoommétodo no gráfico para redefinir o nível de zoom para sua posição padrão.
Ações de tendência
AnalyzeMenu: AIgcToolActionIconMenuComponentque contém várias opções para configurar diferentes opções do gráfico.AnalyzeHeader: Um cabeçalho de subseção.LinesMenu: Um submenu contendo várias ferramentas para mostrar diferentes linhas horizontais tracejadas no gráfico.LinesHeader: Um cabeçalho de seção de submenu para as seguintes três ferramentas:MaxValue: AIgcToolActionCheckboxComponentque exibe uma linha horizontal tracejada ao longo do eixo y no valor máximo da série.MinValue: AIgcToolActionCheckboxComponentque exibe uma linha horizontal tracejada ao longo do eixo y, no valor mínimo da série.Average: AIgcToolActionCheckboxComponentque exibe uma linha horizontal tracejada ao longo do eixo y no valor médio da série.
TrendsMenu: Um submenu contendo ferramentas para aplicar várias linhas de tendência àIgcDataChartComponentárea do gráfico.TrendsHeader: Um cabeçalho de seção de submenu para as seguintes três ferramentas:- Exponencial: A
IgcToolActionRadioComponentque define otrendLineTypeem cada série do gráfico para ExponentialFit. - Linear: A
IgcToolActionRadioComponentque define otrendLineTypeem cada série do gráfico como LinearFit. - Logarítmico: A
IgcToolActionRadioComponentque define otrendLineTypeem cada série do gráfico para LogarítmicoAjuste.
- Exponencial: A
HelpersHeader: Um cabeçalho de subseção.SeriesAvg: AIgcToolActionCheckboxComponentque adiciona ou remove aIgcValueLayerComponentà coleção de séries do gráfico usando oValueLayerValueModetipoAveragede .ValueLabelsMenu: Um submenu contendo várias ferramentas para mostrar diferentes anotações naIgcDataChartComponentárea do enredo.ValueLabelsHeader: Um cabeçalho de seção de submenu para as seguintes ferramentas:ShowValueLabels: AIgcToolActionCheckboxComponentque alterna entre os valores dos pontos de dados usando aIgcCalloutLayerComponent.ShowLastValueLabel: AIgcToolActionCheckboxComponentque alterna as anotações do eixo de valores finais usando aIgcFinalValueLayerComponent.
ShowCrosshairs: AIgcToolActionCheckboxComponentque alterna o mouse sobre as anotações da mira via propriedade docrosshairsDisplayModegráfico.ShowGridlines: AIgcToolActionCheckboxComponentque alterna linhas de grade extras aplicando aMajorStrokeao eixo X.
Ação Salvar na imagem
CopyAsImage: AIgcToolActionLabelComponentque expõe uma opção para copiar o gráfico para a prancheta.CopyHeader: Um cabeçalho de subseção.
SVG Icons
Ao adicionar ferramentas manualmente, ícones podem ser atribuídos usando oRenderIconFromText método. Existem três parâmetros a serem aprovados nesse método. O primeiro é o nome da coleção de ícones definido na ferramenta, por exemplo...iconCollectionName O segundo é o nome do ícone definido na ferramenta, por exemploiconName, seguido pela adição da string SVG.
Data URL Icons
De forma semelhante à adição do svg, você também pode adicionar uma imagem de ícone a partir de uma URL via oregisterIconFromDataURL. O terceiro parâmetro do método seria usado para inserir uma URL de string.
O snippet a seguir mostra os dois métodos de adição de um ícone.
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 {
toolbar.registerIconFromDataURL("CustomCollection", "CustomIcon", "https://www.svgrepo.com/show/678/calculator.svg");
}
<igc-tool-action-label
title="Custom Icon"
icon-name="CustomIcon"
icon-collection-name="CustomCollection">
</igc-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 {
toolbar.registerIconFromDataURL("CustomCollection", "CustomIcon", "https://www.svgrepo.com/show/678/calculator.svg");
}
Vertical Orientation
Por padrão, a barra de ferramentas Web Components é mostrada horizontalmente, mas também tem a capacidade de ser exibida verticalmente ao definir aorientation propriedade.
<igc-toolbar orientation="Vertical" />
O exemplo a seguir demonstra a orientação vertical da barra de ferramentas Web Components.
Editor de cores
Você pode adicionar uma ferramenta de edição de cores personalizada à barra de ferramentas Web Components, que também funcionará com o evento Command para executar um estilo personalizado em seu aplicativo.
<igc-toolbar
name="toolbar"
id="toolbar">
<igc-tool-action-color-editor
title="Series Brush Color"
name="colorEditorTool"
id="colorEditorTool">
</igc-tool-action-color-editor>
</igc-toolbar>
O exemplo a seguir demonstra o estilo do pincel da série Gráfico de Dados do Web Components com a ferramenta Editor de Cores.