@silver-formily/element-plus 3.0.1 → 3.0.2
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.
- package/esm/__builtins__/shared/loading.mjs +1 -1
- package/esm/__builtins__/shared/loading.mjs.map +1 -1
- package/esm/__builtins__/shared/use-enter-submit.mjs +57 -16
- package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -1
- package/esm/array-base/index.mjs +21 -22
- package/esm/array-base/index.mjs.map +1 -1
- package/esm/array-base/utils.mjs +17 -18
- package/esm/array-base/utils.mjs.map +1 -1
- package/esm/array-cards/index.mjs +11 -12
- package/esm/array-cards/index.mjs.map +1 -1
- package/esm/array-collapse/index.mjs +26 -27
- package/esm/array-collapse/index.mjs.map +1 -1
- package/esm/array-collapse/utils.mjs +3 -4
- package/esm/array-collapse/utils.mjs.map +1 -1
- package/esm/array-items/index.mjs +20 -21
- package/esm/array-items/index.mjs.map +1 -1
- package/esm/array-list-tabs/index.mjs +28 -29
- package/esm/array-list-tabs/index.mjs.map +1 -1
- package/esm/array-list-tabs/utils.mjs +5 -6
- package/esm/array-list-tabs/utils.mjs.map +1 -1
- package/esm/array-table/index.mjs +52 -53
- package/esm/array-table/index.mjs.map +1 -1
- package/esm/array-table/utils.mjs +10 -11
- package/esm/array-table/utils.mjs.map +1 -1
- package/esm/array-tabs/index.mjs +40 -43
- package/esm/array-tabs/index.mjs.map +1 -1
- package/esm/autocomplete/index.mjs +4 -5
- package/esm/autocomplete/index.mjs.map +1 -1
- package/esm/cascader/index.mjs +7 -8
- package/esm/cascader/index.mjs.map +1 -1
- package/esm/checkbox/index.mjs +4 -5
- package/esm/checkbox/index.mjs.map +1 -1
- package/esm/color-picker/index.mjs +1 -1
- package/esm/color-picker-panel/index.mjs +1 -1
- package/esm/date-picker/index.mjs +1 -1
- package/esm/date-picker-panel/index.mjs +1 -1
- package/esm/editable/index.mjs +28 -29
- package/esm/editable/index.mjs.map +1 -1
- package/esm/form-button-group/index.mjs +8 -9
- package/esm/form-button-group/index.mjs.map +1 -1
- package/esm/form-button-group/utils.mjs +3 -4
- package/esm/form-button-group/utils.mjs.map +1 -1
- package/esm/form-collapse/index.mjs +4 -5
- package/esm/form-collapse/index.mjs.map +1 -1
- package/esm/form-grid/index.mjs +3 -4
- package/esm/form-grid/index.mjs.map +1 -1
- package/esm/form-item/index.mjs +4 -5
- package/esm/form-item/index.mjs.map +1 -1
- package/esm/form-layout/form-layout.mjs +3 -4
- package/esm/form-layout/form-layout.mjs.map +1 -1
- package/esm/form-step/index.mjs +12 -13
- package/esm/form-step/index.mjs.map +1 -1
- package/esm/form-tab/index.mjs +19 -20
- package/esm/form-tab/index.mjs.map +1 -1
- package/esm/input/index.mjs +13 -14
- package/esm/input/index.mjs.map +1 -1
- package/esm/input-number/index.mjs +1 -1
- package/esm/input-tag/index.mjs +12 -13
- package/esm/input-tag/index.mjs.map +1 -1
- package/esm/mention/index.mjs +12 -13
- package/esm/mention/index.mjs.map +1 -1
- package/esm/preview-text/index.mjs +4 -5
- package/esm/preview-text/index.mjs.map +1 -1
- package/esm/query-form/index.mjs +135 -136
- package/esm/query-form/index.mjs.map +1 -1
- package/esm/query-form-item/index.mjs +23 -24
- package/esm/query-form-item/index.mjs.map +1 -1
- package/esm/radio/index.mjs +4 -5
- package/esm/radio/index.mjs.map +1 -1
- package/esm/rate/index.mjs +1 -1
- package/esm/segmented/index.mjs +4 -5
- package/esm/segmented/index.mjs.map +1 -1
- package/esm/select/index.mjs +13 -14
- package/esm/select/index.mjs.map +1 -1
- package/esm/select-table/index.mjs +4 -5
- package/esm/select-table/index.mjs.map +1 -1
- package/esm/slider/index.mjs +1 -1
- package/esm/time-picker/index.mjs +1 -1
- package/esm/time-select/index.d.ts +8 -8
- package/esm/time-select/index.mjs +1 -1
- package/esm/tree/index.mjs +8 -9
- package/esm/tree/index.mjs.map +1 -1
- package/esm/tree-select/index.mjs +4 -5
- package/esm/tree-select/index.mjs.map +1 -1
- package/esm/upload/index.mjs +36 -40
- package/esm/upload/index.mjs.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.mjs","sources":["../../../src/__builtins__/shared/loading.ts"],"sourcesContent":["import type { Form } from '@formily/core'\nimport {
|
|
1
|
+
{"version":3,"file":"loading.mjs","sources":["../../../src/__builtins__/shared/loading.ts"],"sourcesContent":["import type { Form } from '@formily/core'\nimport { reactionWatch } from '@silver-formily/reactive-vue'\nimport { useDebounceFn } from '@vueuse/core'\nimport { ElLoading } from 'element-plus'\nimport { ref } from 'vue'\n\nexport async function loading(loadingText = 'Loading...', processor: () => Promise<any>) {\n let loadingInstance\n const loading = setTimeout(() => {\n loadingInstance = ElLoading.service({\n text: loadingText,\n background: 'transparent',\n })\n }, 100)\n try {\n return await processor()\n }\n finally {\n loadingInstance?.close()\n clearTimeout(loading)\n }\n}\n\n/**\n * 获取当前element-plus的过渡时长并转换为毫秒\n * @param cssVarName CSS 变量名,默认为 '--el-transition-duration'\n * @param defaultValue 默认值(毫秒),默认为 200\n * @returns 过渡时长(毫秒)\n */\nexport function getTransitionDuration(cssVarName = '--el-transition-duration', defaultValue = 200): number {\n const cssVar = getComputedStyle(document.documentElement)\n .getPropertyValue(cssVarName)\n .trim()\n if (!cssVar) {\n return defaultValue\n }\n const durationMatch = cssVar.match(/^([\\d.]+)\\s*(s|ms)?$/)\n if (!durationMatch) {\n return defaultValue\n }\n\n const value = Number.parseFloat(durationMatch[1])\n const unit = durationMatch[2] || 'ms'\n\n switch (unit) {\n case 's': {\n return value * 1000\n }\n case 'ms': {\n return value\n }\n }\n}\n\nexport function useDebonceSubmitting(form: Form) {\n const internalSubmitting = ref(false)\n const transitionDuration = getTransitionDuration()\n\n const setSubmittingFalse = useDebounceFn(() => {\n internalSubmitting.value = false\n }, () => transitionDuration)\n\n reactionWatch(() => form.submitting, (val) => {\n if (val === false) {\n setSubmittingFalse()\n }\n else {\n internalSubmitting.value = val\n }\n })\n\n return {\n internalSubmitting,\n }\n}\n"],"names":["loading","loadingText","processor","loadingInstance","ElLoading","getTransitionDuration","cssVarName","defaultValue","cssVar","durationMatch","value","useDebonceSubmitting","form","internalSubmitting","ref","transitionDuration","setSubmittingFalse","useDebounceFn","reactionWatch","val"],"mappings":";;;;AAMA,eAAsBA,EAAQC,IAAc,cAAcC,GAA+B;AACvF,MAAIC;AACJ,QAAMH,IAAU,WAAW,MAAM;AAC/B,IAAAG,IAAkBC,EAAU,QAAQ;AAAA,MAClC,MAAMH;AAAA,MACN,YAAY;AAAA,IAAA,CACb;AAAA,EACH,GAAG,GAAG;AACN,MAAI;AACF,WAAO,MAAMC,EAAA;AAAA,EACf,UAAA;AAEE,IAAAC,GAAiB,MAAA,GACjB,aAAaH,CAAO;AAAA,EACtB;AACF;AAQO,SAASK,EAAsBC,IAAa,4BAA4BC,IAAe,KAAa;AACzG,QAAMC,IAAS,iBAAiB,SAAS,eAAe,EACrD,iBAAiBF,CAAU,EAC3B,KAAA;AACH,MAAI,CAACE;AACH,WAAOD;AAET,QAAME,IAAgBD,EAAO,MAAM,sBAAsB;AACzD,MAAI,CAACC;AACH,WAAOF;AAGT,QAAMG,IAAQ,OAAO,WAAWD,EAAc,CAAC,CAAC;AAGhD,UAFaA,EAAc,CAAC,KAAK,MAEzB;AAAA,IACN,KAAK;AACH,aAAOC,IAAQ;AAAA,IAEjB,KAAK;AACH,aAAOA;AAAA,EACT;AAEJ;AAEO,SAASC,EAAqBC,GAAY;AAC/C,QAAMC,IAAqBC,EAAI,EAAK,GAC9BC,IAAqBV,EAAA,GAErBW,IAAqBC,EAAc,MAAM;AAC7C,IAAAJ,EAAmB,QAAQ;AAAA,EAC7B,GAAG,MAAME,CAAkB;AAE3B,SAAAG,EAAc,MAAMN,EAAK,YAAY,CAACO,MAAQ;AAC5C,IAAIA,MAAQ,KACVH,EAAA,IAGAH,EAAmB,QAAQM;AAAA,EAE/B,CAAC,GAEM;AAAA,IACL,oBAAAN;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,25 +1,66 @@
|
|
|
1
1
|
import { useEventListener as d } from "@vueuse/core";
|
|
2
|
-
import { computed as
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
import { computed as b, watch as h, onBeforeUnmount as w } from "vue";
|
|
3
|
+
const c = globalThis.window === void 0 ? void 0 : globalThis, y = /* @__PURE__ */ new Set([
|
|
4
|
+
"text",
|
|
5
|
+
"search",
|
|
6
|
+
"email",
|
|
7
|
+
"password",
|
|
8
|
+
"tel",
|
|
9
|
+
"url",
|
|
10
|
+
"number"
|
|
11
|
+
]), E = [
|
|
12
|
+
"button",
|
|
13
|
+
"a[href]",
|
|
14
|
+
"select",
|
|
15
|
+
"summary",
|
|
16
|
+
"[role=button]",
|
|
17
|
+
"[role=link]",
|
|
18
|
+
"[role=checkbox]",
|
|
19
|
+
"[role=radio]",
|
|
20
|
+
"[role=switch]",
|
|
21
|
+
"[role=tab]",
|
|
22
|
+
"[role=menuitem]",
|
|
23
|
+
"[role=option]",
|
|
24
|
+
"[role=combobox]",
|
|
25
|
+
"[role=listbox]"
|
|
26
|
+
].join(",");
|
|
27
|
+
function x(t) {
|
|
28
|
+
const o = t?.closest("input");
|
|
29
|
+
if (!o)
|
|
30
|
+
return !1;
|
|
31
|
+
const u = (o.getAttribute("type") ?? "text").toLowerCase();
|
|
32
|
+
return y.has(u);
|
|
33
|
+
}
|
|
34
|
+
function S(t) {
|
|
35
|
+
if (!t || x(t))
|
|
36
|
+
return !1;
|
|
37
|
+
if (t.closest(E))
|
|
38
|
+
return !0;
|
|
39
|
+
const o = t.ownerDocument?.activeElement;
|
|
40
|
+
return o instanceof HTMLElement ? o !== t.ownerDocument.body && o !== t.ownerDocument.documentElement && o === t : !1;
|
|
41
|
+
}
|
|
42
|
+
function L({ visible: t, resolve: o, submitting: u, getContainer: f, enabled: i = !0 }) {
|
|
43
|
+
let r = null;
|
|
44
|
+
const l = b(() => typeof i == "boolean" ? i : i?.value ?? !0), m = (e) => {
|
|
45
|
+
if (e.isComposing || e.shiftKey || e.altKey || e.ctrlKey || e.metaKey || !t.value || !l.value || u.value || e.defaultPrevented)
|
|
46
|
+
return !0;
|
|
47
|
+
const n = f();
|
|
48
|
+
if (!n || !(e.target instanceof Node) || !n.contains(e.target))
|
|
8
49
|
return !0;
|
|
9
|
-
const
|
|
10
|
-
return !!(
|
|
11
|
-
},
|
|
12
|
-
|
|
13
|
-
},
|
|
14
|
-
|
|
50
|
+
const a = e.target;
|
|
51
|
+
return !!(a?.closest("textarea,[contenteditable=true]") || S(a));
|
|
52
|
+
}, p = (e) => {
|
|
53
|
+
e.key !== "Enter" || m(e) || (e.preventDefault(), o());
|
|
54
|
+
}, s = (e) => {
|
|
55
|
+
r && (r(), r = null), e && c && (r = d(c, "keydown", p, {
|
|
15
56
|
passive: !1
|
|
16
57
|
}));
|
|
17
58
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}, { immediate: !0 }),
|
|
59
|
+
h([t, l], ([e, n]) => {
|
|
60
|
+
s(e && n);
|
|
61
|
+
}, { immediate: !0 }), w(() => s(!1));
|
|
21
62
|
}
|
|
22
63
|
export {
|
|
23
|
-
|
|
64
|
+
L as useEnterSubmit
|
|
24
65
|
};
|
|
25
66
|
//# sourceMappingURL=use-enter-submit.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-enter-submit.mjs","sources":["../../../src/__builtins__/shared/use-enter-submit.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { computed, onBeforeUnmount, watch } from 'vue'\n\nexport interface UseEnterSubmitOptions {\n visible: Ref<boolean>\n resolve: () => void\n submitting: Ref<boolean>\n getContainer: () => HTMLElement | null\n enabled?: Ref<boolean> | boolean\n}\n\nconst runtimeWindow = globalThis.window === undefined ? undefined : globalThis\n\nexport function useEnterSubmit({ visible, resolve, submitting, getContainer, enabled = true }: UseEnterSubmitOptions) {\n let stopListener: (() => void) | null = null\n const enabledRef = computed(() => {\n if (typeof enabled === 'boolean')\n return enabled\n\n return enabled?.value ?? true\n })\n\n const shouldSkipSubmit = (event: KeyboardEvent) => {\n if (\n event.isComposing\n || event.shiftKey\n || event.altKey\n || event.ctrlKey\n || event.metaKey\n || !visible.value\n || !enabledRef.value\n || submitting.value\n || event.defaultPrevented\n ) {\n return true\n }\n\n const container = getContainer()\n if (!container || !(event.target instanceof Node) || !container.contains(event.target))\n return true\n\n const target = event.target as HTMLElement | null\n if (target?.closest('textarea,[contenteditable=true]'))\n return true\n\n return false\n }\n\n const handleEnterSubmit = (event: KeyboardEvent) => {\n if (event.key !== 'Enter' || shouldSkipSubmit(event))\n return\n\n event.preventDefault()\n resolve()\n }\n\n const toggleListener = (shouldListen: boolean) => {\n if (stopListener) {\n stopListener()\n stopListener = null\n }\n\n if (shouldListen && runtimeWindow) {\n stopListener = useEventListener(runtimeWindow, 'keydown', handleEnterSubmit, {\n passive: false,\n })\n }\n }\n\n watch([visible, enabledRef], ([visibleValue, enabledValue]) => {\n toggleListener(visibleValue && enabledValue)\n }, { immediate: true })\n\n onBeforeUnmount(() => toggleListener(false))\n}\n"],"names":["runtimeWindow","useEnterSubmit","visible","resolve","submitting","getContainer","enabled","stopListener","enabledRef","computed","shouldSkipSubmit","event","container","handleEnterSubmit","toggleListener","shouldListen","useEventListener","watch","visibleValue","enabledValue","onBeforeUnmount"],"mappings":";;AAYA,MAAMA,IAAgB,WAAW,WAAW,SAAY,SAAY;
|
|
1
|
+
{"version":3,"file":"use-enter-submit.mjs","sources":["../../../src/__builtins__/shared/use-enter-submit.ts"],"sourcesContent":["import type { Ref } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { computed, onBeforeUnmount, watch } from 'vue'\n\nexport interface UseEnterSubmitOptions {\n visible: Ref<boolean>\n resolve: () => void\n submitting: Ref<boolean>\n getContainer: () => HTMLElement | null\n enabled?: Ref<boolean> | boolean\n}\n\nconst runtimeWindow = globalThis.window === undefined ? undefined : globalThis\nconst submitOnEnterInputTypes = new Set([\n 'text',\n 'search',\n 'email',\n 'password',\n 'tel',\n 'url',\n 'number',\n])\nconst defaultEnterBehaviorSelector = [\n 'button',\n 'a[href]',\n 'select',\n 'summary',\n '[role=button]',\n '[role=link]',\n '[role=checkbox]',\n '[role=radio]',\n '[role=switch]',\n '[role=tab]',\n '[role=menuitem]',\n '[role=option]',\n '[role=combobox]',\n '[role=listbox]',\n].join(',')\n\nfunction shouldSubmitOnEnter(target: HTMLElement | null) {\n const input = target?.closest('input') as HTMLInputElement | null\n if (!input)\n return false\n\n const inputType = (input.getAttribute('type') ?? 'text').toLowerCase()\n return submitOnEnterInputTypes.has(inputType)\n}\n\nfunction shouldRespectDefaultEnterBehavior(target: HTMLElement | null) {\n if (!target || shouldSubmitOnEnter(target))\n return false\n\n if (target.closest(defaultEnterBehaviorSelector))\n return true\n\n const activeElement = target.ownerDocument?.activeElement\n if (!(activeElement instanceof HTMLElement))\n return false\n\n return activeElement !== target.ownerDocument.body\n && activeElement !== target.ownerDocument.documentElement\n && activeElement === target\n}\n\nexport function useEnterSubmit({ visible, resolve, submitting, getContainer, enabled = true }: UseEnterSubmitOptions) {\n let stopListener: (() => void) | null = null\n const enabledRef = computed(() => {\n if (typeof enabled === 'boolean')\n return enabled\n\n return enabled?.value ?? true\n })\n\n const shouldSkipSubmit = (event: KeyboardEvent) => {\n if (\n event.isComposing\n || event.shiftKey\n || event.altKey\n || event.ctrlKey\n || event.metaKey\n || !visible.value\n || !enabledRef.value\n || submitting.value\n || event.defaultPrevented\n ) {\n return true\n }\n\n const container = getContainer()\n if (!container || !(event.target instanceof Node) || !container.contains(event.target))\n return true\n\n const target = event.target as HTMLElement | null\n if (target?.closest('textarea,[contenteditable=true]'))\n return true\n if (shouldRespectDefaultEnterBehavior(target))\n return true\n\n return false\n }\n\n const handleEnterSubmit = (event: KeyboardEvent) => {\n if (event.key !== 'Enter' || shouldSkipSubmit(event))\n return\n\n event.preventDefault()\n resolve()\n }\n\n const toggleListener = (shouldListen: boolean) => {\n if (stopListener) {\n stopListener()\n stopListener = null\n }\n\n if (shouldListen && runtimeWindow) {\n stopListener = useEventListener(runtimeWindow, 'keydown', handleEnterSubmit, {\n passive: false,\n })\n }\n }\n\n watch([visible, enabledRef], ([visibleValue, enabledValue]) => {\n toggleListener(visibleValue && enabledValue)\n }, { immediate: true })\n\n onBeforeUnmount(() => toggleListener(false))\n}\n"],"names":["runtimeWindow","submitOnEnterInputTypes","defaultEnterBehaviorSelector","shouldSubmitOnEnter","target","input","inputType","shouldRespectDefaultEnterBehavior","activeElement","useEnterSubmit","visible","resolve","submitting","getContainer","enabled","stopListener","enabledRef","computed","shouldSkipSubmit","event","container","handleEnterSubmit","toggleListener","shouldListen","useEventListener","watch","visibleValue","enabledValue","onBeforeUnmount"],"mappings":";;AAYA,MAAMA,IAAgB,WAAW,WAAW,SAAY,SAAY,YAC9DC,wBAA8B,IAAI;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC,GACKC,IAA+B;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG;AAEV,SAASC,EAAoBC,GAA4B;AACvD,QAAMC,IAAQD,GAAQ,QAAQ,OAAO;AACrC,MAAI,CAACC;AACH,WAAO;AAET,QAAMC,KAAaD,EAAM,aAAa,MAAM,KAAK,QAAQ,YAAA;AACzD,SAAOJ,EAAwB,IAAIK,CAAS;AAC9C;AAEA,SAASC,EAAkCH,GAA4B;AACrE,MAAI,CAACA,KAAUD,EAAoBC,CAAM;AACvC,WAAO;AAET,MAAIA,EAAO,QAAQF,CAA4B;AAC7C,WAAO;AAET,QAAMM,IAAgBJ,EAAO,eAAe;AAC5C,SAAMI,aAAyB,cAGxBA,MAAkBJ,EAAO,cAAc,QACzCI,MAAkBJ,EAAO,cAAc,mBACvCI,MAAkBJ,IAJd;AAKX;AAEO,SAASK,EAAe,EAAE,SAAAC,GAAS,SAAAC,GAAS,YAAAC,GAAY,cAAAC,GAAc,SAAAC,IAAU,MAA+B;AACpH,MAAIC,IAAoC;AACxC,QAAMC,IAAaC,EAAS,MACtB,OAAOH,KAAY,YACdA,IAEFA,GAAS,SAAS,EAC1B,GAEKI,IAAmB,CAACC,MAAyB;AACjD,QACEA,EAAM,eACHA,EAAM,YACNA,EAAM,UACNA,EAAM,WACNA,EAAM,WACN,CAACT,EAAQ,SACT,CAACM,EAAW,SACZJ,EAAW,SACXO,EAAM;AAET,aAAO;AAGT,UAAMC,IAAYP,EAAA;AAClB,QAAI,CAACO,KAAa,EAAED,EAAM,kBAAkB,SAAS,CAACC,EAAU,SAASD,EAAM,MAAM;AACnF,aAAO;AAET,UAAMf,IAASe,EAAM;AAGrB,WAFI,GAAAf,GAAQ,QAAQ,iCAAiC,KAEjDG,EAAkCH,CAAM;AAAA,EAI9C,GAEMiB,IAAoB,CAACF,MAAyB;AAClD,IAAIA,EAAM,QAAQ,WAAWD,EAAiBC,CAAK,MAGnDA,EAAM,eAAA,GACNR,EAAA;AAAA,EACF,GAEMW,IAAiB,CAACC,MAA0B;AAChD,IAAIR,MACFA,EAAA,GACAA,IAAe,OAGbQ,KAAgBvB,MAClBe,IAAeS,EAAiBxB,GAAe,WAAWqB,GAAmB;AAAA,MAC3E,SAAS;AAAA,IAAA,CACV;AAAA,EAEL;AAEA,EAAAI,EAAM,CAACf,GAASM,CAAU,GAAG,CAAC,CAACU,GAAcC,CAAY,MAAM;AAC7D,IAAAL,EAAeI,KAAgBC,CAAY;AAAA,EAC7C,GAAG,EAAE,WAAW,IAAM,GAEtBC,EAAgB,MAAMN,EAAe,EAAK,CAAC;AAC7C;"}
|
package/esm/array-base/index.mjs
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { ElLink as m } from "element-plus";
|
|
2
|
-
import "@formily/reactive";
|
|
2
|
+
import "@silver-formily/reactive-vue";
|
|
3
3
|
import "@vueuse/core";
|
|
4
|
-
import { defineComponent as
|
|
4
|
+
import { defineComponent as o, unref as a, openBlock as i, createBlock as f, normalizeClass as c, withCtx as h, createTextVNode as _, toDisplayString as v, createCommentVNode as y, createElementBlock as C, renderSlot as u, provide as M, useAttrs as w, withModifiers as $ } from "vue";
|
|
5
5
|
import "@formily/core";
|
|
6
|
-
import "@silver-formily/reactive-vue";
|
|
7
6
|
import { useField as B, useFieldSchema as D } from "@silver-formily/vue";
|
|
8
7
|
import { compatibleUnderlineProp as b, composeExport as I } from "../__builtins__/shared/utils.mjs";
|
|
9
8
|
import { Plus as R, ArrowDown as S, ArrowUp as U, Delete as V, Rank as z } from "@element-plus/icons-vue";
|
|
10
9
|
import { useArray as p, prefixCls as d, getDefaultValue as g, useIndex as k, useRecord as E, useKey as F } from "./utils.mjs";
|
|
11
10
|
import { ArrayBaseSymbol as H, ItemSymbol as N } from "./symbols.mjs";
|
|
12
11
|
import { isArr as x } from "@formily/shared";
|
|
13
|
-
import '../styles/array-base/index.css';const P = /* @__PURE__ */
|
|
12
|
+
import '../styles/array-base/index.css';const P = /* @__PURE__ */ o({
|
|
14
13
|
name: "ArrayBaseAddition",
|
|
15
14
|
__name: "array-base-addition",
|
|
16
15
|
props: {
|
|
@@ -20,7 +19,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
20
19
|
},
|
|
21
20
|
setup(n) {
|
|
22
21
|
const r = n, t = B(), e = p();
|
|
23
|
-
function
|
|
22
|
+
function l() {
|
|
24
23
|
const s = g(r.defaultValue, e?.schema.value);
|
|
25
24
|
r.method === "unshift" ? (e?.field?.value.unshift(s), e.attrs?.add?.(0)) : (e?.field?.value.push(s), e.attrs?.add?.(e?.field?.value?.value?.length - 1));
|
|
26
25
|
}
|
|
@@ -31,7 +30,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
31
30
|
underline: a(b)(),
|
|
32
31
|
role: "button",
|
|
33
32
|
"aria-label": "添加条目",
|
|
34
|
-
onClick:
|
|
33
|
+
onClick: l
|
|
35
34
|
}, {
|
|
36
35
|
default: h(() => [
|
|
37
36
|
_(v(a(t).title || r.title), 1)
|
|
@@ -39,7 +38,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
39
38
|
_: 1
|
|
40
39
|
}, 8, ["class", "icon", "underline"])) : y("", !0);
|
|
41
40
|
}
|
|
42
|
-
}), K = /* @__PURE__ */
|
|
41
|
+
}), K = /* @__PURE__ */ o({
|
|
43
42
|
name: "ArrayBaseIndex",
|
|
44
43
|
__name: "array-base-index",
|
|
45
44
|
setup(n) {
|
|
@@ -52,7 +51,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
52
51
|
])
|
|
53
52
|
], 2));
|
|
54
53
|
}
|
|
55
|
-
}), L = /* @__PURE__ */
|
|
54
|
+
}), L = /* @__PURE__ */ o({
|
|
56
55
|
name: "ArrayBaseInner",
|
|
57
56
|
inheritAttrs: !1,
|
|
58
57
|
__name: "array-base-inner",
|
|
@@ -68,9 +67,9 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
68
67
|
props: r,
|
|
69
68
|
attrs: w(),
|
|
70
69
|
keyMap: r.keyMap
|
|
71
|
-
}), (
|
|
70
|
+
}), (l, s) => u(l.$slots, "default");
|
|
72
71
|
}
|
|
73
|
-
}), T = /* @__PURE__ */
|
|
72
|
+
}), T = /* @__PURE__ */ o({
|
|
74
73
|
name: "ArrayBaseItem",
|
|
75
74
|
__name: "array-base-item",
|
|
76
75
|
props: {
|
|
@@ -80,7 +79,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
80
79
|
setup(n) {
|
|
81
80
|
return M(N, n), (t, e) => u(t.$slots, "default");
|
|
82
81
|
}
|
|
83
|
-
}), j = /* @__PURE__ */
|
|
82
|
+
}), j = /* @__PURE__ */ o({
|
|
84
83
|
name: "ArrayBaseMoveDown",
|
|
85
84
|
__name: "array-base-move-down",
|
|
86
85
|
props: {
|
|
@@ -88,7 +87,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
88
87
|
},
|
|
89
88
|
setup(n) {
|
|
90
89
|
const r = n, t = k(), e = p();
|
|
91
|
-
function
|
|
90
|
+
function l() {
|
|
92
91
|
x(e?.keyMap) && e.keyMap.splice(
|
|
93
92
|
t.value + 1,
|
|
94
93
|
0,
|
|
@@ -103,7 +102,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
103
102
|
underline: a(b)(),
|
|
104
103
|
role: "button",
|
|
105
104
|
"aria-label": "下移条目",
|
|
106
|
-
onClick: $(
|
|
105
|
+
onClick: $(l, ["stop"])
|
|
107
106
|
}, {
|
|
108
107
|
default: h(() => [
|
|
109
108
|
u(s.$slots, "default", {}, () => [
|
|
@@ -113,7 +112,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
113
112
|
_: 3
|
|
114
113
|
}, 8, ["class", "icon", "underline"])) : y("", !0);
|
|
115
114
|
}
|
|
116
|
-
}), q = /* @__PURE__ */
|
|
115
|
+
}), q = /* @__PURE__ */ o({
|
|
117
116
|
name: "ArrayBaseMoveUp",
|
|
118
117
|
__name: "array-base-move-up",
|
|
119
118
|
props: {
|
|
@@ -121,7 +120,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
121
120
|
},
|
|
122
121
|
setup(n) {
|
|
123
122
|
const r = n, t = k(), e = p();
|
|
124
|
-
function
|
|
123
|
+
function l() {
|
|
125
124
|
x(e?.keyMap) && e.keyMap.splice(
|
|
126
125
|
t.value - 1,
|
|
127
126
|
0,
|
|
@@ -136,7 +135,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
136
135
|
underline: a(b)(),
|
|
137
136
|
role: "button",
|
|
138
137
|
"aria-label": "上移条目",
|
|
139
|
-
onClick: $(
|
|
138
|
+
onClick: $(l, ["stop"])
|
|
140
139
|
}, {
|
|
141
140
|
default: h(() => [
|
|
142
141
|
u(s.$slots, "default", {}, () => [
|
|
@@ -146,7 +145,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
146
145
|
_: 3
|
|
147
146
|
}, 8, ["class", "icon", "underline"])) : y("", !0);
|
|
148
147
|
}
|
|
149
|
-
}), G = /* @__PURE__ */
|
|
148
|
+
}), G = /* @__PURE__ */ o({
|
|
150
149
|
name: "ArrayBaseRemove",
|
|
151
150
|
__name: "array-base-remove",
|
|
152
151
|
props: {
|
|
@@ -154,7 +153,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
154
153
|
},
|
|
155
154
|
setup(n) {
|
|
156
155
|
const r = n, t = k(), e = p();
|
|
157
|
-
function
|
|
156
|
+
function l() {
|
|
158
157
|
x(e?.keyMap) && e?.keyMap?.splice(t.value, 1), e?.field.value.remove(t.value), e?.attrs?.remove?.(t.value);
|
|
159
158
|
}
|
|
160
159
|
return (s, A) => a(e)?.field.value.pattern === "editable" ? (i(), f(a(m), {
|
|
@@ -165,7 +164,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
165
164
|
underline: a(b)(),
|
|
166
165
|
role: "button",
|
|
167
166
|
"aria-label": "移除条目",
|
|
168
|
-
onClick: $(
|
|
167
|
+
onClick: $(l, ["stop"])
|
|
169
168
|
}, {
|
|
170
169
|
default: h(() => [
|
|
171
170
|
u(s.$slots, "default", {}, () => [
|
|
@@ -175,7 +174,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
175
174
|
_: 3
|
|
176
175
|
}, 8, ["class", "icon", "underline"])) : y("", !0);
|
|
177
176
|
}
|
|
178
|
-
}), J = /* @__PURE__ */
|
|
177
|
+
}), J = /* @__PURE__ */ o({
|
|
179
178
|
name: "ArrayBaseSortHandle",
|
|
180
179
|
__name: "array-base-sort-handle",
|
|
181
180
|
setup(n) {
|
|
@@ -191,7 +190,7 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
191
190
|
"aria-dropeffect": "move"
|
|
192
191
|
}, null, 8, ["class", "icon", "underline"])) : y("", !0);
|
|
193
192
|
}
|
|
194
|
-
}),
|
|
193
|
+
}), se = I(L, {
|
|
195
194
|
Index: K,
|
|
196
195
|
Item: T,
|
|
197
196
|
SortHandle: J,
|
|
@@ -205,6 +204,6 @@ import '../styles/array-base/index.css';const P = /* @__PURE__ */ l({
|
|
|
205
204
|
useRecord: E
|
|
206
205
|
});
|
|
207
206
|
export {
|
|
208
|
-
|
|
207
|
+
se as ArrayBase
|
|
209
208
|
};
|
|
210
209
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/array-base/array-base-addition.vue","../../src/array-base/array-base-index.vue","../../src/array-base/array-base-inner.vue","../../src/array-base/array-base-item.vue","../../src/array-base/array-base-move-down.vue","../../src/array-base/array-base-move-up.vue","../../src/array-base/array-base-remove.vue","../../src/array-base/array-base-sort-handle.vue","../../src/array-base/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IArrayBaseAdditionProps } from './types'\nimport { Plus } from '@element-plus/icons-vue'\nimport { useField } from '@silver-formily/vue'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { getDefaultValue, prefixCls, useArray } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseAddition',\n})\n\nconst props = withDefaults(defineProps<IArrayBaseAdditionProps>(), {\n method: 'push',\n})\n\nconst self = useField()\nconst base = useArray()\n\nfunction onAddItemClick() {\n const defaultValue = getDefaultValue(props.defaultValue, base?.schema.value)\n if (props.method === 'unshift') {\n base?.field?.value.unshift(defaultValue)\n base.attrs?.add?.(0)\n }\n else {\n base?.field?.value.push(defaultValue)\n base.attrs?.add?.(base?.field?.value?.value?.length - 1)\n }\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-addition`\"\n :icon=\"Plus\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"添加条目\"\n @click=\"onAddItemClick\"\n >\n {{ self.title || props.title }}\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport { prefixCls, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseIndex',\n})\n\nconst index = useIndex()\n</script>\n\n<template>\n <span :class=\"`${prefixCls}-index`\">\n <slot :index=\"index\">\n #{{ index + 1 }}.\n </slot>\n </span>\n</template>\n","<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { IArrayBaseProps } from './types'\nimport { useField, useFieldSchema } from '@silver-formily/vue'\nimport { provide, useAttrs } from 'vue'\nimport { ArrayBaseSymbol } from './symbols'\n\ndefineOptions({\n name: 'ArrayBaseInner',\n inheritAttrs: false,\n})\n\nconst props = defineProps<IArrayBaseProps>()\n\nconst field = useField<ArrayField>()\nconst schema = useFieldSchema()\n\nprovide(ArrayBaseSymbol, {\n field,\n schema,\n props,\n attrs: useAttrs(),\n keyMap: props.keyMap,\n})\n</script>\n\n<template>\n <slot />\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseItemProps } from './types'\nimport { provide } from 'vue'\nimport { ItemSymbol } from './symbols'\n\ndefineOptions({\n name: 'ArrayBaseItem',\n})\n\nconst props = defineProps<IArrayBaseItemProps>()\n\nprovide(ItemSymbol, props)\n</script>\n\n<template>\n <slot />\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseMoveDown',\n})\n\nconst props = defineProps<IArrayBaseOperationProps>()\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base.keyMap.splice(\n indexRef.value + 1,\n 0,\n base.keyMap.splice(indexRef.value, 1)[0],\n )\n }\n base?.field.value.moveDown(indexRef.value as number)\n base?.attrs?.moveDown?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-move-down`\"\n size=\"small\"\n :icon=\"ArrowDown\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"下移条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { ArrowUp } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseMoveUp',\n})\n\nconst props = defineProps<IArrayBaseOperationProps>()\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base.keyMap.splice(\n indexRef.value - 1,\n 0,\n base.keyMap.splice(indexRef.value, 1)[0],\n )\n }\n base?.field.value.moveUp(indexRef.value as number)\n base?.attrs?.moveUp?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-move-up`\"\n size=\"small\"\n :icon=\"ArrowUp\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"上移条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { Delete } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseRemove',\n})\n\nconst props = defineProps<IArrayBaseOperationProps>()\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base?.keyMap?.splice(indexRef.value, 1)\n }\n\n base?.field.value.remove(indexRef.value as number)\n base?.attrs?.remove?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-remove`\"\n size=\"small\"\n :icon=\"Delete\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"移除条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport { Rank } from '@element-plus/icons-vue'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { prefixCls, useArray } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseSortHandle',\n})\n\nconst array = useArray()\n</script>\n\n<template>\n <ElLink\n v-if=\"array.field.value?.pattern === 'editable'\"\n :class=\"`${prefixCls}-sort-handle`\"\n size=\"small\"\n :icon=\"Rank\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"拖拽排序\"\n aria-dropeffect=\"move\"\n />\n</template>\n","import { composeExport } from '../__builtins__/shared'\nimport ArrayBaseAddition from './array-base-addition.vue'\nimport ArrayBaseIndex from './array-base-index.vue'\nimport ArrayBaseInner from './array-base-inner.vue'\nimport ArrayBaseItem from './array-base-item.vue'\nimport ArrayBaseMoveDown from './array-base-move-down.vue'\nimport ArrayBaseMoveUp from './array-base-move-up.vue'\nimport ArrayBaseRemove from './array-base-remove.vue'\nimport ArrayBaseSortHandle from './array-base-sort-handle.vue'\nimport { useArray, useIndex, useKey, useRecord } from './utils'\nimport './style.scss'\n\nexport const ArrayBase = composeExport(ArrayBaseInner, {\n Index: ArrayBaseIndex,\n Item: ArrayBaseItem,\n SortHandle: ArrayBaseSortHandle,\n Addition: ArrayBaseAddition,\n Remove: ArrayBaseRemove,\n MoveDown: ArrayBaseMoveDown,\n MoveUp: ArrayBaseMoveUp,\n useArray,\n useIndex,\n useKey,\n useRecord,\n})\n"],"names":["props","__props","self","useField","base","useArray","onAddItemClick","defaultValue","getDefaultValue","_unref","_createBlock","ElLink","prefixCls","Plus","compatibleUnderlineProp","_createTextVNode","_toDisplayString","index","useIndex","_createElementBlock","_renderSlot","_ctx","field","schema","useFieldSchema","provide","ArrayBaseSymbol","useAttrs","ItemSymbol","indexRef","handleClick","isArr","ArrowDown","ArrowUp","Delete","array","Rank","ArrayBase","composeExport","ArrayBaseInner","ArrayBaseIndex","ArrayBaseItem","ArrayBaseSortHandle","ArrayBaseAddition","ArrayBaseRemove","ArrayBaseMoveDown","ArrayBaseMoveUp","useKey","useRecord"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/array-base/array-base-addition.vue","../../src/array-base/array-base-index.vue","../../src/array-base/array-base-inner.vue","../../src/array-base/array-base-item.vue","../../src/array-base/array-base-move-down.vue","../../src/array-base/array-base-move-up.vue","../../src/array-base/array-base-remove.vue","../../src/array-base/array-base-sort-handle.vue","../../src/array-base/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IArrayBaseAdditionProps } from './types'\nimport { Plus } from '@element-plus/icons-vue'\nimport { useField } from '@silver-formily/vue'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { getDefaultValue, prefixCls, useArray } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseAddition',\n})\n\nconst props = withDefaults(defineProps<IArrayBaseAdditionProps>(), {\n method: 'push',\n})\n\nconst self = useField()\nconst base = useArray()\n\nfunction onAddItemClick() {\n const defaultValue = getDefaultValue(props.defaultValue, base?.schema.value)\n if (props.method === 'unshift') {\n base?.field?.value.unshift(defaultValue)\n base.attrs?.add?.(0)\n }\n else {\n base?.field?.value.push(defaultValue)\n base.attrs?.add?.(base?.field?.value?.value?.length - 1)\n }\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-addition`\"\n :icon=\"Plus\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"添加条目\"\n @click=\"onAddItemClick\"\n >\n {{ self.title || props.title }}\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport { prefixCls, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseIndex',\n})\n\nconst index = useIndex()\n</script>\n\n<template>\n <span :class=\"`${prefixCls}-index`\">\n <slot :index=\"index\">\n #{{ index + 1 }}.\n </slot>\n </span>\n</template>\n","<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { IArrayBaseProps } from './types'\nimport { useField, useFieldSchema } from '@silver-formily/vue'\nimport { provide, useAttrs } from 'vue'\nimport { ArrayBaseSymbol } from './symbols'\n\ndefineOptions({\n name: 'ArrayBaseInner',\n inheritAttrs: false,\n})\n\nconst props = defineProps<IArrayBaseProps>()\n\nconst field = useField<ArrayField>()\nconst schema = useFieldSchema()\n\nprovide(ArrayBaseSymbol, {\n field,\n schema,\n props,\n attrs: useAttrs(),\n keyMap: props.keyMap,\n})\n</script>\n\n<template>\n <slot />\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseItemProps } from './types'\nimport { provide } from 'vue'\nimport { ItemSymbol } from './symbols'\n\ndefineOptions({\n name: 'ArrayBaseItem',\n})\n\nconst props = defineProps<IArrayBaseItemProps>()\n\nprovide(ItemSymbol, props)\n</script>\n\n<template>\n <slot />\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseMoveDown',\n})\n\nconst props = defineProps<IArrayBaseOperationProps>()\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base.keyMap.splice(\n indexRef.value + 1,\n 0,\n base.keyMap.splice(indexRef.value, 1)[0],\n )\n }\n base?.field.value.moveDown(indexRef.value as number)\n base?.attrs?.moveDown?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-move-down`\"\n size=\"small\"\n :icon=\"ArrowDown\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"下移条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { ArrowUp } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseMoveUp',\n})\n\nconst props = defineProps<IArrayBaseOperationProps>()\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base.keyMap.splice(\n indexRef.value - 1,\n 0,\n base.keyMap.splice(indexRef.value, 1)[0],\n )\n }\n base?.field.value.moveUp(indexRef.value as number)\n base?.attrs?.moveUp?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-move-up`\"\n size=\"small\"\n :icon=\"ArrowUp\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"上移条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { Delete } from '@element-plus/icons-vue'\nimport { isArr } from '@formily/shared'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { prefixCls, useArray, useIndex } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseRemove',\n})\n\nconst props = defineProps<IArrayBaseOperationProps>()\n\nconst indexRef = useIndex()\nconst base = useArray()\n\nfunction handleClick() {\n if (isArr(base?.keyMap)) {\n base?.keyMap?.splice(indexRef.value, 1)\n }\n\n base?.field.value.remove(indexRef.value as number)\n base?.attrs?.remove?.(indexRef.value as number)\n}\n</script>\n\n<template>\n <ElLink\n v-if=\"base?.field.value.pattern === 'editable'\"\n :class=\"`${prefixCls}-remove`\"\n size=\"small\"\n :icon=\"Delete\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"移除条目\"\n @click.stop=\"handleClick\"\n >\n <slot>\n {{ props.title }}\n </slot>\n </ElLink>\n</template>\n","<script lang=\"ts\" setup>\nimport { Rank } from '@element-plus/icons-vue'\nimport { ElLink } from 'element-plus'\nimport { compatibleUnderlineProp } from '../__builtins__'\nimport { prefixCls, useArray } from './utils'\n\ndefineOptions({\n name: 'ArrayBaseSortHandle',\n})\n\nconst array = useArray()\n</script>\n\n<template>\n <ElLink\n v-if=\"array.field.value?.pattern === 'editable'\"\n :class=\"`${prefixCls}-sort-handle`\"\n size=\"small\"\n :icon=\"Rank\"\n :underline=\"compatibleUnderlineProp()\"\n role=\"button\"\n aria-label=\"拖拽排序\"\n aria-dropeffect=\"move\"\n />\n</template>\n","import { composeExport } from '../__builtins__/shared'\nimport ArrayBaseAddition from './array-base-addition.vue'\nimport ArrayBaseIndex from './array-base-index.vue'\nimport ArrayBaseInner from './array-base-inner.vue'\nimport ArrayBaseItem from './array-base-item.vue'\nimport ArrayBaseMoveDown from './array-base-move-down.vue'\nimport ArrayBaseMoveUp from './array-base-move-up.vue'\nimport ArrayBaseRemove from './array-base-remove.vue'\nimport ArrayBaseSortHandle from './array-base-sort-handle.vue'\nimport { useArray, useIndex, useKey, useRecord } from './utils'\nimport './style.scss'\n\nexport const ArrayBase = composeExport(ArrayBaseInner, {\n Index: ArrayBaseIndex,\n Item: ArrayBaseItem,\n SortHandle: ArrayBaseSortHandle,\n Addition: ArrayBaseAddition,\n Remove: ArrayBaseRemove,\n MoveDown: ArrayBaseMoveDown,\n MoveUp: ArrayBaseMoveUp,\n useArray,\n useIndex,\n useKey,\n useRecord,\n})\n"],"names":["props","__props","self","useField","base","useArray","onAddItemClick","defaultValue","getDefaultValue","_unref","_createBlock","ElLink","prefixCls","Plus","compatibleUnderlineProp","_createTextVNode","_toDisplayString","index","useIndex","_createElementBlock","_renderSlot","_ctx","field","schema","useFieldSchema","provide","ArrayBaseSymbol","useAttrs","ItemSymbol","indexRef","handleClick","isArr","ArrowDown","ArrowUp","Delete","array","Rank","ArrayBase","composeExport","ArrayBaseInner","ArrayBaseIndex","ArrayBaseItem","ArrayBaseSortHandle","ArrayBaseAddition","ArrayBaseRemove","ArrayBaseMoveDown","ArrayBaseMoveUp","useKey","useRecord"],"mappings":"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"}
|
package/esm/array-base/utils.mjs
CHANGED
|
@@ -2,28 +2,27 @@ import { isArr as s, uid as u, isValid as c, clone as y } from "@formily/shared"
|
|
|
2
2
|
import { toRefs as f, inject as i } from "vue";
|
|
3
3
|
import { stylePrefix as x } from "../__builtins__/configs/index.mjs";
|
|
4
4
|
import "element-plus";
|
|
5
|
-
import "@formily/reactive";
|
|
5
|
+
import "@silver-formily/reactive-vue";
|
|
6
6
|
import "@vueuse/core";
|
|
7
7
|
import "@formily/core";
|
|
8
|
-
import "@silver-formily/reactive-vue";
|
|
9
8
|
import "@silver-formily/vue";
|
|
10
9
|
import { ItemSymbol as m, ArrayBaseSymbol as d } from "./symbols.mjs";
|
|
11
|
-
const
|
|
12
|
-
function
|
|
10
|
+
const D = `${x}-array-base`;
|
|
11
|
+
function S() {
|
|
13
12
|
return i(d, null);
|
|
14
13
|
}
|
|
15
|
-
function
|
|
14
|
+
function $() {
|
|
16
15
|
const { index: n } = f(i(m));
|
|
17
16
|
return n;
|
|
18
17
|
}
|
|
19
|
-
function
|
|
18
|
+
function K() {
|
|
20
19
|
const { record: n } = f(
|
|
21
20
|
i(m)
|
|
22
21
|
);
|
|
23
22
|
return n;
|
|
24
23
|
}
|
|
25
24
|
const p = (n) => Array.isArray(n?.items) ? p(n.items[0]) : n?.items?.type === "array" || n?.items?.type === "object";
|
|
26
|
-
function
|
|
25
|
+
function U(n) {
|
|
27
26
|
const e = p(n);
|
|
28
27
|
let t = null;
|
|
29
28
|
return t = e ? /* @__PURE__ */ new WeakMap() : [], {
|
|
@@ -34,13 +33,13 @@ function W(n) {
|
|
|
34
33
|
function l(n, e) {
|
|
35
34
|
return c(n) ? y(n) : Array.isArray(e?.items) ? l(n, e.items[0]) : e?.items?.type === "object" ? {} : null;
|
|
36
35
|
}
|
|
37
|
-
function
|
|
36
|
+
function W(n, e) {
|
|
38
37
|
return s(n.items) ? n.items[e] ?? n.items[0] : n.items;
|
|
39
38
|
}
|
|
40
39
|
function a(n) {
|
|
41
40
|
return n["x-component"]?.indexOf("Addition") > -1;
|
|
42
41
|
}
|
|
43
|
-
function
|
|
42
|
+
function B(n) {
|
|
44
43
|
return n["x-component"]?.indexOf("Index") > -1;
|
|
45
44
|
}
|
|
46
45
|
function A(n) {
|
|
@@ -52,22 +51,22 @@ function O(n) {
|
|
|
52
51
|
function b(n) {
|
|
53
52
|
return n["x-component"]?.indexOf("MoveDown") > -1;
|
|
54
53
|
}
|
|
55
|
-
function
|
|
54
|
+
function P(n) {
|
|
56
55
|
return a(n) || A(n) || b(n) || O(n);
|
|
57
56
|
}
|
|
58
57
|
export {
|
|
59
|
-
|
|
58
|
+
W as getArrayItemSchema,
|
|
60
59
|
l as getDefaultValue,
|
|
61
60
|
a as isAdditionComponent,
|
|
62
|
-
|
|
61
|
+
B as isIndexComponent,
|
|
63
62
|
b as isMoveDownComponent,
|
|
64
63
|
O as isMoveUpComponent,
|
|
65
|
-
|
|
64
|
+
P as isOperationComponent,
|
|
66
65
|
A as isRemoveComponent,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
66
|
+
D as prefixCls,
|
|
67
|
+
S as useArray,
|
|
68
|
+
$ as useIndex,
|
|
69
|
+
U as useKey,
|
|
70
|
+
K as useRecord
|
|
72
71
|
};
|
|
73
72
|
//# sourceMappingURL=utils.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../../src/array-base/utils.ts"],"sourcesContent":["import type { ISchema, Schema } from '@formily/json-schema'\nimport type { IArrayBaseItemProps } from './types'\nimport { clone, isArr, isValid, uid } from '@formily/shared'\nimport { inject, toRefs } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { ArrayBaseSymbol, ItemSymbol } from './symbols'\n\nexport const prefixCls = `${stylePrefix}-array-base`\n\nexport function useArray() {\n return inject(ArrayBaseSymbol, null)\n}\n\nexport function useIndex() {\n const { index: indexRef } = toRefs(inject(ItemSymbol) as IArrayBaseItemProps)\n return indexRef\n}\n\n/* istanbul ignore next -- @preserve */\nexport function useRecord() {\n const { record: recordRef } = toRefs(\n inject(ItemSymbol) as IArrayBaseItemProps,\n )\n return recordRef\n}\n\nconst isObjectValue: (schema: Schema) => boolean = (schema: Schema) => {\n if (Array.isArray(schema?.items))\n return isObjectValue(schema.items[0])\n\n if (schema?.items?.type === 'array' || schema?.items?.type === 'object') {\n return true\n }\n return false\n}\n\nexport function useKey(schema: Schema) {\n const isObject = isObjectValue(schema)\n let keyMap: WeakMap<Record<string, unknown>, string> | string[] | null = null\n\n keyMap = isObject ? new WeakMap() : []\n\n return {\n keyMap,\n getKey: (record: any, index?: number) => {\n if (keyMap instanceof WeakMap) {\n if (!keyMap.has(record)) {\n keyMap.set(record, uid())\n }\n return `${keyMap.get(record)}`\n }\n\n if (keyMap && !keyMap[index]) {\n keyMap[index] = uid()\n }\n return `${keyMap[index]}`\n },\n }\n}\n\nexport function getDefaultValue(defaultValue: any, schema: Schema): any {\n if (isValid(defaultValue))\n return clone(defaultValue)\n if (Array.isArray(schema?.items))\n return getDefaultValue(defaultValue, schema.items[0])\n if (schema?.items?.type === 'object')\n return {}\n return null\n}\n\nexport function getArrayItemSchema(schema: ISchema, index: number): ISchema {\n return isArr(schema.items) ? schema.items[index] ?? schema.items[0] : schema.items\n}\n\nexport function isAdditionComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('Addition') > -1\n}\n\nexport function isIndexComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('Index') > -1\n}\n\nexport function isRemoveComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('Remove') > -1\n}\n\nexport function isMoveUpComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('MoveUp') > -1\n}\n\nexport function isMoveDownComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('MoveDown') > -1\n}\n\nexport function isOperationComponent(schema: ISchema) {\n return (\n isAdditionComponent(schema)\n || isRemoveComponent(schema)\n || isMoveDownComponent(schema)\n || isMoveUpComponent(schema)\n )\n}\n"],"names":["prefixCls","stylePrefix","useArray","inject","ArrayBaseSymbol","useIndex","indexRef","toRefs","ItemSymbol","useRecord","recordRef","isObjectValue","schema","useKey","isObject","keyMap","record","index","uid","getDefaultValue","defaultValue","isValid","clone","getArrayItemSchema","isArr","isAdditionComponent","isIndexComponent","isRemoveComponent","isMoveUpComponent","isMoveDownComponent","isOperationComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../src/array-base/utils.ts"],"sourcesContent":["import type { ISchema, Schema } from '@formily/json-schema'\nimport type { IArrayBaseItemProps } from './types'\nimport { clone, isArr, isValid, uid } from '@formily/shared'\nimport { inject, toRefs } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { ArrayBaseSymbol, ItemSymbol } from './symbols'\n\nexport const prefixCls = `${stylePrefix}-array-base`\n\nexport function useArray() {\n return inject(ArrayBaseSymbol, null)\n}\n\nexport function useIndex() {\n const { index: indexRef } = toRefs(inject(ItemSymbol) as IArrayBaseItemProps)\n return indexRef\n}\n\n/* istanbul ignore next -- @preserve */\nexport function useRecord() {\n const { record: recordRef } = toRefs(\n inject(ItemSymbol) as IArrayBaseItemProps,\n )\n return recordRef\n}\n\nconst isObjectValue: (schema: Schema) => boolean = (schema: Schema) => {\n if (Array.isArray(schema?.items))\n return isObjectValue(schema.items[0])\n\n if (schema?.items?.type === 'array' || schema?.items?.type === 'object') {\n return true\n }\n return false\n}\n\nexport function useKey(schema: Schema) {\n const isObject = isObjectValue(schema)\n let keyMap: WeakMap<Record<string, unknown>, string> | string[] | null = null\n\n keyMap = isObject ? new WeakMap() : []\n\n return {\n keyMap,\n getKey: (record: any, index?: number) => {\n if (keyMap instanceof WeakMap) {\n if (!keyMap.has(record)) {\n keyMap.set(record, uid())\n }\n return `${keyMap.get(record)}`\n }\n\n if (keyMap && !keyMap[index]) {\n keyMap[index] = uid()\n }\n return `${keyMap[index]}`\n },\n }\n}\n\nexport function getDefaultValue(defaultValue: any, schema: Schema): any {\n if (isValid(defaultValue))\n return clone(defaultValue)\n if (Array.isArray(schema?.items))\n return getDefaultValue(defaultValue, schema.items[0])\n if (schema?.items?.type === 'object')\n return {}\n return null\n}\n\nexport function getArrayItemSchema(schema: ISchema, index: number): ISchema {\n return isArr(schema.items) ? schema.items[index] ?? schema.items[0] : schema.items\n}\n\nexport function isAdditionComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('Addition') > -1\n}\n\nexport function isIndexComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('Index') > -1\n}\n\nexport function isRemoveComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('Remove') > -1\n}\n\nexport function isMoveUpComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('MoveUp') > -1\n}\n\nexport function isMoveDownComponent(schema: ISchema) {\n return schema['x-component']?.indexOf('MoveDown') > -1\n}\n\nexport function isOperationComponent(schema: ISchema) {\n return (\n isAdditionComponent(schema)\n || isRemoveComponent(schema)\n || isMoveDownComponent(schema)\n || isMoveUpComponent(schema)\n )\n}\n"],"names":["prefixCls","stylePrefix","useArray","inject","ArrayBaseSymbol","useIndex","indexRef","toRefs","ItemSymbol","useRecord","recordRef","isObjectValue","schema","useKey","isObject","keyMap","record","index","uid","getDefaultValue","defaultValue","isValid","clone","getArrayItemSchema","isArr","isAdditionComponent","isIndexComponent","isRemoveComponent","isMoveUpComponent","isMoveDownComponent","isOperationComponent"],"mappings":";;;;;;;;;AAOO,MAAMA,IAAY,GAAGC,CAAW;AAEhC,SAASC,IAAW;AACzB,SAAOC,EAAOC,GAAiB,IAAI;AACrC;AAEO,SAASC,IAAW;AACzB,QAAM,EAAE,OAAOC,EAAA,IAAaC,EAAOJ,EAAOK,CAAU,CAAwB;AAC5E,SAAOF;AACT;AAGO,SAASG,IAAY;AAC1B,QAAM,EAAE,QAAQC,EAAA,IAAcH;AAAA,IAC5BJ,EAAOK,CAAU;AAAA,EAAA;AAEnB,SAAOE;AACT;AAEA,MAAMC,IAA6C,CAACC,MAC9C,MAAM,QAAQA,GAAQ,KAAK,IACtBD,EAAcC,EAAO,MAAM,CAAC,CAAC,IAElCA,GAAQ,OAAO,SAAS,WAAWA,GAAQ,OAAO,SAAS;AAM1D,SAASC,EAAOD,GAAgB;AACrC,QAAME,IAAWH,EAAcC,CAAM;AACrC,MAAIG,IAAqE;AAEzE,SAAAA,IAASD,IAAW,oBAAI,QAAA,IAAY,CAAA,GAE7B;AAAA,IACL,QAAAC;AAAA,IACA,QAAQ,CAACC,GAAaC,MAChBF,aAAkB,WACfA,EAAO,IAAIC,CAAM,KACpBD,EAAO,IAAIC,GAAQE,GAAK,GAEnB,GAAGH,EAAO,IAAIC,CAAM,CAAC,OAG1BD,KAAU,CAACA,EAAOE,CAAK,MACzBF,EAAOE,CAAK,IAAIC,EAAA,IAEX,GAAGH,EAAOE,CAAK,CAAC;AAAA,EACzB;AAEJ;AAEO,SAASE,EAAgBC,GAAmBR,GAAqB;AACtE,SAAIS,EAAQD,CAAY,IACfE,EAAMF,CAAY,IACvB,MAAM,QAAQR,GAAQ,KAAK,IACtBO,EAAgBC,GAAcR,EAAO,MAAM,CAAC,CAAC,IAClDA,GAAQ,OAAO,SAAS,WACnB,CAAA,IACF;AACT;AAEO,SAASW,EAAmBX,GAAiBK,GAAwB;AAC1E,SAAOO,EAAMZ,EAAO,KAAK,IAAIA,EAAO,MAAMK,CAAK,KAAKL,EAAO,MAAM,CAAC,IAAIA,EAAO;AAC/E;AAEO,SAASa,EAAoBb,GAAiB;AACnD,SAAOA,EAAO,aAAa,GAAG,QAAQ,UAAU,IAAI;AACtD;AAEO,SAASc,EAAiBd,GAAiB;AAChD,SAAOA,EAAO,aAAa,GAAG,QAAQ,OAAO,IAAI;AACnD;AAEO,SAASe,EAAkBf,GAAiB;AACjD,SAAOA,EAAO,aAAa,GAAG,QAAQ,QAAQ,IAAI;AACpD;AAEO,SAASgB,EAAkBhB,GAAiB;AACjD,SAAOA,EAAO,aAAa,GAAG,QAAQ,QAAQ,IAAI;AACpD;AAEO,SAASiB,EAAoBjB,GAAiB;AACnD,SAAOA,EAAO,aAAa,GAAG,QAAQ,UAAU,IAAI;AACtD;AAEO,SAASkB,EAAqBlB,GAAiB;AACpD,SACEa,EAAoBb,CAAM,KACvBe,EAAkBf,CAAM,KACxBiB,EAAoBjB,CAAM,KAC1BgB,EAAkBhB,CAAM;AAE/B;"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { ElCard as A, ElEmpty as B, ElRow as N } from "element-plus";
|
|
2
|
-
import {
|
|
2
|
+
import { autorunEffect as $ } from "@silver-formily/reactive-vue";
|
|
3
3
|
import "@vueuse/core";
|
|
4
|
-
import { defineComponent as b, ref as D, openBlock as a, createElementBlock as c, normalizeClass as
|
|
4
|
+
import { defineComponent as b, ref as D, openBlock as a, createElementBlock as c, normalizeClass as E, createVNode as s, unref as e, withCtx as n, createBlock as v, mergeProps as R, createCommentVNode as h, Fragment as C, renderList as x, createElementVNode as I, createTextVNode as H, toDisplayString as K } from "vue";
|
|
5
5
|
import "@formily/core";
|
|
6
|
-
import "@silver-formily/reactive-vue";
|
|
7
6
|
import { useField as P, useFieldSchema as U, RecursionField as d } from "@silver-formily/vue";
|
|
8
7
|
import { composeExport as j } from "../__builtins__/shared/utils.mjs";
|
|
9
8
|
import { ArrayBase as r } from "../array-base/index.mjs";
|
|
@@ -27,11 +26,11 @@ import '../styles/array-cards/index.css';const O = /* @__PURE__ */ b({
|
|
|
27
26
|
return $(() => {
|
|
28
27
|
k.value = f(o.value) ? [...o.value] : [];
|
|
29
28
|
}), (T, q) => (a(), c("div", {
|
|
30
|
-
class:
|
|
29
|
+
class: E(u)
|
|
31
30
|
}, [
|
|
32
31
|
s(e(r), { "key-map": e(M) }, {
|
|
33
32
|
default: n(() => [
|
|
34
|
-
e(f)(e(o).value) && e(o).value.length > 0 ? h("", !0) : (a(), v(e(A),
|
|
33
|
+
e(f)(e(o).value) && e(o).value.length > 0 ? h("", !0) : (a(), v(e(A), R({
|
|
35
34
|
key: 0,
|
|
36
35
|
class: `${u}-item`
|
|
37
36
|
}, i), {
|
|
@@ -40,13 +39,13 @@ import '../styles/array-cards/index.css';const O = /* @__PURE__ */ b({
|
|
|
40
39
|
]),
|
|
41
40
|
_: 1
|
|
42
41
|
}, 16, ["class"])),
|
|
43
|
-
e(f)(i.modelValue) ? (a(!0), c(C, { key: 1 },
|
|
42
|
+
e(f)(i.modelValue) ? (a(!0), c(C, { key: 1 }, x(k.value, (p, t) => (a(), v(e(r).Item, {
|
|
44
43
|
key: e(F)(p, t),
|
|
45
44
|
index: t,
|
|
46
45
|
record: p
|
|
47
46
|
}, {
|
|
48
47
|
default: n(() => [
|
|
49
|
-
s(e(A),
|
|
48
|
+
s(e(A), R({ ref_for: !0 }, i, {
|
|
50
49
|
class: `${u}-item`
|
|
51
50
|
}), {
|
|
52
51
|
header: n(() => [
|
|
@@ -65,7 +64,7 @@ import '../styles/array-cards/index.css';const O = /* @__PURE__ */ b({
|
|
|
65
64
|
H(" " + K(e(y)(e(m), t).title ?? i.title ?? e(o).title), 1)
|
|
66
65
|
]),
|
|
67
66
|
I("span", {
|
|
68
|
-
class:
|
|
67
|
+
class: E(`${u}-extra-container`)
|
|
69
68
|
}, [
|
|
70
69
|
s(e(d), {
|
|
71
70
|
schema: e(y)(e(m), t),
|
|
@@ -90,7 +89,7 @@ import '../styles/array-cards/index.css';const O = /* @__PURE__ */ b({
|
|
|
90
89
|
]),
|
|
91
90
|
_: 2
|
|
92
91
|
}, 1032, ["index", "record"]))), 128)) : h("", !0),
|
|
93
|
-
(a(!0), c(C, null,
|
|
92
|
+
(a(!0), c(C, null, x(e(m).properties, (p, t) => (a(), c(C, { key: t }, [
|
|
94
93
|
e(L)(p) ? (a(), v(e(d), {
|
|
95
94
|
key: 0,
|
|
96
95
|
schema: p,
|
|
@@ -102,7 +101,7 @@ import '../styles/array-cards/index.css';const O = /* @__PURE__ */ b({
|
|
|
102
101
|
}, 8, ["key-map"])
|
|
103
102
|
]));
|
|
104
103
|
}
|
|
105
|
-
}),
|
|
104
|
+
}), ae = j(O, {
|
|
106
105
|
Index: r.Index,
|
|
107
106
|
SortHandle: r.SortHandle,
|
|
108
107
|
Addition: r.Addition,
|
|
@@ -114,7 +113,7 @@ import '../styles/array-cards/index.css';const O = /* @__PURE__ */ b({
|
|
|
114
113
|
useRecord: r.useRecord
|
|
115
114
|
});
|
|
116
115
|
export {
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
ae as ArrayCards,
|
|
117
|
+
ae as default
|
|
119
118
|
};
|
|
120
119
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/array-cards/array-cards.vue","../../src/array-cards/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport {
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/array-cards/array-cards.vue","../../src/array-cards/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport { isArr } from '@formily/shared'\nimport { autorunEffect } from '@silver-formily/reactive-vue'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElCard, ElEmpty, ElRow } from 'element-plus'\nimport { ref } from 'vue'\nimport { stylePrefix } from '../__builtins__/configs'\nimport { ArrayBase } from '../array-base'\nimport { getArrayItemSchema, isAdditionComponent, isIndexComponent, isOperationComponent } from '../array-base/utils'\n\ndefineOptions({\n name: 'FArrayCards',\n})\n\nconst props = withDefaults(defineProps<{\n title?: string\n header?: string\n footer?: string\n bodyStyle?: Record<string, string>\n bodyClass?: string\n shadow?: 'always' | 'hover' | 'never'\n modelValue: any\n}>(), {\n shadow: 'never',\n})\nconst fieldRef = useField<ArrayField>()\nconst schemaRef = useFieldSchema()\nconst field = fieldRef.value\nconst schema = schemaRef.value\n\nconst prefixCls = `${stylePrefix}-array-cards`\nconst { getKey, keyMap } = ArrayBase.useKey(schemaRef.value)\n\nconst dataSource = ref(isArr(field.value) ? field.value : [])\n\nautorunEffect(() => {\n dataSource.value = isArr(field.value) ? [...field.value] : []\n})\n</script>\n\n<template>\n <div :class=\"prefixCls\">\n <ArrayBase :key-map=\"keyMap\">\n <!-- 空状态渲染 -->\n <ElCard\n v-if=\"!(isArr(field.value) && field.value.length > 0)\"\n :class=\"`${prefixCls}-item`\"\n v-bind=\"props\"\n >\n <ElEmpty />\n </ElCard>\n\n <!-- 数据项渲染 -->\n <template v-if=\"isArr(props.modelValue)\">\n <ArrayBase.Item\n v-for=\"(item, index) of dataSource\"\n :key=\"getKey(item, index)\"\n :index=\"index\"\n :record=\"item\"\n >\n <ElCard\n v-bind=\"props\"\n :class=\"`${prefixCls}-item`\"\n >\n <template #header>\n <ElRow type=\"flex\" justify=\"space-between\">\n <span>\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isIndexComponent(schema)\"\n :only-render-properties=\"true\"\n />\n {{ getArrayItemSchema(schema, index).title ?? props.title ?? field.title }}\n </span>\n <span :class=\"`${prefixCls}-extra-container`\">\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isOperationComponent(schema)\"\n :only-render-properties=\"true\"\n />\n </span>\n </ElRow>\n </template>\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => !isIndexComponent(schema) && !isOperationComponent(schema)\"\n />\n </ElCard>\n </ArrayBase.Item>\n </template>\n\n <!-- 添加按钮渲染 -->\n <template v-for=\"(itemSchema, key) in schema.properties\" :key=\"key\">\n <RecursionField\n v-if=\"isAdditionComponent(itemSchema)\"\n :schema=\"itemSchema\"\n name=\"addition\"\n />\n </template>\n </ArrayBase>\n </div>\n</template>\n","import { composeExport } from '../__builtins__/shared'\nimport { ArrayBase } from '../array-base'\nimport ArrayCardsInner from './array-cards.vue'\nimport './style.scss'\n\nexport const ArrayCards = composeExport(ArrayCardsInner, {\n Index: ArrayBase.Index,\n SortHandle: ArrayBase.SortHandle,\n Addition: ArrayBase.Addition,\n Remove: ArrayBase.Remove,\n MoveDown: ArrayBase.MoveDown,\n MoveUp: ArrayBase.MoveUp,\n useArray: ArrayBase.useArray,\n useIndex: ArrayBase.useIndex,\n useRecord: ArrayBase.useRecord,\n})\n\nexport default ArrayCards\n"],"names":["props","__props","fieldRef","useField","schemaRef","useFieldSchema","field","schema","prefixCls","stylePrefix","getKey","keyMap","ArrayBase","dataSource","ref","isArr","autorunEffect","_createElementBlock","_createVNode","_unref","_openBlock","_createBlock","_mergeProps","ElEmpty","_Fragment","_renderList","item","index","ElCard","ElRow","_createElementVNode","RecursionField","getArrayItemSchema","isIndexComponent","_createTextVNode","_toDisplayString","isOperationComponent","itemSchema","key","isAdditionComponent","ArrayCards","composeExport","ArrayCardsInner"],"mappings":"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"}
|