igniteui-angular-charts
Version:
Ignite UI Angular charting components for building rich data visualizations for modern web apps.
410 lines (409 loc) • 14.4 kB
JavaScript
import { Component, Input } from '@angular/core';
import { MarkerType, MarkerType_$type } from "./MarkerType";
import { MarkerOutlineMode, MarkerOutlineMode_$type } from "./MarkerOutlineMode";
import { MarkerFillMode, MarkerFillMode_$type } from "./MarkerFillMode";
import { LegendItemBadgeMarkerSizeScaling, LegendItemBadgeMarkerSizeScaling_$type } from "igniteui-angular-core";
import { IgxSeriesComponent } from "./igx-series-component";
import { ensureBool, ensureEnum, brushToString, stringToBrush } from "igniteui-angular-core";
import * as i0 from "@angular/core";
/**
* Represents the base class for series containing markers.
*
* MarkerSeries represents the base class for series containing markers.
*
* Example:
*
* ```html
* <igx-data-chart
* [dataSource]="data">
* <igx-category-x-axis
* label="label"
* #xAxis
* >
* </igx-category-x-axis>
* <igx-numeric-y-axis
* minimumValue="0"
* #yAxis>
* </igx-numeric-y-axis>
* <igx-column-series
* #series
* [xAxis]="xAxis"
* [yAxis]="yAxis"
* valueMemberPath="value">
* </igx-column-series>
* </igx-data-chart>
* ```
*
* ```ts
* let series: IgxMarkerSeriesComponent = new IgxMarkerSeriesComponent();
* series.xAxis = this.xAxis;
* series.yAxis = this.yAxis;
* series.valueMemberPath = "value";
* this.chart.series.add(series);
* ```
*/
export class IgxMarkerSeriesComponent extends IgxSeriesComponent {
/**
* @hidden
*/
get i() {
return this._implementation;
}
constructor() {
super();
}
/**
* Returns whether the current series supports visual markers.
*
* `HasMarkers` property is overriden, it returns whether the current series supports visual markers. You can use it like this:
*
* ```ts
* let gotMarkers: boolean = this.series.hasMarkers;
* ```
*/
get hasMarkers() {
return this.i.hasMarkers;
}
get hasVisibleMarkers() {
return this.i.en;
}
/**
* Gets or sets the marker type for the current series object.
* This property is ignored when the MarkerTemplate property is set
*
* `MarkerType` property gets or sets the marker type for the current series object. For example, you can set it like this:
*
* ```html
* <igx-data-chart
* [dataSource]="data">
* <igx-category-x-axis
* label="label"
* #xAxis>
* </igx-category-x-axis>
* <igx-numeric-y-axis
* #yAxis>
* </igx-numeric-y-axis>
* <igx-column-series
* #series
* [xAxis]="xAxis"
* [yAxis]="yAxis"
* valueMemberPath="value"
* markerType = "circle">
* </igx-column-series>
* </igx-data-chart>
* ```
*
* ```ts
* this.series.markerType = "circle";
* ```
*/
get markerType() {
return this.i.xy;
}
set markerType(v) {
this.i.xy = ensureEnum(MarkerType_$type, v);
}
/**
* Represents the resolved marker type for the series.
*/
get actualMarkerType() {
return this.i.xw;
}
set actualMarkerType(v) {
this.i.xw = ensureEnum(MarkerType_$type, v);
}
/**
* Gets or sets whether the marker for the current series object should be treated as circular.
*/
get isCustomMarkerCircular() {
return this.i.x1;
}
set isCustomMarkerCircular(v) {
this.i.x1 = ensureBool(v);
}
/**
* Gets whether the markers for the current series are in circular shape
*/
get effectiveIsMarkerCircular() {
return this.i.x0;
}
/**
* Gets or sets whether the marker outline is based on the marker brush of the series rather than the marker outlines collection.
*/
get markerOutlineMode() {
return this.i.xs;
}
set markerOutlineMode(v) {
this.i.xs = ensureEnum(MarkerOutlineMode_$type, v);
}
/**
* Gets or sets whether the marker fill is based on the marker outline of the series rather than the marker brushes collection.
*/
get markerFillMode() {
return this.i.xo;
}
set markerFillMode(v) {
this.i.xo = ensureEnum(MarkerFillMode_$type, v);
}
/**
* Gets or sets the MarkerTemplate for the current series object.
*
* `MarkerTemplate` property gets or sets the MarkerTemplate for the current series object. For example, you can use it like this:
*
* ```html
* <igx-data-chart
* [dataSource]="data">
* <igx-category-x-axis
* label="label"
* #xAxis>
* </igx-category-x-axis>
* <igx-numeric-y-axis #yAxis>
* </igx-numeric-y-axis>
* <igx-column-series
* #series
* [xAxis]="xAxis"
* [yAxis]="yAxis"
* valueMemberPath="value"
* markerTemplate="circleMarkerTemplate">
* </igx-column-series>
* </igx-data-chart>
* ```
*/
get markerTemplate() {
return this.i.y8;
}
set markerTemplate(v) {
this.i.y8 = v;
}
/**
* Gets or sets thickness of the marker outline
*/
get markerThickness() {
return this.i.yi;
}
set markerThickness(v) {
this.i.yi = +v;
}
/**
* Gets or sets the size in device-independent pixels (dp) of the data point markers. Set to NaN to use the template's default size.
*/
get markerSize() {
return this.i.yh;
}
set markerSize(v) {
this.i.yh = +v;
}
/**
* Gets or sets how the legend badge size scales with the series' MarkerSize. Applies when the
* resolved badge shape draws a marker — that's Marker (always) and Line/LineWithMarker when
* LegendItemBadgeMode is MatchSeries (the overlaid-marker variant). No effect on shape-only
* badges (Circle, Square, Bar, Column) or on Line in Simplified mode.
* Scaling only takes effect when MarkerSize is set to a non-default value.
*/
get legendItemBadgeMarkerSizeScaling() {
return this.i.xl;
}
set legendItemBadgeMarkerSizeScaling(v) {
this.i.xl = ensureEnum(LegendItemBadgeMarkerSizeScaling_$type, v);
}
/**
* Gets the actual width (in device-independent pixels) of the marker drawn in the legend badge for this series. Reflects scaling
* applied via LegendItemBadgeMarkerSizeScaling when MarkerSize is non-default; otherwise equals the platform default.
*/
get actualLegendItemBadgeMarkerWidth() {
return this.i.x8;
}
set actualLegendItemBadgeMarkerWidth(v) {
this.i.x8 = +v;
}
/**
* Gets the actual height (in device-independent pixels) of the marker drawn in the legend badge for this series. Reflects scaling
* applied via LegendItemBadgeMarkerSizeScaling when MarkerSize is non-default; otherwise equals the platform default.
*/
get actualLegendItemBadgeMarkerHeight() {
return this.i.x7;
}
set actualLegendItemBadgeMarkerHeight(v) {
this.i.x7 = +v;
}
/**
* Gets the actual width (in device-independent pixels) of the marker overlay used inside a line-with-marker legend badge.
* Defaults to the platform's inset marker size and scales with MarkerSize and LegendItemBadgeMarkerSizeScaling.
* Kept smaller than the cell so the underlying line stays visible behind the marker.
*/
get actualLegendItemBadgeOverlaidMarkerWidth() {
return this.i.ya;
}
set actualLegendItemBadgeOverlaidMarkerWidth(v) {
this.i.ya = +v;
}
/**
* Gets the actual height (in device-independent pixels) of the marker overlay used inside a line-with-marker legend badge.
* Defaults to the platform's inset marker size and scales with MarkerSize and LegendItemBadgeMarkerSizeScaling.
*/
get actualLegendItemBadgeOverlaidMarkerHeight() {
return this.i.x9;
}
set actualLegendItemBadgeOverlaidMarkerHeight(v) {
this.i.x9 = +v;
}
/**
* Gets the effective marker template for the current series object.
*
* `ActualMarkerTemplate` property gets the effective marker template for the current series object. You can use it like this:
*
* ```ts
* let effectiveMarkerTemplate: IgxDataTemplate = this.series.actualMarkerTemplate;
* ```
*/
get actualMarkerTemplate() {
return this.i.y6;
}
set actualMarkerTemplate(v) {
this.i.y6 = v;
}
/**
* Gets or sets the brush that specifies how the current series object's marker interiors are painted.
*
* `MarkerBrush` property gets or sets the brush that specifies how the current series object's marker interiors are painted. You can use it like this:
*
* ```html
* <igx-data-chart
* [dataSource]="data">
* <igx-category-x-axis
* label="label"
* #xAxis>
* </igx-category-x-axis>
* <igx-numeric-y-axis #yAxis>
* </igx-numeric-y-axis>
* <igx-column-series
* #series
* [xAxis]="xAxis"
* [yAxis]="yAxis"
* valueMemberPath="value"
* markerBrush = "blue">
* </igx-column-series>
* </igx-data-chart>
* ```
*
* ```ts
* this.series.markerBrush = "red";
* ```
*/
get markerBrush() {
return brushToString(this.i.zv);
}
set markerBrush(v) {
this.i.zv = stringToBrush(v);
}
/**
* Gets the effective marker brush for the current series object.
*
* `ActualMarkerBrush` property gets the effective marker brush for the current series object. For example, you can use it like this:
*
* ```ts
* let effectiveMarkerBrush: string = this.series.actualMarkerBrush;
*
* ```
*/
get actualMarkerBrush() {
return brushToString(this.i.zt);
}
set actualMarkerBrush(v) {
this.i.zt = stringToBrush(v);
}
/**
* Gets or sets the brush that specifies how the current series object's marker outlines are painted.
*
* `MarkerOutline` property gets or sets the brush that specifies how the current series object's marker outlines are painted. You can use it like this:
*
* ```html
* <igx-data-chart
* [dataSource]="data">
* <igx-category-x-axis
* label="label"
* #xAxis>
* </igx-category-x-axis>
* <igx-numeric-y-axis #yAxis>
* </igx-numeric-y-axis>
* <igx-column-series
* #series
* [xAxis]="xAxis"
* [yAxis]="yAxis"
* valueMemberPath="value"
* markerOutline = "blue">
* </igx-column-series>
* </igx-data-chart>
* ```
*
* ```ts
* this.series.markerOutline = "red";
* ```
*/
get markerOutline() {
return brushToString(this.i.zw);
}
set markerOutline(v) {
this.i.zw = stringToBrush(v);
}
/**
* Gets the effective marker outline for the current series object.
*
* `ActualMarkerOutline` property gets the effective marker outline for the current series object. You can use it like this:
*
* ```ts
* let effectiveMarkerOutline: string = this.series.actualMarkerOutline;
*
* ```
*/
get actualMarkerOutline() {
return brushToString(this.i.zu);
}
set actualMarkerOutline(v) {
this.i.zu = stringToBrush(v);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0-rc.1", ngImport: i0, type: IgxMarkerSeriesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.0-rc.1", type: IgxMarkerSeriesComponent, isStandalone: true, selector: "ng-component", inputs: { markerType: "markerType", actualMarkerType: "actualMarkerType", isCustomMarkerCircular: "isCustomMarkerCircular", markerOutlineMode: "markerOutlineMode", markerFillMode: "markerFillMode", markerTemplate: "markerTemplate", markerThickness: "markerThickness", markerSize: "markerSize", legendItemBadgeMarkerSizeScaling: "legendItemBadgeMarkerSizeScaling", actualLegendItemBadgeMarkerWidth: "actualLegendItemBadgeMarkerWidth", actualLegendItemBadgeMarkerHeight: "actualLegendItemBadgeMarkerHeight", actualLegendItemBadgeOverlaidMarkerWidth: "actualLegendItemBadgeOverlaidMarkerWidth", actualLegendItemBadgeOverlaidMarkerHeight: "actualLegendItemBadgeOverlaidMarkerHeight", actualMarkerTemplate: "actualMarkerTemplate", markerBrush: "markerBrush", actualMarkerBrush: "actualMarkerBrush", markerOutline: "markerOutline", actualMarkerOutline: "actualMarkerOutline" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0-rc.1", ngImport: i0, type: IgxMarkerSeriesComponent, decorators: [{
type: Component,
args: [{
template: ``,
}]
}], ctorParameters: () => [], propDecorators: { markerType: [{
type: Input
}], actualMarkerType: [{
type: Input
}], isCustomMarkerCircular: [{
type: Input
}], markerOutlineMode: [{
type: Input
}], markerFillMode: [{
type: Input
}], markerTemplate: [{
type: Input
}], markerThickness: [{
type: Input
}], markerSize: [{
type: Input
}], legendItemBadgeMarkerSizeScaling: [{
type: Input
}], actualLegendItemBadgeMarkerWidth: [{
type: Input
}], actualLegendItemBadgeMarkerHeight: [{
type: Input
}], actualLegendItemBadgeOverlaidMarkerWidth: [{
type: Input
}], actualLegendItemBadgeOverlaidMarkerHeight: [{
type: Input
}], actualMarkerTemplate: [{
type: Input
}], markerBrush: [{
type: Input
}], actualMarkerBrush: [{
type: Input
}], markerOutline: [{
type: Input
}], actualMarkerOutline: [{
type: Input
}] } });