igniteui-angular-charts
Version:
Ignite UI Angular charting components for building rich data visualizations for modern web apps.
1,280 lines (1,277 loc) • 48.8 kB
JavaScript
import { Output, EventEmitter, Component, ViewContainerRef, ViewChild, ContentChildren, Input, ChangeDetectionStrategy } from '@angular/core';
import { Treemap } from "./Treemap";
import { toPoint, ensureEnum, brushToString, stringToBrush, ensureBool, toSpinal, initializePropertiesFromCss, NamePatcher, fromBrushCollection, toBrushCollection } from "igniteui-angular-core";
import { FontInfo } from "igniteui-angular-core";
import { AngularRenderer } from "igniteui-angular-core";
import { delegateCombine } from "igniteui-angular-core";
import { DataChartStylingDefaults } from './DataChartStylingDefaults';
import { IgxTreemapNodeStyleMappingComponent } from './igx-treemap-node-style-mapping-component';
import { IgxTreemapNodeStyleMappingCollection } from './igx-treemap-node-style-mapping-collection';
import { CollectionAdapter } from "igniteui-angular-core";
import { NotifyCollectionChangedAction } from "igniteui-angular-core";
import { TreemapFillScaleMode_$type } from "./TreemapFillScaleMode";
import { IgxTreemapNodeStylingEventArgs } from "./igx-treemap-node-styling-event-args";
import { TreemapOrientation_$type } from './TreemapOrientation';
import { TreemapLayoutType_$type } from './TreemapLayoutType';
import { IgxTreemapNodePointerEventArgs } from './igx-treemap-node-pointer-event-args';
import { TreemapHeaderDisplayMode_$type } from './TreemapHeaderDisplayMode';
import { HorizontalAlignment_$type } from "igniteui-angular-core";
import { VerticalAlignment_$type } from "igniteui-angular-core";
import { TreemapLabelHorizontalFitMode_$type } from './TreemapLabelHorizontalFitMode';
import { TreemapLabelVerticalFitMode_$type } from './TreemapLabelVerticalFitMode';
import { TreemapHighlightingMode_$type } from './TreemapHighlightingMode';
import { TreemapHighlightedValueDisplayMode_$type } from './TreemapHighlightedValueDisplayMode';
import * as i0 from "@angular/core";
export let IgxTreemapComponent = /*@__PURE__*/ (() => {
class IgxTreemapComponent {
constructor(renderer, _elRef, ngZone, injector, componentFactoryResolver) {
this.renderer = renderer;
this._elRef = _elRef;
this.ngZone = ngZone;
this.injector = injector;
this.componentFactoryResolver = componentFactoryResolver;
/**
* The style mappings actually present in the chart. Do not directly modify this array.
* This array's contents can be modified by causing Angular to reproject the child content.
* Or adding and removing stye mappings from the manual style mapping collection on the styleMappings property.
*/
this.actualStyleMappings = [];
this._styleMappings = null;
this._styleMappingsAdapter = null;
this._wrapper = null;
this._root = null;
this._implementation = null;
this.__p = null;
this._hasUserValues = new Set();
this._stylingContainer = null;
this._stylingParent = null;
this._inStyling = false;
this._nodeStyling = null;
this._nodeRenderStyling = null;
this._nodePointerOver = null;
this._nodePointerEnter = null;
this._nodePointerLeave = null;
this._nodePointerPressed = null;
this._nodePointerReleased = null;
this._zoneRunner = null;
if (this._styling) {
NamePatcher.ensureStylablePatched(Object.getPrototypeOf(this));
}
this._implementation = this.createImplementation();
if (renderer) {
this.container = renderer.createElement("div");
renderer.appendChild(_elRef.element.nativeElement, this.container);
renderer.setStyle(this.container, "display", "block");
renderer.setStyle(this.container, "width", "100%");
renderer.setStyle(this.container, "height", "100%");
}
var root;
root = this.container;
if (this.container != null) {
root = this.container;
}
if (root && root.nativeElement) {
root = root.nativeElement;
}
this._root = root;
var treemap = this.i;
this._treeMap = treemap;
this._styleMappingsAdapter = new CollectionAdapter([], this.i.styleMappings, this.actualStyleMappings, (c) => c.i, (i) => {
if (this._root && this._root.parentElement) {
i._styling(this._root, this, this);
}
}, (i) => { });
if (renderer) {
var ren = new AngularRenderer(root, this.renderer, window.document, this.ngZone, true, DataChartStylingDefaults);
this._wrapper = ren;
treemap.provideContainer(ren);
treemap.notifySizeChanged();
ren.addSizeWatcher(() => {
this._treeMap.notifySizeChanged();
});
}
}
set height(value) {
this._height = value;
this.renderer.setStyle(this._elRef.element.nativeElement, "height", value);
this._treeMap.notifySizeChanged();
}
get height() {
return this._height;
}
set width(value) {
this._width = value;
this.renderer.setStyle(this._elRef.element.nativeElement, "width", value);
this._treeMap.notifySizeChanged();
}
get width() {
return this._width;
}
/**
* A collection or manually added axes for the chart.
*/
get styleMappings() {
if (this._styleMappings === null) {
let coll = new IgxTreemapNodeStyleMappingCollection();
let inner = coll._innerColl;
inner.addListener((sender, e) => {
switch (e.action) {
case NotifyCollectionChangedAction.Add:
this._styleMappingsAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
break;
case NotifyCollectionChangedAction.Remove:
this._styleMappingsAdapter.removeManualItemAt(e.oldStartingIndex);
break;
case NotifyCollectionChangedAction.Replace:
this._styleMappingsAdapter.removeManualItemAt(e.oldStartingIndex);
this._styleMappingsAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
break;
case NotifyCollectionChangedAction.Reset:
this._styleMappingsAdapter.clearManualItems();
break;
}
});
this._styleMappings = coll;
}
return this._styleMappings;
}
// supports angular themes or custom properties set in CSS
updateStyle() {
this._styling(this._root, this);
}
ngOnDestroy() {
this._treeMap.destroy();
this._wrapper.destroy();
}
ngAfterContentInit() {
this._styleMappingsAdapter.updateQuery(this.contentStyleMappings);
this._styling(this._root, this);
if (this.actualStyleMappings && this.actualStyleMappings.length > 0) {
var currStyleMapping = this.actualStyleMappings;
for (var i = 0; i < currStyleMapping.length; i++) {
currStyleMapping[i]._styling(this._root, this, this);
}
}
this.i.notifySizeChanged();
this.updateStyle();
}
createImplementation() {
return new Treemap();
}
get i() {
return this._implementation;
}
/**
* Gets or sets path to use to get the values from the items.
*/
get valueMemberPath() {
return this.i.hx;
}
set valueMemberPath(v) {
this.i.hx = v;
}
/**
* Gets or sets the root title to use for breadcrumbs.
*/
get rootTitle() {
return this.i.hn;
}
set rootTitle(v) {
this.i.hn = v;
}
/**
* Gets or sets the root title to use for breadcrumbs.
*/
get breadcrumbSequence() {
return this.i.fh;
}
set breadcrumbSequence(v) {
this.i.fh = v;
}
/**
* Gets or sets the path to use to get the Parent of the items.
*/
get parentIdMemberPath() {
return this.i.hb;
}
set parentIdMemberPath(v) {
this.i.hb = v;
}
/**
* Gets or sets the path to use to get the Label of the items.
*/
get labelMemberPath() {
return this.i.gt;
}
set labelMemberPath(v) {
this.i.gt = v;
}
/**
* Gets or sets the path to use to get the custom value of the items.
*/
get customValueMemberPath() {
return this.i.fk;
}
set customValueMemberPath(v) {
this.i.fk = v;
}
/**
* Gets or sets the path to use to get the id of the items.
*/
get idMemberPath() {
return this.i.gj;
}
set idMemberPath(v) {
this.i.gj = v;
}
/**
* Gets or sets the (possibly hierarchical) data to assign to the TreeMap.
*/
get dataSource() {
return this.i.dataSource;
}
set dataSource(v) {
this.i.dataSource = v;
}
/**
* Gets or sets the data to highlight.
*/
get highlightedDataSource() {
return this.i.highlightedDataSource;
}
set highlightedDataSource(v) {
this.i.highlightedDataSource = v;
}
/**
* Gets or sets the highlighted value mapping property.
*/
get highlightedValueMemberPath() {
return this.i.gb;
}
set highlightedValueMemberPath(v) {
this.i.gb = v;
}
/**
* Gets or sets the opacity applied to the node underneath the highlighted value.
*/
get highlightedValueOpacity() {
return this.i.dt;
}
set highlightedValueOpacity(v) {
this.i.dt = +v;
}
/**
* Gets or sets the display mode for highlighted values.
*/
get highlightedValuesDisplayMode() {
return this.i.l;
}
set highlightedValuesDisplayMode(v) {
this.i.l = ensureEnum(TreemapHighlightedValueDisplayMode_$type, v);
}
/**
* Gets or sets brushes to use for the fill scale.
*/
get fillBrushes() {
return fromBrushCollection(this.i.b);
}
set fillBrushes(v) {
this.i.b = toBrushCollection(v);
}
/**
* Gets or sets mode to use for the fill scale.
*/
get fillScaleMode() {
return this.i.d;
}
set fillScaleMode(v) {
this.i.d = ensureEnum(TreemapFillScaleMode_$type, v);
}
/**
* Gets or sets whether the fill scale is logarithmic.
*/
get isFillScaleLogarithmic() {
return this.i.bx;
}
set isFillScaleLogarithmic(v) {
this.i.bx = ensureBool(v);
}
/**
* Gets or sets the logarithm base to use if the fill scale is logarithmic.
*/
get fillScaleLogarithmBase() {
return this.i.ez;
}
set fillScaleLogarithmBase(v) {
this.i.ez = +v;
}
/**
* Gets or sets the minimum value to use for the fill scale.
*/
get fillScaleMinimumValue() {
return this.i.dl;
}
set fillScaleMinimumValue(v) {
this.i.dl = +v;
}
/**
* Gets or sets the maximum value to use for the fill scale.
*/
get fillScaleMaximumValue() {
return this.i.dk;
}
set fillScaleMaximumValue(v) {
this.i.dk = +v;
}
/**
* Gets or sets the vertical fit mode to use for the node labels.
*/
get labelVerticalFitMode() {
return this.i.r;
}
set labelVerticalFitMode(v) {
this.i.r = ensureEnum(TreemapLabelVerticalFitMode_$type, v);
}
/**
* Gets or sets the horizontal fit mode to use for the node labels.
*/
get labelHorizontalFitMode() {
return this.i.o;
}
set labelHorizontalFitMode(v) {
this.i.o = ensureEnum(TreemapLabelHorizontalFitMode_$type, v);
}
/**
* Gets or sets the background to use for the overlay header when it is hovered.
*/
get overlayHeaderHoverBackground() {
return brushToString(this.i.jx);
}
set overlayHeaderHoverBackground(v) {
this.i.jx = stringToBrush(v);
}
/**
* Gets or sets the background to use for the header when it is hovered.
*/
get headerHoverBackground() {
return brushToString(this.i.jr);
}
set headerHoverBackground(v) {
this.i.jr = stringToBrush(v);
}
/**
* Gets or sets the background to use for the header.
*/
get headerBackground() {
return brushToString(this.i.jp);
}
set headerBackground(v) {
this.i.jp = stringToBrush(v);
}
/**
* Gets or sets the background to use for the overlay header.
*/
get overlayHeaderBackground() {
return brushToString(this.i.jw);
}
set overlayHeaderBackground(v) {
this.i.jw = stringToBrush(v);
}
/**
* Gets or sets the text color to use for the header.
*/
get headerTextColor() {
return brushToString(this.i.ju);
}
set headerTextColor(v) {
this.i.ju = stringToBrush(v);
}
/**
* Gets or sets the dark text color to use for the header.
*/
get headerDarkTextColor() {
return brushToString(this.i.jq);
}
set headerDarkTextColor(v) {
this.i.jq = stringToBrush(v);
}
/**
* Gets or sets the text color to use for the nodes.
*/
get textColor() {
return brushToString(this.i.j7);
}
set textColor(v) {
this.i.j7 = stringToBrush(v);
}
/**
* Gets or sets the dark text color to use for the nodes.
*/
get darkTextColor() {
return brushToString(this.i.jo);
}
set darkTextColor(v) {
this.i.jo = stringToBrush(v);
}
/**
* Gets or sets the text color to use for the header.
*/
get headerHoverTextColor() {
return brushToString(this.i.jt);
}
set headerHoverTextColor(v) {
this.i.jt = stringToBrush(v);
}
/**
* Gets or sets the dark text color to use for the header when hovered.
*/
get headerHoverDarkTextColor() {
return brushToString(this.i.js);
}
set headerHoverDarkTextColor(v) {
this.i.js = stringToBrush(v);
}
/**
* Gets or sets the font to use for content nodes
*/
get textStyle() {
if (this.i.a8 == null) {
return null;
}
return this.i.a8.fontString;
}
set textStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.a8 = fi;
}
/**
* Gets or sets the font to use for header nodes
*/
get headerTextStyle() {
if (this.i.a6 == null) {
return null;
}
return this.i.a6.fontString;
}
set headerTextStyle(v) {
let fi = new FontInfo();
fi.fontString = v;
this.i.a6 = fi;
}
/**
* Gets or sets the font to use for header nodes
*/
get headerDisplayMode() {
return this.i.j;
}
set headerDisplayMode(v) {
this.i.j = ensureEnum(TreemapHeaderDisplayMode_$type, v);
}
/**
* Gets or sets the left margin to use for the header.
*/
get headerLabelLeftMargin() {
return this.i.dq;
}
set headerLabelLeftMargin(v) {
this.i.dq = +v;
}
/**
* Gets or sets the top margin to use for the header.
*/
get headerLabelTopMargin() {
return this.i.ds;
}
set headerLabelTopMargin(v) {
this.i.ds = +v;
}
/**
* Gets or sets the right margin to use for the header.
*/
get headerLabelRightMargin() {
return this.i.dr;
}
set headerLabelRightMargin(v) {
this.i.dr = +v;
}
/**
* Gets or sets the bottom margin to use for the header.
*/
get headerLabelBottomMargin() {
return this.i.dp;
}
set headerLabelBottomMargin(v) {
this.i.dp = +v;
}
/**
* Gets or sets the left margin to use for the overlay header.
*/
get overlayHeaderLabelLeftMargin() {
return this.i.d3;
}
set overlayHeaderLabelLeftMargin(v) {
this.i.d3 = +v;
}
/**
* Gets or sets the top margin to use for the overlay header.
*/
get overlayHeaderLabelTopMargin() {
return this.i.d5;
}
set overlayHeaderLabelTopMargin(v) {
this.i.d5 = +v;
}
/**
* Gets or sets the right margin to use for the overlay header.
*/
get overlayHeaderLabelRightMargin() {
return this.i.d4;
}
set overlayHeaderLabelRightMargin(v) {
this.i.d4 = +v;
}
/**
* Gets or sets the bottom margin to use for the overlay header.
*/
get overlayHeaderLabelBottomMargin() {
return this.i.d2;
}
set overlayHeaderLabelBottomMargin(v) {
this.i.d2 = +v;
}
/**
* Gets or sets the left margin to use for the labels.
*/
get labelLeftMargin() {
return this.i.dx;
}
set labelLeftMargin(v) {
this.i.dx = +v;
}
/**
* Gets or sets the top margin to use for the labels.
*/
get labelTopMargin() {
return this.i.dz;
}
set labelTopMargin(v) {
this.i.dz = +v;
}
/**
* Gets or sets the right margin to use for the labels.
*/
get labelRightMargin() {
return this.i.dy;
}
set labelRightMargin(v) {
this.i.dy = +v;
}
/**
* Gets or sets the bottom margin to use for the labels.
*/
get labelBottomMargin() {
return this.i.dw;
}
set labelBottomMargin(v) {
this.i.dw = +v;
}
/**
* Gets or sets the left margin to use for the parent nodes.
*/
get parentNodeLeftMargin() {
return this.i.d8;
}
set parentNodeLeftMargin(v) {
this.i.d8 = +v;
}
/**
* Gets or sets the top margin to use for the parent nodes.
*/
get parentNodeTopMargin() {
return this.i.ec;
}
set parentNodeTopMargin(v) {
this.i.ec = +v;
}
/**
* Gets or sets the right margin to use for the parent nodes.
*/
get parentNodeRightMargin() {
return this.i.ea;
}
set parentNodeRightMargin(v) {
this.i.ea = +v;
}
/**
* Gets or sets the bottom margin to use for the parent nodes.
*/
get parentNodeBottomMargin() {
return this.i.d6;
}
set parentNodeBottomMargin(v) {
this.i.d6 = +v;
}
/**
* Gets or sets the left padding to use for the parent nodes.
*/
get parentNodeLeftPadding() {
return this.i.d9;
}
set parentNodeLeftPadding(v) {
this.i.d9 = +v;
}
/**
* Gets or sets the top padding to use for the parent nodes.
*/
get parentNodeTopPadding() {
return this.i.ed;
}
set parentNodeTopPadding(v) {
this.i.ed = +v;
}
/**
* Gets or sets the right padding to use for the parent nodes.
*/
get parentNodeRightPadding() {
return this.i.eb;
}
set parentNodeRightPadding(v) {
this.i.eb = +v;
}
/**
* Gets or sets the bottom padding to use for the parent nodes.
*/
get parentNodeBottomPadding() {
return this.i.d7;
}
set parentNodeBottomPadding(v) {
this.i.d7 = +v;
}
/**
* Gets or sets the horizontal alignment to use for the node labels.
*/
get labelHorizontalAlignment() {
return this.i.ja;
}
set labelHorizontalAlignment(v) {
this.i.ja = ensureEnum(HorizontalAlignment_$type, v);
}
/**
* Gets or sets the vertical alignment to use for the node labels.
*/
get labelVerticalAlignment() {
return this.i.kd;
}
set labelVerticalAlignment(v) {
this.i.kd = ensureEnum(VerticalAlignment_$type, v);
}
/**
* Gets or sets the height to use for the header.
*/
get headerHeight() {
return this.i.dn;
}
set headerHeight(v) {
this.i.dn = +v;
}
/**
* Gets or sets the outline to use for the nodes.
*/
get outline() {
return brushToString(this.i.jv);
}
set outline(v) {
this.i.jv = stringToBrush(v);
}
/**
* Gets or sets the stroke thickness to use for the node outline.
*/
get strokeThickness() {
return this.i.es;
}
set strokeThickness(v) {
this.i.es = +v;
}
/**
* Gets or sets the opacity to use for the nodes.
*/
get nodeOpacity() {
return this.i.d1;
}
set nodeOpacity(v) {
this.i.d1 = +v;
}
/**
* Gets or sets the orientation to use for the stripped and slice and dice layout types.
*/
get layoutOrientation() {
return this.i.al;
}
set layoutOrientation(v) {
this.i.al = ensureEnum(TreemapOrientation_$type, v);
}
/**
* Gets or sets the type of layout to use for the nodes.
*/
get layoutType() {
return this.i.u;
}
set layoutType(v) {
this.i.u = ensureEnum(TreemapLayoutType_$type, v);
}
/**
* Gets or sets the minimum size (width or height) to display a node.
*/
get minimumDisplaySize() {
return this.i.d0;
}
set minimumDisplaySize(v) {
this.i.d0 = +v;
}
/**
* Gets or sets the number of milliseconds over which changes to the gauge should be animated.
*/
get transitionDuration() {
return this.i.e3;
}
set transitionDuration(v) {
this.i.e3 = +v;
}
/**
* Gets or sets the scaling value used to affect the pixel density of the control.
* A higher scaling ratio will produce crisper visuals at the expense of memory. Lower values will cause the control
* to appear blurry.
*/
get pixelScalingRatio() {
return this.i.ee;
}
set pixelScalingRatio(v) {
this.i.ee = +v;
}
get actualPixelScalingRatio() {
return this.i.dg;
}
set actualPixelScalingRatio(v) {
this.i.dg = +v;
}
/**
* Gets or sets the scaling value used to affect the pixel density of the control while it is animating.
* A higher scaling ratio will produce crisper visuals at the expense of memory. Lower values will cause the control
* to appear blurry.
*/
get interactionPixelScalingRatio() {
return this.i.dv;
}
set interactionPixelScalingRatio(v) {
this.i.dv = +v;
}
/**
* Gets or sets the resolved scaling value used to affect the pixel density of the control while it is animating.
* A higher scaling ratio will produce crisper visuals at the expense of memory. Lower values will cause the control
* to appear blurry.
*/
get actualInteractionPixelScalingRatio() {
return this.i.df;
}
set actualInteractionPixelScalingRatio(v) {
this.i.df = +v;
}
/**
* Gets or sets the number of milliseconds over which the highlighting effect will render.
*/
get highlightingTransitionDuration() {
return this.i.e1;
}
set highlightingTransitionDuration(v) {
this.i.e1 = +v;
}
/**
* Gets or sets the highlighting mode to use.
*/
get highlightingMode() {
return this.i.aw;
}
set highlightingMode(v) {
this.i.aw = ensureEnum(TreemapHighlightingMode_$type, v);
}
/**
* Gets the actual highlighting mode used.
*/
get actualHighlightingMode() {
return this.i.au;
}
set actualHighlightingMode(v) {
this.i.au = ensureEnum(TreemapHighlightingMode_$type, v);
}
/**
* Gets or sets the opacity to use for nodes that are not highlighted when HighlightingMode is set to FadeOthers.
*/
get highlightingFadeOpacity() {
return this.i.du;
}
set highlightingFadeOpacity(v) {
this.i.du = +v;
}
get animating() {
return this.i.bs;
}
/**
* Gets or sets the item to drill to in the treemap.
*/
get focusItem() {
return this.i.e5;
}
set focusItem(v) {
this.i.e5 = v;
}
findByName(name) {
if (this.findEphemera) {
if (name && name.indexOf("@@e:") == 0) {
return this.findEphemera(name);
}
}
if (this.styleMappings != null && this.styleMappings.findByName && this.styleMappings.findByName(name)) {
return this.styleMappings.findByName(name);
}
return null;
}
get hasUserValues() {
return this._hasUserValues;
}
__m(propertyName) {
if (!this._inStyling) {
this._hasUserValues.add(propertyName);
}
}
_styling(container, component, parent) {
if (this._inStyling) {
return;
}
this._inStyling = true;
this._stylingContainer = container;
this._stylingParent = component;
let genericPrefix = "";
let typeName = this.i.$type.name;
if (typeName.indexOf("Xam") === 0) {
typeName = typeName.substring(3);
}
genericPrefix = toSpinal("TreemapComponent");
let additionalPrefixes = [];
let prefix = toSpinal(typeName);
additionalPrefixes.push(prefix + "-");
let b = this.i.$type.baseType;
while (b && b.name != "Object" &&
b.name != "Base" &&
b.name != "Control" &&
b.Name != "DependencyObject" &&
b.Name != "FrameworkElement") {
typeName = b.name;
if (typeName.indexOf("Xam") === 0) {
typeName = typeName.substring(3);
}
let basePrefix = toSpinal(typeName);
additionalPrefixes.push(basePrefix + "-");
b = b.baseType;
}
if (parent) {
let parentTypeName = parent.i.$type.name;
if (parentTypeName.indexOf("Xam") === 0) {
parentTypeName = parentTypeName.substring(3);
}
let parentPrefix = toSpinal(parentTypeName);
additionalPrefixes.push(parentPrefix + "-" + genericPrefix + "-");
additionalPrefixes.push(parentPrefix + "-" + prefix + "-");
}
initializePropertiesFromCss(container, this, genericPrefix + "-", this.hasUserValues, false, additionalPrefixes);
if (this._otherStyling) {
this._otherStyling(container, component, parent);
}
this._inStyling = false;
}
notifySizeChanged() {
this.i.notifySizeChanged();
}
/**
* Returns visuals as a serialized string.
*/
exportSerializedVisualData() {
let iv = this.i.fn();
return (iv);
}
markDirty() {
this.i.ic();
}
onDetachedFromUI() {
this.i.onDetachedFromUI();
}
onAttachedToUI() {
this.i.onAttachedToUI();
}
flush() {
this.i.h9();
}
notifySetItem(source_, index, oldItem, newItem) {
this.i.ii(source_, index, oldItem, newItem);
}
/**
* Manually notifies the treemap's data source that the data it has bound to has been cleared and needs to be re-examined.
* This should not be called if the data that the pie chart is bound to is already observable.
* @param source_ * The data source.
*/
notifyClearItems(source_) {
this.i.ie(source_);
}
notifyInsertItem(source_, index, newItem) {
this.i.ig(source_, index, newItem);
}
notifyRemoveItem(source_, index, oldItem) {
this.i.ih(source_, index, oldItem);
}
simulateHover(point) {
this.i.i2(toPoint(point));
}
/**
* Fired when a node is being styled. Provides an opportunity to customize node styling.
*/
get nodeStyling() {
if (this._nodeStyling == null) {
this._nodeStyling = new EventEmitter();
this.i.nodeStyling = delegateCombine(this.i.nodeStyling, (o, e) => {
this._runInZone(() => {
let outerArgs = new IgxTreemapNodeStylingEventArgs();
outerArgs._provideImplementation(e);
if (this.beforeNodeStyling) {
this.beforeNodeStyling(this, outerArgs);
}
this._nodeStyling.emit({
sender: this,
args: outerArgs
});
});
});
}
return this._nodeStyling;
}
/**
* Fired before a node is rendered for last minute style changes.
*/
get nodeRenderStyling() {
if (this._nodeRenderStyling == null) {
this._nodeRenderStyling = new EventEmitter();
this.i.nodeRenderStyling = delegateCombine(this.i.nodeRenderStyling, (o, e) => {
this._runInZone(() => {
let outerArgs = new IgxTreemapNodeStylingEventArgs();
outerArgs._provideImplementation(e);
if (this.beforeNodeRenderStyling) {
this.beforeNodeRenderStyling(this, outerArgs);
}
this._nodeRenderStyling.emit({
sender: this,
args: outerArgs
});
});
});
}
return this._nodeRenderStyling;
}
/**
* Fired with the pointer is moving over a node.
*/
get nodePointerOver() {
if (this._nodePointerOver == null) {
this._nodePointerOver = new EventEmitter();
this.i.nodePointerOver = delegateCombine(this.i.nodePointerOver, (o, e) => {
let outerArgs = new IgxTreemapNodePointerEventArgs();
outerArgs._provideImplementation(e);
if (this.beforeNodePointerOver) {
this.beforeNodePointerOver(this, outerArgs);
}
this._nodePointerOver.emit({
sender: this,
args: outerArgs
});
});
}
return this._nodePointerOver;
}
/**
* Fired when the pointer enters a node.
*/
get nodePointerEnter() {
if (this._nodePointerEnter == null) {
this._nodePointerEnter = new EventEmitter();
this.i.nodePointerEnter = delegateCombine(this.i.nodePointerEnter, (o, e) => {
let outerArgs = new IgxTreemapNodePointerEventArgs();
outerArgs._provideImplementation(e);
if (this.beforeNodePointerEnter) {
this.beforeNodePointerEnter(this, outerArgs);
}
this._nodePointerEnter.emit({
sender: this,
args: outerArgs
});
});
}
return this._nodePointerEnter;
}
/**
* Fired when the pointer leaved a node.
*/
get nodePointerLeave() {
if (this._nodePointerLeave == null) {
this._nodePointerLeave = new EventEmitter();
this.i.nodePointerLeave = delegateCombine(this.i.nodePointerLeave, (o, e) => {
let outerArgs = new IgxTreemapNodePointerEventArgs();
outerArgs._provideImplementation(e);
if (this.beforeNodePointerLeave) {
this.beforeNodePointerLeave(this, outerArgs);
}
this._nodePointerLeave.emit({
sender: this,
args: outerArgs
});
});
}
return this._nodePointerLeave;
}
/**
* Fired when the pointer is pressed on a node.
*/
get nodePointerPressed() {
if (this._nodePointerPressed == null) {
this._nodePointerPressed = new EventEmitter();
this.i.nodePointerPressed = delegateCombine(this.i.nodePointerPressed, (o, e) => {
this._runInZone(() => {
let outerArgs = new IgxTreemapNodePointerEventArgs();
outerArgs._provideImplementation(e);
if (this.beforeNodePointerPressed) {
this.beforeNodePointerPressed(this, outerArgs);
}
this._nodePointerPressed.emit({
sender: this,
args: outerArgs
});
});
});
}
return this._nodePointerPressed;
}
/**
* Fired when the pointer is released on a node.
*/
get nodePointerReleased() {
if (this._nodePointerReleased == null) {
this._nodePointerReleased = new EventEmitter();
this.i.nodePointerReleased = delegateCombine(this.i.nodePointerReleased, (o, e) => {
this._runInZone(() => {
let outerArgs = new IgxTreemapNodePointerEventArgs();
outerArgs._provideImplementation(e);
if (this.beforeNodePointerReleased) {
this.beforeNodePointerReleased(this, outerArgs);
}
this._nodePointerReleased.emit({
sender: this,
args: outerArgs
});
});
});
}
return this._nodePointerReleased;
}
_runInZone(act) {
if (this._zoneRunner != null) {
this._zoneRunner(act);
}
else {
act();
}
}
}
IgxTreemapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxTreemapComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
IgxTreemapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: IgxTreemapComponent, selector: "igx-treemap", inputs: { height: "height", width: "width", valueMemberPath: "valueMemberPath", rootTitle: "rootTitle", breadcrumbSequence: "breadcrumbSequence", parentIdMemberPath: "parentIdMemberPath", labelMemberPath: "labelMemberPath", customValueMemberPath: "customValueMemberPath", idMemberPath: "idMemberPath", dataSource: "dataSource", highlightedDataSource: "highlightedDataSource", highlightedValueMemberPath: "highlightedValueMemberPath", highlightedValueOpacity: "highlightedValueOpacity", highlightedValuesDisplayMode: "highlightedValuesDisplayMode", fillBrushes: "fillBrushes", fillScaleMode: "fillScaleMode", isFillScaleLogarithmic: "isFillScaleLogarithmic", fillScaleLogarithmBase: "fillScaleLogarithmBase", fillScaleMinimumValue: "fillScaleMinimumValue", fillScaleMaximumValue: "fillScaleMaximumValue", labelVerticalFitMode: "labelVerticalFitMode", labelHorizontalFitMode: "labelHorizontalFitMode", overlayHeaderHoverBackground: "overlayHeaderHoverBackground", headerHoverBackground: "headerHoverBackground", headerBackground: "headerBackground", overlayHeaderBackground: "overlayHeaderBackground", headerTextColor: "headerTextColor", headerDarkTextColor: "headerDarkTextColor", textColor: "textColor", darkTextColor: "darkTextColor", headerHoverTextColor: "headerHoverTextColor", headerHoverDarkTextColor: "headerHoverDarkTextColor", textStyle: "textStyle", headerTextStyle: "headerTextStyle", headerDisplayMode: "headerDisplayMode", headerLabelLeftMargin: "headerLabelLeftMargin", headerLabelTopMargin: "headerLabelTopMargin", headerLabelRightMargin: "headerLabelRightMargin", headerLabelBottomMargin: "headerLabelBottomMargin", overlayHeaderLabelLeftMargin: "overlayHeaderLabelLeftMargin", overlayHeaderLabelTopMargin: "overlayHeaderLabelTopMargin", overlayHeaderLabelRightMargin: "overlayHeaderLabelRightMargin", overlayHeaderLabelBottomMargin: "overlayHeaderLabelBottomMargin", labelLeftMargin: "labelLeftMargin", labelTopMargin: "labelTopMargin", labelRightMargin: "labelRightMargin", labelBottomMargin: "labelBottomMargin", parentNodeLeftMargin: "parentNodeLeftMargin", parentNodeTopMargin: "parentNodeTopMargin", parentNodeRightMargin: "parentNodeRightMargin", parentNodeBottomMargin: "parentNodeBottomMargin", parentNodeLeftPadding: "parentNodeLeftPadding", parentNodeTopPadding: "parentNodeTopPadding", parentNodeRightPadding: "parentNodeRightPadding", parentNodeBottomPadding: "parentNodeBottomPadding", labelHorizontalAlignment: "labelHorizontalAlignment", labelVerticalAlignment: "labelVerticalAlignment", headerHeight: "headerHeight", outline: "outline", strokeThickness: "strokeThickness", nodeOpacity: "nodeOpacity", layoutOrientation: "layoutOrientation", layoutType: "layoutType", minimumDisplaySize: "minimumDisplaySize", transitionDuration: "transitionDuration", pixelScalingRatio: "pixelScalingRatio", actualPixelScalingRatio: "actualPixelScalingRatio", interactionPixelScalingRatio: "interactionPixelScalingRatio", actualInteractionPixelScalingRatio: "actualInteractionPixelScalingRatio", highlightingTransitionDuration: "highlightingTransitionDuration", highlightingMode: "highlightingMode", actualHighlightingMode: "actualHighlightingMode", highlightingFadeOpacity: "highlightingFadeOpacity", focusItem: "focusItem" }, outputs: { nodeStyling: "nodeStyling", nodeRenderStyling: "nodeRenderStyling", nodePointerOver: "nodePointerOver", nodePointerEnter: "nodePointerEnter", nodePointerLeave: "nodePointerLeave", nodePointerPressed: "nodePointerPressed", nodePointerReleased: "nodePointerReleased" }, host: { classAttribute: "ig-treemap igx-treemap" }, providers: [], queries: [{ propertyName: "contentStyleMappings", predicate: IgxTreemapNodeStyleMappingComponent }], viewQueries: [{ propertyName: "_dynamicContent", first: true, predicate: ["dynamicContent"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: ``, isInline: true, styles: ["\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t}\n\t"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
return IgxTreemapComponent;
})();
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxTreemapComponent, decorators: [{
type: Component,
args: [{
selector: 'igx-treemap',
template: ``,
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [],
host: { 'class': 'ig-treemap igx-treemap' },
styles: [`
:host {
display: block;
}
`]
}]
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.NgZone }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { height: [{
type: Input
}], width: [{
type: Input
}], _dynamicContent: [{
type: ViewChild,
args: ["dynamicContent", { read: ViewContainerRef, static: true }]
}], contentStyleMappings: [{
type: ContentChildren,
args: [IgxTreemapNodeStyleMappingComponent]
}], valueMemberPath: [{
type: Input
}], rootTitle: [{
type: Input
}], breadcrumbSequence: [{
type: Input
}], parentIdMemberPath: [{
type: Input
}], labelMemberPath: [{
type: Input
}], customValueMemberPath: [{
type: Input
}], idMemberPath: [{
type: Input
}], dataSource: [{
type: Input
}], highlightedDataSource: [{
type: Input
}], highlightedValueMemberPath: [{
type: Input
}], highlightedValueOpacity: [{
type: Input
}], highlightedValuesDisplayMode: [{
type: Input
}], fillBrushes: [{
type: Input
}], fillScaleMode: [{
type: Input
}], isFillScaleLogarithmic: [{
type: Input
}], fillScaleLogarithmBase: [{
type: Input
}], fillScaleMinimumValue: [{
type: Input
}], fillScaleMaximumValue: [{
type: Input
}], labelVerticalFitMode: [{
type: Input
}], labelHorizontalFitMode: [{
type: Input
}], overlayHeaderHoverBackground: [{
type: Input
}], headerHoverBackground: [{
type: Input
}], headerBackground: [{
type: Input
}], overlayHeaderBackground: [{
type: Input
}], headerTextColor: [{
type: Input
}], headerDarkTextColor: [{
type: Input
}], textColor: [{
type: Input
}], darkTextColor: [{
type: Input
}], headerHoverTextColor: [{
type: Input
}], headerHoverDarkTextColor: [{
type: Input
}], textStyle: [{
type: Input
}], headerTextStyle: [{
type: Input
}], headerDisplayMode: [{
type: Input
}], headerLabelLeftMargin: [{
type: Input
}], headerLabelTopMargin: [{
type: Input
}], headerLabelRightMargin: [{
type: Input
}], headerLabelBottomMargin: [{
type: Input
}], overlayHeaderLabelLeftMargin: [{
type: Input
}], overlayHeaderLabelTopMargin: [{
type: Input
}], overlayHeaderLabelRightMargin: [{
type: Input
}], overlayHeaderLabelBottomMargin: [{
type: Input
}], labelLeftMargin: [{
type: Input
}], labelTopMargin: [{
type: Input
}], labelRightMargin: [{
type: Input
}], labelBottomMargin: [{
type: Input
}], parentNodeLeftMargin: [{
type: Input
}], parentNodeTopMargin: [{
type: Input
}], parentNodeRightMargin: [{
type: Input
}], parentNodeBottomMargin: [{
type: Input
}], parentNodeLeftPadding: [{
type: Input
}], parentNodeTopPadding: [{
type: Input
}], parentNodeRightPadding: [{
type: Input
}], parentNodeBottomPadding: [{
type: Input
}], labelHorizontalAlignment: [{
type: Input
}], labelVerticalAlignment: [{
type: Input
}], headerHeight: [{
type: Input
}], outline: [{
type: Input
}], strokeThickness: [{
type: Input
}], nodeOpacity: [{
type: Input
}], layoutOrientation: [{
type: Input
}], layoutType: [{
type: Input
}], minimumDisplaySize: [{
type: Input
}], transitionDuration: [{
type: Input
}], pixelScalingRatio: [{
type: Input
}], actualPixelScalingRatio: [{
type: Input
}], interactionPixelScalingRatio: [{
type: Input
}], actualInteractionPixelScalingRatio: [{
type: Input
}], highlightingTransitionDuration: [{
type: Input
}], highlightingMode: [{
type: Input
}], actualHighlightingMode: [{
type: Input
}], highlightingFadeOpacity: [{
type: Input
}], focusItem: [{
type: Input
}], nodeStyling: [{
type: Output
}], nodeRenderStyling: [{
type: Output
}], nodePointerOver: [{
type: Output
}], nodePointerEnter: [{
type: Output
}], nodePointerLeave: [{
type: Output
}], nodePointerPressed: [{
type: Output
}], nodePointerReleased: [{
type: Output
}] } });