ll-plus 2.7.1 → 2.7.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/es/components/key-value/index.d.ts +7 -0
- package/es/components/key-value/src/components/key-value-item.vue.d.ts +1 -0
- package/es/components/key-value/src/config/key-value.d.ts +1 -0
- package/es/components/key-value/src/key-value.vue.d.ts +7 -0
- package/es/packages/components/key-value/src/components/key-value-item.vue2.mjs +60 -20
- package/es/packages/components/key-value/src/components/key-value-item.vue2.mjs.map +1 -1
- package/es/packages/components/key-value/src/config/key-value.mjs +4 -0
- package/es/packages/components/key-value/src/config/key-value.mjs.map +1 -1
- package/es/packages/components/key-value/src/key-value.vue2.mjs +7 -6
- package/es/packages/components/key-value/src/key-value.vue2.mjs.map +1 -1
- package/index.full.js +69 -24
- package/index.full.min.js +16 -16
- package/index.full.min.js.map +1 -1
- package/index.full.min.mjs +16 -16
- package/index.full.min.mjs.map +1 -1
- package/index.full.mjs +69 -24
- package/lib/components/key-value/index.d.ts +7 -0
- package/lib/components/key-value/src/components/key-value-item.vue.d.ts +1 -0
- package/lib/components/key-value/src/config/key-value.d.ts +1 -0
- package/lib/components/key-value/src/key-value.vue.d.ts +7 -0
- package/lib/packages/components/key-value/src/components/key-value-item.vue2.js +59 -19
- package/lib/packages/components/key-value/src/components/key-value-item.vue2.js.map +1 -1
- package/lib/packages/components/key-value/src/config/key-value.js +4 -0
- package/lib/packages/components/key-value/src/config/key-value.js.map +1 -1
- package/lib/packages/components/key-value/src/key-value.vue2.js +6 -5
- package/lib/packages/components/key-value/src/key-value.vue2.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/fonts/iconfont.js +1 -1
- package/theme-chalk/fonts/iconfont.json +28 -0
- package/types/packages/components/key-value/index.d.ts +7 -0
- package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +1 -0
- package/types/packages/components/key-value/src/config/key-value.d.ts +1 -0
- package/types/packages/components/key-value/src/key-value.vue.d.ts +7 -0
|
@@ -40,6 +40,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
|
|
|
40
40
|
readonly disabledDelete: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number[]) | (() => number[]) | ((new (...args: any[]) => number[]) | (() => number[]))[], unknown, unknown, () => never[], boolean>;
|
|
41
41
|
readonly disabledAdd: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
42
42
|
readonly validate: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
43
|
+
readonly keepLast: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
43
44
|
}, {
|
|
44
45
|
props: import("@vue/shared").LooseRequired<{
|
|
45
46
|
readonly value: import("./src/config").KeyValueItem[];
|
|
@@ -57,6 +58,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
|
|
|
57
58
|
readonly disabledKey: number[];
|
|
58
59
|
readonly disabledDelete: number[];
|
|
59
60
|
readonly disabledAdd: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
61
|
+
readonly keepLast: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
60
62
|
readonly onChange?: ((value: import("./src/config").KeyValueItem[]) => any) | undefined;
|
|
61
63
|
readonly "onUpdate:value"?: ((value: import("./src/config").KeyValueItem[]) => any) | undefined;
|
|
62
64
|
readonly onDelete?: ((index: number) => any) | undefined;
|
|
@@ -5093,6 +5095,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
|
|
|
5093
5095
|
getKeyDisabled: import("vue").ComputedRef<any>;
|
|
5094
5096
|
getValueDisabled: import("vue").ComputedRef<any>;
|
|
5095
5097
|
getDeleteDisabled: import("vue").ComputedRef<import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined>;
|
|
5098
|
+
hasValue: import("vue").ComputedRef<any>;
|
|
5096
5099
|
handleDelete: () => void;
|
|
5097
5100
|
handleChange: () => Promise<void>;
|
|
5098
5101
|
validate: () => Promise<any>;
|
|
@@ -10433,6 +10436,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
|
|
|
10433
10436
|
getKeyDisabled: import("vue").ComputedRef<any>;
|
|
10434
10437
|
getValueDisabled: import("vue").ComputedRef<any>;
|
|
10435
10438
|
getDeleteDisabled: import("vue").ComputedRef<import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined>;
|
|
10439
|
+
hasValue: import("vue").ComputedRef<any>;
|
|
10436
10440
|
handleDelete: () => void;
|
|
10437
10441
|
handleChange: () => Promise<void>;
|
|
10438
10442
|
validate: () => Promise<any>;
|
|
@@ -15701,6 +15705,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
|
|
|
15701
15705
|
getKeyDisabled: import("vue").ComputedRef<any>;
|
|
15702
15706
|
getValueDisabled: import("vue").ComputedRef<any>;
|
|
15703
15707
|
getDeleteDisabled: import("vue").ComputedRef<import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined>;
|
|
15708
|
+
hasValue: import("vue").ComputedRef<any>;
|
|
15704
15709
|
handleDelete: () => void;
|
|
15705
15710
|
handleChange: () => Promise<void>;
|
|
15706
15711
|
validate: () => Promise<any>;
|
|
@@ -16066,6 +16071,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
|
|
|
16066
16071
|
readonly disabledDelete: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number[]) | (() => number[]) | ((new (...args: any[]) => number[]) | (() => number[]))[], unknown, unknown, () => never[], boolean>;
|
|
16067
16072
|
readonly disabledAdd: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
16068
16073
|
readonly validate: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
16074
|
+
readonly keepLast: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
16069
16075
|
}>> & {
|
|
16070
16076
|
onChange?: ((value: import("./src/config").KeyValueItem[]) => any) | undefined;
|
|
16071
16077
|
"onUpdate:value"?: ((value: import("./src/config").KeyValueItem[]) => any) | undefined;
|
|
@@ -16087,6 +16093,7 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
|
|
|
16087
16093
|
readonly disabledKey: number[];
|
|
16088
16094
|
readonly disabledDelete: number[];
|
|
16089
16095
|
readonly disabledAdd: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
16096
|
+
readonly keepLast: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
16090
16097
|
}, {}>>;
|
|
16091
16098
|
export default LlKeyValue;
|
|
16092
16099
|
export * from './src/config';
|
|
@@ -5010,6 +5010,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5010
5010
|
getKeyDisabled: import("vue").ComputedRef<any>;
|
|
5011
5011
|
getValueDisabled: import("vue").ComputedRef<any>;
|
|
5012
5012
|
getDeleteDisabled: import("vue").ComputedRef<import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined>;
|
|
5013
|
+
hasValue: import("vue").ComputedRef<any>;
|
|
5013
5014
|
handleDelete: () => void;
|
|
5014
5015
|
handleChange: () => Promise<void>;
|
|
5015
5016
|
validate: () => Promise<any>;
|
|
@@ -53,6 +53,7 @@ export declare const keyValueProps: {
|
|
|
53
53
|
readonly disabledDelete: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number[]) | (() => number[]) | ((new (...args: any[]) => number[]) | (() => number[]))[], unknown, unknown, () => never[], boolean>;
|
|
54
54
|
readonly disabledAdd: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
55
55
|
readonly validate: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
56
|
+
readonly keepLast: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
56
57
|
};
|
|
57
58
|
export interface KeyValueAddEmits {
|
|
58
59
|
index: number;
|
|
@@ -40,6 +40,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
40
40
|
readonly disabledDelete: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number[]) | (() => number[]) | ((new (...args: any[]) => number[]) | (() => number[]))[], unknown, unknown, () => never[], boolean>;
|
|
41
41
|
readonly disabledAdd: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
42
42
|
readonly validate: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
43
|
+
readonly keepLast: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
43
44
|
}, {
|
|
44
45
|
props: import("@vue/shared").LooseRequired<{
|
|
45
46
|
readonly value: KeyValueItem[];
|
|
@@ -57,6 +58,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
57
58
|
readonly disabledKey: number[];
|
|
58
59
|
readonly disabledDelete: number[];
|
|
59
60
|
readonly disabledAdd: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
61
|
+
readonly keepLast: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
60
62
|
readonly onChange?: ((value: KeyValueItem[]) => any) | undefined;
|
|
61
63
|
readonly "onUpdate:value"?: ((value: KeyValueItem[]) => any) | undefined;
|
|
62
64
|
readonly onDelete?: ((index: number) => any) | undefined;
|
|
@@ -5093,6 +5095,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5093
5095
|
getKeyDisabled: import("vue").ComputedRef<any>;
|
|
5094
5096
|
getValueDisabled: import("vue").ComputedRef<any>;
|
|
5095
5097
|
getDeleteDisabled: import("vue").ComputedRef<import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined>;
|
|
5098
|
+
hasValue: import("vue").ComputedRef<any>;
|
|
5096
5099
|
handleDelete: () => void;
|
|
5097
5100
|
handleChange: () => Promise<void>;
|
|
5098
5101
|
validate: () => Promise<any>;
|
|
@@ -10433,6 +10436,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
10433
10436
|
getKeyDisabled: import("vue").ComputedRef<any>;
|
|
10434
10437
|
getValueDisabled: import("vue").ComputedRef<any>;
|
|
10435
10438
|
getDeleteDisabled: import("vue").ComputedRef<import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined>;
|
|
10439
|
+
hasValue: import("vue").ComputedRef<any>;
|
|
10436
10440
|
handleDelete: () => void;
|
|
10437
10441
|
handleChange: () => Promise<void>;
|
|
10438
10442
|
validate: () => Promise<any>;
|
|
@@ -15701,6 +15705,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
15701
15705
|
getKeyDisabled: import("vue").ComputedRef<any>;
|
|
15702
15706
|
getValueDisabled: import("vue").ComputedRef<any>;
|
|
15703
15707
|
getDeleteDisabled: import("vue").ComputedRef<import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown> | undefined>;
|
|
15708
|
+
hasValue: import("vue").ComputedRef<any>;
|
|
15704
15709
|
handleDelete: () => void;
|
|
15705
15710
|
handleChange: () => Promise<void>;
|
|
15706
15711
|
validate: () => Promise<any>;
|
|
@@ -16066,6 +16071,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
16066
16071
|
readonly disabledDelete: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number[]) | (() => number[]) | ((new (...args: any[]) => number[]) | (() => number[]))[], unknown, unknown, () => never[], boolean>;
|
|
16067
16072
|
readonly disabledAdd: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
16068
16073
|
readonly validate: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
|
|
16074
|
+
readonly keepLast: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
16069
16075
|
}>> & {
|
|
16070
16076
|
onChange?: ((value: KeyValueItem[]) => any) | undefined;
|
|
16071
16077
|
"onUpdate:value"?: ((value: KeyValueItem[]) => any) | undefined;
|
|
@@ -16087,5 +16093,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
16087
16093
|
readonly disabledKey: number[];
|
|
16088
16094
|
readonly disabledDelete: number[];
|
|
16089
16095
|
readonly disabledAdd: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
16096
|
+
readonly keepLast: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
16090
16097
|
}, {}>;
|
|
16091
16098
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, useAttrs, ref, computed, watch, nextTick, resolveComponent, openBlock, createBlock, unref, withCtx, createElementBlock, normalizeClass, createVNode, renderSlot, resolveDynamicComponent, mergeProps, createSlots, renderList, createCommentVNode, normalizeStyle, createTextVNode, createElementVNode, normalizeProps, guardReactiveProps } from 'vue';
|
|
1
|
+
import { defineComponent, useAttrs, ref, computed, watch, nextTick, resolveComponent, openBlock, createBlock, unref, withCtx, createElementBlock, normalizeClass, createVNode, renderSlot, resolveDynamicComponent, mergeProps, createSlots, renderList, createCommentVNode, normalizeStyle, createTextVNode, createElementVNode, normalizeProps, guardReactiveProps, Fragment } from 'vue';
|
|
2
2
|
import { isEmpty } from 'lodash-es';
|
|
3
3
|
import '../../../../utils/index.mjs';
|
|
4
4
|
import '../config/index.mjs';
|
|
@@ -40,6 +40,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
40
40
|
const getDeleteDisabled = computed(() => {
|
|
41
41
|
return props.disabledDelete?.includes(props.idx) || props.disabled;
|
|
42
42
|
});
|
|
43
|
+
const hasValue = computed(() => {
|
|
44
|
+
return innerValue.value["key"] || innerValue.value["key"] === 0 || innerValue.value["value"];
|
|
45
|
+
});
|
|
43
46
|
const handleDelete = () => {
|
|
44
47
|
emits("delete");
|
|
45
48
|
};
|
|
@@ -215,21 +218,57 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
215
218
|
2
|
|
216
219
|
/* CLASS */
|
|
217
220
|
),
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
221
|
+
props.showDelete ? (openBlock(), createElementBlock(
|
|
222
|
+
Fragment,
|
|
223
|
+
{ key: 2 },
|
|
224
|
+
[
|
|
225
|
+
hasValue.value ? (openBlock(), createBlock(_component_a_popconfirm, {
|
|
226
|
+
key: 0,
|
|
227
|
+
title: "\u4F60\u786E\u5B9A\u8981\u79FB\u9664\u5417?",
|
|
228
|
+
"ok-text": "\u786E\u8BA4",
|
|
229
|
+
"cancel-text": "\u53D6\u6D88",
|
|
230
|
+
placement: "topRight",
|
|
231
|
+
"overlay-class-name": unref(bem).m("popconfirm"),
|
|
232
|
+
"get-popup-container": (trigger) => trigger.parentNode,
|
|
233
|
+
"destroy-tooltip-on-hide": "",
|
|
234
|
+
onConfirm: handleDelete
|
|
235
|
+
}, {
|
|
236
|
+
default: withCtx(() => [
|
|
237
|
+
createElementVNode(
|
|
238
|
+
"div",
|
|
239
|
+
{
|
|
240
|
+
class: normalizeClass(unref(bem).m("delete")),
|
|
241
|
+
style: normalizeStyle({
|
|
242
|
+
"margin-top": !!unref(attrs)["key-label"] || !!unref(attrs)["value-label"] ? "26px" : "0px"
|
|
243
|
+
})
|
|
244
|
+
},
|
|
245
|
+
[
|
|
246
|
+
createVNode(_component_ll_button, {
|
|
247
|
+
type: "link",
|
|
248
|
+
disabled: getDeleteDisabled.value
|
|
249
|
+
}, {
|
|
250
|
+
default: withCtx(() => [
|
|
251
|
+
renderSlot(_ctx.$slots, "delete-icon", {}, () => [
|
|
252
|
+
createVNode(_component_ll_icon, {
|
|
253
|
+
"icon-name": "icon-remove",
|
|
254
|
+
class: "delete"
|
|
255
|
+
})
|
|
256
|
+
])
|
|
257
|
+
]),
|
|
258
|
+
_: 3
|
|
259
|
+
/* FORWARDED */
|
|
260
|
+
}, 8, ["disabled"])
|
|
261
|
+
],
|
|
262
|
+
6
|
|
263
|
+
/* CLASS, STYLE */
|
|
264
|
+
)
|
|
265
|
+
]),
|
|
266
|
+
_: 3
|
|
267
|
+
/* FORWARDED */
|
|
268
|
+
}, 8, ["overlay-class-name", "get-popup-container"])) : (openBlock(), createElementBlock(
|
|
230
269
|
"div",
|
|
231
270
|
{
|
|
232
|
-
key:
|
|
271
|
+
key: 1,
|
|
233
272
|
class: normalizeClass(unref(bem).m("delete")),
|
|
234
273
|
style: normalizeStyle({
|
|
235
274
|
"margin-top": !!unref(attrs)["key-label"] || !!unref(attrs)["value-label"] ? "26px" : "0px"
|
|
@@ -238,7 +277,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
238
277
|
[
|
|
239
278
|
createVNode(_component_ll_button, {
|
|
240
279
|
type: "link",
|
|
241
|
-
disabled: getDeleteDisabled.value
|
|
280
|
+
disabled: getDeleteDisabled.value,
|
|
281
|
+
onClick: handleDelete
|
|
242
282
|
}, {
|
|
243
283
|
default: withCtx(() => [
|
|
244
284
|
renderSlot(_ctx.$slots, "delete-icon", {}, () => [
|
|
@@ -254,11 +294,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
254
294
|
],
|
|
255
295
|
6
|
|
256
296
|
/* CLASS, STYLE */
|
|
257
|
-
))
|
|
258
|
-
]
|
|
259
|
-
|
|
260
|
-
/*
|
|
261
|
-
|
|
297
|
+
))
|
|
298
|
+
],
|
|
299
|
+
64
|
|
300
|
+
/* STABLE_FRAGMENT */
|
|
301
|
+
)) : createCommentVNode("v-if", true)
|
|
262
302
|
],
|
|
263
303
|
2
|
|
264
304
|
/* CLASS */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-value-item.vue2.mjs","sources":["../../../../../../../packages/components/key-value/src/components/key-value-item.vue"],"sourcesContent":["<template>\n <ll-form\n ref=\"form\"\n :form-columns=\"formColumns\"\n :form-data=\"props.value\"\n :form-options=\"formOptions\"\n >\n <template #formItem=\"{ item }\">\n <template v-if=\"item.key === 'other'\">\n <div :class=\"bem.e('item')\">\n <div v-if=\"props.keyValueType !== 'single'\" :class=\"bem.m('left')\">\n <ll-form-item\n :label=\"attrs['key-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getKeyType.rules || []\"\n name=\"key\"\n >\n <slot name=\"key\">\n <ll-select\n v-if=\"!isEmpty(props.keyTypes)\"\n v-model:value=\"innerValue['key']\"\n :options=\"props.keyTypes\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['key']\"\n v-bind=\"getKeyType\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"key\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <div\n v-if=\"props.keyValueType !== 'single'\"\n :class=\"bem.m('separator')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <slot name=\"separator\">~</slot>\n </div>\n\n <div :class=\"bem.m('right')\">\n <ll-form-item\n :label=\"attrs['value-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getValueType.rules || []\"\n name=\"value\"\n >\n <slot name=\"value-warapper\" v-bind=\"getValueType\">\n <component\n :is=\"`ll-${getValueType.type}`\"\n v-model:value=\"innerValue['value']\"\n :disabled=\"getValueDisabled\"\n style=\"width: 100%\"\n v-bind=\"getValueType\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"value\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <a-popconfirm\n title=\"你确定要移除吗?\"\n ok-text=\"确认\"\n cancel-text=\"取消\"\n placement=\"topRight\"\n :overlay-class-name=\"bem.m('popconfirm')\"\n :get-popup-container=\"(trigger: Element) => trigger.parentNode\"\n destroy-tooltip-on-hide\n @confirm=\"handleDelete\"\n >\n <div\n v-if=\"props.showDelete\"\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button type=\"link\" :disabled=\"getDeleteDisabled\">\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </a-popconfirm>\n </div>\n </template>\n </template>\n </ll-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useAttrs, watch, nextTick } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport type { FormInstance } from '@ll-plus/components'\nimport {\n keyValueItemProps,\n keyValueItemEmits,\n formColumns,\n formOptions\n} from '../config'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\n\ndefineOptions({\n name: 'LlKeyValueItem'\n})\n\nconst props = defineProps(keyValueItemProps)\nconst emits = defineEmits(keyValueItemEmits)\n\nconst attrs = useAttrs()\nconst bem = createNamespace('key-value')\nconst innerValue = ref(props.value)\n\nconst form = ref<FormInstance | null>()\n\nconst getKeyType = computed<FormColumn>(() => {\n const option = props.keyType\n return option\n})\nconst getValueType = computed<FormColumn>(() => {\n let option = props.valueType\n if (innerValue.value['key'] && !isEmpty(props.keyValueTypeDict)) {\n option = props.keyValueTypeDict[innerValue.value['key']]\n }\n return option\n})\n\nconst getKeyDisabled = computed(() => {\n return (\n props.disabledKey?.includes(props.idx) ||\n props.disabled ||\n getKeyType.value?.disabled\n )\n})\n\nconst getValueDisabled = computed(() => {\n return (\n props.disabledValue?.includes(props.idx) ||\n props.disabled ||\n getValueType.value?.disabled\n )\n})\n\nconst getDeleteDisabled = computed(() => {\n return props.disabledDelete?.includes(props.idx) || props.disabled\n})\n\nconst handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = async () => {\n innerValue.value['value'] = null\n await form.value?.clearValidate()\n}\n\nconst validate = async () => {\n return await form.value?.validate()\n}\n\nconst resetFields = async () => {\n return await form.value?.resetFields()\n}\nconst clearValidate = async (namePath?: NamePath[]) => {\n return await form.value?.clearValidate(namePath)\n}\n\nwatch(\n innerValue,\n async val => {\n await nextTick().then(() => {\n try {\n emits('update:value', val)\n emits('change')\n } catch (error) {\n console.error(error)\n }\n })\n },\n {\n deep: true\n }\n)\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate\n})\n</script>\n\n<style scoped></style>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"key-value-item.vue2.mjs","sources":["../../../../../../../packages/components/key-value/src/components/key-value-item.vue"],"sourcesContent":["<template>\n <ll-form\n ref=\"form\"\n :form-columns=\"formColumns\"\n :form-data=\"props.value\"\n :form-options=\"formOptions\"\n >\n <template #formItem=\"{ item }\">\n <template v-if=\"item.key === 'other'\">\n <div :class=\"bem.e('item')\">\n <div v-if=\"props.keyValueType !== 'single'\" :class=\"bem.m('left')\">\n <ll-form-item\n :label=\"attrs['key-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getKeyType.rules || []\"\n name=\"key\"\n >\n <slot name=\"key\">\n <ll-select\n v-if=\"!isEmpty(props.keyTypes)\"\n v-model:value=\"innerValue['key']\"\n :options=\"props.keyTypes\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['key']\"\n v-bind=\"getKeyType\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"key\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <div\n v-if=\"props.keyValueType !== 'single'\"\n :class=\"bem.m('separator')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <slot name=\"separator\">~</slot>\n </div>\n\n <div :class=\"bem.m('right')\">\n <ll-form-item\n :label=\"attrs['value-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getValueType.rules || []\"\n name=\"value\"\n >\n <slot name=\"value-warapper\" v-bind=\"getValueType\">\n <component\n :is=\"`ll-${getValueType.type}`\"\n v-model:value=\"innerValue['value']\"\n :disabled=\"getValueDisabled\"\n style=\"width: 100%\"\n v-bind=\"getValueType\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"value\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n <template v-if=\"props.showDelete\">\n <template v-if=\"hasValue\">\n <a-popconfirm\n title=\"你确定要移除吗?\"\n ok-text=\"确认\"\n cancel-text=\"取消\"\n placement=\"topRight\"\n :overlay-class-name=\"bem.m('popconfirm')\"\n :get-popup-container=\"(trigger: Element) => trigger.parentNode\"\n destroy-tooltip-on-hide\n @confirm=\"handleDelete\"\n >\n <div\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button type=\"link\" :disabled=\"getDeleteDisabled\">\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </a-popconfirm>\n </template>\n <div\n v-else\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button\n type=\"link\"\n :disabled=\"getDeleteDisabled\"\n @click=\"handleDelete\"\n >\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </template>\n </div>\n </template>\n </template>\n </ll-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useAttrs, watch, nextTick } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport type { FormInstance } from '@ll-plus/components'\nimport {\n keyValueItemProps,\n keyValueItemEmits,\n formColumns,\n formOptions\n} from '../config'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\n\ndefineOptions({\n name: 'LlKeyValueItem'\n})\n\nconst props = defineProps(keyValueItemProps)\nconst emits = defineEmits(keyValueItemEmits)\n\nconst attrs = useAttrs()\nconst bem = createNamespace('key-value')\nconst innerValue = ref(props.value)\n\nconst form = ref<FormInstance | null>()\n\nconst getKeyType = computed<FormColumn>(() => {\n const option = props.keyType\n return option\n})\nconst getValueType = computed<FormColumn>(() => {\n let option = props.valueType\n if (innerValue.value['key'] && !isEmpty(props.keyValueTypeDict)) {\n option = props.keyValueTypeDict[innerValue.value['key']]\n }\n return option\n})\n\nconst getKeyDisabled = computed(() => {\n return (\n props.disabledKey?.includes(props.idx) ||\n props.disabled ||\n getKeyType.value?.disabled\n )\n})\n\nconst getValueDisabled = computed(() => {\n return (\n props.disabledValue?.includes(props.idx) ||\n props.disabled ||\n getValueType.value?.disabled\n )\n})\n\nconst getDeleteDisabled = computed(() => {\n return props.disabledDelete?.includes(props.idx) || props.disabled\n})\n\nconst hasValue = computed(() => {\n return (\n innerValue.value['key'] ||\n innerValue.value['key'] === 0 ||\n innerValue.value['value']\n )\n})\n\nconst handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = async () => {\n innerValue.value['value'] = null\n await form.value?.clearValidate()\n}\n\nconst validate = async () => {\n return await form.value?.validate()\n}\n\nconst resetFields = async () => {\n return await form.value?.resetFields()\n}\nconst clearValidate = async (namePath?: NamePath[]) => {\n return await form.value?.clearValidate(namePath)\n}\n\nwatch(\n innerValue,\n async val => {\n await nextTick().then(() => {\n try {\n emits('update:value', val)\n emits('change')\n } catch (error) {\n console.error(error)\n }\n })\n },\n {\n deep: true\n }\n)\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate\n})\n</script>\n\n<style scoped></style>\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-value.mjs","sources":["../../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { KeyValueItem } from './key-value-item'\nimport type KeyValue from '../key-value.vue'\n\nexport interface KeyType {\n label: string\n value: string\n option: FormColumn\n}\n\ntype KeyValueType = 'single' | 'doubt'\n\nexport const getKeyValueItem = () => ({\n key: null,\n value: null\n})\n\nexport const keyValueProps = buildProps({\n value: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [{ key: '', value: '' }]\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n keyLabel: {\n type: String,\n default: ''\n },\n valueLabel: {\n type: String,\n default: ''\n },\n addText: {\n type: String,\n default: '添加'\n },\n keyValueType: {\n type: definePropType<KeyValueType>(String),\n default: 'doubt'\n },\n keyType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入Key'\n })\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array),\n default: () => []\n },\n valueType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入Value'\n })\n },\n disabledValue: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledKey: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledDelete: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledAdd: {\n type: Boolean,\n default: false\n },\n validate: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport interface KeyValueAddEmits {\n index: number\n item: KeyValueItem\n value: KeyValueItem[]\n}\n\nexport const keyValueEmits = {\n change: (value: KeyValueItem[]) => !!value,\n add: (params: KeyValueAddEmits) => !!params,\n delete: (index: number) => typeof index === 'number',\n 'update:value': (value: KeyValueItem[]) => !!value\n}\n\n// props\nexport type KeyValueProps = ExtractPropTypes<typeof keyValueProps>\n// emits\nexport type KeyValueEmits = typeof keyValueEmits\n// instance\nexport type KeyValueInstance = InstanceType<typeof KeyValue>\n"],"names":[],"mappings":";;;;AAeO,MAAM,kBAAkB,OAAO;AAAA,EACpC,GAAK,EAAA,IAAA;AAAA,EACL,KAAO,EAAA,IAAA;AACT,CAAA,EAAA;AAEO,MAAM,gBAAgB,UAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA+B,KAAK,CAAA;AAAA,IAC1C,OAAA,EAAS,MAAM,CAAC,EAAE,KAAK,EAAI,EAAA,KAAA,EAAO,IAAI,CAAA;AAAA,GACxC;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAM,eAA6B,MAAM,CAAA;AAAA,IACzC,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAA0B,KAAK,CAAA;AAAA,IACrC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,yBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAU,EAAA;AAQH,MAAM,aAAgB,GAAA;AAAA,EAC3B,MAAQ,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAAA,EACrC,GAAK,EAAA,CAAC,MAA6B,KAAA,CAAC,CAAC,MAAA;AAAA,EACrC,MAAQ,EAAA,CAAC,KAAkB,KAAA,OAAO,KAAU,KAAA,QAAA;AAAA,EAC5C,cAAgB,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAC/C;;;;"}
|
|
1
|
+
{"version":3,"file":"key-value.mjs","sources":["../../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { KeyValueItem } from './key-value-item'\nimport type KeyValue from '../key-value.vue'\n\nexport interface KeyType {\n label: string\n value: string\n option: FormColumn\n}\n\ntype KeyValueType = 'single' | 'doubt'\n\nexport const getKeyValueItem = () => ({\n key: null,\n value: null\n})\n\nexport const keyValueProps = buildProps({\n value: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [{ key: '', value: '' }]\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n keyLabel: {\n type: String,\n default: ''\n },\n valueLabel: {\n type: String,\n default: ''\n },\n addText: {\n type: String,\n default: '添加'\n },\n keyValueType: {\n type: definePropType<KeyValueType>(String),\n default: 'doubt'\n },\n keyType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入Key'\n })\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array),\n default: () => []\n },\n valueType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入Value'\n })\n },\n disabledValue: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledKey: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledDelete: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledAdd: {\n type: Boolean,\n default: false\n },\n validate: {\n type: Boolean,\n default: false\n },\n keepLast: {\n type: Boolean,\n default: true\n }\n} as const)\n\nexport interface KeyValueAddEmits {\n index: number\n item: KeyValueItem\n value: KeyValueItem[]\n}\n\nexport const keyValueEmits = {\n change: (value: KeyValueItem[]) => !!value,\n add: (params: KeyValueAddEmits) => !!params,\n delete: (index: number) => typeof index === 'number',\n 'update:value': (value: KeyValueItem[]) => !!value\n}\n\n// props\nexport type KeyValueProps = ExtractPropTypes<typeof keyValueProps>\n// emits\nexport type KeyValueEmits = typeof keyValueEmits\n// instance\nexport type KeyValueInstance = InstanceType<typeof KeyValue>\n"],"names":[],"mappings":";;;;AAeO,MAAM,kBAAkB,OAAO;AAAA,EACpC,GAAK,EAAA,IAAA;AAAA,EACL,KAAO,EAAA,IAAA;AACT,CAAA,EAAA;AAEO,MAAM,gBAAgB,UAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA+B,KAAK,CAAA;AAAA,IAC1C,OAAA,EAAS,MAAM,CAAC,EAAE,KAAK,EAAI,EAAA,KAAA,EAAO,IAAI,CAAA;AAAA,GACxC;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAM,eAA6B,MAAM,CAAA;AAAA,IACzC,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAA0B,KAAK,CAAA;AAAA,IACrC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,yBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAQH,MAAM,aAAgB,GAAA;AAAA,EAC3B,MAAQ,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAAA,EACrC,GAAK,EAAA,CAAC,MAA6B,KAAA,CAAC,CAAC,MAAA;AAAA,EACrC,MAAQ,EAAA,CAAC,KAAkB,KAAA,OAAO,KAAU,KAAA,QAAA;AAAA,EAC5C,cAAgB,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAC/C;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, computed, nextTick, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createVNode, withCtx,
|
|
1
|
+
import { defineComponent, ref, computed, nextTick, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createVNode, withCtx, Fragment, renderList, createBlock, createSlots, renderSlot, mergeProps, createCommentVNode, createElementVNode, createTextVNode, toDisplayString } from 'vue';
|
|
2
2
|
import { Form } from 'ant-design-vue';
|
|
3
3
|
import '../../../utils/index.mjs';
|
|
4
4
|
import './config/index.mjs';
|
|
@@ -73,7 +73,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
73
73
|
watch(
|
|
74
74
|
() => props.value,
|
|
75
75
|
(n) => {
|
|
76
|
-
innerValue.value = n && n.length > 0 ? n : [{ key: null, value: null }];
|
|
76
|
+
innerValue.value = n && n.length > 0 ? n : props.keepLast ? [{ key: null, value: null }] : n;
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
79
|
immediate: true,
|
|
@@ -99,9 +99,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
99
99
|
spinning: props.loading
|
|
100
100
|
}, {
|
|
101
101
|
default: withCtx(() => [
|
|
102
|
-
|
|
102
|
+
innerValue.value.length > 0 ? (openBlock(), createElementBlock(
|
|
103
103
|
"div",
|
|
104
104
|
{
|
|
105
|
+
key: 0,
|
|
105
106
|
class: normalizeClass(unref(bem).e("list"))
|
|
106
107
|
},
|
|
107
108
|
[
|
|
@@ -119,7 +120,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
119
120
|
"key-label": props.keyLabel,
|
|
120
121
|
"value-label": props.valueLabel,
|
|
121
122
|
"key-value-type-dict": keyValueTypeDict.value,
|
|
122
|
-
"show-delete": innerValue.value.length > 1,
|
|
123
123
|
"key-value-type": props.keyValueType,
|
|
124
124
|
"key-type": props.keyType,
|
|
125
125
|
"key-types": props.keyTypes,
|
|
@@ -128,6 +128,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
128
128
|
"disabled-value": props.disabledValue,
|
|
129
129
|
"disabled-key": props.disabledKey,
|
|
130
130
|
"disabled-delete": props.disabledDelete,
|
|
131
|
+
"show-delete": props.keepLast ? idx > 0 : true,
|
|
131
132
|
onDelete: ($event) => handleDelete(idx),
|
|
132
133
|
onChange: handleChange
|
|
133
134
|
}, createSlots({
|
|
@@ -142,7 +143,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
142
143
|
])
|
|
143
144
|
};
|
|
144
145
|
})
|
|
145
|
-
]), 1032, ["value", "onUpdate:value", "idx", "key-label", "value-label", "key-value-type-dict", "
|
|
146
|
+
]), 1032, ["value", "onUpdate:value", "idx", "key-label", "value-label", "key-value-type-dict", "key-value-type", "key-type", "key-types", "value-type", "disabled", "disabled-value", "disabled-key", "disabled-delete", "show-delete", "onDelete"]);
|
|
146
147
|
}),
|
|
147
148
|
128
|
|
148
149
|
/* KEYED_FRAGMENT */
|
|
@@ -150,7 +151,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
150
151
|
],
|
|
151
152
|
2
|
|
152
153
|
/* CLASS */
|
|
153
|
-
),
|
|
154
|
+
)) : createCommentVNode("v-if", true),
|
|
154
155
|
createVNode(_component_ll_button, {
|
|
155
156
|
class: normalizeClass(unref(bem).e("add")),
|
|
156
157
|
loading: _ctx.loading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-value.vue2.mjs","sources":["../../../../../../packages/components/key-value/src/key-value.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <a-spin :spinning=\"props.loading\">\n <div :class=\"bem.e('list')\">\n <key-value-item\n v-for=\"(_item, idx) in innerValue\"\n :key=\"_item\"\n :ref=\"el => (keyValueItems[idx] = el)\"\n v-model:value=\"innerValue[idx]\"\n :idx=\"idx\"\n :key-label=\"props.keyLabel\"\n :value-label=\"props.valueLabel\"\n :key-value-type-dict=\"keyValueTypeDict\"\n :
|
|
1
|
+
{"version":3,"file":"key-value.vue2.mjs","sources":["../../../../../../packages/components/key-value/src/key-value.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <a-spin :spinning=\"props.loading\">\n <div v-if=\"innerValue.length > 0\" :class=\"bem.e('list')\">\n <key-value-item\n v-for=\"(_item, idx) in innerValue\"\n :key=\"_item\"\n :ref=\"el => (keyValueItems[idx] = el)\"\n v-model:value=\"innerValue[idx]\"\n :idx=\"idx\"\n :key-label=\"props.keyLabel\"\n :value-label=\"props.valueLabel\"\n :key-value-type-dict=\"keyValueTypeDict\"\n :key-value-type=\"props.keyValueType\"\n :key-type=\"props.keyType\"\n :key-types=\"props.keyTypes\"\n :value-type=\"props.valueType\"\n :disabled=\"props.disabled\"\n :disabled-value=\"props.disabledValue\"\n :disabled-key=\"props.disabledKey\"\n :disabled-delete=\"props.disabledDelete\"\n :show-delete=\"props.keepLast ? idx > 0 : true\"\n @delete=\"handleDelete(idx)\"\n @change=\"handleChange\"\n >\n <template\n v-for=\"item in Object.keys($slots)\"\n :key=\"item\"\n #[item]=\"data\"\n >\n <slot :name=\"item\" v-bind=\"data || {}\" :index=\"idx\"></slot>\n </template>\n </key-value-item>\n </div>\n\n <ll-button\n :class=\"bem.e('add')\"\n :loading=\"loading\"\n :disabled=\"props.disabled || props.disabledAdd\"\n @click=\"handleAddItem\"\n >\n <div :class=\"bem.e('plus')\">\n <ll-icon\n v-if=\"!loading\"\n icon-name=\"icon-add\"\n :class=\"bem.e('icon-add')\"\n />\n {{ props.addText }}\n </div>\n </ll-button>\n </a-spin>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, nextTick } from 'vue'\nimport { Form } from 'ant-design-vue'\nimport { createNamespace } from '@ll-plus/utils'\nimport {\n keyValueProps,\n keyValueEmits,\n getKeyValueItem,\n type KeyValueItem\n} from './config'\nimport keyValueItem from './components/key-value-item.vue'\n\ndefineOptions({ name: 'LlKeyValue' })\n\nconst props = defineProps(keyValueProps)\nconst emits = defineEmits(keyValueEmits)\nconst bem = createNamespace('key-value')\nconst formItemContext = Form.useInjectFormItemContext()\n\nconst innerValue = ref<KeyValueItem[]>([])\n\nconst keyValueItems = ref<InstanceType<typeof keyValueItem>[]>([])\n\nconst keyValueTypeDict = computed(() => {\n const obj = {}\n props.keyTypes.map(e => {\n obj[e.value] = e.option\n })\n return obj\n})\n\nconst validate = async () => {\n await nextTick()\n return Promise.all(\n keyValueItems.value.filter(e => !!e).map(e => e.validate())\n )\n}\n\nconst resetFields = async () => {\n await nextTick()\n return Promise.all(\n keyValueItems.value.filter(e => !!e).map(e => e.resetFields())\n )\n}\n\nconst clearValidate = async () => {\n await nextTick()\n return Promise.all(\n keyValueItems.value.filter(e => !!e).map(e => e.clearValidate())\n )\n}\n\nconst handleAddItem = async () => {\n const valid = await validate()\n if (props.validate && !valid) return false\n innerValue.value.push(getKeyValueItem())\n emits('add', {\n index: innerValue.value.length - 1,\n item: innerValue.value[innerValue.value.length - 1],\n value: innerValue.value\n })\n handleChange()\n}\n\nconst handleDelete = (idx: number) => {\n innerValue.value.splice(idx, 1)\n emits('delete', idx)\n handleChange()\n}\n\nconst handleChange = () => {\n try {\n formItemContext.onFieldChange()\n emits('change', innerValue.value)\n emits('update:value', innerValue.value)\n } catch (error) {\n console.error(error)\n }\n}\n\nwatch(\n () => props.value,\n n => {\n innerValue.value =\n n && n.length > 0 ? n : props.keepLast ? [{ key: null, value: null }] : n\n },\n {\n immediate: true,\n deep: true\n }\n)\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate\n})\n</script>\n"],"names":[],"mappings":"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"}
|
package/index.full.js
CHANGED
|
@@ -63250,6 +63250,10 @@
|
|
|
63250
63250
|
validate: {
|
|
63251
63251
|
type: Boolean,
|
|
63252
63252
|
default: false
|
|
63253
|
+
},
|
|
63254
|
+
keepLast: {
|
|
63255
|
+
type: Boolean,
|
|
63256
|
+
default: true
|
|
63253
63257
|
}
|
|
63254
63258
|
});
|
|
63255
63259
|
const keyValueEmits = {
|
|
@@ -63369,6 +63373,9 @@
|
|
|
63369
63373
|
const getDeleteDisabled = require$$0.computed(() => {
|
|
63370
63374
|
return props.disabledDelete?.includes(props.idx) || props.disabled;
|
|
63371
63375
|
});
|
|
63376
|
+
const hasValue = require$$0.computed(() => {
|
|
63377
|
+
return innerValue.value["key"] || innerValue.value["key"] === 0 || innerValue.value["value"];
|
|
63378
|
+
});
|
|
63372
63379
|
const handleDelete = () => {
|
|
63373
63380
|
emits("delete");
|
|
63374
63381
|
};
|
|
@@ -63544,21 +63551,57 @@
|
|
|
63544
63551
|
2
|
|
63545
63552
|
/* CLASS */
|
|
63546
63553
|
),
|
|
63547
|
-
require$$0.
|
|
63548
|
-
|
|
63549
|
-
|
|
63550
|
-
|
|
63551
|
-
|
|
63552
|
-
|
|
63553
|
-
|
|
63554
|
-
|
|
63555
|
-
|
|
63556
|
-
|
|
63557
|
-
|
|
63558
|
-
|
|
63554
|
+
props.showDelete ? (require$$0.openBlock(), require$$0.createElementBlock(
|
|
63555
|
+
require$$0.Fragment,
|
|
63556
|
+
{ key: 2 },
|
|
63557
|
+
[
|
|
63558
|
+
hasValue.value ? (require$$0.openBlock(), require$$0.createBlock(_component_a_popconfirm, {
|
|
63559
|
+
key: 0,
|
|
63560
|
+
title: "\u4F60\u786E\u5B9A\u8981\u79FB\u9664\u5417?",
|
|
63561
|
+
"ok-text": "\u786E\u8BA4",
|
|
63562
|
+
"cancel-text": "\u53D6\u6D88",
|
|
63563
|
+
placement: "topRight",
|
|
63564
|
+
"overlay-class-name": require$$0.unref(bem).m("popconfirm"),
|
|
63565
|
+
"get-popup-container": (trigger) => trigger.parentNode,
|
|
63566
|
+
"destroy-tooltip-on-hide": "",
|
|
63567
|
+
onConfirm: handleDelete
|
|
63568
|
+
}, {
|
|
63569
|
+
default: require$$0.withCtx(() => [
|
|
63570
|
+
require$$0.createElementVNode(
|
|
63571
|
+
"div",
|
|
63572
|
+
{
|
|
63573
|
+
class: require$$0.normalizeClass(require$$0.unref(bem).m("delete")),
|
|
63574
|
+
style: require$$0.normalizeStyle({
|
|
63575
|
+
"margin-top": !!require$$0.unref(attrs)["key-label"] || !!require$$0.unref(attrs)["value-label"] ? "26px" : "0px"
|
|
63576
|
+
})
|
|
63577
|
+
},
|
|
63578
|
+
[
|
|
63579
|
+
require$$0.createVNode(_component_ll_button, {
|
|
63580
|
+
type: "link",
|
|
63581
|
+
disabled: getDeleteDisabled.value
|
|
63582
|
+
}, {
|
|
63583
|
+
default: require$$0.withCtx(() => [
|
|
63584
|
+
require$$0.renderSlot(_ctx.$slots, "delete-icon", {}, () => [
|
|
63585
|
+
require$$0.createVNode(_component_ll_icon, {
|
|
63586
|
+
"icon-name": "icon-remove",
|
|
63587
|
+
class: "delete"
|
|
63588
|
+
})
|
|
63589
|
+
])
|
|
63590
|
+
]),
|
|
63591
|
+
_: 3
|
|
63592
|
+
/* FORWARDED */
|
|
63593
|
+
}, 8, ["disabled"])
|
|
63594
|
+
],
|
|
63595
|
+
6
|
|
63596
|
+
/* CLASS, STYLE */
|
|
63597
|
+
)
|
|
63598
|
+
]),
|
|
63599
|
+
_: 3
|
|
63600
|
+
/* FORWARDED */
|
|
63601
|
+
}, 8, ["overlay-class-name", "get-popup-container"])) : (require$$0.openBlock(), require$$0.createElementBlock(
|
|
63559
63602
|
"div",
|
|
63560
63603
|
{
|
|
63561
|
-
key:
|
|
63604
|
+
key: 1,
|
|
63562
63605
|
class: require$$0.normalizeClass(require$$0.unref(bem).m("delete")),
|
|
63563
63606
|
style: require$$0.normalizeStyle({
|
|
63564
63607
|
"margin-top": !!require$$0.unref(attrs)["key-label"] || !!require$$0.unref(attrs)["value-label"] ? "26px" : "0px"
|
|
@@ -63567,7 +63610,8 @@
|
|
|
63567
63610
|
[
|
|
63568
63611
|
require$$0.createVNode(_component_ll_button, {
|
|
63569
63612
|
type: "link",
|
|
63570
|
-
disabled: getDeleteDisabled.value
|
|
63613
|
+
disabled: getDeleteDisabled.value,
|
|
63614
|
+
onClick: handleDelete
|
|
63571
63615
|
}, {
|
|
63572
63616
|
default: require$$0.withCtx(() => [
|
|
63573
63617
|
require$$0.renderSlot(_ctx.$slots, "delete-icon", {}, () => [
|
|
@@ -63583,11 +63627,11 @@
|
|
|
63583
63627
|
],
|
|
63584
63628
|
6
|
|
63585
63629
|
/* CLASS, STYLE */
|
|
63586
|
-
))
|
|
63587
|
-
]
|
|
63588
|
-
|
|
63589
|
-
/*
|
|
63590
|
-
|
|
63630
|
+
))
|
|
63631
|
+
],
|
|
63632
|
+
64
|
|
63633
|
+
/* STABLE_FRAGMENT */
|
|
63634
|
+
)) : require$$0.createCommentVNode("v-if", true)
|
|
63591
63635
|
],
|
|
63592
63636
|
2
|
|
63593
63637
|
/* CLASS */
|
|
@@ -63668,7 +63712,7 @@
|
|
|
63668
63712
|
require$$0.watch(
|
|
63669
63713
|
() => props.value,
|
|
63670
63714
|
(n) => {
|
|
63671
|
-
innerValue.value = n && n.length > 0 ? n : [{ key: null, value: null }];
|
|
63715
|
+
innerValue.value = n && n.length > 0 ? n : props.keepLast ? [{ key: null, value: null }] : n;
|
|
63672
63716
|
},
|
|
63673
63717
|
{
|
|
63674
63718
|
immediate: true,
|
|
@@ -63694,9 +63738,10 @@
|
|
|
63694
63738
|
spinning: props.loading
|
|
63695
63739
|
}, {
|
|
63696
63740
|
default: require$$0.withCtx(() => [
|
|
63697
|
-
require$$0.
|
|
63741
|
+
innerValue.value.length > 0 ? (require$$0.openBlock(), require$$0.createElementBlock(
|
|
63698
63742
|
"div",
|
|
63699
63743
|
{
|
|
63744
|
+
key: 0,
|
|
63700
63745
|
class: require$$0.normalizeClass(require$$0.unref(bem).e("list"))
|
|
63701
63746
|
},
|
|
63702
63747
|
[
|
|
@@ -63714,7 +63759,6 @@
|
|
|
63714
63759
|
"key-label": props.keyLabel,
|
|
63715
63760
|
"value-label": props.valueLabel,
|
|
63716
63761
|
"key-value-type-dict": keyValueTypeDict.value,
|
|
63717
|
-
"show-delete": innerValue.value.length > 1,
|
|
63718
63762
|
"key-value-type": props.keyValueType,
|
|
63719
63763
|
"key-type": props.keyType,
|
|
63720
63764
|
"key-types": props.keyTypes,
|
|
@@ -63723,6 +63767,7 @@
|
|
|
63723
63767
|
"disabled-value": props.disabledValue,
|
|
63724
63768
|
"disabled-key": props.disabledKey,
|
|
63725
63769
|
"disabled-delete": props.disabledDelete,
|
|
63770
|
+
"show-delete": props.keepLast ? idx > 0 : true,
|
|
63726
63771
|
onDelete: ($event) => handleDelete(idx),
|
|
63727
63772
|
onChange: handleChange
|
|
63728
63773
|
}, require$$0.createSlots({
|
|
@@ -63737,7 +63782,7 @@
|
|
|
63737
63782
|
])
|
|
63738
63783
|
};
|
|
63739
63784
|
})
|
|
63740
|
-
]), 1032, ["value", "onUpdate:value", "idx", "key-label", "value-label", "key-value-type-dict", "
|
|
63785
|
+
]), 1032, ["value", "onUpdate:value", "idx", "key-label", "value-label", "key-value-type-dict", "key-value-type", "key-type", "key-types", "value-type", "disabled", "disabled-value", "disabled-key", "disabled-delete", "show-delete", "onDelete"]);
|
|
63741
63786
|
}),
|
|
63742
63787
|
128
|
|
63743
63788
|
/* KEYED_FRAGMENT */
|
|
@@ -63745,7 +63790,7 @@
|
|
|
63745
63790
|
],
|
|
63746
63791
|
2
|
|
63747
63792
|
/* CLASS */
|
|
63748
|
-
),
|
|
63793
|
+
)) : require$$0.createCommentVNode("v-if", true),
|
|
63749
63794
|
require$$0.createVNode(_component_ll_button, {
|
|
63750
63795
|
class: require$$0.normalizeClass(require$$0.unref(bem).e("add")),
|
|
63751
63796
|
loading: _ctx.loading,
|