UNPKG

igniteui-react-grids

Version:

Ignite UI React grid components.

318 lines (317 loc) 10.5 kB
/* THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE AGREEMENT ("AGREEMENT") LOCATED HERE: https://www.infragistics.com/legal/license/igultimate-la https://www.infragistics.com/legal/license/igultimate-eula GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE: you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company. */ import { Base, Point_$type, markType, INotifyPropertyChanged_$type, PropertyChangedEventArgs, runOn, delegateCombine } from "igniteui-react-core"; import { RenderingContext } from "igniteui-react-core"; import { List$1 } from "igniteui-react-core"; import { Path } from "igniteui-react-core"; import { DoubleAnimator } from "igniteui-react-core"; import { CanvasViewRenderer } from "igniteui-react-core"; import { Brush } from "igniteui-react-core"; import { Color } from "igniteui-react-core"; import { TransformGroup } from "igniteui-react-core"; import { TranslateTransform } from "igniteui-react-core"; import { RotateTransform } from "igniteui-react-core"; import { truncate, isNaN_ } from "igniteui-react-core"; import { EasingFunctions } from "igniteui-react-core"; import { Geometry } from "igniteui-react-core"; /** * @hidden */ export let GridExpansionIndicatorView = /*@__PURE__*/ (() => { class GridExpansionIndicatorView extends Base { constructor(a) { super(); this.k = null; this.f = 1; this.e = 0; this.d = 0; this.c = new List$1(Path.$, 0); this.m = null; this.b = null; this.l = null; this.j = 0; this.g = 0; this.i = 0; this.h = 0; this.a = null; this.a = a; } o(a) { if (a == null) { this.m = null; this.l = null; this.b = null; if (this.k != null) { window.removeEventListener("resize", this.k, false); this.k = null; } return; } this.f = (isNaN_(this.a.m) ? this.a.j : this.a.m); let b = a; this.l = b; this.a.c.u(this.l); this.l.rootWrapper.addClass("ui-expansion-indicator-container"); let c = this.f; let d = Math.round(b.rootWrapper.width()); let e = Math.round(b.rootWrapper.height()); let f = d * c; let g = e * c; let h = this.l.createElement("canvas"); h.setStyleProperty("position", "absolute"); this.l.append(h); this.e = truncate(Math.round(f)); this.d = truncate(Math.round(g)); h.setAttribute("width", f.toString()); h.setAttribute("height", g.toString()); h.setStyleProperty("width", d.toString() + "px"); h.setStyleProperty("height", e.toString() + "px"); this.j = d; this.g = e; this.m = h; let i = this.l.get2DCanvasContext(this.m); this.b = new RenderingContext(new CanvasViewRenderer(), i); if (isNaN_(this.a.m)) { this.a.j = window.devicePixelRatio; this.f = this.a.j; } this.q(); } p(a, b) { this.j = a; this.g = b; this.q(); } s() { if (this.a.ae != null) { return this.a.ae; } return ((() => { let $ret = new Brush(); $ret.color = Color.u(138, 0, 0, 0); return $ret; })()); } r() { this.q(); } n() { this.c.clear(); this.a.x(this.j, this.g, this.c); } q() { if (this.m == null || this.b == null) { return; } if (this.i != this.j || this.h != this.g) { this.n(); this.i = this.j; this.h = this.g; } if (this.c.count > 0) { let a = { $type: Point_$type, x: this.j / 2, y: this.g / 2 }; let b = new TransformGroup(); b.j.add(((() => { let $ret = new TranslateTransform(); $ret.j = -a.x; $ret.k = -a.y; return $ret; })())); b.j.add(((() => { let $ret = new RotateTransform(); $ret.j = this.a.k; return $ret; })())); b.j.add(((() => { let $ret = new TranslateTransform(); $ret.j = a.x; $ret.k = a.y; return $ret; })())); this.c._inner[0].j = b; } let c = Math.round(this.j * this.f); let d = Math.round(this.g * this.f); if (this.e != c || this.d != d) { this.m.setAttribute("width", c.toString()); this.m.setAttribute("height", d.toString()); this.m.setStyleProperty("width", this.j.toString() + "px"); this.m.setStyleProperty("height", this.g.toString() + "px"); this.m.setStyleProperty("top", "0px"); this.m.setStyleProperty("left", "0px"); this.e = truncate(Math.round(c)); this.d = truncate(Math.round(d)); } if (this.b.d && this.f != 1) { this.b.aa(); this.b.ab(this.f, this.f); } this.b.l(0, 0, this.j, this.g); this.b.aa(); for (let e = 0; e < this.c.count; e++) { this.b.k(this.c._inner[e].j); let f = this.s(); if (this.a.ae != null) { f = this.a.ae; } this.c._inner[e]._stroke = f; this.b.t(this.c._inner[e]); } this.b.z(); if (this.b.d && this.f != 1) { this.b.z(); } } } GridExpansionIndicatorView.$t = /*@__PURE__*/ markType(GridExpansionIndicatorView, 'GridExpansionIndicatorView'); return GridExpansionIndicatorView; })(); /** * @hidden */ export let GridExpansionIndicator = /*@__PURE__*/ (() => { class GridExpansionIndicator extends Base { get p() { return this.o; } set p(a) { this.o = a; } get g() { return this.e; } set g(a) { let b = this.e; this.e = a; if (b != this.e) { this.z("IsExpanded", b, this.e); } } get ae() { return this.ad; } set ae(a) { let b = this.ad; this.ad = a; if (b != this.ad) { this.z("IconColor", b, this.ad); } } get f() { return this.d; } set f(a) { let b = this.d; this.d = a; if (b != this.d) { this.z("IsAnimationEnabled", b, this.d); } } get c() { return this.b; } get m() { return this.i; } set m(a) { let b = this.i; this.i = a; this.z("PixelScalingRatio", b, this.i); } get j() { return this.h; } set j(a) { let b = this.h; this.h = a; this.z("ActualPixelScalingRatio", b, this.h); } z(a, b, c) { this.aa(a, b, c); if (this.propertyChanged != null) { this.propertyChanged(this, new PropertyChangedEventArgs(a)); } } aa(a, b, c) { switch (a) { case "PixelScalingRatio": this.j = this.m; break; case "ActualPixelScalingRatio": this.a.r(); break; case "IconColor": this.a.r(); break; case "IsExpanded": if (this.f || this.b.f()) { this.b.w(); } this.l = this.k; this.n = this.g ? 90 : 0; if (this.f) { this.b.v(); } else { this.k = this.n; this.a.r(); } break; } } constructor() { super(); this.a = null; this.o = null; this.e = false; this.ad = null; this.d = false; this.propertyChanged = null; this.b = null; this.i = NaN; this.h = 1; this.k = 0; this.l = 0; this.n = 0; this.k = 0; this.a = new GridExpansionIndicatorView(this); this.b = new DoubleAnimator(0, 1, 400); this.b.b = EasingFunctions.cubicEase; let a = this.b; a.propertyChanged = delegateCombine(a.propertyChanged, runOn(this, this.w)); } w(a, b) { this.k = this.l + this.b.o * (this.n - this.l); this.a.r(); } x(a, b, c) { let d = Geometry.a("M 10.18 6.343 l 5.64 5.675 -5.64 5.639"); c.add(((() => { let $ret = new Path(); $ret.an = d; $ret.am = 2; $ret.stroke = this.a.s(); $ret.ad = 2; return $ret; })())); } ab(a) { this.a.o(a); } ac(a) { this.c.u(a); } q() { return this.a.m.getNativeElement(); } y(a, b) { this.a.p(a, b); } } GridExpansionIndicator.$t = /*@__PURE__*/ markType(GridExpansionIndicator, 'GridExpansionIndicator', Base.$, [INotifyPropertyChanged_$type]); return GridExpansionIndicator; })();