import "../../../../../node_modules/element-plus/es/index.mjs";
/* empty css                                                             */
/* empty css                                                                */
import { inject, ref, watchEffect, createBlock, openBlock, mergeProps, withCtx, createVNode, createTextVNode, toDisplayString, unref } from "vue";
import Node from "./Node.vue2.mjs";
import { ElText } from "../../../../../node_modules/element-plus/es/components/text/index.mjs";
const _sfc_main = {
  __name: "TimerNode",
  props: {
    node: Object
  },
  setup(__props) {
    const { nodesError } = inject("flowDesign", { nodesError: ref({}) });
    const props = __props;
    const content = ref("");
    const unitMap = {
      "PT%sS": "秒",
      "PT%sM": "分钟",
      "PT%sH": "小时",
      "P%sD": "天",
      "P%sW": "周",
      "P%sM": "月"
    };
    watchEffect(() => {
      const errors = [];
      const { id, name, waitType, unit, duration, timeDate } = props.node;
      if (waitType === "date") {
        content.value = `等至 ${timeDate || "?"}`;
        if (!timeDate) {
          errors.push({ id, name, message: "未设置等待时间" });
        }
      } else if (waitType === "duration") {
        content.value = `等待 ${duration} ${unitMap[unit]}`;
        if (duration <= 0) {
          errors.push({ id, name, message: "未设置等待时长" });
        }
      }
      if (errors.length > 0) {
        nodesError.value[id] = errors;
      } else {
        delete nodesError.value[id];
      }
    });
    return (_ctx, _cache) => {
      const _component_el_text = ElText;
      return openBlock(), createBlock(Node, mergeProps(_ctx.$attrs, {
        icon: "el:Timer",
        color: "#E872B7",
        node: __props.node
      }), {
        default: withCtx(() => [
          createVNode(_component_el_text, null, {
            default: withCtx(() => [
              createTextVNode(toDisplayString(unref(content)), 1)
            ]),
            _: 1
          })
        ]),
        _: 1
      }, 16, ["node"]);
    };
  }
};
export {
  _sfc_main as default
};
