@dinert/element-plus 1.1.34 → 1.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import { defineComponent as r, ref as i, computed as n, createVNode as m, resolveComponent as s, mergeProps as f, withModifiers as p } from "vue";
2
- const h = /* @__PURE__ */ r({
1
+ import { defineComponent as r, ref as n, computed as i, createVNode as m, resolveComponent as s, mergeProps as f } from "vue";
2
+ const d = /* @__PURE__ */ r({
3
3
  name: "dinert-input",
4
4
  props: {
5
5
  form: {
@@ -13,9 +13,9 @@ const h = /* @__PURE__ */ r({
13
13
  },
14
14
  emits: ["EnterSearch"],
15
15
  setup(e) {
16
- const o = i(null);
16
+ const o = n(null);
17
17
  return {
18
- options: n(() => {
18
+ options: i(() => {
19
19
  const t = e.formItem.options || {};
20
20
  return t.type = e.formItem.type === "textarea" ? e.formItem.type : t.type, t;
21
21
  }),
@@ -31,9 +31,9 @@ const h = /* @__PURE__ */ r({
31
31
  onBlur: (e) => {
32
32
  this.form.model[this.formItem.key] = e.target.value.trim();
33
33
  },
34
- onKeyup: p(() => {
35
- (this.form.enterSearch === void 0 || this.form.enterSearch) && this.$emit("enterSearch");
36
- }, ["enter"])
34
+ onKeydown: (e) => {
35
+ (this.form.enterSearch === void 0 || this.form.enterSearch) && e.key === "Enter" && this.$emit("EnterSearch");
36
+ }
37
37
  }, {
38
38
  ...this.options
39
39
  }, {
@@ -44,6 +44,6 @@ const h = /* @__PURE__ */ r({
44
44
  }
45
45
  });
46
46
  export {
47
- h as default
47
+ d as default
48
48
  };
49
49
  //# sourceMappingURL=input.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.mjs","sources":["../../../../../packages/components/form/src/input.tsx"],"sourcesContent":["import {computed, defineComponent, ref, withModifiers} from 'vue'\n\nimport type {RewriteFormProps, CustomFormItemProps} from '@packages/components/form/types'\nimport type {PropType} from 'vue'\n\n\nexport default defineComponent({\n name: 'dinert-input',\n props: {\n form: {\n type: Object as PropType<RewriteFormProps>,\n default: () => ({})\n },\n formItem: {\n type: Object as PropType<CustomFormItemProps>,\n default: () => ({})\n },\n },\n emits: ['EnterSearch'],\n setup(props) {\n const inputRef = ref(null)\n\n const options = computed<CustomFormItemProps[keyof CustomFormItemProps]['input']>(() => {\n const options = props.formItem.options || {}\n options.type = props.formItem.type === 'textarea' ? props.formItem.type : options.type\n return options\n })\n\n\n return {\n options,\n inputRef\n }\n },\n render() {\n return (\n <el-input\n v-model={this.form.model[this.formItem.key]}\n clearable\n show-word-limit={this.options.showWordLimit === undefined ? true : this.options.showWordLimit}\n onBlur={e => {this.form.model[this.formItem.key] = e.target.value.trim()}}\n onKeyup={withModifiers(() => {\n if (this.form.enterSearch === undefined || this.form.enterSearch) {\n this.$emit('enterSearch')\n }\n }, ['enter'])}\n {...{...this.options}}\n v-slots={this.$slots}\n ref={el => {this.inputRef = el}}\n >\n </el-input>\n )\n }\n})\n\n"],"names":["defineComponent","name","props","form","type","Object","default","formItem","emits","setup","inputRef","ref","options","computed","render","_createVNode","_resolveComponent","_mergeProps","model","key","$event","showWordLimit","undefined","e","target","value","trim","withModifiers","enterSearch","$emit","el","$slots"],"mappings":";AAMA,MAAeA,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,MAAM;AAAA,MACFC,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDC,UAAU;AAAA,MACNH,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACpB;AAAA,EACH;AAAA,EACDE,OAAO,CAAC,aAAa;AAAA,EACrBC,MAAMP,GAAO;AACT,UAAMQ,IAAWC,EAAI,IAAI;AASzB,WAAO;AAAA,MACHC,SARYC,EAAkE,MAAM;AACpF,cAAMD,IAAUV,EAAMK,SAASK,WAAW,CAAA;AAC1CA,eAAAA,EAAQR,OAAOF,EAAMK,SAASH,SAAS,aAAaF,EAAMK,SAASH,OAAOQ,EAAQR,MAC3EQ;AAAAA,MACX,CAAC;AAAA,MAKGF,UAAAA;AAAAA;EAEP;AAAA,EACDI,SAAS;AACL,WAAAC,EAAAC,EAAA,UAAA,GAAAC,EAAA;AAAA,MAAA,YAEiB,KAAKd,KAAKe,MAAM,KAAKX,SAASY,GAAG;AAAA,MAAC,uBAAAC,CAAAA,MAAlC,KAAKjB,KAAKe,MAAM,KAAKX,SAASY,GAAG,IAACC;AAAAA,MAAA,WAAA;AAAA,MAAA,mBAE1B,KAAKR,QAAQS,kBAAkBC,SAAY,KAAO,KAAKV,QAAQS;AAAAA,MAAa,QACrFE,OAAK;AAAC,aAAKpB,KAAKe,MAAM,KAAKX,SAASY,GAAG,IAAII,EAAEC,OAAOC,MAAMC,KAAI;AAAA,MAAG;AAAA,MAAA,SAChEC,EAAc,MAAM;AACzB,SAAI,KAAKxB,KAAKyB,gBAAgBN,UAAa,KAAKnB,KAAKyB,gBACjD,KAAKC,MAAM,aAAa;AAAA,SAE7B,CAAC,OAAO,CAAC;AAAA,IAAC,GAAA;AAAA,MACR,GAAG,KAAKjB;AAAAA,IAAO,GAAA;AAAA,MAAA,KAEfkB,CAAAA,MAAM;AAAC,aAAKpB,WAAWoB;AAAAA,MAAE;AAAA,KADrB,GAAA,KAAKC,MAAM;AAAA,EAKhC;AACJ,CAAC;"}
1
+ {"version":3,"file":"input.mjs","sources":["../../../../../packages/components/form/src/input.tsx"],"sourcesContent":["import {computed, defineComponent, ref} from 'vue'\n\nimport type {RewriteFormProps, CustomFormItemProps} from '@packages/components/form/types'\nimport type {PropType} from 'vue'\n\n\nexport default defineComponent({\n name: 'dinert-input',\n props: {\n form: {\n type: Object as PropType<RewriteFormProps>,\n default: () => ({})\n },\n formItem: {\n type: Object as PropType<CustomFormItemProps>,\n default: () => ({})\n },\n },\n emits: ['EnterSearch'],\n setup(props) {\n const inputRef = ref(null)\n\n\n const options = computed<CustomFormItemProps[keyof CustomFormItemProps]['input']>(() => {\n const options = props.formItem.options || {}\n options.type = props.formItem.type === 'textarea' ? props.formItem.type : options.type\n return options\n })\n\n return {\n options,\n inputRef\n }\n },\n render() {\n return (\n <el-input\n v-model={this.form.model[this.formItem.key]}\n clearable\n show-word-limit={this.options.showWordLimit === undefined ? true : this.options.showWordLimit}\n onBlur={e => {this.form.model[this.formItem.key] = e.target.value.trim()}}\n onKeydown={(event: KeyboardEvent) => {\n if ((this.form.enterSearch === undefined || this.form.enterSearch) && event.key === 'Enter') {\n this.$emit('EnterSearch')\n }\n }}\n\n {...{...this.options}}\n v-slots={this.$slots}\n ref={el => {this.inputRef = el}}\n >\n </el-input>\n )\n }\n})\n\n"],"names":["defineComponent","name","props","form","type","Object","default","formItem","emits","setup","inputRef","ref","options","computed","render","_createVNode","_resolveComponent","_mergeProps","model","key","$event","showWordLimit","undefined","e","target","value","trim","event","enterSearch","$emit","el","$slots"],"mappings":";AAMA,MAAeA,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,MAAM;AAAA,MACFC,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDC,UAAU;AAAA,MACNH,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACpB;AAAA,EACH;AAAA,EACDE,OAAO,CAAC,aAAa;AAAA,EACrBC,MAAMP,GAAO;AACT,UAAMQ,IAAWC,EAAI,IAAI;AASzB,WAAO;AAAA,MACHC,SAPYC,EAAkE,MAAM;AACpF,cAAMD,IAAUV,EAAMK,SAASK,WAAW,CAAA;AAC1CA,eAAAA,EAAQR,OAAOF,EAAMK,SAASH,SAAS,aAAaF,EAAMK,SAASH,OAAOQ,EAAQR,MAC3EQ;AAAAA,MACX,CAAC;AAAA,MAIGF,UAAAA;AAAAA;EAEP;AAAA,EACDI,SAAS;AACL,WAAAC,EAAAC,EAAA,UAAA,GAAAC,EAAA;AAAA,MAAA,YAEiB,KAAKd,KAAKe,MAAM,KAAKX,SAASY,GAAG;AAAA,MAAC,uBAAAC,CAAAA,MAAlC,KAAKjB,KAAKe,MAAM,KAAKX,SAASY,GAAG,IAACC;AAAAA,MAAA,WAAA;AAAA,MAAA,mBAE1B,KAAKR,QAAQS,kBAAkBC,SAAY,KAAO,KAAKV,QAAQS;AAAAA,MAAa,QACrFE,OAAK;AAAC,aAAKpB,KAAKe,MAAM,KAAKX,SAASY,GAAG,IAAII,EAAEC,OAAOC,MAAMC,KAAI;AAAA,MAAG;AAAA,MAAA,WAC7DC,CAAAA,MAAyB;AACjC,SAAK,KAAKxB,KAAKyB,gBAAgBN,UAAa,KAAKnB,KAAKyB,gBAAgBD,EAAMR,QAAQ,WAChF,KAAKU,MAAM,aAAa;AAAA,MAEhC;AAAA,IAAC,GAAA;AAAA,MAEI,GAAG,KAAKjB;AAAAA,IAAO,GAAA;AAAA,MAAA,KAEfkB,CAAAA,MAAM;AAAC,aAAKpB,WAAWoB;AAAAA,MAAE;AAAA,KADrB,GAAA,KAAKC,MAAM;AAAA,EAKhC;AACJ,CAAC;"}
@@ -1,18 +1,18 @@
1
1
  import { isSlotsValue as h } from "../../../utils/tools.mjs";
2
2
  const g = (t, l, o) => {
3
- const e = t.target.parentElement.parentElement, s = window.getComputedStyle(e, null), r = l.rules ? 12 : l.beforeWidth || 0, n = parseInt(s.getPropertyValue("max-width")) - r - parseInt(s.getPropertyValue("padding-right"));
3
+ const e = t.target.parentElement.parentElement, r = window.getComputedStyle(e, null), s = l.rules ? 12 : l.beforeWidth || 0, n = parseInt(r.getPropertyValue("max-width")) - s - parseInt(r.getPropertyValue("padding-right"));
4
4
  t.target.previousElementSibling.offsetWidth >= n ? o.form.formItem[l.key].labelDisabled = !1 : o.form.formItem[l.key].labelDisabled = !0;
5
5
  }, d = (t, l, o) => {
6
6
  const e = [];
7
- function s(r) {
8
- r.forEach((n) => {
9
- n && ((Array.isArray(o) && o.includes(n[l]) || o === n[l]) && e.push(n), n.children && n.children.length && s(n.children));
7
+ function r(s) {
8
+ s.forEach((n) => {
9
+ n && ((Array.isArray(o) && o.includes(n[l]) || o === n[l]) && e.push(n), n.children && n.children.length && r(n.children));
10
10
  });
11
11
  }
12
- return s(t), e;
12
+ return r(t), e;
13
13
  }, y = (t, l) => {
14
- var r, n, p, a;
15
- const o = l.type, e = l.options || {}, s = [];
14
+ var s, n, p, a;
15
+ const o = l.type, e = l.options || {}, r = [];
16
16
  if (["input", "input-autocomplete", "input-number"].includes(o))
17
17
  return t;
18
18
  if (["select", "tree-select", "select-v2"].includes(o)) {
@@ -21,18 +21,18 @@ const g = (t, l, o) => {
21
21
  c = c || "value";
22
22
  let u = ["select-v2"].includes(o) ? e.props && e.props.label : e.label;
23
23
  return u = u || "label", e.valueKey && (i = t && t[e.valueKey]), d(e.options, e.value === "object" ? e.valueKey : c, i || t).forEach((f) => {
24
- s.push(f[u]);
25
- }), s && s.length ? s.join(",") : t;
24
+ r.push(f[u]);
25
+ }), r && r.length ? r.join(",") : t;
26
26
  }
27
27
  } else if (["cascader"].includes(o) && e && e.options && e.options.length) {
28
- (((r = e.props) == null ? void 0 : r.emitPath) === void 0 || ((n = e.props) == null ? void 0 : n.emitPath) === !0) && (t = t && t[0]);
28
+ (((s = e.props) == null ? void 0 : s.emitPath) === void 0 || ((n = e.props) == null ? void 0 : n.emitPath) === !0) && (t = t && t[0]);
29
29
  const i = d(e.options, ((p = e.props) == null ? void 0 : p.value) || "value", t)[0];
30
30
  return i && i[((a = e.props) == null ? void 0 : a.label) || "label"];
31
31
  }
32
32
  return null;
33
33
  }, I = (t, l) => {
34
- var r, n, p, a;
35
- const o = l.type, e = l.options || {}, s = [];
34
+ var s, n, p, a;
35
+ const o = l.type, e = l.options || {}, r = [];
36
36
  if ([
37
37
  "input",
38
38
  "input-autocomplete",
@@ -57,27 +57,27 @@ const g = (t, l, o) => {
57
57
  c = c || "value";
58
58
  let u = ["select-v2"].includes(o) ? e.props && e.props.label : e.label;
59
59
  return u = u || "label", e.valueKey && (i = t && t[e.valueKey]), d(e.options, e.value === "object" ? e.valueKey : c, i || t).forEach((f) => {
60
- s.push(f[u]);
61
- }), s && s.length ? s.join(",") : t;
60
+ r.push(f[u]);
61
+ }), r && r.length ? r.join(",") : t;
62
62
  }
63
63
  } else if (["cascader"].includes(o) && e && e.options && e.options.length) {
64
- (((r = e.props) == null ? void 0 : r.emitPath) === void 0 || ((n = e.props) == null ? void 0 : n.emitPath) === !0) && (t = t && t[0]);
64
+ (((s = e.props) == null ? void 0 : s.emitPath) === void 0 || ((n = e.props) == null ? void 0 : n.emitPath) === !0) && (t = t && t[0]);
65
65
  const i = d(e.options, ((p = e.props) == null ? void 0 : p.value) || "value", t)[0];
66
66
  return i && i[((a = e.props) == null ? void 0 : a.label) || "label"];
67
67
  }
68
68
  return null;
69
69
  }, E = (t, l, o, e) => {
70
- const s = ["input", "input-autocomplete", "cascader", "input-number", "select", "tree-select", "select-v2"];
71
- if (!o || l.showLabel || !s.includes(l.type)) {
70
+ const r = ["input", "input-autocomplete", "cascader", "input-number", "select", "tree-select", "select-v2"];
71
+ if (!o || l.showLabel || !r.includes(l.type)) {
72
72
  e.form.formItem[l.key].tempValueDisabled = !0;
73
73
  return;
74
74
  }
75
- let r = null;
76
- if (["input", "input-autocomplete", "cascader", "input-number"].includes(l.type) ? r = t.target.parentElement.querySelector(".el-input__inner") : ["select", "tree-select", "select-v2"].includes(l.type) && (r = t.target.parentElement.querySelector(".el-select__selected-item.el-select__placeholder"), r = r || t.target.parentElement.querySelector(".el-select__selection")), r) {
77
- const n = window.getComputedStyle(r, null), p = r.offsetWidth - parseInt(n.getPropertyValue("padding-right")) - parseInt(n.getPropertyValue("padding-left"));
75
+ let s = null;
76
+ if (["input", "input-autocomplete", "cascader", "input-number"].includes(l.type) ? s = t.target.parentElement.querySelector(".el-input__inner") : ["select", "tree-select", "select-v2"].includes(l.type) && (s = t.target.parentElement.querySelector(".el-select__selected-item.el-select__placeholder"), s = s || t.target.parentElement.querySelector(".el-select__selection")), s) {
77
+ const n = window.getComputedStyle(s, null), p = s.offsetWidth - parseInt(n.getPropertyValue("padding-right")) - parseInt(n.getPropertyValue("padding-left"));
78
78
  t.target.previousElementSibling.offsetWidth >= p ? e.form.formItem[l.key].tempValueDisabled = !1 : e.form.formItem[l.key].tempValueDisabled = !0;
79
79
  } else
80
- e.form.formItem[l.key].tempValueDisabled = !1;
80
+ e.form.formItem[l.key].tempValueDisabled = !0;
81
81
  }, V = (t, l = "input", o = "请输入") => (o = [
82
82
  "select",
83
83
  "tree-select",
@@ -95,13 +95,13 @@ const g = (t, l, o) => {
95
95
  "years",
96
96
  "time-picker"
97
97
  ].includes(l) ? "请选择" : o, o + (t || "")), v = (t, l = "formItem_") => l + (t || ""), w = (t = [], l, o, e) => {
98
- var s, r;
98
+ var r, s;
99
99
  for (const n in l.$slots) {
100
100
  const p = n.split("formItem_").join("").split("_")[1];
101
101
  let a = null;
102
102
  if (!p)
103
103
  return;
104
- t.includes(p) && (a = (r = (s = l.$slots)[n]) == null ? void 0 : r.call(s, e), h(a) && (o[p] = () => a));
104
+ t.includes(p) && (a = (s = (r = l.$slots)[n]) == null ? void 0 : s.call(r, e), h(a) && (o[p] = () => a));
105
105
  }
106
106
  };
107
107
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/form/utils/index.ts"],"sourcesContent":["import {isSlotsValue} from '@packages/utils/tools'\n\nexport const labelMouseEnter = (e: MouseEvent, item: any, _this: any) => {\n const el = (e.target as any).parentElement.parentElement\n const labelEl = window.getComputedStyle(el, null)\n const isRequried = item.rules ? 12 : item.beforeWidth || 0\n const labelWidth\n = parseInt(labelEl.getPropertyValue('max-width')) - isRequried\n - parseInt(labelEl.getPropertyValue('padding-right'))\n const tooltipWidth = (e.target as any).previousElementSibling.offsetWidth\n if (tooltipWidth >= labelWidth) {\n _this.form.formItem[item.key].labelDisabled = false\n\n } else {\n _this.form.formItem[item.key].labelDisabled = true\n }\n}\n\nexport const findTreeNode = (treeData: any, key: string, value: string) => {\n const result: any[] = []\n function filterResult(treeData: any) {\n treeData.forEach((item: any) => {\n if (item) {\n if ((Array.isArray(value) && value.includes(item[key])) || value === item[key]) {\n result.push(item)\n }\n if (item.children && item.children.length) {\n filterResult(item.children)\n }\n }\n\n })\n }\n filterResult(treeData)\n return result\n}\n\n\nexport const getTooltipValue = (value: any, item: any): any => {\n const type = item.type\n const options = item.options || {}\n const tempArr: string[] = []\n if (['input', 'input-autocomplete', 'input-number'].includes(type)) {\n return value\n } else if (['select', 'tree-select', 'select-v2'].includes(type)) {\n if (options && options.options && options.options.length) {\n let newVal = null\n\n let optValue = ['select-v2'].includes(type) ? options.props && options.props.value : options.value\n optValue = optValue || 'value'\n let optLabel = ['select-v2'].includes(type) ? options.props && options.props.label : options.label\n optLabel = optLabel || 'label'\n\n if (options.valueKey) {\n newVal = value && value[options.valueKey]\n }\n const selectItem = findTreeNode(options.options, options.value === 'object' ? options.valueKey : optValue, newVal || value)\n selectItem.forEach(item => {\n tempArr.push(item[optLabel])\n })\n if (tempArr && tempArr.length) {\n return tempArr.join(',')\n }\n return value\n }\n } else if (['cascader'].includes(type)) {\n if (options && options.options && options.options.length) {\n if (options.props?.emitPath === undefined || options.props?.emitPath === true) {\n value = value && value[0]\n }\n\n const selectItem = findTreeNode(options.options, options.props?.value || 'value', value)[0]\n return selectItem && selectItem[options.props?.label || 'label']\n }\n }\n return null\n}\n\nexport const getSpanValue = (value: any, item: any): any => {\n const type = item.type\n const options = item.options || {}\n const tempArr: string[] = []\n\n\n if (['input', 'input-autocomplete', 'input-number', 'textarea', 'datetime',\n 'date',\n 'dates',\n 'week',\n 'month',\n 'year',\n 'years',\n 'datetimerange',\n 'daterange',\n 'monthrange',\n 'yearrange',].includes(type)) {\n return value\n } else if (['select', 'tree-select', 'select-v2', 'radio', 'radio-button', 'checkbox', 'checkbox-button'].includes(type)) {\n if (options && options.options && options.options.length) {\n let newVal = null\n let optValue = ['select-v2'].includes(type) ? options.props && options.props.value : options.value\n optValue = optValue || 'value'\n let optLabel = ['select-v2'].includes(type) ? options.props && options.props.label : options.label\n optLabel = optLabel || 'label'\n\n if (options.valueKey) {\n newVal = value && value[options.valueKey]\n }\n const selectItem = findTreeNode(options.options, options.value === 'object' ? options.valueKey : optValue, newVal || value)\n selectItem.forEach(item => {\n tempArr.push(item[optLabel])\n })\n if (tempArr && tempArr.length) {\n return tempArr.join(',')\n }\n return value\n }\n } else if (['cascader'].includes(type)) {\n if (options && options.options && options.options.length) {\n if (options.props?.emitPath === undefined || options.props?.emitPath === true) {\n value = value && value[0]\n }\n\n const selectItem = findTreeNode(options.options, options.props?.value || 'value', value)[0]\n return selectItem && selectItem[options.props?.label || 'label']\n }\n }\n return null\n}\n\nexport const valueMouseEnter = (e: MouseEvent, item: any, value: any, _this) => {\n const showCom = ['input', 'input-autocomplete', 'cascader', 'input-number', 'select', 'tree-select', 'select-v2']\n\n if (!value || item.showLabel || !showCom.includes(item.type)) {\n _this.form.formItem[item.key].tempValueDisabled = true\n\n return\n }\n let el: HTMLElement | null = null\n if (['input', 'input-autocomplete', 'cascader', 'input-number'].includes(item.type)) {\n el = (e.target as any).parentElement.querySelector('.el-input__inner') as HTMLElement\n } else if (['select', 'tree-select', 'select-v2'].includes(item.type)) {\n el = (e.target as any).parentElement.querySelector('.el-select__selected-item.el-select__placeholder') as HTMLElement\n el = el || (e.target as any).parentElement.querySelector('.el-select__selection') as HTMLElement\n }\n\n if (el) {\n const inputEl = window.getComputedStyle(el, null)\n const textWidth\n = el.offsetWidth\n - parseInt(inputEl.getPropertyValue('padding-right'))\n - parseInt(inputEl.getPropertyValue('padding-left'))\n const tooltipEl = (e.target as any).previousElementSibling\n const tooltipWidth = tooltipEl.offsetWidth\n\n if (tooltipWidth >= textWidth) {\n _this.form.formItem[item.key].tempValueDisabled = false\n } else {\n _this.form.formItem[item.key].tempValueDisabled = true\n\n }\n } else {\n _this.form.formItem[item.key].tempValueDisabled = false\n }\n\n}\n\nexport const customPlaceholder = (customName: any, type: string = 'input', name: string = '请输入') => {\n name = ['select', 'tree-select', 'cascader', 'select-v2', 'datetime',\n 'datetimerange', 'date', 'daterange', 'dates', 'week', 'month', 'monthrange', 'year', 'years', 'time-picker'].includes(type) ? '请选择' : name\n return name + ((customName) || '')\n}\n\nexport const formItemSlot = (customName: any, name: string = 'formItem_') => {\n return name + (customName || '')\n}\n\n\nexport const renderSlot = (arr: string[] = [], _this: any, slots, item: any): any => {\n for (const prop in _this.$slots) {\n const slotName = prop.split('formItem_').join('').split('_')[1]\n let slotFn: any = null\n if (!slotName) {\n return\n }\n if (arr.includes(slotName)) {\n slotFn = _this.$slots[prop]?.(item)\n // eslint-disable-next-line consistent-return\n isSlotsValue(slotFn) && (slots[slotName] = () => slotFn)\n }\n }\n}\n"],"names":["labelMouseEnter","e","item","_this","el","labelEl","isRequried","labelWidth","findTreeNode","treeData","key","value","result","filterResult","getTooltipValue","type","options","tempArr","newVal","optValue","optLabel","_a","_b","selectItem","_c","_d","getSpanValue","valueMouseEnter","showCom","inputEl","textWidth","customPlaceholder","customName","name","formItemSlot","renderSlot","arr","slots","prop","slotName","slotFn","isSlotsValue"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/form/utils/index.ts"],"sourcesContent":["import {isSlotsValue} from '@packages/utils/tools'\n\nexport const labelMouseEnter = (e: MouseEvent, item: any, _this: any) => {\n const el = (e.target as any).parentElement.parentElement\n const labelEl = window.getComputedStyle(el, null)\n const isRequried = item.rules ? 12 : item.beforeWidth || 0\n const labelWidth\n = parseInt(labelEl.getPropertyValue('max-width')) - isRequried\n - parseInt(labelEl.getPropertyValue('padding-right'))\n const tooltipWidth = (e.target as any).previousElementSibling.offsetWidth\n if (tooltipWidth >= labelWidth) {\n _this.form.formItem[item.key].labelDisabled = false\n\n } else {\n _this.form.formItem[item.key].labelDisabled = true\n }\n}\n\nexport const findTreeNode = (treeData: any, key: string, value: string) => {\n const result: any[] = []\n function filterResult(treeData: any) {\n treeData.forEach((item: any) => {\n if (item) {\n if ((Array.isArray(value) && value.includes(item[key])) || value === item[key]) {\n result.push(item)\n }\n if (item.children && item.children.length) {\n filterResult(item.children)\n }\n }\n\n })\n }\n filterResult(treeData)\n return result\n}\n\n\nexport const getTooltipValue = (value: any, item: any): any => {\n const type = item.type\n const options = item.options || {}\n const tempArr: string[] = []\n if (['input', 'input-autocomplete', 'input-number'].includes(type)) {\n return value\n } else if (['select', 'tree-select', 'select-v2'].includes(type)) {\n if (options && options.options && options.options.length) {\n let newVal = null\n\n let optValue = ['select-v2'].includes(type) ? options.props && options.props.value : options.value\n optValue = optValue || 'value'\n let optLabel = ['select-v2'].includes(type) ? options.props && options.props.label : options.label\n optLabel = optLabel || 'label'\n\n if (options.valueKey) {\n newVal = value && value[options.valueKey]\n }\n const selectItem = findTreeNode(options.options, options.value === 'object' ? options.valueKey : optValue, newVal || value)\n selectItem.forEach(item => {\n tempArr.push(item[optLabel])\n })\n if (tempArr && tempArr.length) {\n return tempArr.join(',')\n }\n return value\n }\n } else if (['cascader'].includes(type)) {\n if (options && options.options && options.options.length) {\n if (options.props?.emitPath === undefined || options.props?.emitPath === true) {\n value = value && value[0]\n }\n\n const selectItem = findTreeNode(options.options, options.props?.value || 'value', value)[0]\n return selectItem && selectItem[options.props?.label || 'label']\n }\n }\n return null\n}\n\nexport const getSpanValue = (value: any, item: any): any => {\n const type = item.type\n const options = item.options || {}\n const tempArr: string[] = []\n\n\n if (['input', 'input-autocomplete', 'input-number', 'textarea', 'datetime',\n 'date',\n 'dates',\n 'week',\n 'month',\n 'year',\n 'years',\n 'datetimerange',\n 'daterange',\n 'monthrange',\n 'yearrange',].includes(type)) {\n return value\n } else if (['select', 'tree-select', 'select-v2', 'radio', 'radio-button', 'checkbox', 'checkbox-button'].includes(type)) {\n if (options && options.options && options.options.length) {\n let newVal = null\n let optValue = ['select-v2'].includes(type) ? options.props && options.props.value : options.value\n optValue = optValue || 'value'\n let optLabel = ['select-v2'].includes(type) ? options.props && options.props.label : options.label\n optLabel = optLabel || 'label'\n\n if (options.valueKey) {\n newVal = value && value[options.valueKey]\n }\n const selectItem = findTreeNode(options.options, options.value === 'object' ? options.valueKey : optValue, newVal || value)\n selectItem.forEach(item => {\n tempArr.push(item[optLabel])\n })\n if (tempArr && tempArr.length) {\n return tempArr.join(',')\n }\n return value\n }\n } else if (['cascader'].includes(type)) {\n if (options && options.options && options.options.length) {\n if (options.props?.emitPath === undefined || options.props?.emitPath === true) {\n value = value && value[0]\n }\n\n const selectItem = findTreeNode(options.options, options.props?.value || 'value', value)[0]\n return selectItem && selectItem[options.props?.label || 'label']\n }\n }\n return null\n}\n\nexport const valueMouseEnter = (e: MouseEvent, item: any, value: any, _this) => {\n const showCom = ['input', 'input-autocomplete', 'cascader', 'input-number', 'select', 'tree-select', 'select-v2']\n\n if (!value || item.showLabel || !showCom.includes(item.type)) {\n _this.form.formItem[item.key].tempValueDisabled = true\n\n return\n }\n let el: HTMLElement | null = null\n if (['input', 'input-autocomplete', 'cascader', 'input-number'].includes(item.type)) {\n el = (e.target as any).parentElement.querySelector('.el-input__inner') as HTMLElement\n } else if (['select', 'tree-select', 'select-v2'].includes(item.type)) {\n el = (e.target as any).parentElement.querySelector('.el-select__selected-item.el-select__placeholder') as HTMLElement\n el = el || (e.target as any).parentElement.querySelector('.el-select__selection') as HTMLElement\n }\n\n if (el) {\n const inputEl = window.getComputedStyle(el, null)\n const textWidth\n = el.offsetWidth\n - parseInt(inputEl.getPropertyValue('padding-right'))\n - parseInt(inputEl.getPropertyValue('padding-left'))\n const tooltipEl = (e.target as any).previousElementSibling\n const tooltipWidth = tooltipEl.offsetWidth\n\n if (tooltipWidth >= textWidth) {\n _this.form.formItem[item.key].tempValueDisabled = false\n } else {\n _this.form.formItem[item.key].tempValueDisabled = true\n\n }\n } else {\n _this.form.formItem[item.key].tempValueDisabled = true\n }\n\n}\n\nexport const customPlaceholder = (customName: any, type: string = 'input', name: string = '请输入') => {\n name = ['select', 'tree-select', 'cascader', 'select-v2', 'datetime',\n 'datetimerange', 'date', 'daterange', 'dates', 'week', 'month', 'monthrange', 'year', 'years', 'time-picker'].includes(type) ? '请选择' : name\n return name + ((customName) || '')\n}\n\nexport const formItemSlot = (customName: any, name: string = 'formItem_') => {\n return name + (customName || '')\n}\n\n\nexport const renderSlot = (arr: string[] = [], _this: any, slots, item: any): any => {\n for (const prop in _this.$slots) {\n const slotName = prop.split('formItem_').join('').split('_')[1]\n let slotFn: any = null\n if (!slotName) {\n return\n }\n if (arr.includes(slotName)) {\n slotFn = _this.$slots[prop]?.(item)\n // eslint-disable-next-line consistent-return\n isSlotsValue(slotFn) && (slots[slotName] = () => slotFn)\n }\n }\n}\n"],"names":["labelMouseEnter","e","item","_this","el","labelEl","isRequried","labelWidth","findTreeNode","treeData","key","value","result","filterResult","getTooltipValue","type","options","tempArr","newVal","optValue","optLabel","_a","_b","selectItem","_c","_d","getSpanValue","valueMouseEnter","showCom","inputEl","textWidth","customPlaceholder","customName","name","formItemSlot","renderSlot","arr","slots","prop","slotName","slotFn","isSlotsValue"],"mappings":"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"}