var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => {
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
  return value;
};
import { getUUID } from "../../utils/utils.mjs";
import "../../../node_modules/.pnpm/crypto-js@4.1.1/node_modules/crypto-js/index.mjs";
import "../../enums/pageEnum.mjs";
import "../../router/index.mjs";
import "../../store/modules/designStore/designStore.mjs";
import "../../../node_modules/.pnpm/vue3-lazyload@0.2.5-beta_a6dezdz3je235ci4e3tu4rayna/node_modules/vue3-lazyload/dist/vue3-lazyload.esm.mjs";
import "../../../node_modules/.pnpm/vue@3.3.4/node_modules/vue/dist/vue.runtime.esm-bundler.mjs";
import "../../components/GoSkeleton/index.vue.mjs";
import "../../components/GoLoading/index.mjs";
import { groupTitle, chartInitConfig } from "../../settings/designSetting.mjs";
import { BaseEvent, EventLife } from "../../enums/eventEnum.mjs";
import { RequestDataTypeEnum, RequestHttpEnum, RequestHttpIntervalEnum, RequestContentTypeEnum, RequestBodyEnum } from "../../enums/httpEnum.mjs";
import { ChartFrameEnum } from "../index.d.mjs";
import cloneDeep from "../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/cloneDeep.mjs";
const requestConfig = {
  requestDataType: RequestDataTypeEnum.STATIC,
  requestHttpType: RequestHttpEnum.GET,
  requestUrl: "",
  requestInterval: void 0,
  requestIntervalUnit: RequestHttpIntervalEnum.SECOND,
  requestContentType: RequestContentTypeEnum.DEFAULT,
  requestParamsBodyType: RequestBodyEnum.NONE,
  requestSQLContent: {
    sql: "select * from  where"
  },
  requestParams: {
    Body: {
      "form-data": {},
      "x-www-form-urlencoded": {},
      json: "",
      xml: ""
    },
    Header: {},
    Params: {}
  }
};
class PublicConfigClass {
  constructor() {
    __publicField(this, "id", getUUID());
    __publicField(this, "isGroup", false);
    // 基本信息
    __publicField(this, "attr", { ...chartInitConfig, zIndex: -1 });
    // 基本样式
    __publicField(this, "styles", {
      // 使用滤镜
      filterShow: false,
      // 色相
      hueRotate: 0,
      // 饱和度
      saturate: 1,
      // 对比度
      contrast: 1,
      // 亮度
      brightness: 1,
      // 透明
      opacity: 1,
      // 旋转
      rotateZ: 0,
      rotateX: 0,
      rotateY: 0,
      // 倾斜
      skewX: 0,
      skewY: 0,
      // 混合模式
      blendMode: "normal",
      // 动画
      animations: []
    });
    // 预览
    __publicField(this, "preview", {
      overFlowHidden: false
    });
    // 状态
    __publicField(this, "status", {
      lock: false,
      hide: false
    });
    // 请求
    __publicField(this, "request", cloneDeep(requestConfig));
    // 数据过滤
    __publicField(this, "filter");
    // 事件
    __publicField(this, "events", {
      baseEvent: {
        [BaseEvent.ON_CLICK]: void 0,
        [BaseEvent.ON_DBL_CLICK]: void 0,
        [BaseEvent.ON_MOUSE_ENTER]: void 0,
        [BaseEvent.ON_MOUSE_LEAVE]: void 0
      },
      advancedEvents: {
        [EventLife.VNODE_MOUNTED]: void 0,
        [EventLife.VNODE_BEFORE_MOUNT]: void 0
      },
      interactEvents: []
    });
  }
}
class PublicGroupConfigClass extends PublicConfigClass {
  constructor() {
    super(...arguments);
    // 成组
    __publicField(this, "isGroup", true);
    // 名称
    __publicField(this, "chartConfig", {
      key: "group",
      chartKey: "group",
      conKey: "group",
      category: "group",
      categoryName: "group",
      package: "group",
      chartFrame: ChartFrameEnum.COMMON,
      title: groupTitle,
      image: ""
    });
    // 组成员列表
    __publicField(this, "groupList", []);
    // ---- 原有 ---
    // key
    __publicField(this, "key", "group");
    // 配置
    __publicField(this, "option", {});
    // 标识
    __publicField(this, "id", getUUID());
    // 基本信息
    __publicField(this, "attr", { w: 0, h: 0, x: 0, y: 0, offsetX: 0, offsetY: 0, zIndex: -1 });
  }
}
export {
  PublicConfigClass,
  PublicGroupConfigClass,
  requestConfig
};
