import { defineComponent as i, watch as a, openBlock as f, createElementBlock as v, createElementVNode as _, unref as b } from "vue";
import { cloneDeep as r, isEqual as w } from "lodash";
import E from "./default-option.json.mjs";
import { useChart as O } from "../../core/useChart.mjs";
const g = { class: "zerov-widget" }, k = ["id"], D = i({ name: "zv-chart-other-candlestick-demo" }), V = /* @__PURE__ */ i({
  ...D,
  props: {
    basicOption: {},
    sources: {},
    useEvents: {},
    uuid: {}
  },
  emits: [
    "chart-click",
    "chart-dblclick",
    "chart-mousedown",
    "chart-mouseover",
    "chart-mouseout",
    "chart-contextmenu"
  ],
  setup(u, { expose: d, emit: l }) {
    const e = u, p = l, {
      id: h,
      setOption: n,
      chart: m,
      renderChart: c,
      renderData: o
    } = O({
      basicOption: r(e.basicOption),
      useEvents: r(e.useEvents),
      customRenderData: (t) => {
        t = r(t), window.SHJDatasourceV2({
          tId: e.uuid,
          sources: e.sources,
          callback: ({ data: s }) => {
            try {
              window.SHJParseEvent(e.useEvents, "dataListener", s), n(E);
            } catch {
              window.SHJParseEvent(e.useEvents, "dataListener", null), n(t);
            }
          }
        });
      },
      emit: p
    });
    return a(() => e.sources, () => {
      e.sources && e.sources.length > 0 && o(e.basicOption);
    }, {
      deep: !0
    }), a(() => r(e.basicOption), (t, s) => {
      w(t, s) || c(t);
    }, {
      deep: !0
    }), d({
      getEchartsInstance: () => m.value,
      refresh: () => {
        e.sources && e.sources.length > 0 && c(e.basicOption), o(e.basicOption);
      },
      refreshView: () => {
        e.sources && e.sources.length > 0 && c(e.basicOption);
      },
      refreshData: () => {
        o(e.basicOption);
      }
    }), (t, s) => (f(), v("div", g, [
      _("div", {
        id: b(h),
        class: "widget"
      }, null, 8, k)
    ]));
  }
});
export {
  V as default
};
