|
- import { defineComponent as Z, ref as b, onBeforeMount as _, onMounted as q, getCurrentInstance as K, onBeforeUnmount as $, toRefs as F, watch as c, h as G, nextTick as H } from "vue";
- import w from "apexcharts";
- const A = [
- "animationEnd",
- "beforeMount",
- "mounted",
- "updated",
- "click",
- "mouseMove",
- "mouseLeave",
- "legendClick",
- "markerClick",
- "selection",
- "dataPointSelection",
- "dataPointMouseEnter",
- "dataPointMouseLeave",
- "beforeZoom",
- "beforeResetZoom",
- "zoomed",
- "scrolled",
- "brushScrolled"
- ], m = Z({
- name: "apexchart",
- props: {
- options: {
- type: Object
- },
- type: {
- type: String
- },
- series: {
- type: Array,
- required: !0
- },
- width: {
- default: "100%"
- },
- height: {
- default: "auto"
- }
- },
- // events emitted by this component
- emits: A,
- setup(a, { emit: x }) {
- const g = b(null), n = b(null), f = (e) => e && typeof e == "object" && !Array.isArray(e) && e != null, S = (e, t) => {
- typeof Object.assign != "function" && function() {
- Object.assign = function(o) {
- if (o == null)
- throw new TypeError("Cannot convert undefined or null to object");
- let v = Object(o);
- for (let i = 1; i < arguments.length; i++) {
- let l = arguments[i];
- if (l != null)
- for (let p in l)
- l.hasOwnProperty(p) && (v[p] = l[p]);
- }
- return v;
- };
- }();
- let s = Object.assign({}, e);
- return f(e) && f(t) && Object.keys(t).forEach((o) => {
- f(t[o]) ? o in e ? s[o] = S(e[o], t[o]) : Object.assign(s, {
- [o]: t[o]
- }) : Object.assign(s, {
- [o]: t[o]
- });
- }), s;
- }, r = async () => {
- if (await H(), n.value)
- return;
- const e = {
- chart: {
- type: a.type || a.options.chart.type || "line",
- height: a.height,
- width: a.width,
- events: {}
- },
- series: a.series
- }, t = a.options.chart ? a.options.chart.events : null;
- A.forEach((o) => {
- let v = (...i) => x(o, ...i);
- e.chart.events[o] = (...i) => {
- v(...i), t && t.hasOwnProperty(o) && t[o](...i);
- };
- });
- const s = S(a.options, e);
- return n.value = new w(g.value, s), n.value.render();
- }, d = () => (h(), r()), h = () => {
- n.value.destroy();
- }, O = (e, t) => n.value.updateSeries(e, t), y = (e, t, s, o) => n.value.updateOptions(e, t, s, o), j = (e) => n.value.toggleSeries(e), P = (e) => {
- n.value.showSeries(e);
- }, C = (e) => {
- n.value.hideSeries(e);
- }, E = (e, t) => n.value.appendSeries(e, t), M = () => {
- n.value.resetSeries();
- }, D = (e, t) => {
- n.value.toggleDataPointSelection(e, t);
- }, L = (e) => n.value.appendData(e), R = (e, t) => n.value.zoomX(e, t), X = (e) => n.value.dataURI(e), z = (e) => n.value.setLocale(e), I = (e, t) => {
- n.value.addXaxisAnnotation(e, t);
- }, U = (e, t) => {
- n.value.addYaxisAnnotation(e, t);
- }, B = (e, t) => {
- n.value.addPointAnnotation(e, t);
- }, T = (e, t) => {
- n.value.removeAnnotation(e, t);
- }, Y = () => {
- n.value.clearAnnotations();
- };
- _(() => {
- window.ApexCharts = w;
- }), q(() => {
- g.value = K().proxy.$el, r();
- }), $(() => {
- n.value && h();
- });
- const u = F(a);
- return c(u.options, () => {
- !n.value && a.options ? r() : n.value.updateOptions(a.options);
- }), c(
- u.series,
- () => {
- !n.value && a.series ? r() : n.value.updateSeries(a.series);
- },
- { deep: !0 }
- ), c(u.type, () => {
- d();
- }), c(u.width, () => {
- d();
- }), c(u.height, () => {
- d();
- }), {
- chart: n,
- init: r,
- refresh: d,
- destroy: h,
- updateOptions: y,
- updateSeries: O,
- toggleSeries: j,
- showSeries: P,
- hideSeries: C,
- resetSeries: M,
- zoomX: R,
- toggleDataPointSelection: D,
- appendData: L,
- appendSeries: E,
- addXaxisAnnotation: I,
- addYaxisAnnotation: U,
- addPointAnnotation: B,
- removeAnnotation: T,
- clearAnnotations: Y,
- setLocale: z,
- dataURI: X
- };
- },
- render() {
- return G("div", {
- class: "vue-apexcharts"
- });
- }
- }), J = (a) => {
- a.component(m.name, m);
- };
- m.install = J;
- export {
- m as default
- };
|