@silver-formily/element-plus 4.0.3 → 5.0.0
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.map +1 -1
- package/esm/__builtins__/shared/transform-component.mjs +1 -1
- package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
- package/esm/__builtins__/shared/utils.mjs +7 -5
- package/esm/__builtins__/shared/utils.mjs.map +1 -1
- package/esm/array-base/array-base-inner.mjs.map +1 -1
- package/esm/array-base/array-base-move-down.mjs +1 -1
- package/esm/array-base/array-base-move-down.mjs.map +1 -1
- package/esm/array-base/array-base-move-up.mjs +1 -1
- package/esm/array-base/array-base-move-up.mjs.map +1 -1
- package/esm/array-base/array-base-remove.mjs +1 -1
- package/esm/array-base/array-base-remove.mjs.map +1 -1
- package/esm/array-base/types.d.ts +2 -2
- package/esm/array-base/utils.d.ts +1 -1
- package/esm/array-base/utils.mjs +1 -1
- package/esm/array-base/utils.mjs.map +1 -1
- package/esm/array-cards/array-cards.mjs +1 -1
- package/esm/array-cards/array-cards.mjs.map +1 -1
- package/esm/array-collapse/array-collapse-item.mjs +1 -1
- package/esm/array-collapse/array-collapse-item.mjs.map +1 -1
- package/esm/array-collapse/array-collapse.mjs +3 -4
- package/esm/array-collapse/array-collapse.mjs.map +1 -1
- package/esm/array-items/array-items.mjs +3 -8
- package/esm/array-items/array-items.mjs.map +1 -1
- package/esm/array-list-tabs/array-list-tabs.mjs +57 -51
- package/esm/array-list-tabs/array-list-tabs.mjs.map +1 -1
- package/esm/array-list-tabs/utils.mjs.map +1 -1
- package/esm/array-table/array-table.mjs +4 -18
- package/esm/array-table/array-table.mjs.map +1 -1
- package/esm/array-table/utils.mjs.map +1 -1
- package/esm/array-tabs/array-tabs.mjs +1 -1
- package/esm/array-tabs/array-tabs.mjs.map +1 -1
- package/esm/autocomplete/autocomplete.mjs.map +1 -1
- package/esm/autocomplete/index.d.ts +3 -4
- package/esm/checkbox/checkbox-group.mjs +1 -1
- package/esm/checkbox/checkbox-group.mjs.map +1 -1
- package/esm/checkbox/index.d.ts +117 -117
- package/esm/color-picker/index.d.ts +28 -28
- package/esm/color-picker-panel/index.d.ts +18 -18
- package/esm/date-picker-panel/index.d.ts +1 -1
- package/esm/editable/editable-popover.mjs +1 -1
- package/esm/editable/editable-popover.mjs.map +1 -1
- package/esm/editable/editable.mjs +1 -1
- package/esm/editable/editable.mjs.map +1 -1
- package/esm/form/form.mjs.map +1 -1
- package/esm/form/form.vue.d.ts +1 -1
- package/esm/form-collapse/form-collapse.mjs +1 -1
- package/esm/form-collapse/form-collapse.mjs.map +1 -1
- package/esm/form-collapse/index.d.ts +3 -3
- package/esm/form-collapse/utils.d.ts +2 -2
- package/esm/form-collapse/utils.mjs +2 -2
- package/esm/form-collapse/utils.mjs.map +1 -1
- package/esm/form-dialog/dialog-content.mjs +1 -1
- package/esm/form-dialog/dialog-content.mjs.map +1 -1
- package/esm/form-dialog/index.mjs +3 -3
- package/esm/form-dialog/index.mjs.map +1 -1
- package/esm/form-dialog/types.d.ts +2 -2
- package/esm/form-drawer/drawer-content.mjs +1 -1
- package/esm/form-drawer/drawer-content.mjs.map +1 -1
- package/esm/form-drawer/index.mjs +3 -3
- package/esm/form-drawer/index.mjs.map +1 -1
- package/esm/form-drawer/types.d.ts +2 -2
- package/esm/form-item/form-item.mjs +1 -1
- package/esm/form-item/form-item.mjs.map +1 -1
- package/esm/form-item/index.mjs +1 -1
- package/esm/form-item/index.mjs.map +1 -1
- package/esm/form-item/utils.mjs +1 -1
- package/esm/form-item/utils.mjs.map +1 -1
- package/esm/form-layout/form-layout.mjs +1 -1
- package/esm/form-layout/form-layout.mjs.map +1 -1
- package/esm/form-layout/form-layout.vue.d.ts +1 -1
- package/esm/form-layout/utils.mjs +1 -1
- package/esm/form-layout/utils.mjs.map +1 -1
- package/esm/form-step/form-step.mjs +1 -1
- package/esm/form-step/form-step.mjs.map +1 -1
- package/esm/form-step/types.d.ts +1 -1
- package/esm/form-step/utils.d.ts +1 -1
- package/esm/form-step/utils.mjs +1 -1
- package/esm/form-step/utils.mjs.map +1 -1
- package/esm/form-tab/hooks.mjs.map +1 -1
- package/esm/form-tab/utils.mjs +1 -1
- package/esm/form-tab/utils.mjs.map +1 -1
- package/esm/input-number/index.d.ts +39 -39
- package/esm/input-tag/index.d.ts +1 -2
- package/esm/input-tag/input-tag.mjs.map +1 -1
- package/esm/mention/index.d.ts +3 -4
- package/esm/mention/mention.mjs.map +1 -1
- package/esm/pagination/components/pager2.mjs.map +1 -1
- package/esm/pagination/components/sizes2.mjs +1 -1
- package/esm/pagination/components/sizes2.mjs.map +1 -1
- package/esm/picker-select/picker-select.mjs +1 -1
- package/esm/picker-select/picker-select.mjs.map +1 -1
- package/esm/picker-select/types.d.ts +1 -1
- package/esm/preview-text/cascader.mjs.map +1 -1
- package/esm/preview-text/color-picker.mjs +1 -1
- package/esm/preview-text/color-picker.mjs.map +1 -1
- package/esm/preview-text/input.mjs +1 -1
- package/esm/preview-text/input.mjs.map +1 -1
- package/esm/preview-text/rate.mjs +1 -1
- package/esm/preview-text/rate.mjs.map +1 -1
- package/esm/preview-text/select.mjs +1 -1
- package/esm/preview-text/select.mjs.map +1 -1
- package/esm/preview-text/time-picker.mjs +1 -1
- package/esm/preview-text/time-picker.mjs.map +1 -1
- package/esm/preview-text/tree.mjs.map +1 -1
- package/esm/query-form/hooks.mjs +1 -1
- package/esm/query-form/hooks.mjs.map +1 -1
- package/esm/query-form/index.d.ts +5 -5
- package/esm/query-form/query-form-light.mjs +1 -1
- package/esm/query-form/query-form-light.mjs.map +1 -1
- package/esm/query-form/query-form.mjs +1 -1
- package/esm/query-form/query-form.mjs.map +1 -1
- package/esm/query-form/types.d.ts +2 -2
- package/esm/query-form-item/index.d.ts +4 -4
- package/esm/query-form-item/query-form-item.mjs +2 -2
- package/esm/query-form-item/query-form-item.mjs.map +1 -1
- package/esm/query-form-item/types.d.ts +2 -2
- package/esm/radio/index.d.ts +72 -72
- package/esm/radio/radio-group.mjs +1 -1
- package/esm/radio/radio-group.mjs.map +1 -1
- package/esm/rate/index.d.ts +10 -10
- package/esm/select/index.d.ts +14 -14
- package/esm/select-table/index.d.ts +3 -3
- package/esm/select-table/select-table.mjs +1 -1
- package/esm/select-table/select-table.mjs.map +1 -1
- package/esm/select-table/types.d.ts +1 -1
- package/esm/submit/submit.mjs.map +1 -1
- package/esm/switch/index.d.ts +27 -27
- package/esm/time-select/index.d.ts +20 -20
- package/esm/transfer/index.d.ts +12 -12
- package/esm/tree/tree.mjs +1 -1
- package/esm/tree/tree.mjs.map +1 -1
- package/esm/tree-select/tree-select.mjs.map +1 -1
- package/esm/upload/upload.mjs +1 -1
- package/esm/upload/upload.mjs.map +1 -1
- package/package.json +18 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.mjs","names":[],"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"],"mappings":";;;;;AAMA,eAAsB,QAAQ,cAAc,cAAc,WAA+B;CACvF,IAAI;CACJ,MAAM,UAAU,iBAAiB;AAC/B,oBAAkB,UAAU,QAAQ;GAClC,MAAM;GACN,YAAY;GACb,CAAC;IACD,IAAI;AACP,KAAI;AACF,SAAO,MAAM,WAAW;WAElB;AACN,mBAAiB,OAAO;AACxB,eAAa,QAAQ;;;;;;;;;AAUzB,SAAgB,sBAAsB,aAAa,4BAA4B,eAAe,KAAa;CACzG,MAAM,SAAS,iBAAiB,SAAS,gBAAgB,CACtD,iBAAiB,WAAW,CAC5B,MAAM;AACT,KAAI,CAAC,OACH,QAAO;CAET,MAAM,gBAAgB,OAAO,MAAM,uBAAuB;AAC1D,KAAI,CAAC,cACH,QAAO;CAGT,MAAM,QAAQ,OAAO,WAAW,cAAc,GAAG;AAGjD,SAFa,cAAc,MAAM,MAEjC;EACE,KAAK,IACH,QAAO,QAAQ;EAEjB,KAAK,KACH,QAAO;;;AAKb,SAAgB,qBAAqB,MAAY;CAC/C,MAAM,qBAAqB,IAAI,MAAM;CACrC,MAAM,qBAAqB,uBAAuB;CAElD,MAAM,qBAAqB,oBAAoB;AAC7C,qBAAmB,QAAQ;UACpB,mBAAmB;AAE5B,qBAAoB,KAAK,aAAa,QAAQ;AAC5C,MAAI,QAAQ,MACV,qBAAoB;MAGpB,oBAAmB,QAAQ;GAE7B;AAEF,QAAO,EACL,oBACD"}
|
|
1
|
+
{"version":3,"file":"loading.mjs","names":[],"sources":["../../../src/__builtins__/shared/loading.ts"],"sourcesContent":["import type { Form } from '@silver-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"],"mappings":";;;;;AAMA,eAAsB,QAAQ,cAAc,cAAc,WAA+B;CACvF,IAAI;CACJ,MAAM,UAAU,iBAAiB;AAC/B,oBAAkB,UAAU,QAAQ;GAClC,MAAM;GACN,YAAY;GACb,CAAC;IACD,IAAI;AACP,KAAI;AACF,SAAO,MAAM,WAAW;WAElB;AACN,mBAAiB,OAAO;AACxB,eAAa,QAAQ;;;;;;;;;AAUzB,SAAgB,sBAAsB,aAAa,4BAA4B,eAAe,KAAa;CACzG,MAAM,SAAS,iBAAiB,SAAS,gBAAgB,CACtD,iBAAiB,WAAW,CAC5B,MAAM;AACT,KAAI,CAAC,OACH,QAAO;CAET,MAAM,gBAAgB,OAAO,MAAM,uBAAuB;AAC1D,KAAI,CAAC,cACH,QAAO;CAGT,MAAM,QAAQ,OAAO,WAAW,cAAc,GAAG;AAGjD,SAFa,cAAc,MAAM,MAEjC;EACE,KAAK,IACH,QAAO,QAAQ;EAEjB,KAAK,KACH,QAAO;;;AAKb,SAAgB,qBAAqB,MAAY;CAC/C,MAAM,qBAAqB,IAAI,MAAM;CACrC,MAAM,qBAAqB,uBAAuB;CAElD,MAAM,qBAAqB,oBAAoB;AAC7C,qBAAmB,QAAQ;UACpB,mBAAmB;AAE5B,qBAAoB,KAAK,aAAa,QAAQ;AAC5C,MAAI,QAAQ,MACV,qBAAoB;MAGpB,oBAAmB,QAAQ;GAE7B;AAEF,QAAO,EACL,oBACD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { observer } from "@silver-formily/reactive-vue";
|
|
2
2
|
import { defineComponent, h } from "vue";
|
|
3
|
-
import { isVoidField } from "@formily/core";
|
|
3
|
+
import { isVoidField } from "@silver-formily/core";
|
|
4
4
|
import { useField } from "@silver-formily/vue";
|
|
5
5
|
//#region src/__builtins__/shared/transform-component.ts
|
|
6
6
|
function mapReadPretty(component, readPrettyProps) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-component.mjs","names":[],"sources":["../../../src/__builtins__/shared/transform-component.ts"],"sourcesContent":["import type { IComponentMapper } from '@silver-formily/vue'\nimport type { Component } from 'vue'\nimport { isVoidField } from '@formily/core'\nimport { observer } from '@silver-formily/reactive-vue'\nimport { useField } from '@silver-formily/vue'\nimport { defineComponent, h } from 'vue'\n\n// fork from https://github.com/alibaba/formily/blob/7c64c671252adf85471ac5aabfddbaf4fc537354/packages/vue/src/shared/connect.ts#L65\nexport function mapReadPretty(\n component: Component,\n readPrettyProps?: Record<string, any>,\n): IComponentMapper {\n const mapper = (target: Component) => {\n return observer(\n defineComponent({\n name: target.name ? `Read${target.name}` : `ReadComponent`,\n setup(props, { attrs, slots, listeners }: Record<string, any>) {\n const fieldRef = useField()\n return () => {\n const field = fieldRef.value\n const isEditableReadPretty = !!field?.data?.readPretty\n return h(\n field && !isVoidField(field) && (field.pattern === 'readPretty' || isEditableReadPretty)\n ? component\n : target,\n {\n attrs: {\n ...readPrettyProps,\n ...attrs,\n },\n on: listeners,\n },\n slots,\n )\n }\n },\n }),\n )\n }\n\n return mapper as unknown as IComponentMapper\n}\n"],"mappings":";;;;;AAQA,SAAgB,cACd,WACA,iBACkB;CAClB,MAAM,UAAU,WAAsB;AACpC,SAAO,SACL,gBAAgB;GACd,MAAM,OAAO,OAAO,OAAO,OAAO,SAAS;GAC3C,MAAM,OAAO,EAAE,OAAO,OAAO,aAAkC;IAC7D,MAAM,WAAW,UAAU;AAC3B,iBAAa;KACX,MAAM,QAAQ,SAAS;KACvB,MAAM,uBAAuB,CAAC,CAAC,OAAO,MAAM;AAC5C,YAAO,EACL,SAAS,CAAC,YAAY,MAAM,KAAK,MAAM,YAAY,gBAAgB,wBAC/D,YACA,QACJ;MACE,OAAO;OACL,GAAG;OACH,GAAG;OACJ;MACD,IAAI;MACL,EACD,MACD;;;GAGN,CAAC,CACH;;AAGH,QAAO"}
|
|
1
|
+
{"version":3,"file":"transform-component.mjs","names":[],"sources":["../../../src/__builtins__/shared/transform-component.ts"],"sourcesContent":["import type { IComponentMapper } from '@silver-formily/vue'\nimport type { Component } from 'vue'\nimport { isVoidField } from '@silver-formily/core'\nimport { observer } from '@silver-formily/reactive-vue'\nimport { useField } from '@silver-formily/vue'\nimport { defineComponent, h } from 'vue'\n\n// fork from https://github.com/alibaba/formily/blob/7c64c671252adf85471ac5aabfddbaf4fc537354/packages/vue/src/shared/connect.ts#L65\nexport function mapReadPretty(\n component: Component,\n readPrettyProps?: Record<string, any>,\n): IComponentMapper {\n const mapper = (target: Component) => {\n return observer(\n defineComponent({\n name: target.name ? `Read${target.name}` : `ReadComponent`,\n setup(props, { attrs, slots, listeners }: Record<string, any>) {\n const fieldRef = useField()\n return () => {\n const field = fieldRef.value\n const isEditableReadPretty = !!field?.data?.readPretty\n return h(\n field && !isVoidField(field) && (field.pattern === 'readPretty' || isEditableReadPretty)\n ? component\n : target,\n {\n attrs: {\n ...readPrettyProps,\n ...attrs,\n },\n on: listeners,\n },\n slots,\n )\n }\n },\n }),\n )\n }\n\n return mapper as unknown as IComponentMapper\n}\n"],"mappings":";;;;;AAQA,SAAgB,cACd,WACA,iBACkB;CAClB,MAAM,UAAU,WAAsB;AACpC,SAAO,SACL,gBAAgB;GACd,MAAM,OAAO,OAAO,OAAO,OAAO,SAAS;GAC3C,MAAM,OAAO,EAAE,OAAO,OAAO,aAAkC;IAC7D,MAAM,WAAW,UAAU;AAC3B,iBAAa;KACX,MAAM,QAAQ,SAAS;KACvB,MAAM,uBAAuB,CAAC,CAAC,OAAO,MAAM;AAC5C,YAAO,EACL,SAAS,CAAC,YAAY,MAAM,KAAK,MAAM,YAAY,gBAAgB,wBAC/D,YACA,QACJ;MACE,OAAO;OACL,GAAG;OACH,GAAG;OACJ;MACD,IAAI;MACL,EACD,MACD;;;GAGN,CAAC,CACH;;AAGH,QAAO"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { lt } from "./simple-version-compare.mjs";
|
|
2
2
|
import { useAttrs, version } from "element-plus";
|
|
3
3
|
import { Comment, Fragment, Text, computed } from "vue";
|
|
4
|
-
import { isPlainObj } from "@formily/shared";
|
|
4
|
+
import { isPlainObj } from "@silver-formily/shared";
|
|
5
5
|
import { omit } from "lodash-es";
|
|
6
6
|
//#region src/__builtins__/shared/utils.ts
|
|
7
7
|
function useCleanAttrs(removeAttrsList = []) {
|
|
@@ -14,11 +14,13 @@ function useCleanAttrs(removeAttrsList = []) {
|
|
|
14
14
|
"on",
|
|
15
15
|
"readOnly"
|
|
16
16
|
];
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const baseAttrs = attrs.value;
|
|
18
|
+
const nestedAttrs = baseAttrs.attrs;
|
|
19
|
+
if (isPlainObj(nestedAttrs)) return omit({
|
|
20
|
+
...baseAttrs,
|
|
21
|
+
...nestedAttrs
|
|
20
22
|
}, DEFAULT_REMOVE_ATTRS.concat(removeAttrsList));
|
|
21
|
-
return omit(
|
|
23
|
+
return omit(baseAttrs, DEFAULT_REMOVE_ATTRS.concat(removeAttrsList));
|
|
22
24
|
}) };
|
|
23
25
|
}
|
|
24
26
|
function isVueOptions(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","names":[],"sources":["../../../src/__builtins__/shared/utils.ts"],"sourcesContent":["import type { Component, ComputedRef, Slot, VNode } from 'vue'\nimport { isPlainObj } from '@formily/shared'\nimport { useAttrs, version } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { Comment, computed, Fragment, Text } from 'vue'\nimport { lt } from './simple-version-compare'\n\nexport function useCleanAttrs(removeAttrsList: string[] = []): {\n props: ComputedRef<Record<string, any>>\n} {\n const attrs = useAttrs()\n const props = computed(() => {\n const DEFAULT_REMOVE_ATTRS = ['value', 'onChange', 'attrs', 'on', 'readOnly']\n
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":[],"sources":["../../../src/__builtins__/shared/utils.ts"],"sourcesContent":["import type { Component, ComputedRef, Slot, VNode } from 'vue'\nimport { isPlainObj } from '@silver-formily/shared'\nimport { useAttrs, version } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { Comment, computed, Fragment, Text } from 'vue'\nimport { lt } from './simple-version-compare'\n\nexport function useCleanAttrs(removeAttrsList: string[] = []): {\n props: ComputedRef<Record<string, any>>\n} {\n const attrs = useAttrs()\n const props = computed(() => {\n const DEFAULT_REMOVE_ATTRS = ['value', 'onChange', 'attrs', 'on', 'readOnly']\n const baseAttrs = attrs.value as Record<string, any>\n const nestedAttrs = baseAttrs.attrs\n if (isPlainObj(nestedAttrs)) {\n return omit({ ...baseAttrs, ...(nestedAttrs as Record<string, any>) }, DEFAULT_REMOVE_ATTRS.concat(removeAttrsList))\n }\n return omit(baseAttrs, DEFAULT_REMOVE_ATTRS.concat(removeAttrsList))\n })\n return {\n props,\n }\n}\n\nexport function isVueOptions(options: any): options is Component {\n return (\n options\n && typeof options !== 'function'\n && (typeof options.template === 'string'\n || typeof options.render === 'function'\n || typeof options.setup === 'function'\n || typeof options.__asyncLoader === 'function'\n || typeof options.__name === 'string')\n )\n}\n\nexport function composeExport<T0 extends object, T1 extends object>(\n s0: T0,\n s1: T1,\n): T0 & T1 {\n const composed = Object.create(Object.getPrototypeOf(s0))\n Object.defineProperties(composed, Object.getOwnPropertyDescriptors(s0))\n Object.defineProperties(composed, Object.getOwnPropertyDescriptors(s1))\n return composed\n}\n\n// Adapted from https://github.com/vuejs/vue-next/blob/ca17162e377e0a0bf3fae9d92d0fdcb32084a9fe/packages/runtime-core/src/helpers/renderSlot.ts#L77\n/* istanbul ignore next -- @preserve */\nexport function isVnodeEmpty(vnodes: Array<VNode>) {\n return vnodes.every((node: VNode) => {\n if (node.type === Comment) {\n return true\n }\n\n if (node.type === Text && typeof node.children === 'string' && !node.children.trim()) {\n return true\n }\n\n if (\n node.type === Fragment\n && isVnodeEmpty(node.children as Array<VNode>)\n ) {\n return true\n }\n\n return false\n })\n}\n\nexport function hasSlotContent(slot: Slot<any> | undefined) {\n if (!slot) {\n return false\n }\n return !isVnodeEmpty(slot())\n}\n\nexport function compatibleUnderlineProp() {\n /* istanbul ignore next -- @preserve */\n return lt(version, '2.9.9') ? false : 'never'\n}\n"],"mappings":";;;;;;AAOA,SAAgB,cAAc,kBAA4B,EAAE,EAE1D;CACA,MAAM,QAAQ,UAAU;AAUxB,QAAO,EACL,OAVY,eAAe;EAC3B,MAAM,uBAAuB;GAAC;GAAS;GAAY;GAAS;GAAM;GAAW;EAC7E,MAAM,YAAY,MAAM;EACxB,MAAM,cAAc,UAAU;AAC9B,MAAI,WAAW,YAAY,CACzB,QAAO,KAAK;GAAE,GAAG;GAAW,GAAI;GAAqC,EAAE,qBAAqB,OAAO,gBAAgB,CAAC;AAEtH,SAAO,KAAK,WAAW,qBAAqB,OAAO,gBAAgB,CAAC;GACpE,EAGD;;AAGH,SAAgB,aAAa,SAAoC;AAC/D,QACE,WACG,OAAO,YAAY,eAClB,OAAO,QAAQ,aAAa,YAC3B,OAAO,QAAQ,WAAW,cAC1B,OAAO,QAAQ,UAAU,cACzB,OAAO,QAAQ,kBAAkB,cACjC,OAAO,QAAQ,WAAW;;AAInC,SAAgB,cACd,IACA,IACS;CACT,MAAM,WAAW,OAAO,OAAO,OAAO,eAAe,GAAG,CAAC;AACzD,QAAO,iBAAiB,UAAU,OAAO,0BAA0B,GAAG,CAAC;AACvE,QAAO,iBAAiB,UAAU,OAAO,0BAA0B,GAAG,CAAC;AACvE,QAAO;;;AAKT,SAAgB,aAAa,QAAsB;AACjD,QAAO,OAAO,OAAO,SAAgB;AACnC,MAAI,KAAK,SAAS,QAChB,QAAO;AAGT,MAAI,KAAK,SAAS,QAAQ,OAAO,KAAK,aAAa,YAAY,CAAC,KAAK,SAAS,MAAM,CAClF,QAAO;AAGT,MACE,KAAK,SAAS,YACX,aAAa,KAAK,SAAyB,CAE9C,QAAO;AAGT,SAAO;GACP;;AAGJ,SAAgB,eAAe,MAA6B;AAC1D,KAAI,CAAC,KACH,QAAO;AAET,QAAO,CAAC,aAAa,MAAM,CAAC;;AAG9B,SAAgB,0BAA0B;;AAExC,QAAO,GAAG,SAAS,QAAQ,GAAG,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-base-inner.mjs","names":[],"sources":["../../src/array-base/array-base-inner.vue"],"sourcesContent":["<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"],"mappings":";;;;;;;;;;;;;EAYA,MAAM,QAAQ;AAKd,UAAQ,iBAAiB;GACvB,OAJY,UAAqB;GAKjC,QAJa,gBAAe;GAK5B;GACA,OAAO,UAAU;GACjB,QAAQ,MAAM;GACf,CAAA;;UAIC,WAAQ,KAAA,QAAA,UAAA"}
|
|
1
|
+
{"version":3,"file":"array-base-inner.mjs","names":[],"sources":["../../src/array-base/array-base-inner.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@silver-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"],"mappings":";;;;;;;;;;;;;EAYA,MAAM,QAAQ;AAKd,UAAQ,iBAAiB;GACvB,OAJY,UAAqB;GAKjC,QAJa,gBAAe;GAK5B;GACA,OAAO,UAAU;GACjB,QAAQ,MAAM;GACf,CAAA;;UAIC,WAAQ,KAAA,QAAA,UAAA"}
|
|
@@ -2,7 +2,7 @@ import { compatibleUnderlineProp } from "../__builtins__/shared/utils.mjs";
|
|
|
2
2
|
import { prefixCls, useArray, useIndex } from "./utils.mjs";
|
|
3
3
|
import { ElLink } from "element-plus";
|
|
4
4
|
import { createBlock, createCommentVNode, createTextVNode, defineComponent, normalizeClass, openBlock, renderSlot, toDisplayString, unref, withCtx, withModifiers } from "vue";
|
|
5
|
-
import { isArr } from "@formily/shared";
|
|
5
|
+
import { isArr } from "@silver-formily/shared";
|
|
6
6
|
import { ArrowDown } from "@element-plus/icons-vue";
|
|
7
7
|
//#region src/array-base/array-base-move-down.vue
|
|
8
8
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-base-move-down.mjs","names":[],"sources":["../../src/array-base/array-base-move-down.vue"],"sourcesContent":["<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"],"mappings":";;;;;;;;;;;;EAYA,MAAM,QAAQ;EAEd,MAAM,WAAW,UAAS;EAC1B,MAAM,OAAO,UAAS;EAEtB,SAAS,cAAc;AACrB,OAAI,MAAM,MAAM,OAAO,CACrB,MAAK,OAAO,OACV,SAAS,QAAQ,GACjB,GACA,KAAK,OAAO,OAAO,SAAS,OAAO,EAAE,CAAC,GACxC;AAEF,SAAM,MAAM,MAAM,SAAS,SAAS,MAAe;AACnD,SAAM,OAAO,WAAW,SAAS,MAAe;;;UAMxC,MAAA,KAAI,EAAE,MAAM,MAAM,YAAO,cAAA,WAAA,EADjC,YAaS,MAAA,OAAA,EAAA;;IAXN,OAAK,eAAA,GAAK,MAAA,UAAS,CAAA,YAAA;IACpB,MAAK;IACJ,MAAM,MAAA,UAAS;IACf,WAAW,MAAA,wBAAuB,EAAA;IACnC,MAAK;IACL,cAAW;IACV,SAAK,cAAO,aAAW,CAAA,OAAA,CAAA;;2BAIjB,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAM,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"array-base-move-down.mjs","names":[],"sources":["../../src/array-base/array-base-move-down.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { isArr } from '@silver-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"],"mappings":";;;;;;;;;;;;EAYA,MAAM,QAAQ;EAEd,MAAM,WAAW,UAAS;EAC1B,MAAM,OAAO,UAAS;EAEtB,SAAS,cAAc;AACrB,OAAI,MAAM,MAAM,OAAO,CACrB,MAAK,OAAO,OACV,SAAS,QAAQ,GACjB,GACA,KAAK,OAAO,OAAO,SAAS,OAAO,EAAE,CAAC,GACxC;AAEF,SAAM,MAAM,MAAM,SAAS,SAAS,MAAe;AACnD,SAAM,OAAO,WAAW,SAAS,MAAe;;;UAMxC,MAAA,KAAI,EAAE,MAAM,MAAM,YAAO,cAAA,WAAA,EADjC,YAaS,MAAA,OAAA,EAAA;;IAXN,OAAK,eAAA,GAAK,MAAA,UAAS,CAAA,YAAA;IACpB,MAAK;IACJ,MAAM,MAAA,UAAS;IACf,WAAW,MAAA,wBAAuB,EAAA;IACnC,MAAK;IACL,cAAW;IACV,SAAK,cAAO,aAAW,CAAA,OAAA,CAAA;;2BAIjB,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAM,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { compatibleUnderlineProp } from "../__builtins__/shared/utils.mjs";
|
|
|
2
2
|
import { prefixCls, useArray, useIndex } from "./utils.mjs";
|
|
3
3
|
import { ElLink } from "element-plus";
|
|
4
4
|
import { createBlock, createCommentVNode, createTextVNode, defineComponent, normalizeClass, openBlock, renderSlot, toDisplayString, unref, withCtx, withModifiers } from "vue";
|
|
5
|
-
import { isArr } from "@formily/shared";
|
|
5
|
+
import { isArr } from "@silver-formily/shared";
|
|
6
6
|
import { ArrowUp } from "@element-plus/icons-vue";
|
|
7
7
|
//#region src/array-base/array-base-move-up.vue
|
|
8
8
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-base-move-up.mjs","names":[],"sources":["../../src/array-base/array-base-move-up.vue"],"sourcesContent":["<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"],"mappings":";;;;;;;;;;;;EAYA,MAAM,QAAQ;EAEd,MAAM,WAAW,UAAS;EAC1B,MAAM,OAAO,UAAS;EAEtB,SAAS,cAAc;AACrB,OAAI,MAAM,MAAM,OAAO,CACrB,MAAK,OAAO,OACV,SAAS,QAAQ,GACjB,GACA,KAAK,OAAO,OAAO,SAAS,OAAO,EAAE,CAAC,GACxC;AAEF,SAAM,MAAM,MAAM,OAAO,SAAS,MAAe;AACjD,SAAM,OAAO,SAAS,SAAS,MAAe;;;UAMtC,MAAA,KAAI,EAAE,MAAM,MAAM,YAAO,cAAA,WAAA,EADjC,YAaS,MAAA,OAAA,EAAA;;IAXN,OAAK,eAAA,GAAK,MAAA,UAAS,CAAA,UAAA;IACpB,MAAK;IACJ,MAAM,MAAA,QAAO;IACb,WAAW,MAAA,wBAAuB,EAAA;IACnC,MAAK;IACL,cAAW;IACV,SAAK,cAAO,aAAW,CAAA,OAAA,CAAA;;2BAIjB,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAM,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"array-base-move-up.mjs","names":[],"sources":["../../src/array-base/array-base-move-up.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { ArrowUp } from '@element-plus/icons-vue'\nimport { isArr } from '@silver-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"],"mappings":";;;;;;;;;;;;EAYA,MAAM,QAAQ;EAEd,MAAM,WAAW,UAAS;EAC1B,MAAM,OAAO,UAAS;EAEtB,SAAS,cAAc;AACrB,OAAI,MAAM,MAAM,OAAO,CACrB,MAAK,OAAO,OACV,SAAS,QAAQ,GACjB,GACA,KAAK,OAAO,OAAO,SAAS,OAAO,EAAE,CAAC,GACxC;AAEF,SAAM,MAAM,MAAM,OAAO,SAAS,MAAe;AACjD,SAAM,OAAO,SAAS,SAAS,MAAe;;;UAMtC,MAAA,KAAI,EAAE,MAAM,MAAM,YAAO,cAAA,WAAA,EADjC,YAaS,MAAA,OAAA,EAAA;;IAXN,OAAK,eAAA,GAAK,MAAA,UAAS,CAAA,UAAA;IACpB,MAAK;IACJ,MAAM,MAAA,QAAO;IACb,WAAW,MAAA,wBAAuB,EAAA;IACnC,MAAK;IACL,cAAW;IACV,SAAK,cAAO,aAAW,CAAA,OAAA,CAAA;;2BAIjB,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAM,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { compatibleUnderlineProp } from "../__builtins__/shared/utils.mjs";
|
|
|
2
2
|
import { prefixCls, useArray, useIndex } from "./utils.mjs";
|
|
3
3
|
import { ElLink } from "element-plus";
|
|
4
4
|
import { createBlock, createCommentVNode, createTextVNode, defineComponent, normalizeClass, openBlock, renderSlot, toDisplayString, unref, withCtx, withModifiers } from "vue";
|
|
5
|
-
import { isArr } from "@formily/shared";
|
|
5
|
+
import { isArr } from "@silver-formily/shared";
|
|
6
6
|
import { Delete } from "@element-plus/icons-vue";
|
|
7
7
|
//#region src/array-base/array-base-remove.vue
|
|
8
8
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-base-remove.mjs","names":[],"sources":["../../src/array-base/array-base-remove.vue"],"sourcesContent":["<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"],"mappings":";;;;;;;;;;;;EAYA,MAAM,QAAQ;EAEd,MAAM,WAAW,UAAS;EAC1B,MAAM,OAAO,UAAS;EAEtB,SAAS,cAAc;AACrB,OAAI,MAAM,MAAM,OAAO,CACrB,OAAM,QAAQ,OAAO,SAAS,OAAO,EAAC;AAGxC,SAAM,MAAM,MAAM,OAAO,SAAS,MAAe;AACjD,SAAM,OAAO,SAAS,SAAS,MAAe;;;UAMtC,MAAA,KAAI,EAAE,MAAM,MAAM,YAAO,cAAA,WAAA,EADjC,YAaS,MAAA,OAAA,EAAA;;IAXN,OAAK,eAAA,GAAK,MAAA,UAAS,CAAA,SAAA;IACpB,MAAK;IACJ,MAAM,MAAA,OAAM;IACZ,WAAW,MAAA,wBAAuB,EAAA;IACnC,MAAK;IACL,cAAW;IACV,SAAK,cAAO,aAAW,CAAA,OAAA,CAAA;;2BAIjB,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAM,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"array-base-remove.mjs","names":[],"sources":["../../src/array-base/array-base-remove.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IArrayBaseOperationProps } from './types'\nimport { Delete } from '@element-plus/icons-vue'\nimport { isArr } from '@silver-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"],"mappings":";;;;;;;;;;;;EAYA,MAAM,QAAQ;EAEd,MAAM,WAAW,UAAS;EAC1B,MAAM,OAAO,UAAS;EAEtB,SAAS,cAAc;AACrB,OAAI,MAAM,MAAM,OAAO,CACrB,OAAM,QAAQ,OAAO,SAAS,OAAO,EAAC;AAGxC,SAAM,MAAM,MAAM,OAAO,SAAS,MAAe;AACjD,SAAM,OAAO,SAAS,SAAS,MAAe;;;UAMtC,MAAA,KAAI,EAAE,MAAM,MAAM,YAAO,cAAA,WAAA,EADjC,YAaS,MAAA,OAAA,EAAA;;IAXN,OAAK,eAAA,GAAK,MAAA,UAAS,CAAA,SAAA;IACpB,MAAK;IACJ,MAAM,MAAA,OAAM;IACZ,WAAW,MAAA,wBAAuB,EAAA;IACnC,MAAK;IACL,cAAW;IACV,SAAK,cAAO,aAAW,CAAA,OAAA,CAAA;;2BAIjB,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAM,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Ref } from "vue";
|
|
2
|
-
import { ArrayField } from "@formily/core";
|
|
3
|
-
import { Schema } from "@formily/json-schema";
|
|
2
|
+
import { ArrayField } from "@silver-formily/core";
|
|
3
|
+
import { Schema } from "@silver-formily/json-schema";
|
|
4
4
|
|
|
5
5
|
//#region src/array-base/types.d.ts
|
|
6
6
|
interface IArrayBaseAdditionProps {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IArrayBaseContext } from "./types.js";
|
|
2
2
|
import * as _$vue from "vue";
|
|
3
|
-
import { ISchema, Schema } from "@formily/json-schema";
|
|
3
|
+
import { ISchema, Schema } from "@silver-formily/json-schema";
|
|
4
4
|
|
|
5
5
|
//#region src/array-base/utils.d.ts
|
|
6
6
|
declare function useArray(): IArrayBaseContext;
|
package/esm/array-base/utils.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { stylePrefix } from "../__builtins__/configs/index.mjs";
|
|
2
2
|
import { ArrayBaseSymbol, ItemSymbol } from "./symbols.mjs";
|
|
3
3
|
import { inject, toRefs } from "vue";
|
|
4
|
-
import { clone, isArr, isValid, uid } from "@formily/shared";
|
|
4
|
+
import { clone, isArr, isValid, uid } from "@silver-formily/shared";
|
|
5
5
|
//#region src/array-base/utils.ts
|
|
6
6
|
const prefixCls = `${stylePrefix}-array-base`;
|
|
7
7
|
function useArray() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","names":[],"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"],"mappings":";;;;;AAOA,MAAa,YAAY,GAAG,YAAY;AAExC,SAAgB,WAAW;AACzB,QAAO,OAAO,iBAAiB,KAAK;;AAGtC,SAAgB,WAAW;CACzB,MAAM,EAAE,OAAO,aAAa,OAAO,OAAO,WAAW,CAAwB;AAC7E,QAAO;;;AAIT,SAAgB,YAAY;CAC1B,MAAM,EAAE,QAAQ,cAAc,OAC5B,OAAO,WAAW,CACnB;AACD,QAAO;;AAGT,MAAM,iBAA8C,WAAmB;AACrE,KAAI,MAAM,QAAQ,QAAQ,MAAM,CAC9B,QAAO,cAAc,OAAO,MAAM,GAAG;AAEvC,KAAI,QAAQ,OAAO,SAAS,WAAW,QAAQ,OAAO,SAAS,SAC7D,QAAO;AAET,QAAO;;AAGT,SAAgB,OAAO,QAAgB;CACrC,MAAM,WAAW,cAAc,OAAO;CACtC,IAAI,SAAqE;AAEzE,UAAS,2BAAW,IAAI,SAAS,GAAG,EAAE;AAEtC,QAAO;EACL;EACA,SAAS,QAAa,UAAmB;AACvC,OAAI,kBAAkB,SAAS;AAC7B,QAAI,CAAC,OAAO,IAAI,OAAO,CACrB,QAAO,IAAI,QAAQ,KAAK,CAAC;AAE3B,WAAO,GAAG,OAAO,IAAI,OAAO;;AAG9B,OAAI,UAAU,CAAC,OAAO,OACpB,QAAO,SAAS,KAAK;AAEvB,UAAO,GAAG,OAAO;;EAEpB;;AAGH,SAAgB,gBAAgB,cAAmB,QAAqB;AACtE,KAAI,QAAQ,aAAa,CACvB,QAAO,MAAM,aAAa;AAC5B,KAAI,MAAM,QAAQ,QAAQ,MAAM,CAC9B,QAAO,gBAAgB,cAAc,OAAO,MAAM,GAAG;AACvD,KAAI,QAAQ,OAAO,SAAS,SAC1B,QAAO,EAAE;AACX,QAAO;;AAGT,SAAgB,mBAAmB,QAAiB,OAAwB;AAC1E,QAAO,MAAM,OAAO,MAAM,GAAG,OAAO,MAAM,UAAU,OAAO,MAAM,KAAK,OAAO;;AAG/E,SAAgB,oBAAoB,QAAiB;AACnD,QAAO,OAAO,gBAAgB,QAAQ,WAAW,GAAG;;AAGtD,SAAgB,iBAAiB,QAAiB;AAChD,QAAO,OAAO,gBAAgB,QAAQ,QAAQ,GAAG;;AAGnD,SAAgB,kBAAkB,QAAiB;AACjD,QAAO,OAAO,gBAAgB,QAAQ,SAAS,GAAG;;AAGpD,SAAgB,kBAAkB,QAAiB;AACjD,QAAO,OAAO,gBAAgB,QAAQ,SAAS,GAAG;;AAGpD,SAAgB,oBAAoB,QAAiB;AACnD,QAAO,OAAO,gBAAgB,QAAQ,WAAW,GAAG;;AAGtD,SAAgB,qBAAqB,QAAiB;AACpD,QACE,oBAAoB,OAAO,IACxB,kBAAkB,OAAO,IACzB,oBAAoB,OAAO,IAC3B,kBAAkB,OAAO"}
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":[],"sources":["../../src/array-base/utils.ts"],"sourcesContent":["import type { ISchema, Schema } from '@silver-formily/json-schema'\nimport type { IArrayBaseItemProps } from './types'\nimport { clone, isArr, isValid, uid } from '@silver-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"],"mappings":";;;;;AAOA,MAAa,YAAY,GAAG,YAAY;AAExC,SAAgB,WAAW;AACzB,QAAO,OAAO,iBAAiB,KAAK;;AAGtC,SAAgB,WAAW;CACzB,MAAM,EAAE,OAAO,aAAa,OAAO,OAAO,WAAW,CAAwB;AAC7E,QAAO;;;AAIT,SAAgB,YAAY;CAC1B,MAAM,EAAE,QAAQ,cAAc,OAC5B,OAAO,WAAW,CACnB;AACD,QAAO;;AAGT,MAAM,iBAA8C,WAAmB;AACrE,KAAI,MAAM,QAAQ,QAAQ,MAAM,CAC9B,QAAO,cAAc,OAAO,MAAM,GAAG;AAEvC,KAAI,QAAQ,OAAO,SAAS,WAAW,QAAQ,OAAO,SAAS,SAC7D,QAAO;AAET,QAAO;;AAGT,SAAgB,OAAO,QAAgB;CACrC,MAAM,WAAW,cAAc,OAAO;CACtC,IAAI,SAAqE;AAEzE,UAAS,2BAAW,IAAI,SAAS,GAAG,EAAE;AAEtC,QAAO;EACL;EACA,SAAS,QAAa,UAAmB;AACvC,OAAI,kBAAkB,SAAS;AAC7B,QAAI,CAAC,OAAO,IAAI,OAAO,CACrB,QAAO,IAAI,QAAQ,KAAK,CAAC;AAE3B,WAAO,GAAG,OAAO,IAAI,OAAO;;AAG9B,OAAI,UAAU,CAAC,OAAO,OACpB,QAAO,SAAS,KAAK;AAEvB,UAAO,GAAG,OAAO;;EAEpB;;AAGH,SAAgB,gBAAgB,cAAmB,QAAqB;AACtE,KAAI,QAAQ,aAAa,CACvB,QAAO,MAAM,aAAa;AAC5B,KAAI,MAAM,QAAQ,QAAQ,MAAM,CAC9B,QAAO,gBAAgB,cAAc,OAAO,MAAM,GAAG;AACvD,KAAI,QAAQ,OAAO,SAAS,SAC1B,QAAO,EAAE;AACX,QAAO;;AAGT,SAAgB,mBAAmB,QAAiB,OAAwB;AAC1E,QAAO,MAAM,OAAO,MAAM,GAAG,OAAO,MAAM,UAAU,OAAO,MAAM,KAAK,OAAO;;AAG/E,SAAgB,oBAAoB,QAAiB;AACnD,QAAO,OAAO,gBAAgB,QAAQ,WAAW,GAAG;;AAGtD,SAAgB,iBAAiB,QAAiB;AAChD,QAAO,OAAO,gBAAgB,QAAQ,QAAQ,GAAG;;AAGnD,SAAgB,kBAAkB,QAAiB;AACjD,QAAO,OAAO,gBAAgB,QAAQ,SAAS,GAAG;;AAGpD,SAAgB,kBAAkB,QAAiB;AACjD,QAAO,OAAO,gBAAgB,QAAQ,SAAS,GAAG;;AAGpD,SAAgB,oBAAoB,QAAiB;AACnD,QAAO,OAAO,gBAAgB,QAAQ,WAAW,GAAG;;AAGtD,SAAgB,qBAAqB,QAAiB;AACpD,QACE,oBAAoB,OAAO,IACxB,kBAAkB,OAAO,IACzB,oBAAoB,OAAO,IAC3B,kBAAkB,OAAO"}
|
|
@@ -5,7 +5,7 @@ import { ElCard, ElEmpty, ElRow } from "element-plus";
|
|
|
5
5
|
import { autorunEffect } from "@silver-formily/reactive-vue";
|
|
6
6
|
import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderList, toDisplayString, unref, withCtx } from "vue";
|
|
7
7
|
import { RecursionField, useField, useFieldSchema } from "@silver-formily/vue";
|
|
8
|
-
import { isArr } from "@formily/shared";
|
|
8
|
+
import { isArr } from "@silver-formily/shared";
|
|
9
9
|
//#region src/array-cards/array-cards.vue
|
|
10
10
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
11
11
|
name: "FArrayCards",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-cards.mjs","names":[],"sources":["../../src/array-cards/array-cards.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport {
|
|
1
|
+
{"version":3,"file":"array-cards.mjs","names":[],"sources":["../../src/array-cards/array-cards.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@silver-formily/core'\nimport type { ISchema } from '@silver-formily/json-schema'\nimport { autorunEffect } from '@silver-formily/reactive-vue'\nimport { isArr } from '@silver-formily/shared'\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAgBA,MAAM,QAAQ;EAWd,MAAM,WAAW,UAAqB;EACtC,MAAM,YAAY,gBAAe;EACjC,MAAM,QAAQ,SAAS;EACvB,MAAM,SAAS,UAAU;EAEzB,MAAM,YAAY,GAAG,YAAY;EACjC,MAAM,EAAE,QAAQ,WAAW,UAAU,OAAO,UAAU,MAAK;EAE3D,MAAM,aAAa,IAAI,MAAM,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAA;AAE5D,sBAAoB;AAClB,cAAW,QAAQ,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,MAAM,GAAG,EAAC;IAC7D;;uBAIC,mBA8DM,OAAA,EA9DA,OAAK,eAAE,UAAS,EAAA,EAAA,CACpB,YA4DY,MAAA,UAAA,EAAA,EA5DA,WAAS,MAAA,OAAM,EAAA,EAAA;2BACX;KAAd,mBAAA,UAAc;OAEJ,MAAA,MAAK,CAAC,MAAA,MAAK,CAAC,MAAK,IAAK,MAAA,MAAK,CAAC,MAAM,SAAM,MAAA,WAAA,EADlD,YAMS,MAAA,OAAA,EANT,WAMS;;MAJN,OAAK,GAAK,UAAS;QACZ,MAAK,EAAA;6BAEF,CAAX,YAAW,MAAA,QAAA,CAAA,CAAA,CAAA;;;KAGb,mBAAA,UAAc;KACE,MAAA,MAAK,CAAC,MAAM,WAAU,IAAA,UAAA,KAAA,EACpC,mBAqCiB,UAAA,EAAA,KAAA,GAAA,EAAA,WApCS,WAAA,QAAhB,MAAM,UAAK;0BADrB,YAqCiB,MAAA,UAAA,CAAA,MAAA;OAnCd,KAAK,MAAA,OAAM,CAAC,MAAM,MAAK;OAChB;OACP,QAAQ;;8BAgCA,CA9BT,YA8BS,MAAA,OAAA,EA9BT,WA8BS,EAAA,SAAA,MAAA,EA7BC,OAAK,EACZ,OAAK,GAAK,UAAS,QAAA,CAAA,EAAA;QAET,QAAM,cAmBP,CAlBR,YAkBQ,MAAA,MAAA,EAAA;SAlBD,MAAK;SAAO,SAAQ;;gCASlB,CARP,mBAQO,QAAA,MAAA,CAPL,YAKE,MAAA,eAAA,EAAA;UAJC,QAAQ,MAAA,mBAAkB,CAAC,MAAA,OAAM,EAAE,MAAK;UACxC,MAAM;UACN,sBAAoB,WAAoB,MAAA,iBAAgB,CAAC,OAAM;UAC/D,0BAAwB;;;;;6BACzB,MACF,gBAAG,MAAA,mBAAkB,CAAC,MAAA,OAAM,EAAE,MAAK,CAAE,SAAS,MAAM,SAAS,MAAA,MAAK,CAAC,MAAK,EAAA,EAAA,CAAA,CAAA,EAE1E,mBAOO,QAAA,EAPA,OAAK,eAAA,GAAK,UAAS,kBAAA,EAAA,EAAA,CACxB,YAKE,MAAA,eAAA,EAAA;UAJC,QAAQ,MAAA,mBAAkB,CAAC,MAAA,OAAM,EAAE,MAAK;UACxC,MAAM;UACN,sBAAoB,WAAoB,MAAA,qBAAoB,CAAC,OAAM;UACnE,0BAAwB;;;;;;;;+BAS/B,CAJF,YAIE,MAAA,eAAA,EAAA;SAHC,QAAQ,MAAA,mBAAkB,CAAC,MAAA,OAAM,EAAE,MAAK;SACxC,MAAM;SACN,sBAAoB,WAAe,CAAM,MAAA,iBAAgB,CAAC,OAAM,IAAA,CAAM,MAAA,qBAAoB,CAAC,OAAM;;;;;;;;;;;KAM1G,mBAAA,WAAe;uBACf,mBAMW,UAAA,MAAA,WAN2B,MAAA,OAAM,CAAC,aAA3B,YAAY,QAAG;yDAA8B,KAAG,EAAA,CAExD,MAAA,oBAAmB,CAAC,WAAU,IAAA,WAAA,EADtC,YAIE,MAAA,eAAA,EAAA;;OAFC,QAAQ;OACT,MAAK"}
|
|
@@ -5,7 +5,7 @@ import { ElBadge, ElCollapseItem } from "element-plus";
|
|
|
5
5
|
import { formilyComputed } from "@silver-formily/reactive-vue";
|
|
6
6
|
import { createBlock, createCommentVNode, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderSlot, toDisplayString, unref, withCtx } from "vue";
|
|
7
7
|
import { RecursionField, useField, useFieldSchema } from "@silver-formily/vue";
|
|
8
|
-
import { isArr } from "@formily/shared";
|
|
8
|
+
import { isArr } from "@silver-formily/shared";
|
|
9
9
|
//#region src/array-collapse/array-collapse-item.vue
|
|
10
10
|
const _hoisted_1 = { style: {
|
|
11
11
|
"flex": "1",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-collapse-item.mjs","names":[],"sources":["../../src/array-collapse/array-collapse-item.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport {
|
|
1
|
+
{"version":3,"file":"array-collapse-item.mjs","names":[],"sources":["../../src/array-collapse/array-collapse-item.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@silver-formily/core'\nimport type { ISchema } from '@silver-formily/json-schema'\nimport { formilyComputed } from '@silver-formily/reactive-vue'\nimport { isArr } from '@silver-formily/shared'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ElBadge, ElCollapseItem } from 'element-plus'\nimport { useCleanAttrs } from '../__builtins__'\nimport { isIndexComponent, isOperationComponent, useIndex } from '../array-base/utils'\nimport { prefixCls } from './utils'\n\ndefineOptions({\n name: 'FArrayCollapseItem',\n inheritAttrs: false,\n})\n\nconst fieldRef = useField<ArrayField>()\nconst field = fieldRef.value\nconst schemaRef = useFieldSchema()\nconst schema = schemaRef.value.parent\nconst index = useIndex()\nconst errorCount = formilyComputed(() => {\n const path = field.address.concat()\n return field.form.queryFeedbacks({\n type: 'error',\n address: `${path}.**`,\n }).length\n})\n\nconst { props: collapseItemProps } = useCleanAttrs()\n</script>\n\n<template>\n <ElCollapseItem :name=\"index\" v-bind=\"collapseItemProps\">\n <template #title>\n <div style=\"flex: 1;display: flex;align-items: center;\">\n <RecursionField\n v-if=\"!isArr(schema.items)\"\n :schema=\"schema.items\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isIndexComponent(schema)\"\n :only-render-properties=\"true\"\n />\n <slot name=\"title\">\n <ElBadge\n :class=\"[`${prefixCls}-errors-badge`]\"\n :value=\"errorCount\"\n :offset=\"[5, -2]\"\n :hidden=\"errorCount === 0\"\n >\n {{ schema.items?.['x-component-props']?.title }}\n </ElBadge>\n </slot>\n </div>\n <div>\n <RecursionField\n :schema=\"Array.isArray(schema.items) ? schema.items[index] || schema.items[0] : schema.items\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => isOperationComponent(schema)\"\n :only-render-properties=\"true\"\n />\n </div>\n </template>\n <slot />\n </ElCollapseItem>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAiBA,MAAM,QADW,UAAqB,CACf;EAEvB,MAAM,SADY,gBAAe,CACR,MAAM;EAC/B,MAAM,QAAQ,UAAS;EACvB,MAAM,aAAa,sBAAsB;GACvC,MAAM,OAAO,MAAM,QAAQ,QAAO;AAClC,UAAO,MAAM,KAAK,eAAe;IAC/B,MAAM;IACN,SAAS,GAAG,KAAK;IAClB,CAAC,CAAC;IACJ;EAED,MAAM,EAAE,OAAO,sBAAsB,eAAc;;uBAIjD,YA+BiB,MAAA,eAAA,EA/BjB,WA+BiB,EA/BA,MAAM,MAAA,MAAK,EAAA,EAAU,MAAA,kBAAiB,CAAA,EAAA;IAC1C,OAAK,cAmBR,CAlBN,mBAkBM,OAlBN,YAkBM,CAAA,CAhBK,MAAA,MAAK,CAAC,MAAA,OAAM,CAAC,MAAK,IAAA,WAAA,EAD3B,YAME,MAAA,eAAA,EAAA;;KAJC,QAAQ,MAAA,OAAM,CAAC;KACf,MAAM,MAAA,MAAK;KACX,sBAAoB,WAAoB,MAAA,iBAAgB,CAAC,OAAM;KAC/D,0BAAwB;;;;;4CAE3B,WASO,KAAA,QAAA,SAAA,EAAA,QAAA,CARL,YAOU,MAAA,QAAA,EAAA;KANP,OAAK,eAAA,CAAA,GAAM,MAAA,UAAS,CAAA,eAAA,CAAA;KACpB,OAAO,MAAA,WAAU;KACjB,QAAQ,CAAA,GAAA,GAAO;KACf,QAAQ,MAAA,WAAU,KAAA;;4BAE6B,CAAA,gBAAA,gBAA7C,MAAA,OAAM,CAAC,QAAK,sBAAyB,MAAK,EAAA,EAAA,CAAA,CAAA;;;;;;YAInD,mBAOM,OAAA,MAAA,CANJ,YAKE,MAAA,eAAA,EAAA;KAJC,QAAQ,MAAM,QAAQ,MAAA,OAAM,CAAC,MAAK,GAAI,MAAA,OAAM,CAAC,MAAM,MAAA,MAAK,KAAK,MAAA,OAAM,CAAC,MAAK,KAAM,MAAA,OAAM,CAAC;KACtF,MAAM,MAAA,MAAK;KACX,sBAAoB,WAAoB,MAAA,qBAAoB,CAAC,OAAM;KACnE,0BAAwB;;;;;;2BAIvB,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
|
|
@@ -6,7 +6,7 @@ import { ElCard, ElCollapse, ElEmpty } from "element-plus";
|
|
|
6
6
|
import { autorunEffect } from "@silver-formily/reactive-vue";
|
|
7
7
|
import { Fragment, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderList, unref, watchEffect, withCtx } from "vue";
|
|
8
8
|
import { RecursionField, useField, useFieldSchema } from "@silver-formily/vue";
|
|
9
|
-
import { isArr } from "@formily/shared";
|
|
9
|
+
import { isArr } from "@silver-formily/shared";
|
|
10
10
|
//#region src/array-collapse/array-collapse.vue
|
|
11
11
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
12
12
|
name: "FArrayCollapse",
|
|
@@ -61,8 +61,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
61
61
|
activeKeys.value = keys;
|
|
62
62
|
}
|
|
63
63
|
return (_ctx, _cache) => {
|
|
64
|
-
return openBlock(), createElementBlock("div", { class: normalizeClass(unref(prefixCls)) }, [(
|
|
65
|
-
key: dataSource.value.length,
|
|
64
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(unref(prefixCls)) }, [createVNode(unref(ArrayBase), {
|
|
66
65
|
"key-map": unref(keyMap),
|
|
67
66
|
add: (index) => {
|
|
68
67
|
activeKeys.value = insertActiveKeys(activeKeys.value, index, unref(collapseProps).accordion);
|
|
@@ -107,7 +106,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
107
106
|
}, null, 8, ["schema"])) : createCommentVNode("v-if", true)], 64);
|
|
108
107
|
}), 128))]),
|
|
109
108
|
_: 1
|
|
110
|
-
}, 8, ["key-map", "add"])
|
|
109
|
+
}, 8, ["key-map", "add"])], 2);
|
|
111
110
|
};
|
|
112
111
|
}
|
|
113
112
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-collapse.mjs","names":[],"sources":["../../src/array-collapse/array-collapse.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport type { ISchema } from '@formily/json-schema'\nimport {
|
|
1
|
+
{"version":3,"file":"array-collapse.mjs","names":[],"sources":["../../src/array-collapse/array-collapse.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@silver-formily/core'\nimport type { ISchema } from '@silver-formily/json-schema'\nimport { autorunEffect } from '@silver-formily/reactive-vue'\nimport { isArr } from '@silver-formily/shared'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport {\n ElCard,\n ElCollapse,\n ElEmpty,\n} from 'element-plus'\nimport { ref, watchEffect } from 'vue'\nimport { useCleanAttrs } from '../__builtins__'\nimport { ArrayBase } from '../array-base'\nimport { getArrayItemSchema, isAdditionComponent, isIndexComponent, isOperationComponent } from '../array-base/utils'\nimport { prefixCls } from './utils'\n\ndefineOptions({\n name: 'FArrayCollapse',\n inheritAttrs: false,\n})\n\nconst props = defineProps({\n modelValue: {},\n defaultOpenPanelCount: {\n type: Number,\n default: 5,\n },\n})\n\nconst fieldRef = useField<ArrayField>()\nconst schemaRef = useFieldSchema()\nconst field = fieldRef.value\nconst schema = schemaRef.value\n\nconst { props: collapseProps } = useCleanAttrs(['modelValue', 'onUpdate:modelValue'])\nconst activeKeys = ref<number[] | number>([])\n\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\nfunction range(count: number) {\n return Array.from({ length: count }).map((_, i) => i)\n}\n\nfunction takeDefaultActiveKeys(dataSourceLength: number, defaultOpenPanelCount: number, accordion = false) {\n if (accordion) {\n return 0\n }\n if (dataSourceLength < defaultOpenPanelCount)\n return range(dataSourceLength)\n\n return range(defaultOpenPanelCount)\n}\n\nfunction insertActiveKeys(activeKeys: number[] | number, index: number, accordion = false) {\n if (accordion)\n return index\n /* istanbul ignore if -- @preserve */\n if (!isArr(activeKeys))\n return index\n if (activeKeys.length <= index)\n return (activeKeys).concat(index)\n return (activeKeys).reduce((buf, key) => {\n if (key === index)\n return [...buf, key, key + 1]\n return buf.concat(key + 1)\n }, [])\n}\n\nwatchEffect(() => {\n if (!field.modified && dataSource.value.length > 0) {\n activeKeys.value = takeDefaultActiveKeys(\n dataSource.value.length,\n props.defaultOpenPanelCount,\n collapseProps.value.accordion as boolean,\n )\n }\n})\n\nfunction handleCollapseChange(keys: number[] | number) {\n activeKeys.value = keys\n}\n</script>\n\n<template>\n <div :class=\"prefixCls\">\n <ArrayBase\n :key-map=\"keyMap\"\n :add=\"(index: number) => {\n activeKeys = insertActiveKeys(\n activeKeys,\n index,\n collapseProps.accordion as boolean,\n )\n }\"\n >\n <template v-if=\"!Array.isArray(props.modelValue) || props.modelValue.length === 0\">\n <ElCard :class=\"[`${prefixCls}-item`]\" shadow=\"never\" v-bind=\"collapseProps\" :header=\"collapseProps.title || field.title\">\n <ElEmpty />\n </ElCard>\n </template>\n <template v-else>\n <ElCollapse\n :model-value=\"activeKeys\"\n :class=\"`${prefixCls}-item`\"\n v-bind=\"collapseProps\"\n @change=\"handleCollapseChange\"\n >\n <ArrayBase.Item v-for=\"(item, index) of dataSource\" :key=\"getKey(item, index)\" :index=\"index\" :record=\"item\">\n <RecursionField\n :schema=\"getArrayItemSchema(schema, index)\"\n :name=\"index\"\n :filter-properties=\"(schema: ISchema) => !isIndexComponent(schema) && !isOperationComponent(schema)\"\n />\n </ArrayBase.Item>\n </ElCollapse>\n </template>\n <template v-for=\"(itemSchema, key) in schema.properties\" :key=\"key\">\n <RecursionField v-if=\"isAdditionComponent(itemSchema)\" :schema=\"itemSchema\" name=\"addition\" />\n </template>\n </ArrayBase>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAsBA,MAAM,QAAQ;EAQd,MAAM,WAAW,UAAqB;EACtC,MAAM,YAAY,gBAAe;EACjC,MAAM,QAAQ,SAAS;EACvB,MAAM,SAAS,UAAU;EAEzB,MAAM,EAAE,OAAO,kBAAkB,cAAc,CAAC,cAAc,sBAAsB,CAAA;EACpF,MAAM,aAAa,IAAuB,EAAE,CAAA;EAE5C,MAAM,EAAE,QAAQ,WAAW,UAAU,OAAO,UAAU,MAAK;EAE3D,MAAM,aAAa,IAAI,MAAM,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAA;AAE5D,sBAAoB;AAClB,cAAW,QAAQ,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,MAAM,GAAG,EAAC;IAC7D;EAED,SAAS,MAAM,OAAe;AAC5B,UAAO,MAAM,KAAK,EAAE,QAAQ,OAAO,CAAC,CAAC,KAAK,GAAG,MAAM,EAAC;;EAGtD,SAAS,sBAAsB,kBAA0B,uBAA+B,YAAY,OAAO;AACzG,OAAI,UACF,QAAO;AAET,OAAI,mBAAmB,sBACrB,QAAO,MAAM,iBAAgB;AAE/B,UAAO,MAAM,sBAAqB;;EAGpC,SAAS,iBAAiB,YAA+B,OAAe,YAAY,OAAO;AACzF,OAAI,UACF,QAAO;;AAET,OAAI,CAAC,MAAM,WAAW,CACpB,QAAO;AACT,OAAI,WAAW,UAAU,MACvB,QAAQ,WAAY,OAAO,MAAK;AAClC,UAAQ,WAAY,QAAQ,KAAK,QAAQ;AACvC,QAAI,QAAQ,MACV,QAAO;KAAC,GAAG;KAAK;KAAK,MAAM;KAAC;AAC9B,WAAO,IAAI,OAAO,MAAM,EAAC;MACxB,EAAE,CAAA;;AAGP,oBAAkB;AAChB,OAAI,CAAC,MAAM,YAAY,WAAW,MAAM,SAAS,EAC/C,YAAW,QAAQ,sBACjB,WAAW,MAAM,QACjB,MAAM,uBACN,cAAc,MAAM,UACtB;IAEH;EAED,SAAS,qBAAqB,MAAyB;AACrD,cAAW,QAAQ;;;uBAKnB,mBAoCM,OAAA,EApCA,OAAK,eAAE,MAAA,UAAS,CAAA,EAAA,EAAA,CACpB,YAkCY,MAAA,UAAA,EAAA;IAjCT,WAAS,MAAA,OAAM;IACf,MAAM,UAAa;AAAe,gBAAA,QAAa,iBAA4B,WAAA,OAAsB,OAAiB,MAAA,cAAa,CAAC,UAAA;;;2BAYtH,CAAA,CAJM,MAAM,QAAQ,MAAM,WAAU,IAAK,MAAM,WAAW,WAAM,KAAA,WAAA,EACzE,YAES,MAAA,OAAA,EAFT,WAES;;KAFA,OAAK,CAAA,GAAM,MAAA,UAAS,CAAA,OAAA;KAAU,QAAO;OAAgB,MAAA,cAAa,EAAA,EAAG,QAAQ,MAAA,cAAa,CAAC,SAAS,MAAA,MAAK,CAAC,OAAA,CAAA,EAAA;4BACtG,CAAX,YAAW,MAAA,QAAA,CAAA,CAAA,CAAA;;iDAIb,YAaa,MAAA,WAAA,EAbb,WAaa;;KAZV,eAAa,WAAA;KACb,OAAK,GAAK,MAAA,UAAS,CAAA;OACZ,MAAA,cAAa,EAAA,EACpB,UAAQ,sBAAoB,CAAA,EAAA;4BAEsB,EAAA,UAAA,KAAA,EAAnD,mBAMiB,UAAA,MAAA,WANuB,WAAA,QAAhB,MAAM,UAAK;0BAAnC,YAMiB,MAAA,UAAA,CAAA,MAAA;OANoC,KAAK,MAAA,OAAM,CAAC,MAAM,MAAK;OAAW;OAAQ,QAAQ;;8BAKnG,CAJF,YAIE,MAAA,eAAA,EAAA;QAHC,QAAQ,MAAA,mBAAkB,CAAC,MAAA,OAAM,EAAE,MAAK;QACxC,MAAM;QACN,sBAAoB,WAAe,CAAM,MAAA,iBAAgB,CAAC,OAAM,IAAA,CAAM,MAAA,qBAAoB,CAAC,OAAM;;;;;;;;;;yDAK1G,mBAEW,UAAA,MAAA,WAF2B,MAAA,OAAM,CAAC,aAA3B,YAAY,QAAG;wDAA8B,KAAG,EAAA,CAC1C,MAAA,oBAAmB,CAAC,WAAU,IAAA,WAAA,EAApD,YAA8F,MAAA,eAAA,EAAA;;MAAtC,QAAQ;MAAY,MAAK"}
|
|
@@ -5,7 +5,7 @@ import { ArrayBase } from "../array-base/index.mjs";
|
|
|
5
5
|
import { autorunEffect } from "@silver-formily/reactive-vue";
|
|
6
6
|
import { Fragment, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderList, unref, withCtx } from "vue";
|
|
7
7
|
import { RecursionField, useField, useFieldSchema } from "@silver-formily/vue";
|
|
8
|
-
import { isArr } from "@formily/shared";
|
|
8
|
+
import { isArr } from "@silver-formily/shared";
|
|
9
9
|
import { VueDraggable } from "vue-draggable-plus";
|
|
10
10
|
//#region src/array-items/array-items.vue
|
|
11
11
|
const _hoisted_1 = ["index"];
|
|
@@ -21,7 +21,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
21
21
|
const prefixCls = `${stylePrefix}-array-items`;
|
|
22
22
|
const { getKey, keyMap } = useKey(schemaRef.value);
|
|
23
23
|
const dataSource = ref(isArr(field.value) ? field.value : []);
|
|
24
|
-
const triggerUpdateKey = ref(0);
|
|
25
24
|
autorunEffect(() => {
|
|
26
25
|
dataSource.value = isArr(field.value) ? [...field.value] : [];
|
|
27
26
|
});
|
|
@@ -29,7 +28,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
29
28
|
const { oldIndex, newIndex } = evt;
|
|
30
29
|
if (isArr(keyMap)) keyMap.splice(newIndex, 0, keyMap.splice(oldIndex, 1)[0]);
|
|
31
30
|
await field.move(oldIndex, newIndex);
|
|
32
|
-
triggerUpdateKey.value++;
|
|
33
31
|
}
|
|
34
32
|
const { props: arrayItemsProps } = useCleanAttrs([
|
|
35
33
|
"value",
|
|
@@ -37,10 +35,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
37
35
|
"onUpdate:modelValue"
|
|
38
36
|
]);
|
|
39
37
|
return (_ctx, _cache) => {
|
|
40
|
-
return openBlock(), createElementBlock("div", mergeProps({ class: prefixCls }, unref(arrayItemsProps)), [(
|
|
41
|
-
key: triggerUpdateKey.value,
|
|
42
|
-
"key-map": unref(keyMap)
|
|
43
|
-
}, {
|
|
38
|
+
return openBlock(), createElementBlock("div", mergeProps({ class: prefixCls }, unref(arrayItemsProps)), [createVNode(unref(ArrayBase), { "key-map": unref(keyMap) }, {
|
|
44
39
|
default: withCtx(() => [createVNode(unref(VueDraggable), {
|
|
45
40
|
class: normalizeClass(`${prefixCls}-list`),
|
|
46
41
|
"model-value": dataSource.value,
|
|
@@ -78,7 +73,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
78
73
|
}, null, 8, ["schema"])) : createCommentVNode("v-if", true)], 64);
|
|
79
74
|
}), 128))]),
|
|
80
75
|
_: 1
|
|
81
|
-
}, 8, ["key-map"])
|
|
76
|
+
}, 8, ["key-map"])], 16);
|
|
82
77
|
};
|
|
83
78
|
}
|
|
84
79
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-items.mjs","names":[],"sources":["../../src/array-items/array-items.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@formily/core'\nimport {
|
|
1
|
+
{"version":3,"file":"array-items.mjs","names":[],"sources":["../../src/array-items/array-items.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ArrayField } from '@silver-formily/core'\nimport { autorunEffect } from '@silver-formily/reactive-vue'\nimport { isArr } from '@silver-formily/shared'\nimport { RecursionField, useField, useFieldSchema } from '@silver-formily/vue'\nimport { ref } from 'vue'\nimport { VueDraggable } from 'vue-draggable-plus'\nimport { useCleanAttrs } from '../__builtins__'\nimport { stylePrefix } from '../__builtins__/configs'\nimport { ArrayBase } from '../array-base'\nimport { getArrayItemSchema, isAdditionComponent, useKey } from '../array-base/utils'\n\ndefineOptions({\n name: 'FArrayItems',\n inheritAttrs: false,\n})\n\nconst fieldRef = useField<ArrayField>()\nconst schemaRef = useFieldSchema()\nconst field = fieldRef.value\nconst schema = schemaRef.value\n\nconst prefixCls = `${stylePrefix}-array-items`\nconst { getKey, keyMap } = useKey(schemaRef.value)\nconst dataSource = ref(isArr(field.value) ? field.value : [])\n\nautorunEffect(() => {\n dataSource.value = isArr(field.value) ? [...field.value] : []\n})\n\nasync function handleDragEnd(evt: { oldIndex: number, newIndex: number }) {\n const { oldIndex, newIndex } = evt\n if (isArr(keyMap)) {\n keyMap.splice(newIndex, 0, keyMap.splice(oldIndex, 1)[0])\n }\n await field.move(oldIndex, newIndex)\n}\nconst { props: arrayItemsProps } = useCleanAttrs(['value', 'modelValue', 'onUpdate:modelValue'])\n</script>\n\n<template>\n <div :class=\"prefixCls\" v-bind=\"arrayItemsProps\">\n <ArrayBase :key-map=\"keyMap\">\n <VueDraggable\n :class=\"`${prefixCls}-list`\"\n :model-value=\"dataSource\"\n :handle=\"`.${stylePrefix}-array-base-sort-handle`\"\n :animation=\"150\"\n @end=\"handleDragEnd\"\n >\n <ArrayBase.Item\n v-for=\"(element, index) of dataSource\"\n :key=\"getKey(element, index)\"\n :index=\"index\"\n :record=\"element\"\n >\n <div :key=\"getKey(element, index)\" :class=\"[`${prefixCls}-item-inner`]\" :index=\"index\">\n <RecursionField :schema=\"getArrayItemSchema(schema, index)\" :name=\"index\" />\n </div>\n </ArrayBase.Item>\n </VueDraggable>\n\n <template v-for=\"(itemSchema, key) of schema.properties\" :key=\"key\">\n <RecursionField v-if=\"isAdditionComponent(itemSchema)\" :schema=\"itemSchema\" name=\"addition\" />\n </template>\n </ArrayBase>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;EAiBA,MAAM,WAAW,UAAqB;EACtC,MAAM,YAAY,gBAAe;EACjC,MAAM,QAAQ,SAAS;EACvB,MAAM,SAAS,UAAU;EAEzB,MAAM,YAAY,GAAG,YAAY;EACjC,MAAM,EAAE,QAAQ,WAAW,OAAO,UAAU,MAAK;EACjD,MAAM,aAAa,IAAI,MAAM,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAA;AAE5D,sBAAoB;AAClB,cAAW,QAAQ,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,MAAM,GAAG,EAAC;IAC7D;EAED,eAAe,cAAc,KAA6C;GACxE,MAAM,EAAE,UAAU,aAAa;AAC/B,OAAI,MAAM,OAAO,CACf,QAAO,OAAO,UAAU,GAAG,OAAO,OAAO,UAAU,EAAE,CAAC,GAAE;AAE1D,SAAM,MAAM,KAAK,UAAU,SAAQ;;EAErC,MAAM,EAAE,OAAO,oBAAoB,cAAc;GAAC;GAAS;GAAc;GAAsB,CAAA;;uBAI7F,mBAyBM,OAzBN,WAyBM,EAzBA,OAAO,WAAS,EAAU,MAAA,gBAAe,CAAA,EAAA,CAC7C,YAuBY,MAAA,UAAA,EAAA,EAvBA,WAAS,MAAA,OAAM,EAAA,EAAA;2BAkBV,CAjBf,YAiBe,MAAA,aAAA,EAAA;KAhBZ,OAAK,eAAA,GAAK,UAAS,OAAA;KACnB,eAAa,WAAA;KACb,QAAM,IAAM,MAAA,YAAW,CAAA;KACvB,WAAW;KACX,OAAK;;4BAGkC,EAAA,UAAA,KAAA,EADxC,mBASiB,UAAA,MAAA,WARY,WAAA,QAAnB,SAAS,UAAK;0BADxB,YASiB,MAAA,UAAA,CAAA,MAAA;OAPd,KAAK,MAAA,OAAM,CAAC,SAAS,MAAK;OACnB;OACP,QAAQ;;8BAIH,EAAA,WAAA,EAFN,mBAEM,OAAA;QAFA,KAAK,MAAA,OAAM,CAAC,SAAS,MAAK;QAAI,OAAK,eAAA,CAAA,GAAM,UAAS,aAAA,CAAA;QAAwB;WAC9E,YAA4E,MAAA,eAAA,EAAA;QAA3D,QAAQ,MAAA,mBAAkB,CAAC,MAAA,OAAM,EAAE,MAAK;QAAI,MAAM;;;;;;;;;;0BAKzE,mBAEW,UAAA,MAAA,WAF2B,MAAA,OAAM,CAAC,aAA3B,YAAY,QAAG;wDAA8B,KAAG,EAAA,CAC1C,MAAA,oBAAmB,CAAC,WAAU,IAAA,WAAA,EAApD,YAA8F,MAAA,eAAA,EAAA;;MAAtC,QAAQ;MAAY,MAAK"}
|