123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377 |
- ! function (e, t) {
- "object" == typeof exports && "object" == typeof module ? module.exports = t(require("echarts")) : "function" == typeof define && define.amd ? define(["echarts"], t) : "object" == typeof exports ? exports["echarts-liquidfill"] = t(require("echarts")) : e["echarts-liquidfill"] = t(e.echarts)
- }(self, (function (e) {
- return (() => {
- "use strict";
- var t = {
- 245: (e, t, a) => {
- a.r(t);
- var i = a(83);
- i.extendSeriesModel({
- type: "series.liquidFill",
- optionUpdated: function () {
- var e = this.option;
- e.gridSize = Math.max(Math.floor(e.gridSize), 4)
- },
- getInitialData: function (e, t) {
- var a = i.helper.createDimensions(e.data, {
- coordDimensions: ["value"]
- }),
- r = new i.List(a, this);
- return r.initData(e.data), r
- },
- defaultOption: {
- color: ["#294D99", "#156ACF", "#1598ED", "#45BDFF"],
- center: ["50%", "50%"],
- radius: "50%",
- amplitude: "8%",
- waveLength: "80%",
- phase: "auto",
- period: "auto",
- direction: "right",
- shape: "circle",
- waveAnimation: !0,
- animationEasing: "linear",
- animationEasingUpdate: "linear",
- animationDuration: 2e3,
- animationDurationUpdate: 1e3,
- outline: {
- show: !0,
- borderDistance: 8,
- itemStyle: {
- color: "none",
- borderColor: "#294D99",
- borderWidth: 8,
- shadowBlur: 20,
- shadowColor: "rgba(0, 0, 0, 0.25)"
- }
- },
- backgroundStyle: {
- color: "#E3F7FF"
- },
- itemStyle: {
- opacity: .95,
- shadowBlur: 50,
- shadowColor: "rgba(0, 0, 0, 0.4)"
- },
- label: {
- show: !0,
- color: "#294D99",
- insideColor: "#fff",
- fontSize: 50,
- fontWeight: "bold",
- align: "center",
- baseline: "middle",
- position: "inside"
- },
- emphasis: {
- itemStyle: {
- opacity: .8
- }
- }
- }
- });
- const r = i.graphic.extendShape({
- type: "ec-liquid-fill",
- shape: {
- waveLength: 0,
- radius: 0,
- radiusY: 0,
- cx: 0,
- cy: 0,
- waterLevel: 0,
- amplitude: 0,
- phase: 0,
- inverse: !1
- },
- buildPath: function (e, t) {
- null == t.radiusY && (t.radiusY = t.radius);
- for (var a = Math.max(2 * Math.ceil(2 * t.radius / t.waveLength * 4), 8); t.phase < 2 * -Math.PI;) t.phase += 2 * Math.PI;
- for (; t.phase > 0;) t.phase -= 2 * Math.PI;
- var i = t.phase / Math.PI / 2 * t.waveLength,
- r = t.cx - t.radius + i - 2 * t.radius;
- e.moveTo(r, t.waterLevel);
- for (var l = 0, o = 0; o < a; ++o) {
- var s = o % 4,
- h = n(o * t.waveLength / 4, s, t.waveLength, t.amplitude);
- e.bezierCurveTo(h[0][0] + r, -h[0][1] + t.waterLevel, h[1][0] + r, -h[1][1] + t.waterLevel, h[2][0] + r, -h[2][1] + t.waterLevel), o === a - 1 && (l = h[2][0])
- }
- t.inverse ? (e.lineTo(l + r, t.cy - t.radiusY), e.lineTo(r, t.cy - t.radiusY), e.lineTo(r, t.waterLevel)) : (e.lineTo(l + r, t.cy + t.radiusY), e.lineTo(r, t.cy + t.radiusY), e.lineTo(r, t.waterLevel)), e.closePath()
- }
- });
- function n(e, t, a, i) {
- return 0 === t ? [
- [e + .5 * a / Math.PI / 2, i / 2],
- [e + .5 * a / Math.PI, i],
- [e + a / 4, i]
- ] : 1 === t ? [
- [e + .5 * a / Math.PI / 2 * (Math.PI - 2), i],
- [e + .5 * a / Math.PI / 2 * (Math.PI - 1), i / 2],
- [e + a / 4, 0]
- ] : 2 === t ? [
- [e + .5 * a / Math.PI / 2, -i / 2],
- [e + .5 * a / Math.PI, -i],
- [e + a / 4, -i]
- ] : [
- [e + .5 * a / Math.PI / 2 * (Math.PI - 2), -i],
- [e + .5 * a / Math.PI / 2 * (Math.PI - 1), -i / 2],
- [e + a / 4, 0]
- ]
- }
- var l = function (e, t) {
- switch (e) {
- case "center":
- case "middle":
- e = "50%";
- break;
- case "left":
- case "top":
- e = "0%";
- break;
- case "right":
- case "bottom":
- e = "100%"
- }
- return "string" == typeof e ? (a = e, a.replace(/^\s+|\s+$/g, "")).match(/%$/) ? parseFloat(e) / 100 * t : parseFloat(e) : null == e ? NaN : +e;
- var a
- };
- function o(e) {
- return e && 0 === e.indexOf("path://")
- }
- i.extendChartView({
- type: "liquidFill",
- render: function (e, t, a) {
- var n = this,
- s = this.group;
- s.removeAll();
- var h = e.getData(),
- d = h.getItemModel(0),
- p = d.get("center"),
- u = d.get("radius"),
- c = a.getWidth(),
- g = a.getHeight(),
- v = Math.min(c, g),
- f = 0,
- y = 0,
- m = e.get("outline.show");
- m && (f = e.get("outline.borderDistance"), y = l(e.get("outline.itemStyle.borderWidth"), v));
- var w, b, x, M = l(p[0], c),
- P = l(p[1], g),
- I = !1,
- S = e.get("shape");
- "container" === S ? (I = !0, b = [(w = [c / 2, g / 2])[0] - y / 2, w[1] - y / 2], x = [l(f, c), l(f, g)], u = [Math.max(b[0] - x[0], 0), Math.max(b[1] - x[1], 0)]) : (b = (w = l(u, v) / 2) - y / 2, x = l(f, v), u = Math.max(b - x, 0)), m && (Y().style.lineWidth = y, s.add(Y()));
- var L = I ? 0 : M - u,
- C = I ? 0 : P - u,
- T = null;
- s.add(function () {
- var t = E(u);
- t.setStyle(e.getModel("backgroundStyle").getItemStyle()), t.style.fill = null, t.z2 = 5;
- var a = E(u);
- a.setStyle(e.getModel("backgroundStyle").getItemStyle()), a.style.stroke = null;
- var r = new i.graphic.Group;
- return r.add(t), r.add(a), r
- }());
- var D = this._data,
- F = [];
- function E(e, t) {
- if (S) {
- if (o(S)) {
- var a = i.graphic.makePath(S.slice(7), {}),
- r = a.getBoundingRect(),
- n = r.width,
- l = r.height;
- n > l ? (l *= 2 * e / n, n = 2 * e) : (n *= 2 * e / l, l = 2 * e);
- var s = t ? 0 : M - n / 2,
- h = t ? 0 : P - l / 2;
- return a = i.graphic.makePath(S.slice(7), {}, new i.graphic.BoundingRect(s, h, n, l)), t && (a.x = -n / 2, a.y = -l / 2), a
- }
- if (I) {
- var d = t ? -e[0] : M - e[0],
- p = t ? -e[1] : P - e[1];
- return i.helper.createSymbol("rect", d, p, 2 * e[0], 2 * e[1])
- }
- return d = t ? -e : M - e, p = t ? -e : P - e, "pin" === S ? p += e : "arrow" === S && (p -= e), i.helper.createSymbol(S, d, p, 2 * e, 2 * e)
- }
- return new i.graphic.Circle({
- shape: {
- cx: t ? 0 : M,
- cy: t ? 0 : P,
- r: e
- }
- })
- }
- function Y() {
- var t = E(w);
- return t.style.fill = null, t.setStyle(e.getModel("outline.itemStyle").getItemStyle()), t
- }
- function k(t, a, n) {
- var o = I ? u[0] : u,
- s = I ? g / 2 : u,
- d = h.getItemModel(t),
- p = d.getModel("itemStyle"),
- c = d.get("phase"),
- v = l(d.get("amplitude"), 2 * s),
- f = l(d.get("waveLength"), 2 * o),
- y = s - h.get("value", t) * s * 2;
- c = n ? n.shape.phase : "auto" === c ? t * Math.PI / 4 : c;
- var m = p.getItemStyle();
- if (!m.fill) {
- var w = e.get("color"),
- b = t % w.length;
- m.fill = w[b]
- }
- var x = new r({
- shape: {
- waveLength: f,
- radius: o,
- radiusY: s,
- cx: 2 * o,
- cy: 0,
- waterLevel: y,
- amplitude: v,
- phase: c,
- inverse: a
- },
- style: m,
- x: M,
- y: P
- });
- x.shape._waterLevel = y;
- var S = d.getModel("emphasis.itemStyle").getItemStyle();
- S.lineWidth = 0, x.ensureState("emphasis").style = S, i.helper.enableHoverEmphasis(x);
- var L = E(u, !0);
- return L.setStyle({
- fill: "white"
- }), x.setClipPath(L), x
- }
- function q(e, t, a) {
- var i = h.getItemModel(e),
- r = i.get("period"),
- n = i.get("direction"),
- l = h.get("value", e),
- o = i.get("phase");
- o = a ? a.shape.phase : "auto" === o ? e * Math.PI / 4 : o;
- var s, d;
- s = "auto" === r ? 0 === (d = h.count()) ? 5e3 : 5e3 * (.2 + (d - e) / d * .8) : "function" == typeof r ? r(l, e) : r;
- var p = 0;
- "right" === n || null == n ? p = Math.PI : "left" === n ? p = -Math.PI : "none" === n ? p = 0 : console.error("Illegal direction value for liquid fill."), "none" !== n && i.get("waveAnimation") && t.animate("shape", !0).when(0, {
- phase: o
- }).when(s / 2, {
- phase: p + o
- }).when(s, {
- phase: 2 * p + o
- }).during((function () {
- T && T.dirty(!0)
- })).start()
- }
- h.diff(D).add((function (t) {
- var a = k(t, !1),
- r = a.shape.waterLevel;
- a.shape.waterLevel = I ? g / 2 : u, i.graphic.initProps(a, {
- shape: {
- waterLevel: r
- }
- }, e), a.z2 = 2, q(t, a, null), s.add(a), h.setItemGraphicEl(t, a), F.push(a)
- })).update((function (t, a) {
- for (var r = D.getItemGraphicEl(a), l = k(t, !1, r), d = {}, p = ["amplitude", "cx", "cy", "phase", "radius", "radiusY", "waterLevel", "waveLength"], u = 0; u < p.length; ++u) {
- var c = p[u];
- l.shape.hasOwnProperty(c) && (d[c] = l.shape[c])
- }
- var v = {},
- f = ["fill", "opacity", "shadowBlur", "shadowColor"];
- for (u = 0; u < f.length; ++u) c = f[u], l.style.hasOwnProperty(c) && (v[c] = l.style[c]);
- I && (d.radiusY = g / 2), i.graphic.updateProps(r, {
- shape: d,
- x: l.x,
- y: l.y
- }, e), e.isUniversalTransitionEnabled && e.isUniversalTransitionEnabled() ? i.graphic.updateProps(r, {
- style: v
- }, e) : r.useStyle(v);
- var y = r.getClipPath(),
- m = l.getClipPath();
- r.setClipPath(l.getClipPath()), r.shape.inverse = l.inverse, y && m && n._shape === S && !o(S) && i.graphic.updateProps(m, {
- shape: y.shape
- }, e, {
- isFrom: !0
- }), q(t, r, r), s.add(r), h.setItemGraphicEl(t, r), F.push(r)
- })).remove((function (e) {
- var t = D.getItemGraphicEl(e);
- s.remove(t)
- })).execute(), d.get("label.show") && s.add(function (t) {
- var a = d.getModel("label");
- var r, n, l, o = {
- z2: 10,
- shape: {
- x: L,
- y: C,
- width: 2 * (I ? u[0] : u),
- height: 2 * (I ? u[1] : u)
- },
- style: {
- fill: "transparent"
- },
- textConfig: {
- position: a.get("position") || "inside"
- },
- silent: !0
- },
- s = {
- style: {
- text: (r = e.getFormattedLabel(0, "normal"), n = 100 * h.get("value", 0), l = h.getName(0) || e.name, isNaN(n) || (l = n.toFixed(0) + "%"), null == r ? l : r),
- textAlign: a.get("align"),
- textVerticalAlign: a.get("baseline")
- }
- };
- Object.assign(s.style, i.helper.createTextStyle(a));
- var p = new i.graphic.Rect(o),
- c = new i.graphic.Rect(o);
- c.disableLabelAnimation = !0, p.disableLabelAnimation = !0;
- var g = new i.graphic.Text(s),
- v = new i.graphic.Text(s);
- p.setTextContent(g), c.setTextContent(v);
- var f = a.get("insideColor");
- v.style.fill = f;
- var y = new i.graphic.Group;
- y.add(p), y.add(c);
- var m = E(u, !0);
- return (T = new i.graphic.CompoundPath({
- shape: {
- paths: t
- },
- x: M,
- y: P
- })).setClipPath(m), c.setClipPath(T), y
- }(F)), this._shape = S, this._data = h
- },
- dispose: function () {}
- })
- },
- 83: t => {
- t.exports = e
- }
- },
- a = {};
- function i(e) {
- if (a[e]) return a[e].exports;
- var r = a[e] = {
- exports: {}
- };
- return t[e](r, r.exports, i), r.exports
- }
- return i.r = e => {
- "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
- value: "Module"
- }), Object.defineProperty(e, "__esModule", {
- value: !0
- })
- }, i(245)
- })()
- }));
- //# sourceMappingURL=echarts-liquidfill.min.js.map
|