"use strict";
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;
};
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const utils = require("../../utils/utils.js");
require("../../../node_modules/.pnpm/crypto-js@4.1.1/node_modules/crypto-js/index.js");
require("../../enums/pageEnum.js");
require("../../router/index.js");
require("../../store/modules/designStore/designStore.js");
require("../../../node_modules/.pnpm/vue3-lazyload@0.2.5-beta_a6dezdz3je235ci4e3tu4rayna/node_modules/vue3-lazyload/dist/vue3-lazyload.esm.js");
require("../../../node_modules/.pnpm/vue@3.3.4/node_modules/vue/dist/vue.runtime.esm-bundler.js");
require("../../components/GoSkeleton/index.vue.js");
require("../../components/GoLoading/index.js");
const designSetting = require("../../settings/designSetting.js");
const eventEnum = require("../../enums/eventEnum.js");
const httpEnum = require("../../enums/httpEnum.js");
const index_d = require("../index.d.js");
const cloneDeep = require("../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/cloneDeep.js");
const requestConfig = {
  requestDataType: httpEnum.RequestDataTypeEnum.STATIC,
  requestHttpType: httpEnum.RequestHttpEnum.GET,
  requestUrl: "",
  requestInterval: void 0,
  requestIntervalUnit: httpEnum.RequestHttpIntervalEnum.SECOND,
  requestContentType: httpEnum.RequestContentTypeEnum.DEFAULT,
  requestParamsBodyType: httpEnum.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", utils.getUUID());
    __publicField(this, "isGroup", false);
    // 基本信息
    __publicField(this, "attr", { ...designSetting.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.default(requestConfig));
    // 数据过滤
    __publicField(this, "filter");
    // 事件
    __publicField(this, "events", {
      baseEvent: {
        [eventEnum.BaseEvent.ON_CLICK]: void 0,
        [eventEnum.BaseEvent.ON_DBL_CLICK]: void 0,
        [eventEnum.BaseEvent.ON_MOUSE_ENTER]: void 0,
        [eventEnum.BaseEvent.ON_MOUSE_LEAVE]: void 0
      },
      advancedEvents: {
        [eventEnum.EventLife.VNODE_MOUNTED]: void 0,
        [eventEnum.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: index_d.ChartFrameEnum.COMMON,
      title: designSetting.groupTitle,
      image: ""
    });
    // 组成员列表
    __publicField(this, "groupList", []);
    // ---- 原有 ---
    // key
    __publicField(this, "key", "group");
    // 配置
    __publicField(this, "option", {});
    // 标识
    __publicField(this, "id", utils.getUUID());
    // 基本信息
    __publicField(this, "attr", { w: 0, h: 0, x: 0, y: 0, offsetX: 0, offsetY: 0, zIndex: -1 });
  }
}
exports.PublicConfigClass = PublicConfigClass;
exports.PublicGroupConfigClass = PublicGroupConfigClass;
exports.requestConfig = requestConfig;
