igniteui-angular-charts
Version:
Ignite UI Angular charting components for building rich data visualizations for modern web apps.
462 lines (455 loc) • 18.5 kB
JavaScript
import { EventEmitter, Output, Component, Input } from '@angular/core';
import { delegateCombine } from "igniteui-angular-core";
import { OverlayTextLocation_$type } from "./OverlayTextLocation";
import { AnnotationAppearanceMode_$type } from "./AnnotationAppearanceMode";
import { IgxOverlayTextUpdatingEventArgs } from "./igx-overlay-text-updating-event-args";
import { IgxDataAnnotationItem } from "./igx-data-annotation-item";
import { IgxDataAnnotationInfo } from "./igx-data-annotation-info";
import { IgxDataAnnotationAxisLayerComponent } from "./igx-data-annotation-axis-layer-component";
import { ensureBool, ensureEnum, brushToString, stringToBrush, toPoint, fromPoint } from "igniteui-angular-core";
import { FontInfo } from "igniteui-angular-core";
import * as i0 from "@angular/core";
/**
* Represents a base annotation layer that renders shapes defined by derived data annotation, e.g. line, strip, slice, rect, band
*/
export let IgxDataAnnotationShapeLayerComponent = /*@__PURE__*/ (() => {
class IgxDataAnnotationShapeLayerComponent extends IgxDataAnnotationAxisLayerComponent {
constructor() {
super();
this._stylingOverlayText = null;
this._stylingShapeAnnotation = null;
this._stylingAxisAnnotation = null;
}
/**
* @hidden
*/
get i() {
return this._implementation;
}
/**
* Gets or sets whether to draw shape of annotations in the plot area
*/
get annotationShapeVisible() {
return this.i.ads;
}
set annotationShapeVisible(v) {
this.i.ads = ensureBool(v);
}
/**
* Gets or sets whether the data items of the annotations use world coordinates (0.0 - 1.0) or they default to using axes coordinates (data indexes for category axis or data values for numeric axis).
*/
get itemsUseWorldCoordinates() {
return this.i.adx;
}
set itemsUseWorldCoordinates(v) {
this.i.adx = ensureBool(v);
}
/**
* Gets or sets location of the overlay text in relation to shape of data annotation.
*/
get overlayTextLocation() {
return this.i.adj;
}
set overlayTextLocation(v) {
this.i.adj = ensureEnum(OverlayTextLocation_$type, v);
}
/**
* Gets or sets the horizontal margin of the overlay text in relation to shape of data annotation.
*/
get overlayTextHorizontalMargin() {
return this.i.aeh;
}
set overlayTextHorizontalMargin(v) {
this.i.aeh = +v;
}
/**
* Gets or sets the vertical margin of the overlay text in relation to shape of data annotation.
*/
get overlayTextVerticalMargin() {
return this.i.aej;
}
set overlayTextVerticalMargin(v) {
this.i.aej = +v;
}
/**
* Gets or sets the horizontal padding of the overlay text in relation to shape of data annotation.
*/
get overlayTextHorizontalPadding() {
return this.i.aei;
}
set overlayTextHorizontalPadding(v) {
this.i.aei = +v;
}
/**
* Gets or sets the vertical padding of the overlay text in relation to shape of data annotation.
*/
get overlayTextVerticalPadding() {
return this.i.aek;
}
set overlayTextVerticalPadding(v) {
this.i.aek = +v;
}
/**
* Gets or sets the angle rotation (in degrees) of the overlay text in relation to shape of data annotation.
*/
get overlayTextAngle() {
return this.i.aeb;
}
set overlayTextAngle(v) {
this.i.aeb = +v;
}
/**
* Gets or sets the color the overlay text.
*/
get overlayTextColor() {
return brushToString(this.i.agq);
}
set overlayTextColor(v) {
this.i.agq = stringToBrush(v);
}
/**
* Gets or sets the background the overlay text.
*/
get overlayTextBackground() {
return brushToString(this.i.ago);
}
set overlayTextBackground(v) {
this.i.ago = stringToBrush(v);
}
/**
* Gets or sets the border stroke of the overlay text.
*/
get overlayTextBorderColor() {
return brushToString(this.i.agp);
}
set overlayTextBorderColor(v) {
this.i.agp = stringToBrush(v);
}
/**
* Gets or sets the border corner of the overlay text.
*/
get overlayTextBorderRadius() {
return this.i.aed;
}
set overlayTextBorderRadius(v) {
this.i.aed = +v;
}
/**
* Gets or sets the border thickness of the overlay text.
*/
get overlayTextBorderThickness() {
return this.i.aef;
}
set overlayTextBorderThickness(v) {
this.i.aef = +v;
}
/**
* Gets or sets whether the overlay text is visible in shape of data annotation
*/
get overlayTextVisible() {
return this.i.ad1;
}
set overlayTextVisible(v) {
this.i.ad1 = ensureBool(v);
}
/**
* Gets or sets name of data column with text that will be displayed as overlay text.
*/
get overlayTextMemberPath() {
return this.i.aff;
}
set overlayTextMemberPath(v) {
this.i.aff = v;
}
/**
* Gets or sets the text that will be displayed as the overlay annotation.
*/
get overlayText() {
return this.i.aev;
}
set overlayText(v) {
this.i.aev = v;
}
/**
* Gets or sets the shift of the overlay text color based on OverlayTextColorMode. Value must range between -1.0 to 1.0, where 0 means no color shift.
*/
get overlayTextColorShift() {
return this.i.aeg;
}
set overlayTextColorShift(v) {
this.i.aeg = +v;
}
/**
* Gets or sets the mode used for shifting the background of overlay text based on the target series.
*/
get overlayTextColorMode() {
return this.i.adc;
}
set overlayTextColorMode(v) {
this.i.adc = ensureEnum(AnnotationAppearanceMode_$type, v);
}
/**
* Gets or sets whether the overlay text color matches brush of the layer
*/
get overlayTextColorMatchLayer() {
return this.i.ad0;
}
set overlayTextColorMatchLayer(v) {
this.i.ad0 = ensureBool(v);
}
/**
* Gets or sets the shift of the overlay background based on OverlayTextBackgroundMode. Value must range between -1.0 to 1.0, where 0 means no color shift.
*/
get overlayTextBackgroundShift() {
return this.i.aec;
}
set overlayTextBackgroundShift(v) {
this.i.aec = +v;
}
/**
* Gets or sets the mode used for shifting the background of overlay text based on the target series.
*/
get overlayTextBackgroundMode() {
return this.i.ada;
}
set overlayTextBackgroundMode(v) {
this.i.ada = ensureEnum(AnnotationAppearanceMode_$type, v);
}
/**
* Gets or sets whether the overlay text background matches brush of the layer
*/
get overlayTextBackgroundMatchLayer() {
return this.i.ady;
}
set overlayTextBackgroundMatchLayer(v) {
this.i.ady = ensureBool(v);
}
/**
* Gets or sets the shift of the overlay border based on OverlayTextBorderMode. Value must range between -1.0 to 1.0, where 0 means no color shift.
*/
get overlayTextBorderShift() {
return this.i.aee;
}
set overlayTextBorderShift(v) {
this.i.aee = +v;
}
/**
* Gets or sets the mode used for shifting the border of overlay text based on the target series.
*/
get overlayTextBorderMode() {
return this.i.adb;
}
set overlayTextBorderMode(v) {
this.i.adb = ensureEnum(AnnotationAppearanceMode_$type, v);
}
/**
* Gets or sets whether the overlay text border matches brush of the layer
*/
get overlayTextBorderMatchLayer() {
return this.i.adz;
}
set overlayTextBorderMatchLayer(v) {
this.i.adz = ensureBool(v);
}
/**
* Gets or Sets the style to use for the display text.
*/
get overlayTextStyle() {
if (this.i.adp == null) {
return null;
}
return this.i.adp.fontString;
}
set overlayTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.adp = fi;
}
/**
* Gets whether the annotation layer is currently targeting horizontal axis.
*/
get isTargetingHorizontalAxis() {
return this.i.adu;
}
set isTargetingHorizontalAxis(v) {
this.i.adu = ensureBool(v);
}
/**
* Converts world coordinate (0.0 - 1.0) to pixel coordinate that is relative to component's size
*/
fromWorld(world) {
let iv = this.i.ags(toPoint(world));
return fromPoint(iv);
}
/**
* Converts world X coordinate (0.0 - 1.0) to pixel coordinate that is relative to component's width
*/
fromWorldX(x) {
let iv = this.i.ad8(x);
return (iv);
}
/**
* Converts world Y coordinate (0.0 - 1.0) to pixel coordinate that is relative to component's height
*/
fromWorldY(y) {
let iv = this.i.ad9(y);
return (iv);
}
/**
* Converts pixel coordinate (relative to component's size) to world coordinate (0.0 - 1.0)
*/
toWorld(pixel) {
let iv = this.i.agv(toPoint(pixel));
return fromPoint(iv);
}
/**
* Converts pixel X coordinate (relative to component's width) to world coordinate (0.0 - 1.0)
*/
toWorldX(x) {
let iv = this.i.aem(x);
return (iv);
}
/**
* Converts pixel Y coordinate (relative to component's height) to world coordinate (0.0 - 1.0)
*/
toWorldY(y) {
let iv = this.i.aen(y);
return (iv);
}
/**
* Event raised when updating style of overlay text
*/
get stylingOverlayText() {
if (this._stylingOverlayText == null) {
this._stylingOverlayText = new EventEmitter();
this.i.stylingOverlayText = delegateCombine(this.i.stylingOverlayText, (o, e) => {
this._runInZone(() => {
let outerArgs = new IgxOverlayTextUpdatingEventArgs();
outerArgs._provideImplementation(e);
if (this.beforeStylingOverlayText) {
this.beforeStylingOverlayText(this, outerArgs);
}
this._stylingOverlayText.emit({
sender: this,
args: outerArgs
});
});
});
}
return this._stylingOverlayText;
}
/**
* Event raised when updating style of annotation
*/
get stylingShapeAnnotation() {
if (this._stylingShapeAnnotation == null) {
this._stylingShapeAnnotation = new EventEmitter();
this.i.stylingShapeAnnotation = delegateCombine(this.i.stylingShapeAnnotation, (o, e) => {
this._runInZone(() => {
let outerArgs = new IgxDataAnnotationItem();
outerArgs._provideImplementation(e);
if (this.beforeStylingShapeAnnotation) {
this.beforeStylingShapeAnnotation(this, outerArgs);
}
this._stylingShapeAnnotation.emit({
sender: this,
args: outerArgs
});
});
});
}
return this._stylingShapeAnnotation;
}
/**
* Event raised when updating style of annotation
*/
get stylingAxisAnnotation() {
if (this._stylingAxisAnnotation == null) {
this._stylingAxisAnnotation = new EventEmitter();
this.i.stylingAxisAnnotation = delegateCombine(this.i.stylingAxisAnnotation, (o, e) => {
this._runInZone(() => {
let outerArgs = new IgxDataAnnotationInfo();
outerArgs._provideImplementation(e);
if (this.beforeStylingAxisAnnotation) {
this.beforeStylingAxisAnnotation(this, outerArgs);
}
this._stylingAxisAnnotation.emit({
sender: this,
args: outerArgs
});
});
});
}
return this._stylingAxisAnnotation;
}
}
IgxDataAnnotationShapeLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxDataAnnotationShapeLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
IgxDataAnnotationShapeLayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: IgxDataAnnotationShapeLayerComponent, selector: "ng-component", inputs: { annotationShapeVisible: "annotationShapeVisible", itemsUseWorldCoordinates: "itemsUseWorldCoordinates", overlayTextLocation: "overlayTextLocation", overlayTextHorizontalMargin: "overlayTextHorizontalMargin", overlayTextVerticalMargin: "overlayTextVerticalMargin", overlayTextHorizontalPadding: "overlayTextHorizontalPadding", overlayTextVerticalPadding: "overlayTextVerticalPadding", overlayTextAngle: "overlayTextAngle", overlayTextColor: "overlayTextColor", overlayTextBackground: "overlayTextBackground", overlayTextBorderColor: "overlayTextBorderColor", overlayTextBorderRadius: "overlayTextBorderRadius", overlayTextBorderThickness: "overlayTextBorderThickness", overlayTextVisible: "overlayTextVisible", overlayTextMemberPath: "overlayTextMemberPath", overlayText: "overlayText", overlayTextColorShift: "overlayTextColorShift", overlayTextColorMode: "overlayTextColorMode", overlayTextColorMatchLayer: "overlayTextColorMatchLayer", overlayTextBackgroundShift: "overlayTextBackgroundShift", overlayTextBackgroundMode: "overlayTextBackgroundMode", overlayTextBackgroundMatchLayer: "overlayTextBackgroundMatchLayer", overlayTextBorderShift: "overlayTextBorderShift", overlayTextBorderMode: "overlayTextBorderMode", overlayTextBorderMatchLayer: "overlayTextBorderMatchLayer", overlayTextStyle: "overlayTextStyle", isTargetingHorizontalAxis: "isTargetingHorizontalAxis" }, outputs: { stylingOverlayText: "stylingOverlayText", stylingShapeAnnotation: "stylingShapeAnnotation", stylingAxisAnnotation: "stylingAxisAnnotation" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true });
return IgxDataAnnotationShapeLayerComponent;
})();
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxDataAnnotationShapeLayerComponent, decorators: [{
type: Component,
args: [{
template: ``,
}]
}], ctorParameters: function () { return []; }, propDecorators: { annotationShapeVisible: [{
type: Input
}], itemsUseWorldCoordinates: [{
type: Input
}], overlayTextLocation: [{
type: Input
}], overlayTextHorizontalMargin: [{
type: Input
}], overlayTextVerticalMargin: [{
type: Input
}], overlayTextHorizontalPadding: [{
type: Input
}], overlayTextVerticalPadding: [{
type: Input
}], overlayTextAngle: [{
type: Input
}], overlayTextColor: [{
type: Input
}], overlayTextBackground: [{
type: Input
}], overlayTextBorderColor: [{
type: Input
}], overlayTextBorderRadius: [{
type: Input
}], overlayTextBorderThickness: [{
type: Input
}], overlayTextVisible: [{
type: Input
}], overlayTextMemberPath: [{
type: Input
}], overlayText: [{
type: Input
}], overlayTextColorShift: [{
type: Input
}], overlayTextColorMode: [{
type: Input
}], overlayTextColorMatchLayer: [{
type: Input
}], overlayTextBackgroundShift: [{
type: Input
}], overlayTextBackgroundMode: [{
type: Input
}], overlayTextBackgroundMatchLayer: [{
type: Input
}], overlayTextBorderShift: [{
type: Input
}], overlayTextBorderMode: [{
type: Input
}], overlayTextBorderMatchLayer: [{
type: Input
}], overlayTextStyle: [{
type: Input
}], isTargetingHorizontalAxis: [{
type: Input
}], stylingOverlayText: [{
type: Output
}], stylingShapeAnnotation: [{
type: Output
}], stylingAxisAnnotation: [{
type: Output
}] } });