@maxax/ui 1.0.7 → 1.0.9
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/dist/components/basic-button-group/components/ButtonGroupItem.vue.d.ts.map +1 -1
- package/dist/components/basic-edit-batch/components/EditBatchItem.vue.d.ts.map +1 -1
- package/dist/components/basic-form/components/FormItem.vue.d.ts.map +1 -1
- package/dist/components/basic-json-viewer/BasicJsonViewer.d.ts +331 -0
- package/dist/components/basic-json-viewer/BasicJsonViewer.d.ts.map +1 -0
- package/dist/components/basic-json-viewer/components/Brackets.d.ts +24 -0
- package/dist/components/basic-json-viewer/components/Brackets.d.ts.map +1 -0
- package/dist/components/basic-json-viewer/components/Carets.d.ts +24 -0
- package/dist/components/basic-json-viewer/components/Carets.d.ts.map +1 -0
- package/dist/components/basic-json-viewer/components/CheckController.d.ts +34 -0
- package/dist/components/basic-json-viewer/components/CheckController.d.ts.map +1 -0
- package/dist/components/basic-json-viewer/components/TreeNode.d.ts +362 -0
- package/dist/components/basic-json-viewer/components/TreeNode.d.ts.map +1 -0
- package/dist/components/basic-json-viewer/context.d.ts +6 -0
- package/dist/components/basic-json-viewer/context.d.ts.map +1 -0
- package/dist/components/basic-json-viewer/hooks/useClipboard.d.ts +4 -0
- package/dist/components/basic-json-viewer/hooks/useClipboard.d.ts.map +1 -0
- package/dist/components/basic-json-viewer/hooks/useError.d.ts +8 -0
- package/dist/components/basic-json-viewer/hooks/useError.d.ts.map +1 -0
- package/dist/components/basic-json-viewer/index.d.ts +7 -0
- package/dist/components/basic-json-viewer/index.d.ts.map +1 -0
- package/dist/components/basic-json-viewer/interface.d.ts +377 -0
- package/dist/components/basic-json-viewer/interface.d.ts.map +1 -0
- package/dist/components/basic-json-viewer/utils/index.d.ts +8 -0
- package/dist/components/basic-json-viewer/utils/index.d.ts.map +1 -0
- package/dist/components/basic-trigger-button/BasicTriggerButton.vue.d.ts +13 -0
- package/dist/components/basic-trigger-button/BasicTriggerButton.vue.d.ts.map +1 -0
- package/dist/components/basic-trigger-button/context.d.ts +6 -0
- package/dist/components/basic-trigger-button/context.d.ts.map +1 -0
- package/dist/components/basic-trigger-button/index.d.ts +7 -0
- package/dist/components/basic-trigger-button/index.d.ts.map +1 -0
- package/dist/components/basic-trigger-button/interface.d.ts +47 -0
- package/dist/components/basic-trigger-button/interface.d.ts.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/expose/index.d.ts +2 -0
- package/dist/expose/index.d.ts.map +1 -0
- package/dist/expose/operation-button.d.ts +24 -0
- package/dist/expose/operation-button.d.ts.map +1 -0
- package/dist/index.cjs +1364 -107
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +1391 -134
- package/dist/index.mjs.map +1 -1
- package/dist/locale/lang/en.d.ts.map +1 -1
- package/dist/locale/lang/zh-cn.d.ts.map +1 -1
- package/dist/locales.cjs +2 -1
- package/dist/locales.cjs.map +1 -1
- package/dist/locales.mjs +2 -1
- package/dist/locales.mjs.map +1 -1
- package/dist/{utils-dGhmZ9rs.cjs → utils-D_olU8qE.cjs} +2 -1
- package/dist/utils-D_olU8qE.cjs.map +1 -0
- package/dist/{utils-B_OywAVi.js → utils-JnUSPc85.js} +2 -1
- package/dist/utils-JnUSPc85.js.map +1 -0
- package/package.json +4 -4
- package/dist/components/naive-ui.d.ts +0 -5
- package/dist/components/naive-ui.d.ts.map +0 -1
- package/dist/utils-B_OywAVi.js.map +0 -1
- package/dist/utils-dGhmZ9rs.cjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { camelize, isNumber, isString, removeClass, addClass, pascalCase, isClient as isClient$1, hasClass, withInstall, guid, isFunction, isElement, isObject as isObject$1, isUndefined, isBoolean, getSlot, isArray, deepMerge, cloneDeep as cloneDeep$
|
|
1
|
+
import { camelize, isNumber, isString, removeClass, addClass, pascalCase, isClient as isClient$1, hasClass, withInstall, guid, isFunction, isElement, isObject as isObject$1, isUndefined, isBoolean, getSlot, isArray, deepMerge, cloneDeep as cloneDeep$2, call, isNull, classNames, getValueKey, tryConstructArray, isNil, tryDeconstructArray, tryDeconstructObject, isEmpty, isPascalCase, mergeArray, getStyle as getStyle$1, kebabCase, findNodeAll, calculate, downloadFileStatic, downloadFileByResponseData, attrAccept as attrAccept$1 } from "@maxax/utils";
|
|
2
2
|
import { nextTick, Fragment, isVNode, Comment, Text, onMounted, watchEffect, onBeforeUnmount, inject, ref, computed, shallowRef, getCurrentInstance, unref, isRef, watch, onScopeDispose, toRaw, defineComponent, onUnmounted, h, useAttrs, createElementBlock, openBlock, mergeProps, createElementVNode, createBlock, createCommentVNode, normalizeClass, createVNode, createSlots, withCtx, renderSlot, provide, reactive, toRefs, resolveComponent, Transition, withDirectives, withModifiers, normalizeStyle, createTextVNode, toDisplayString, withKeys, resolveDynamicComponent, vShow, render as render$1, useSlots, renderList, toRef, normalizeProps, guardReactiveProps, shallowReadonly, getCurrentScope, toValue, vModelText, createApp, mergeDefaults, triggerRef, TransitionGroup, toHandlers, useTemplateRef } from "vue";
|
|
3
3
|
import { NButton, NInput, NCard, NCascader, NDatePicker, NTooltip, NDrawer, NDrawerContent, NSelect, NInputNumber, NUpload, NAutoComplete, NDynamicTags, NTreeSelect, NTimePicker, NSwitch, NCheckbox, NCheckboxGroup, NRadio, NRadioButton, NRadioGroup, NSlider, NTransfer, NDivider, NColorPicker, NRate, NCol, NFormItem, NForm, NRow, NPopover, NTabs, NTabPane, NScrollbar, NEmpty, NPagination, NSpin, NModal, NProgress } from "naive-ui";
|
|
4
|
-
import { merge, cloneDeep, uniqBy, get, omit, has, set, unset, isNumber as isNumber$1, isPlainObject, isBoolean as isBoolean$1, isFunction as isFunction$1, isArray as isArray$1, isString as isString$1, isEqual, concat, partition } from "lodash-es";
|
|
5
|
-
import { b as buildLocaleContext, z as zhCN } from "./utils-
|
|
4
|
+
import { merge, cloneDeep as cloneDeep$1, uniqBy, get, omit, has, set, unset, isNumber as isNumber$1, isPlainObject, isBoolean as isBoolean$1, isFunction as isFunction$1, isArray as isArray$1, isString as isString$1, isEqual, concat, partition } from "lodash-es";
|
|
5
|
+
import { b as buildLocaleContext, z as zhCN } from "./utils-JnUSPc85.js";
|
|
6
6
|
import { useBoolean, useMergedState as useMergedState$1, useEventListener as useEventListener$1, useBreakpoint } from "@maxax/hooks";
|
|
7
7
|
import { format } from "date-fns";
|
|
8
8
|
import dayjs from "dayjs";
|
|
@@ -2304,7 +2304,7 @@ const Icon = defineComponent((props, { emit }) => {
|
|
|
2304
2304
|
emits: ["load"]
|
|
2305
2305
|
});
|
|
2306
2306
|
const _hoisted_1$c = ["xlink:href"];
|
|
2307
|
-
const _sfc_main$
|
|
2307
|
+
const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
2308
2308
|
__name: "BasicSvgIcon",
|
|
2309
2309
|
props: {
|
|
2310
2310
|
icon: {},
|
|
@@ -2350,8 +2350,8 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
|
|
|
2350
2350
|
};
|
|
2351
2351
|
}
|
|
2352
2352
|
});
|
|
2353
|
-
const XBasicSvgIcon = withInstall(_sfc_main$
|
|
2354
|
-
const _sfc_main$
|
|
2353
|
+
const XBasicSvgIcon = withInstall(_sfc_main$O);
|
|
2354
|
+
const _sfc_main$N = /* @__PURE__ */ defineComponent({
|
|
2355
2355
|
__name: "BasicArrow",
|
|
2356
2356
|
props: {
|
|
2357
2357
|
expand: { type: Boolean },
|
|
@@ -2383,8 +2383,8 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
|
|
|
2383
2383
|
};
|
|
2384
2384
|
}
|
|
2385
2385
|
});
|
|
2386
|
-
const XBasicArrow = withInstall(_sfc_main$
|
|
2387
|
-
const _sfc_main$
|
|
2386
|
+
const XBasicArrow = withInstall(_sfc_main$N);
|
|
2387
|
+
const _sfc_main$M = /* @__PURE__ */ defineComponent({
|
|
2388
2388
|
__name: "BasicButton",
|
|
2389
2389
|
props: {
|
|
2390
2390
|
size: {},
|
|
@@ -2439,7 +2439,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
|
|
|
2439
2439
|
};
|
|
2440
2440
|
}
|
|
2441
2441
|
});
|
|
2442
|
-
const XBasicButton = withInstall(_sfc_main$
|
|
2442
|
+
const XBasicButton = withInstall(_sfc_main$M);
|
|
2443
2443
|
!!(process.env.NODE_ENV !== "production") ? Object.freeze({}) : {};
|
|
2444
2444
|
!!(process.env.NODE_ENV !== "production") ? Object.freeze([]) : [];
|
|
2445
2445
|
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
@@ -2660,7 +2660,7 @@ const basicMessageBoxProps = {
|
|
|
2660
2660
|
default: ""
|
|
2661
2661
|
}
|
|
2662
2662
|
};
|
|
2663
|
-
const _sfc_main$
|
|
2663
|
+
const _sfc_main$L = defineComponent({
|
|
2664
2664
|
components: {
|
|
2665
2665
|
NButton,
|
|
2666
2666
|
NInput,
|
|
@@ -3068,7 +3068,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3068
3068
|
_: 3
|
|
3069
3069
|
});
|
|
3070
3070
|
}
|
|
3071
|
-
const MessageBoxConstructor = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3071
|
+
const MessageBoxConstructor = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", _sfc_render$2]]);
|
|
3072
3072
|
const messageInstance = /* @__PURE__ */ new Map();
|
|
3073
3073
|
const getAppendToElement = (props) => {
|
|
3074
3074
|
let appendTo = document.body;
|
|
@@ -3197,7 +3197,7 @@ const XBasicMessageBox = $MessageBox;
|
|
|
3197
3197
|
function _isSlot$3(s) {
|
|
3198
3198
|
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
3199
3199
|
}
|
|
3200
|
-
const _sfc_main$
|
|
3200
|
+
const _sfc_main$K = /* @__PURE__ */ defineComponent({
|
|
3201
3201
|
name: "ButtonGroupItem",
|
|
3202
3202
|
props: {
|
|
3203
3203
|
schema: {
|
|
@@ -3458,7 +3458,7 @@ function useButtonGroupClass(propsRef) {
|
|
|
3458
3458
|
}
|
|
3459
3459
|
function useButtonGroupEvents({ getSchema, schemaRef }) {
|
|
3460
3460
|
async function removeSchemaByField(fields) {
|
|
3461
|
-
const schemaList = cloneDeep(unref(getSchema));
|
|
3461
|
+
const schemaList = cloneDeep$1(unref(getSchema));
|
|
3462
3462
|
if (!fields) {
|
|
3463
3463
|
return;
|
|
3464
3464
|
}
|
|
@@ -3480,7 +3480,7 @@ function useButtonGroupEvents({ getSchema, schemaRef }) {
|
|
|
3480
3480
|
}
|
|
3481
3481
|
}
|
|
3482
3482
|
async function appendSchemaByField(schema, prefixField, first = false) {
|
|
3483
|
-
const schemaList = cloneDeep(unref(getSchema));
|
|
3483
|
+
const schemaList = cloneDeep$1(unref(getSchema));
|
|
3484
3484
|
const addSchemaIds = Array.isArray(schema) ? schema.map((item) => item.field) : [schema.field];
|
|
3485
3485
|
if (schemaList.find((item) => addSchemaIds.includes(item.field))) {
|
|
3486
3486
|
throw new Error("[error]:There are schemas that have already been added");
|
|
@@ -3545,12 +3545,12 @@ function useButtonGroupEvents({ getSchema, schemaRef }) {
|
|
|
3545
3545
|
}
|
|
3546
3546
|
function useButtonGroupSchema({ getProps, schemaRef }) {
|
|
3547
3547
|
const getSchema = computed(() => {
|
|
3548
|
-
const schemas = cloneDeep$
|
|
3548
|
+
const schemas = cloneDeep$2(unref(schemaRef) || unref(getProps).schemas || []);
|
|
3549
3549
|
return schemas;
|
|
3550
3550
|
});
|
|
3551
3551
|
return { getSchema };
|
|
3552
3552
|
}
|
|
3553
|
-
const _sfc_main$
|
|
3553
|
+
const _sfc_main$J = /* @__PURE__ */ defineComponent({
|
|
3554
3554
|
__name: "BasicButtonGroup",
|
|
3555
3555
|
props: {
|
|
3556
3556
|
showReturnButton: { type: Boolean },
|
|
@@ -3631,7 +3631,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
|
|
|
3631
3631
|
return (_ctx, _cache) => {
|
|
3632
3632
|
return openBlock(), createElementBlock("div", mergeProps({ class: unref(getWrapperClass) }, getBindValue.value), [
|
|
3633
3633
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getSchema), (schema) => {
|
|
3634
|
-
return openBlock(), createBlock(_sfc_main$
|
|
3634
|
+
return openBlock(), createBlock(_sfc_main$K, {
|
|
3635
3635
|
key: schema.field,
|
|
3636
3636
|
schema,
|
|
3637
3637
|
"button-group-action-type": buttonGroupActionType,
|
|
@@ -3652,9 +3652,9 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
|
|
|
3652
3652
|
};
|
|
3653
3653
|
}
|
|
3654
3654
|
});
|
|
3655
|
-
const XBasicButtonGroup = withInstall(_sfc_main$
|
|
3655
|
+
const XBasicButtonGroup = withInstall(_sfc_main$J);
|
|
3656
3656
|
const _hoisted_1$a = ["title"];
|
|
3657
|
-
const _sfc_main$
|
|
3657
|
+
const _sfc_main$I = /* @__PURE__ */ defineComponent({
|
|
3658
3658
|
__name: "BasicText",
|
|
3659
3659
|
props: {
|
|
3660
3660
|
icon: { default: "" },
|
|
@@ -3692,7 +3692,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
3692
3692
|
class: normalizeClass(basicTextClass.value),
|
|
3693
3693
|
title: unref(isString)(unref(mergedValueRef)) ? unref(mergedValueRef) : void 0
|
|
3694
3694
|
}, [
|
|
3695
|
-
__props.icon ? (openBlock(), createBlock(_sfc_main$
|
|
3695
|
+
__props.icon ? (openBlock(), createBlock(_sfc_main$O, {
|
|
3696
3696
|
key: 0,
|
|
3697
3697
|
icon: __props.icon,
|
|
3698
3698
|
class: normalizeClass(__props.iconClass),
|
|
@@ -3705,8 +3705,8 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
3705
3705
|
};
|
|
3706
3706
|
}
|
|
3707
3707
|
});
|
|
3708
|
-
const XBasicText = withInstall(_sfc_main$
|
|
3709
|
-
const _sfc_main$
|
|
3708
|
+
const XBasicText = withInstall(_sfc_main$I);
|
|
3709
|
+
const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
3710
3710
|
__name: "BasicCard",
|
|
3711
3711
|
props: {
|
|
3712
3712
|
title: {},
|
|
@@ -3745,8 +3745,8 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
3745
3745
|
};
|
|
3746
3746
|
}
|
|
3747
3747
|
});
|
|
3748
|
-
const XBasicCard = withInstall(_sfc_main$
|
|
3749
|
-
const _sfc_main$
|
|
3748
|
+
const XBasicCard = withInstall(_sfc_main$H);
|
|
3749
|
+
const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
3750
3750
|
...{
|
|
3751
3751
|
inheritAttrs: false
|
|
3752
3752
|
},
|
|
@@ -3851,7 +3851,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
|
3851
3851
|
}
|
|
3852
3852
|
});
|
|
3853
3853
|
const basicCascaderProps = {};
|
|
3854
|
-
const XBasicCascader = withInstall(_sfc_main$
|
|
3854
|
+
const XBasicCascader = withInstall(_sfc_main$G);
|
|
3855
3855
|
const basicCheckboxGroupKey = Symbol("basic-checkbox-group");
|
|
3856
3856
|
const createBasicCheckboxGroupContext = (props) => {
|
|
3857
3857
|
return provide(basicCheckboxGroupKey, props);
|
|
@@ -3872,7 +3872,7 @@ const IconCheck = /* @__PURE__ */ defineComponent({
|
|
|
3872
3872
|
}, null)]);
|
|
3873
3873
|
}
|
|
3874
3874
|
});
|
|
3875
|
-
const _sfc_main$
|
|
3875
|
+
const _sfc_main$F = defineComponent({
|
|
3876
3876
|
name: "IconHover",
|
|
3877
3877
|
props: {
|
|
3878
3878
|
disabled: {
|
|
@@ -3900,7 +3900,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3900
3900
|
renderSlot(_ctx.$slots, "default")
|
|
3901
3901
|
], 2);
|
|
3902
3902
|
}
|
|
3903
|
-
const IconHover = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
3903
|
+
const IconHover = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["render", _sfc_render$1]]);
|
|
3904
3904
|
const basicCheckboxProps = {
|
|
3905
3905
|
/**
|
|
3906
3906
|
* @zh 绑定值
|
|
@@ -4815,7 +4815,7 @@ function useTransition(source, options = {}) {
|
|
|
4815
4815
|
});
|
|
4816
4816
|
return computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value);
|
|
4817
4817
|
}
|
|
4818
|
-
const _sfc_main$
|
|
4818
|
+
const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
4819
4819
|
__name: "BasicCountTo",
|
|
4820
4820
|
props: {
|
|
4821
4821
|
startValue: { default: 0 },
|
|
@@ -4876,8 +4876,8 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
|
4876
4876
|
};
|
|
4877
4877
|
}
|
|
4878
4878
|
});
|
|
4879
|
-
const XBasicCountTo = withInstall(_sfc_main$
|
|
4880
|
-
const _sfc_main$
|
|
4879
|
+
const XBasicCountTo = withInstall(_sfc_main$E);
|
|
4880
|
+
const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
4881
4881
|
__name: "BasicDatePicker",
|
|
4882
4882
|
props: {
|
|
4883
4883
|
disabled: { type: Boolean, default: false },
|
|
@@ -4937,7 +4937,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
|
|
|
4937
4937
|
};
|
|
4938
4938
|
}
|
|
4939
4939
|
});
|
|
4940
|
-
const XBasicDatePicker = withInstall(_sfc_main$
|
|
4940
|
+
const XBasicDatePicker = withInstall(_sfc_main$D);
|
|
4941
4941
|
const basicDragVerifyProps = {
|
|
4942
4942
|
value: {
|
|
4943
4943
|
type: Boolean,
|
|
@@ -4984,7 +4984,7 @@ const basicDragVerifyProps = {
|
|
|
4984
4984
|
default: () => ({})
|
|
4985
4985
|
}
|
|
4986
4986
|
};
|
|
4987
|
-
const _sfc_main$
|
|
4987
|
+
const _sfc_main$C = /* @__PURE__ */ defineComponent({
|
|
4988
4988
|
name: "BasicDragVerify",
|
|
4989
4989
|
props: basicDragVerifyProps,
|
|
4990
4990
|
emits: ["success", "update:value", "change", "start", "move", "end"],
|
|
@@ -5287,7 +5287,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
5287
5287
|
};
|
|
5288
5288
|
}
|
|
5289
5289
|
});
|
|
5290
|
-
const XBasicDragVerify = withInstall(_sfc_main$
|
|
5290
|
+
const XBasicDragVerify = withInstall(_sfc_main$C);
|
|
5291
5291
|
const basicHelpProps = {
|
|
5292
5292
|
/**
|
|
5293
5293
|
* Whether to display the serial number
|
|
@@ -5303,7 +5303,7 @@ const basicHelpProps = {
|
|
|
5303
5303
|
default: ""
|
|
5304
5304
|
}
|
|
5305
5305
|
};
|
|
5306
|
-
const _sfc_main$
|
|
5306
|
+
const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
5307
5307
|
name: "BasicHelp",
|
|
5308
5308
|
components: {
|
|
5309
5309
|
XBasicSvgIcon
|
|
@@ -5349,8 +5349,8 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
|
5349
5349
|
});
|
|
5350
5350
|
}
|
|
5351
5351
|
});
|
|
5352
|
-
const XBasicHelp = withInstall(_sfc_main$
|
|
5353
|
-
const _sfc_main$
|
|
5352
|
+
const XBasicHelp = withInstall(_sfc_main$B);
|
|
5353
|
+
const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
5354
5354
|
__name: "BasicTitle",
|
|
5355
5355
|
props: {
|
|
5356
5356
|
helpMessage: {},
|
|
@@ -5393,12 +5393,12 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
|
5393
5393
|
};
|
|
5394
5394
|
}
|
|
5395
5395
|
});
|
|
5396
|
-
const XBasicTitle = withInstall(_sfc_main$
|
|
5396
|
+
const XBasicTitle = withInstall(_sfc_main$A);
|
|
5397
5397
|
const _hoisted_1$9 = {
|
|
5398
5398
|
key: 0,
|
|
5399
5399
|
class: "footer-wrapper"
|
|
5400
5400
|
};
|
|
5401
|
-
const _sfc_main$
|
|
5401
|
+
const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
5402
5402
|
__name: "BasicDrawer",
|
|
5403
5403
|
props: {
|
|
5404
5404
|
showCancelBtn: { type: Boolean, default: true },
|
|
@@ -5572,7 +5572,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5572
5572
|
};
|
|
5573
5573
|
}
|
|
5574
5574
|
});
|
|
5575
|
-
const XBasicDrawer = withInstall(_sfc_main$
|
|
5575
|
+
const XBasicDrawer = withInstall(_sfc_main$z);
|
|
5576
5576
|
const basicEditBatchKey = Symbol("basic-edit-batch");
|
|
5577
5577
|
const createBasicEditBatchContext = (props) => {
|
|
5578
5578
|
return provide(basicEditBatchKey, props);
|
|
@@ -5581,7 +5581,7 @@ const useBasicEditBatchContext = () => {
|
|
|
5581
5581
|
return inject(basicEditBatchKey);
|
|
5582
5582
|
};
|
|
5583
5583
|
const _hoisted_1$8 = ["disabled"];
|
|
5584
|
-
const _sfc_main$
|
|
5584
|
+
const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
5585
5585
|
__name: "EditBatchAction",
|
|
5586
5586
|
props: {
|
|
5587
5587
|
disabled: { type: Boolean, default: false },
|
|
@@ -5641,7 +5641,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
5641
5641
|
};
|
|
5642
5642
|
}
|
|
5643
5643
|
});
|
|
5644
|
-
const _sfc_main$
|
|
5644
|
+
const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
5645
5645
|
__name: "BasicHidden",
|
|
5646
5646
|
props: {
|
|
5647
5647
|
value: {},
|
|
@@ -5668,7 +5668,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
5668
5668
|
};
|
|
5669
5669
|
}
|
|
5670
5670
|
});
|
|
5671
|
-
const XBasicHidden = withInstall(_sfc_main$
|
|
5671
|
+
const XBasicHidden = withInstall(_sfc_main$x);
|
|
5672
5672
|
const basicRadioGroupKey = Symbol("basic-radio-group");
|
|
5673
5673
|
const createBasicRadioGroupContext = (props) => {
|
|
5674
5674
|
return provide(basicRadioGroupKey, props);
|
|
@@ -5936,7 +5936,7 @@ const BasicRadioGroup = /* @__PURE__ */ defineComponent({
|
|
|
5936
5936
|
}
|
|
5937
5937
|
});
|
|
5938
5938
|
const XBasicRadioGroup = withInstall(BasicRadioGroup);
|
|
5939
|
-
const _sfc_main$
|
|
5939
|
+
const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
5940
5940
|
...{
|
|
5941
5941
|
inheritAttrs: false
|
|
5942
5942
|
},
|
|
@@ -6055,7 +6055,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
6055
6055
|
}
|
|
6056
6056
|
});
|
|
6057
6057
|
const basicSelectProps = {};
|
|
6058
|
-
const XBasicSelect = withInstall(_sfc_main$
|
|
6058
|
+
const XBasicSelect = withInstall(_sfc_main$w);
|
|
6059
6059
|
const componentMap$1 = /* @__PURE__ */ new Map();
|
|
6060
6060
|
componentMap$1.set("Input", NInput);
|
|
6061
6061
|
componentMap$1.set("InputNumber", NInputNumber);
|
|
@@ -6134,7 +6134,7 @@ function isComponentEditBatchSchema(schema) {
|
|
|
6134
6134
|
function _isSlot$1(s) {
|
|
6135
6135
|
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
6136
6136
|
}
|
|
6137
|
-
const _sfc_main$
|
|
6137
|
+
const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
6138
6138
|
name: "BasicEditBatchItem",
|
|
6139
6139
|
components: {
|
|
6140
6140
|
XBasicHelp
|
|
@@ -6496,7 +6496,7 @@ function useEditBatchClass(propsRef) {
|
|
|
6496
6496
|
function useEditBatchEvents({ emit, getProps, getSchema, formModel, defaultValueRef, schemaRef, editBatchElRef, handleFormValues, fieldKey, schemaItemRef }) {
|
|
6497
6497
|
const getAllFields = () => unref(getSchema).map((item) => [...item.fields || [], item.field]).flat(1).filter(Boolean);
|
|
6498
6498
|
async function removeSchemaByField(fields) {
|
|
6499
|
-
const schemaList = cloneDeep(unref(getSchema));
|
|
6499
|
+
const schemaList = cloneDeep$1(unref(getSchema));
|
|
6500
6500
|
if (!fields) {
|
|
6501
6501
|
return;
|
|
6502
6502
|
}
|
|
@@ -6519,7 +6519,7 @@ function useEditBatchEvents({ emit, getProps, getSchema, formModel, defaultValue
|
|
|
6519
6519
|
}
|
|
6520
6520
|
}
|
|
6521
6521
|
async function appendSchemaByField(schema, prefixField, first = false) {
|
|
6522
|
-
const schemaList = cloneDeep(unref(getSchema));
|
|
6522
|
+
const schemaList = cloneDeep$1(unref(getSchema));
|
|
6523
6523
|
const addSchemaIds = Array.isArray(schema) ? schema.map((item) => item.field) : [schema.field];
|
|
6524
6524
|
if (schemaList.find((item) => addSchemaIds.includes(item.field))) {
|
|
6525
6525
|
throw new Error("[error]:There are schemas that have already been added");
|
|
@@ -6716,7 +6716,7 @@ function useEditBatchEvents({ emit, getProps, getSchema, formModel, defaultValue
|
|
|
6716
6716
|
};
|
|
6717
6717
|
}
|
|
6718
6718
|
function getDefaultValue$1(schema, defaultValueRef, key2) {
|
|
6719
|
-
let defaultValue = cloneDeep(defaultValueRef.value[key2]);
|
|
6719
|
+
let defaultValue = cloneDeep$1(defaultValueRef.value[key2]);
|
|
6720
6720
|
const isInput = checkIsInput$1(schema);
|
|
6721
6721
|
if (isInput) {
|
|
6722
6722
|
return !isNil(defaultValue) ? defaultValue : void 0;
|
|
@@ -6731,7 +6731,7 @@ function getDefaultValue$1(schema, defaultValueRef, key2) {
|
|
|
6731
6731
|
}
|
|
6732
6732
|
function useEditBatchSchema({ getProps, schemaRef, formModel }) {
|
|
6733
6733
|
const getSchema = computed(() => {
|
|
6734
|
-
const schemas = cloneDeep$
|
|
6734
|
+
const schemas = cloneDeep$2(unref(schemaRef) || unref(getProps).schemas || []);
|
|
6735
6735
|
for (const schema of schemas) {
|
|
6736
6736
|
const { defaultValue, component, componentProps = {}, isHandleDateDefaultValue = true, field, isHandleDefaultValue = true, valueFormat } = schema;
|
|
6737
6737
|
if (isHandleDateDefaultValue && defaultValue && component && itemIsDateComponent$1(component)) {
|
|
@@ -6868,11 +6868,11 @@ function useEditBatchValues({ getProps, defaultValueRef, getSchema, formModel })
|
|
|
6868
6868
|
}
|
|
6869
6869
|
}
|
|
6870
6870
|
});
|
|
6871
|
-
defaultValueRef.value = cloneDeep(obj);
|
|
6871
|
+
defaultValueRef.value = cloneDeep$1(obj);
|
|
6872
6872
|
}
|
|
6873
6873
|
return { handleFormValues, initDefault };
|
|
6874
6874
|
}
|
|
6875
|
-
const _sfc_main$
|
|
6875
|
+
const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
6876
6876
|
__name: "BasicEditBatch",
|
|
6877
6877
|
props: {
|
|
6878
6878
|
name: {},
|
|
@@ -7002,7 +7002,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
7002
7002
|
options: unref(getOptions)
|
|
7003
7003
|
}, null, 8, ["value", "options"])
|
|
7004
7004
|
], 2),
|
|
7005
|
-
schemaItemRef.value ? (openBlock(), createBlock(_sfc_main$
|
|
7005
|
+
schemaItemRef.value ? (openBlock(), createBlock(_sfc_main$v, {
|
|
7006
7006
|
key: 0,
|
|
7007
7007
|
schema: schemaItemRef.value,
|
|
7008
7008
|
"edit-batch-props": getProps.value,
|
|
@@ -7019,7 +7019,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
7019
7019
|
};
|
|
7020
7020
|
})
|
|
7021
7021
|
]), 1032, ["schema", "edit-batch-props", "all-default-values", "form-model"])) : createCommentVNode("", true),
|
|
7022
|
-
createVNode(_sfc_main$
|
|
7022
|
+
createVNode(_sfc_main$y, normalizeProps(guardReactiveProps(getEditBatchActionBindProps.value)), createSlots({ _: 2 }, [
|
|
7023
7023
|
renderList(["resetBefore", "submitBefore", "submitAfter"], (item) => {
|
|
7024
7024
|
return {
|
|
7025
7025
|
name: item,
|
|
@@ -7033,7 +7033,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
7033
7033
|
};
|
|
7034
7034
|
}
|
|
7035
7035
|
});
|
|
7036
|
-
const XBasicEditBatch = withInstall(_sfc_main$
|
|
7036
|
+
const XBasicEditBatch = withInstall(_sfc_main$u);
|
|
7037
7037
|
const basicFontIconProps = {
|
|
7038
7038
|
icon: {
|
|
7039
7039
|
type: String,
|
|
@@ -7084,7 +7084,7 @@ const createBasicFormContext = (props) => {
|
|
|
7084
7084
|
const useBasicFormContext = () => {
|
|
7085
7085
|
return inject(basicFormKey);
|
|
7086
7086
|
};
|
|
7087
|
-
const _sfc_main$
|
|
7087
|
+
const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
7088
7088
|
__name: "FormAction",
|
|
7089
7089
|
props: {
|
|
7090
7090
|
showActionButtonGroup: { type: Boolean, default: true },
|
|
@@ -7224,7 +7224,7 @@ const basicScrollTextProps = {
|
|
|
7224
7224
|
default: ""
|
|
7225
7225
|
}
|
|
7226
7226
|
};
|
|
7227
|
-
const _sfc_main$
|
|
7227
|
+
const _sfc_main$s = /* @__PURE__ */ defineComponent({
|
|
7228
7228
|
name: "BasicScrollText",
|
|
7229
7229
|
props: basicScrollTextProps,
|
|
7230
7230
|
setup(props, {
|
|
@@ -7286,7 +7286,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
7286
7286
|
}, [content()]) : null])]);
|
|
7287
7287
|
}
|
|
7288
7288
|
});
|
|
7289
|
-
const XBasicScrollText = withInstall(_sfc_main$
|
|
7289
|
+
const XBasicScrollText = withInstall(_sfc_main$s);
|
|
7290
7290
|
const componentMap = /* @__PURE__ */ new Map();
|
|
7291
7291
|
componentMap.set("Input", NInput);
|
|
7292
7292
|
componentMap.set("InputNumber", NInputNumber);
|
|
@@ -7385,7 +7385,7 @@ function isComponentFormSchema(schema) {
|
|
|
7385
7385
|
function _isSlot(s) {
|
|
7386
7386
|
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
7387
7387
|
}
|
|
7388
|
-
const _sfc_main$
|
|
7388
|
+
const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
7389
7389
|
name: "BasicFormItem",
|
|
7390
7390
|
components: {
|
|
7391
7391
|
XBasicHelp,
|
|
@@ -7567,7 +7567,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
7567
7567
|
if (isFunction(dynamicRules)) {
|
|
7568
7568
|
return dynamicRules(unref(getValues));
|
|
7569
7569
|
}
|
|
7570
|
-
let rules = cloneDeep$
|
|
7570
|
+
let rules = cloneDeep$2(defRules);
|
|
7571
7571
|
const {
|
|
7572
7572
|
rulesMessageJoinLabel: globalRulesMessageJoinLabel
|
|
7573
7573
|
} = props.formProps;
|
|
@@ -8011,7 +8011,7 @@ function useFormClass(propsRef) {
|
|
|
8011
8011
|
function useFormEvents({ emit, getProps, getSchema, formModel, defaultValueRef, formElRef, schemaRef, handleFormValues, initDefault }) {
|
|
8012
8012
|
const getAllFields = () => unref(getSchema).map((item) => [...item.fields || [], item.field]).flat(1).filter(Boolean);
|
|
8013
8013
|
async function removeSchemaByField(fields) {
|
|
8014
|
-
const schemaList = cloneDeep(unref(getSchema));
|
|
8014
|
+
const schemaList = cloneDeep$1(unref(getSchema));
|
|
8015
8015
|
if (!fields) {
|
|
8016
8016
|
return;
|
|
8017
8017
|
}
|
|
@@ -8035,7 +8035,7 @@ function useFormEvents({ emit, getProps, getSchema, formModel, defaultValueRef,
|
|
|
8035
8035
|
}
|
|
8036
8036
|
}
|
|
8037
8037
|
async function appendSchemaByField(schema, prefixField, first = false) {
|
|
8038
|
-
const schemaList = cloneDeep(unref(getSchema));
|
|
8038
|
+
const schemaList = cloneDeep$1(unref(getSchema));
|
|
8039
8039
|
const addSchemaIds = Array.isArray(schema) ? schema.map((item) => item.field) : [schema.field];
|
|
8040
8040
|
if (schemaList.find((item) => addSchemaIds.includes(item.field))) {
|
|
8041
8041
|
throw new Error("[error]:There are schemas that have already been added");
|
|
@@ -8226,7 +8226,7 @@ function useFormEvents({ emit, getProps, getSchema, formModel, defaultValueRef,
|
|
|
8226
8226
|
nameList.forEach((key2) => {
|
|
8227
8227
|
if (keys.includes(key2)) {
|
|
8228
8228
|
validKeys.push(key2);
|
|
8229
|
-
unref(formModel)[key2] = cloneDeep(unref(get(defaultValueRef.value, key2)));
|
|
8229
|
+
unref(formModel)[key2] = cloneDeep$1(unref(get(defaultValueRef.value, key2)));
|
|
8230
8230
|
}
|
|
8231
8231
|
});
|
|
8232
8232
|
validateFields(validKeys).catch((_) => {
|
|
@@ -8316,7 +8316,7 @@ function useFormEvents({ emit, getProps, getSchema, formModel, defaultValueRef,
|
|
|
8316
8316
|
};
|
|
8317
8317
|
}
|
|
8318
8318
|
function getDefaultValue(schema, defaultValueRef, key2) {
|
|
8319
|
-
let defaultValue = cloneDeep(defaultValueRef.value[key2]);
|
|
8319
|
+
let defaultValue = cloneDeep$1(defaultValueRef.value[key2]);
|
|
8320
8320
|
const isInput = checkIsInput(schema);
|
|
8321
8321
|
if (isInput) {
|
|
8322
8322
|
return !isNil(defaultValue) ? defaultValue : void 0;
|
|
@@ -8341,7 +8341,7 @@ function useFormGrid(propsRef) {
|
|
|
8341
8341
|
}
|
|
8342
8342
|
function useFormSchema({ getProps, schemaRef, formModel }) {
|
|
8343
8343
|
const getSchema = computed(() => {
|
|
8344
|
-
const schemas = cloneDeep$
|
|
8344
|
+
const schemas = cloneDeep$2(unref(schemaRef) || unref(getProps).schemas || []);
|
|
8345
8345
|
for (const schema of schemas) {
|
|
8346
8346
|
const { defaultValue, component, componentProps = {}, isHandleDateDefaultValue = true, field, isHandleDefaultValue = true, valueFormat, ifShow } = schema;
|
|
8347
8347
|
if (unref(getProps).showAdvancedButton) {
|
|
@@ -8481,11 +8481,11 @@ function useFormValues({ getProps, defaultValueRef, getSchema, formModel }) {
|
|
|
8481
8481
|
}
|
|
8482
8482
|
}
|
|
8483
8483
|
});
|
|
8484
|
-
defaultValueRef.value = cloneDeep(obj);
|
|
8484
|
+
defaultValueRef.value = cloneDeep$1(obj);
|
|
8485
8485
|
}
|
|
8486
8486
|
return { handleFormValues, initDefault };
|
|
8487
8487
|
}
|
|
8488
|
-
const _sfc_main$
|
|
8488
|
+
const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
8489
8489
|
__name: "BasicForm",
|
|
8490
8490
|
props: {
|
|
8491
8491
|
card: { type: Boolean, default: false },
|
|
@@ -8676,7 +8676,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
8676
8676
|
default: withCtx(() => [
|
|
8677
8677
|
renderSlot(_ctx.$slots, "formHeader"),
|
|
8678
8678
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(getSchema), (schema) => {
|
|
8679
|
-
return openBlock(), createBlock(_sfc_main$
|
|
8679
|
+
return openBlock(), createBlock(_sfc_main$r, {
|
|
8680
8680
|
key: schema.field,
|
|
8681
8681
|
"is-advanced": unref(fieldsIsAdvancedMap)[schema.field],
|
|
8682
8682
|
"form-action-type": formActionType,
|
|
@@ -8696,7 +8696,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
8696
8696
|
})
|
|
8697
8697
|
]), 1032, ["is-advanced", "schema", "form-props", "all-default-values", "form-model"]);
|
|
8698
8698
|
}), 128)),
|
|
8699
|
-
createVNode(_sfc_main$
|
|
8699
|
+
createVNode(_sfc_main$t, mergeProps(getFormActionBindProps.value, { onToggleAdvanced: unref(handleToggleAdvanced) }), createSlots({ _: 2 }, [
|
|
8700
8700
|
renderList(["resetBefore", "submitBefore", "advanceBefore", "advanceAfter"], (item) => {
|
|
8701
8701
|
return {
|
|
8702
8702
|
name: item,
|
|
@@ -8717,8 +8717,8 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
8717
8717
|
};
|
|
8718
8718
|
}
|
|
8719
8719
|
});
|
|
8720
|
-
const XBasicForm = withInstall(_sfc_main$
|
|
8721
|
-
const _sfc_main$
|
|
8720
|
+
const XBasicForm = withInstall(_sfc_main$q);
|
|
8721
|
+
const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
8722
8722
|
__name: "BasicGradientTitle",
|
|
8723
8723
|
props: {
|
|
8724
8724
|
text: {}
|
|
@@ -8751,7 +8751,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
8751
8751
|
}
|
|
8752
8752
|
});
|
|
8753
8753
|
const basicGradientTitleProps = {};
|
|
8754
|
-
const XBasicGradientTitle = withInstall(_sfc_main$
|
|
8754
|
+
const XBasicGradientTitle = withInstall(_sfc_main$p);
|
|
8755
8755
|
const basicIconOnlineProps = {
|
|
8756
8756
|
icon: {
|
|
8757
8757
|
type: String,
|
|
@@ -12650,7 +12650,7 @@ const IconJson = {
|
|
|
12650
12650
|
};
|
|
12651
12651
|
const _hoisted_1$7 = { class: "panel-icon-list" };
|
|
12652
12652
|
const _hoisted_2$3 = ["title", "onClick"];
|
|
12653
|
-
const _sfc_main$
|
|
12653
|
+
const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
12654
12654
|
__name: "BasicIconPicker",
|
|
12655
12655
|
props: {
|
|
12656
12656
|
disabled: { type: Boolean },
|
|
@@ -12668,7 +12668,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
12668
12668
|
const mergedValueRef = useMergedState$1(controlledValueRef, uncontrolledValueRef);
|
|
12669
12669
|
const { t } = useLocale();
|
|
12670
12670
|
const iconList = ref(IconJson);
|
|
12671
|
-
const copyIconList = cloneDeep$
|
|
12671
|
+
const copyIconList = cloneDeep$2(iconList.value);
|
|
12672
12672
|
const totalPage = ref(0);
|
|
12673
12673
|
const pageSize = ref(35);
|
|
12674
12674
|
const currentPage = ref(1);
|
|
@@ -12880,7 +12880,1122 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
12880
12880
|
};
|
|
12881
12881
|
}
|
|
12882
12882
|
});
|
|
12883
|
-
const XBasicIconPicker = withInstall(_sfc_main$
|
|
12883
|
+
const XBasicIconPicker = withInstall(_sfc_main$o);
|
|
12884
|
+
function useClipboard() {
|
|
12885
|
+
const copied = ref(false);
|
|
12886
|
+
const copy = async (source) => {
|
|
12887
|
+
try {
|
|
12888
|
+
await navigator.clipboard.writeText(source);
|
|
12889
|
+
copied.value = true;
|
|
12890
|
+
setTimeout(() => {
|
|
12891
|
+
copied.value = false;
|
|
12892
|
+
}, 300);
|
|
12893
|
+
} catch (err) {
|
|
12894
|
+
console.error("[vue-json-pretty] Copy failed: ", err);
|
|
12895
|
+
}
|
|
12896
|
+
};
|
|
12897
|
+
return {
|
|
12898
|
+
copy
|
|
12899
|
+
};
|
|
12900
|
+
}
|
|
12901
|
+
const treeNodePropsPass$1 = {
|
|
12902
|
+
// JSONLike data.
|
|
12903
|
+
data: {
|
|
12904
|
+
type: [String, Number, Boolean, Array, Object],
|
|
12905
|
+
default: null
|
|
12906
|
+
},
|
|
12907
|
+
// Data root path.
|
|
12908
|
+
rootPath: {
|
|
12909
|
+
type: String,
|
|
12910
|
+
default: "root"
|
|
12911
|
+
},
|
|
12912
|
+
indent: {
|
|
12913
|
+
type: Number,
|
|
12914
|
+
default: 2
|
|
12915
|
+
},
|
|
12916
|
+
// Whether to display the length of (array|object).
|
|
12917
|
+
showLength: {
|
|
12918
|
+
type: Boolean,
|
|
12919
|
+
default: false
|
|
12920
|
+
},
|
|
12921
|
+
// Whether the key name uses double quotes.
|
|
12922
|
+
showDoubleQuotes: {
|
|
12923
|
+
type: Boolean,
|
|
12924
|
+
default: true
|
|
12925
|
+
},
|
|
12926
|
+
// Custom render for key.
|
|
12927
|
+
renderNodeKey: Function,
|
|
12928
|
+
// Custom render for value.
|
|
12929
|
+
renderNodeValue: Function,
|
|
12930
|
+
// Custom render for node actions.
|
|
12931
|
+
renderNodeActions: {
|
|
12932
|
+
type: [Boolean, Function],
|
|
12933
|
+
default: void 0
|
|
12934
|
+
},
|
|
12935
|
+
// Define the selection method supported by the data level, which is not available by default.
|
|
12936
|
+
selectableType: String,
|
|
12937
|
+
// Whether to display the selection control.
|
|
12938
|
+
showSelectController: {
|
|
12939
|
+
type: Boolean,
|
|
12940
|
+
default: false
|
|
12941
|
+
},
|
|
12942
|
+
// Whether to display the data level connection.
|
|
12943
|
+
showLine: {
|
|
12944
|
+
type: Boolean,
|
|
12945
|
+
default: true
|
|
12946
|
+
},
|
|
12947
|
+
showLineNumber: {
|
|
12948
|
+
type: Boolean,
|
|
12949
|
+
default: false
|
|
12950
|
+
},
|
|
12951
|
+
// Whether to trigger selection when clicking on the node.
|
|
12952
|
+
selectOnClickNode: {
|
|
12953
|
+
type: Boolean,
|
|
12954
|
+
default: true
|
|
12955
|
+
},
|
|
12956
|
+
// When using the selectableType, define whether current path/content is enabled.
|
|
12957
|
+
nodeSelectable: {
|
|
12958
|
+
type: Function,
|
|
12959
|
+
default: () => true
|
|
12960
|
+
},
|
|
12961
|
+
// Highlight current node when selected.
|
|
12962
|
+
highlightSelectedNode: {
|
|
12963
|
+
type: Boolean,
|
|
12964
|
+
default: true
|
|
12965
|
+
},
|
|
12966
|
+
showIcon: {
|
|
12967
|
+
type: Boolean,
|
|
12968
|
+
default: false
|
|
12969
|
+
},
|
|
12970
|
+
theme: {
|
|
12971
|
+
type: String,
|
|
12972
|
+
default: "light"
|
|
12973
|
+
},
|
|
12974
|
+
showKeyValueSpace: {
|
|
12975
|
+
type: Boolean,
|
|
12976
|
+
default: true
|
|
12977
|
+
},
|
|
12978
|
+
editable: {
|
|
12979
|
+
type: Boolean,
|
|
12980
|
+
default: false
|
|
12981
|
+
},
|
|
12982
|
+
editableTrigger: {
|
|
12983
|
+
type: String,
|
|
12984
|
+
default: "click"
|
|
12985
|
+
},
|
|
12986
|
+
onNodeClick: {
|
|
12987
|
+
type: Function
|
|
12988
|
+
},
|
|
12989
|
+
onNodeMouseover: {
|
|
12990
|
+
type: Function
|
|
12991
|
+
},
|
|
12992
|
+
onBracketsClick: {
|
|
12993
|
+
type: Function
|
|
12994
|
+
},
|
|
12995
|
+
onIconClick: {
|
|
12996
|
+
type: Function
|
|
12997
|
+
},
|
|
12998
|
+
onValueChange: {
|
|
12999
|
+
type: Function
|
|
13000
|
+
}
|
|
13001
|
+
};
|
|
13002
|
+
const treeNodeProps = {
|
|
13003
|
+
...treeNodePropsPass$1,
|
|
13004
|
+
// Current node data.
|
|
13005
|
+
node: {
|
|
13006
|
+
type: Object,
|
|
13007
|
+
required: true
|
|
13008
|
+
},
|
|
13009
|
+
// Whether the current node is collapsed.
|
|
13010
|
+
collapsed: Boolean,
|
|
13011
|
+
// Whether the current node is checked(When using the selection function).
|
|
13012
|
+
checked: Boolean,
|
|
13013
|
+
style: {
|
|
13014
|
+
type: Object,
|
|
13015
|
+
default: void 0
|
|
13016
|
+
},
|
|
13017
|
+
onSelectedChange: {
|
|
13018
|
+
type: Function,
|
|
13019
|
+
default: void 0
|
|
13020
|
+
}
|
|
13021
|
+
};
|
|
13022
|
+
const basicJsonViewerProps = {
|
|
13023
|
+
...treeNodePropsPass$1,
|
|
13024
|
+
collapsedNodeLength: {
|
|
13025
|
+
type: Number,
|
|
13026
|
+
default: Infinity
|
|
13027
|
+
},
|
|
13028
|
+
// Define the depth of the tree, nodes greater than this depth will not be expanded.
|
|
13029
|
+
deep: {
|
|
13030
|
+
type: Number,
|
|
13031
|
+
default: Infinity
|
|
13032
|
+
},
|
|
13033
|
+
pathCollapsible: {
|
|
13034
|
+
type: Function,
|
|
13035
|
+
default: () => false
|
|
13036
|
+
},
|
|
13037
|
+
// Whether to use virtual scroll, usually applied to big data.
|
|
13038
|
+
virtual: {
|
|
13039
|
+
type: Boolean,
|
|
13040
|
+
default: false
|
|
13041
|
+
},
|
|
13042
|
+
// When using virtual scroll, set the height of tree.
|
|
13043
|
+
height: {
|
|
13044
|
+
type: Number,
|
|
13045
|
+
default: 400
|
|
13046
|
+
},
|
|
13047
|
+
// When using virtual scroll without dynamicHeight, define the height of each row.
|
|
13048
|
+
itemHeight: {
|
|
13049
|
+
type: Number,
|
|
13050
|
+
default: 20
|
|
13051
|
+
},
|
|
13052
|
+
// Enable dynamic row heights for virtual scroll.
|
|
13053
|
+
dynamicHeight: {
|
|
13054
|
+
type: Boolean,
|
|
13055
|
+
default: true
|
|
13056
|
+
},
|
|
13057
|
+
// When there is a selection function, define the selected path.
|
|
13058
|
+
// For multiple selections, it is an array ['root.a','root.b'], for single selection, it is a string of 'root.a'.
|
|
13059
|
+
selectedValue: {
|
|
13060
|
+
type: [String, Array],
|
|
13061
|
+
default: () => ""
|
|
13062
|
+
},
|
|
13063
|
+
// Collapsed control.
|
|
13064
|
+
collapsedOnClickBrackets: {
|
|
13065
|
+
type: Boolean,
|
|
13066
|
+
default: true
|
|
13067
|
+
},
|
|
13068
|
+
style: {
|
|
13069
|
+
type: Object,
|
|
13070
|
+
default: void 0
|
|
13071
|
+
},
|
|
13072
|
+
onSelectedChange: {
|
|
13073
|
+
type: Function,
|
|
13074
|
+
default: void 0
|
|
13075
|
+
},
|
|
13076
|
+
theme: {
|
|
13077
|
+
type: String,
|
|
13078
|
+
default: "light"
|
|
13079
|
+
}
|
|
13080
|
+
};
|
|
13081
|
+
function emitError(message) {
|
|
13082
|
+
throw new Error(`[VueJSONPretty] ${message}`);
|
|
13083
|
+
}
|
|
13084
|
+
function getDataType(value) {
|
|
13085
|
+
return Object.prototype.toString.call(value).slice(8, -1).toLowerCase();
|
|
13086
|
+
}
|
|
13087
|
+
function jsonFlatten(data, path = "root", level = 0, options) {
|
|
13088
|
+
const { key: key2, index: index2, type = "content", showComma = false, length = 1 } = options || {};
|
|
13089
|
+
const dataType = getDataType(data);
|
|
13090
|
+
if (dataType === "array") {
|
|
13091
|
+
const inner = arrFlat(
|
|
13092
|
+
data.map(
|
|
13093
|
+
(item, idx, arr) => jsonFlatten(item, `${path}[${idx}]`, level + 1, {
|
|
13094
|
+
index: idx,
|
|
13095
|
+
showComma: idx !== arr.length - 1,
|
|
13096
|
+
length,
|
|
13097
|
+
type
|
|
13098
|
+
})
|
|
13099
|
+
)
|
|
13100
|
+
);
|
|
13101
|
+
return [
|
|
13102
|
+
jsonFlatten("[", path, level, {
|
|
13103
|
+
showComma: false,
|
|
13104
|
+
key: key2,
|
|
13105
|
+
length: data.length,
|
|
13106
|
+
type: "arrayStart"
|
|
13107
|
+
})[0]
|
|
13108
|
+
].concat(
|
|
13109
|
+
inner,
|
|
13110
|
+
jsonFlatten("]", path, level, {
|
|
13111
|
+
showComma,
|
|
13112
|
+
length: data.length,
|
|
13113
|
+
type: "arrayEnd"
|
|
13114
|
+
})[0]
|
|
13115
|
+
);
|
|
13116
|
+
} else if (dataType === "object") {
|
|
13117
|
+
const keys = Object.keys(data);
|
|
13118
|
+
const inner = arrFlat(
|
|
13119
|
+
keys.map(
|
|
13120
|
+
(objKey, idx, arr) => jsonFlatten(data[objKey], /^[a-zA-Z_]\w*$/.test(objKey) ? `${path}.${objKey}` : `${path}["${objKey}"]`, level + 1, {
|
|
13121
|
+
key: objKey,
|
|
13122
|
+
showComma: idx !== arr.length - 1,
|
|
13123
|
+
length,
|
|
13124
|
+
type
|
|
13125
|
+
})
|
|
13126
|
+
)
|
|
13127
|
+
);
|
|
13128
|
+
return [
|
|
13129
|
+
jsonFlatten("{", path, level, {
|
|
13130
|
+
showComma: false,
|
|
13131
|
+
key: key2,
|
|
13132
|
+
index: index2,
|
|
13133
|
+
length: keys.length,
|
|
13134
|
+
type: "objectStart"
|
|
13135
|
+
})[0]
|
|
13136
|
+
].concat(inner, jsonFlatten("}", path, level, { showComma, length: keys.length, type: "objectEnd" })[0]);
|
|
13137
|
+
}
|
|
13138
|
+
return [
|
|
13139
|
+
{
|
|
13140
|
+
content: data,
|
|
13141
|
+
level,
|
|
13142
|
+
key: key2,
|
|
13143
|
+
index: index2,
|
|
13144
|
+
path,
|
|
13145
|
+
showComma,
|
|
13146
|
+
length,
|
|
13147
|
+
type
|
|
13148
|
+
}
|
|
13149
|
+
];
|
|
13150
|
+
}
|
|
13151
|
+
function arrFlat(arr) {
|
|
13152
|
+
if (typeof Array.prototype.flat === "function") {
|
|
13153
|
+
return arr.flat();
|
|
13154
|
+
}
|
|
13155
|
+
const stack = [...arr];
|
|
13156
|
+
const result = [];
|
|
13157
|
+
while (stack.length) {
|
|
13158
|
+
const first = stack.shift();
|
|
13159
|
+
if (Array.isArray(first)) {
|
|
13160
|
+
stack.unshift(...first);
|
|
13161
|
+
} else {
|
|
13162
|
+
result.push(first);
|
|
13163
|
+
}
|
|
13164
|
+
}
|
|
13165
|
+
return result;
|
|
13166
|
+
}
|
|
13167
|
+
function cloneDeep(source, hash = /* @__PURE__ */ new WeakMap()) {
|
|
13168
|
+
if (source === null || source === void 0) return source;
|
|
13169
|
+
if (source instanceof Date) return new Date(source);
|
|
13170
|
+
if (source instanceof RegExp) return new RegExp(source);
|
|
13171
|
+
if (typeof source !== "object") return source;
|
|
13172
|
+
if (hash.get(source)) return hash.get(source);
|
|
13173
|
+
if (Array.isArray(source)) {
|
|
13174
|
+
const output2 = source.map((item) => cloneDeep(item, hash));
|
|
13175
|
+
hash.set(source, output2);
|
|
13176
|
+
return output2;
|
|
13177
|
+
}
|
|
13178
|
+
const output = {};
|
|
13179
|
+
for (const key2 in source) {
|
|
13180
|
+
output[key2] = cloneDeep(source[key2], hash);
|
|
13181
|
+
}
|
|
13182
|
+
hash.set(source, output);
|
|
13183
|
+
return output;
|
|
13184
|
+
}
|
|
13185
|
+
function stringToAutoType(source) {
|
|
13186
|
+
let value;
|
|
13187
|
+
if (source === "null") value = null;
|
|
13188
|
+
else if (source === "undefined") value = void 0;
|
|
13189
|
+
else if (source === "true") value = true;
|
|
13190
|
+
else if (source === "false") value = false;
|
|
13191
|
+
else if (source[0] + source[source.length - 1] === '""' || source[0] + source[source.length - 1] === "''") {
|
|
13192
|
+
value = source.slice(1, -1);
|
|
13193
|
+
} else if (typeof Number(source) === "number" && !isNaN(Number(source)) || source === "NaN") {
|
|
13194
|
+
value = Number(source);
|
|
13195
|
+
} else {
|
|
13196
|
+
value = source;
|
|
13197
|
+
}
|
|
13198
|
+
return value;
|
|
13199
|
+
}
|
|
13200
|
+
const Brackets = /* @__PURE__ */ defineComponent({
|
|
13201
|
+
name: "JsonBrackets",
|
|
13202
|
+
props: {
|
|
13203
|
+
data: {
|
|
13204
|
+
required: true,
|
|
13205
|
+
type: String
|
|
13206
|
+
},
|
|
13207
|
+
onClick: {
|
|
13208
|
+
type: Function,
|
|
13209
|
+
default: void 0
|
|
13210
|
+
}
|
|
13211
|
+
},
|
|
13212
|
+
render() {
|
|
13213
|
+
const {
|
|
13214
|
+
data
|
|
13215
|
+
} = this;
|
|
13216
|
+
const {
|
|
13217
|
+
onClick
|
|
13218
|
+
} = this;
|
|
13219
|
+
return createVNode("span", {
|
|
13220
|
+
"class": "vjs-tree-brackets",
|
|
13221
|
+
"onClick": onClick
|
|
13222
|
+
}, [data]);
|
|
13223
|
+
}
|
|
13224
|
+
});
|
|
13225
|
+
const Carets = /* @__PURE__ */ defineComponent({
|
|
13226
|
+
name: "JsonCarets",
|
|
13227
|
+
props: {
|
|
13228
|
+
nodeType: {
|
|
13229
|
+
required: true,
|
|
13230
|
+
type: String
|
|
13231
|
+
},
|
|
13232
|
+
onClick: {
|
|
13233
|
+
type: Function,
|
|
13234
|
+
default: void 0
|
|
13235
|
+
}
|
|
13236
|
+
},
|
|
13237
|
+
render() {
|
|
13238
|
+
const {
|
|
13239
|
+
nodeType
|
|
13240
|
+
} = this;
|
|
13241
|
+
const {
|
|
13242
|
+
onClick
|
|
13243
|
+
} = this;
|
|
13244
|
+
const isOpen = nodeType === "objectStart" || nodeType === "arrayStart";
|
|
13245
|
+
const isClose = nodeType === "objectCollapsed" || nodeType === "arrayCollapsed";
|
|
13246
|
+
if (!isOpen && !isClose) return null;
|
|
13247
|
+
return createVNode("span", {
|
|
13248
|
+
"class": `vjs-carets vjs-carets-${isOpen ? "open" : "close"}`,
|
|
13249
|
+
"onClick": onClick
|
|
13250
|
+
}, [createVNode("svg", {
|
|
13251
|
+
"viewBox": "0 0 24 24",
|
|
13252
|
+
"width": "1em",
|
|
13253
|
+
"height": "1em",
|
|
13254
|
+
"fill": "currentColor",
|
|
13255
|
+
"aria-hidden": "true",
|
|
13256
|
+
"focusable": "false",
|
|
13257
|
+
"data-icon": "caret-down"
|
|
13258
|
+
}, [createVNode("path", {
|
|
13259
|
+
"fill": "currentColor",
|
|
13260
|
+
"d": "m12 13.171l4.95-4.95l1.414 1.415L12 16L5.636 9.636L7.05 8.222z"
|
|
13261
|
+
}, null)])]);
|
|
13262
|
+
}
|
|
13263
|
+
});
|
|
13264
|
+
const CheckController = /* @__PURE__ */ defineComponent({
|
|
13265
|
+
props: {
|
|
13266
|
+
checked: {
|
|
13267
|
+
type: Boolean,
|
|
13268
|
+
default: false
|
|
13269
|
+
},
|
|
13270
|
+
isMultiple: Boolean,
|
|
13271
|
+
onChange: {
|
|
13272
|
+
type: Function,
|
|
13273
|
+
default: void 0
|
|
13274
|
+
}
|
|
13275
|
+
},
|
|
13276
|
+
emits: ["change", "update:modelValue"],
|
|
13277
|
+
setup(props, {
|
|
13278
|
+
emit
|
|
13279
|
+
}) {
|
|
13280
|
+
const uiType = computed(() => props.isMultiple ? "checkbox" : "radio");
|
|
13281
|
+
const model = computed({
|
|
13282
|
+
get: () => props.checked,
|
|
13283
|
+
set: (val) => emit("update:modelValue", val)
|
|
13284
|
+
});
|
|
13285
|
+
return {
|
|
13286
|
+
uiType,
|
|
13287
|
+
model
|
|
13288
|
+
};
|
|
13289
|
+
},
|
|
13290
|
+
render() {
|
|
13291
|
+
const {
|
|
13292
|
+
uiType,
|
|
13293
|
+
model,
|
|
13294
|
+
$emit
|
|
13295
|
+
} = this;
|
|
13296
|
+
return createVNode("label", {
|
|
13297
|
+
"class": ["vjs-check-controller", model ? "is-checked" : ""],
|
|
13298
|
+
"onClick": (e) => e.stopPropagation()
|
|
13299
|
+
}, [createVNode("span", {
|
|
13300
|
+
"class": `vjs-check-controller-inner is-${uiType}`
|
|
13301
|
+
}, null), createVNode("input", {
|
|
13302
|
+
"checked": model,
|
|
13303
|
+
"class": `vjs-check-controller-original is-${uiType}`,
|
|
13304
|
+
"type": uiType,
|
|
13305
|
+
"onChange": () => $emit("change", model)
|
|
13306
|
+
}, null)]);
|
|
13307
|
+
}
|
|
13308
|
+
});
|
|
13309
|
+
const treeNodePropsPass = {
|
|
13310
|
+
// JSONLike data.
|
|
13311
|
+
data: {
|
|
13312
|
+
type: [String, Number, Boolean, Array, Object],
|
|
13313
|
+
default: null
|
|
13314
|
+
},
|
|
13315
|
+
// Data root path.
|
|
13316
|
+
rootPath: {
|
|
13317
|
+
type: String,
|
|
13318
|
+
default: "root"
|
|
13319
|
+
},
|
|
13320
|
+
indent: {
|
|
13321
|
+
type: Number,
|
|
13322
|
+
default: 2
|
|
13323
|
+
},
|
|
13324
|
+
// Whether to display the length of (array|object).
|
|
13325
|
+
showLength: {
|
|
13326
|
+
type: Boolean,
|
|
13327
|
+
default: false
|
|
13328
|
+
},
|
|
13329
|
+
// Whether the key name uses double quotes.
|
|
13330
|
+
showDoubleQuotes: {
|
|
13331
|
+
type: Boolean,
|
|
13332
|
+
default: true
|
|
13333
|
+
},
|
|
13334
|
+
// Custom render for key.
|
|
13335
|
+
renderNodeKey: Function,
|
|
13336
|
+
// Custom render for value.
|
|
13337
|
+
renderNodeValue: Function,
|
|
13338
|
+
// Custom render for node actions.
|
|
13339
|
+
renderNodeActions: {
|
|
13340
|
+
type: [Boolean, Function],
|
|
13341
|
+
default: void 0
|
|
13342
|
+
},
|
|
13343
|
+
// Define the selection method supported by the data level, which is not available by default.
|
|
13344
|
+
selectableType: String,
|
|
13345
|
+
// Whether to display the selection control.
|
|
13346
|
+
showSelectController: {
|
|
13347
|
+
type: Boolean,
|
|
13348
|
+
default: false
|
|
13349
|
+
},
|
|
13350
|
+
// Whether to display the data level connection.
|
|
13351
|
+
showLine: {
|
|
13352
|
+
type: Boolean,
|
|
13353
|
+
default: true
|
|
13354
|
+
},
|
|
13355
|
+
showLineNumber: {
|
|
13356
|
+
type: Boolean,
|
|
13357
|
+
default: false
|
|
13358
|
+
},
|
|
13359
|
+
// Whether to trigger selection when clicking on the node.
|
|
13360
|
+
selectOnClickNode: {
|
|
13361
|
+
type: Boolean,
|
|
13362
|
+
default: true
|
|
13363
|
+
},
|
|
13364
|
+
// When using the selectableType, define whether current path/content is enabled.
|
|
13365
|
+
nodeSelectable: {
|
|
13366
|
+
type: Function,
|
|
13367
|
+
default: () => true
|
|
13368
|
+
},
|
|
13369
|
+
// Highlight current node when selected.
|
|
13370
|
+
highlightSelectedNode: {
|
|
13371
|
+
type: Boolean,
|
|
13372
|
+
default: true
|
|
13373
|
+
},
|
|
13374
|
+
showIcon: {
|
|
13375
|
+
type: Boolean,
|
|
13376
|
+
default: false
|
|
13377
|
+
},
|
|
13378
|
+
theme: {
|
|
13379
|
+
type: String,
|
|
13380
|
+
default: "light"
|
|
13381
|
+
},
|
|
13382
|
+
showKeyValueSpace: {
|
|
13383
|
+
type: Boolean,
|
|
13384
|
+
default: true
|
|
13385
|
+
},
|
|
13386
|
+
editable: {
|
|
13387
|
+
type: Boolean,
|
|
13388
|
+
default: false
|
|
13389
|
+
},
|
|
13390
|
+
editableTrigger: {
|
|
13391
|
+
type: String,
|
|
13392
|
+
default: "click"
|
|
13393
|
+
},
|
|
13394
|
+
onNodeClick: {
|
|
13395
|
+
type: Function
|
|
13396
|
+
},
|
|
13397
|
+
onNodeMouseover: {
|
|
13398
|
+
type: Function
|
|
13399
|
+
},
|
|
13400
|
+
onBracketsClick: {
|
|
13401
|
+
type: Function
|
|
13402
|
+
},
|
|
13403
|
+
onIconClick: {
|
|
13404
|
+
type: Function
|
|
13405
|
+
},
|
|
13406
|
+
onValueChange: {
|
|
13407
|
+
type: Function
|
|
13408
|
+
}
|
|
13409
|
+
};
|
|
13410
|
+
const TreeNode$1 = /* @__PURE__ */ defineComponent({
|
|
13411
|
+
name: "TreeNode",
|
|
13412
|
+
props: treeNodeProps,
|
|
13413
|
+
emits: ["nodeClick", "nodeMouseover", "bracketsClick", "iconClick", "selectedChange", "valueChange"],
|
|
13414
|
+
setup(props, {
|
|
13415
|
+
emit
|
|
13416
|
+
}) {
|
|
13417
|
+
const dataType = computed(() => getDataType(props.node.content));
|
|
13418
|
+
const valueClass = computed(() => `vjs-value vjs-value-${dataType.value}`);
|
|
13419
|
+
const prettyKey = computed(() => props.showDoubleQuotes ? `"${props.node.key}"` : props.node.key);
|
|
13420
|
+
const renderKey = () => {
|
|
13421
|
+
const render2 = props.renderNodeKey;
|
|
13422
|
+
return render2 ? render2({
|
|
13423
|
+
node: props.node,
|
|
13424
|
+
defaultKey: prettyKey.value || ""
|
|
13425
|
+
}) : prettyKey.value;
|
|
13426
|
+
};
|
|
13427
|
+
const isMultiple = computed(() => props.selectableType === "multiple");
|
|
13428
|
+
const isSingle = computed(() => props.selectableType === "single");
|
|
13429
|
+
const selectable = computed(() => props.nodeSelectable(props.node) && (isMultiple.value || isSingle.value));
|
|
13430
|
+
const state = reactive({
|
|
13431
|
+
editing: false
|
|
13432
|
+
});
|
|
13433
|
+
const handleInputChange = (e) => {
|
|
13434
|
+
var _a;
|
|
13435
|
+
const source = (_a = e.target) == null ? void 0 : _a.value;
|
|
13436
|
+
const value = stringToAutoType(source);
|
|
13437
|
+
emit("valueChange", value, props.node.path);
|
|
13438
|
+
};
|
|
13439
|
+
const defaultValue = computed(() => {
|
|
13440
|
+
var _a;
|
|
13441
|
+
let value = (_a = props.node) == null ? void 0 : _a.content;
|
|
13442
|
+
if (value === null) {
|
|
13443
|
+
value = "null";
|
|
13444
|
+
} else if (value === void 0) {
|
|
13445
|
+
value = "undefined";
|
|
13446
|
+
}
|
|
13447
|
+
return dataType.value === "string" ? `"${value}"` : `${value}`;
|
|
13448
|
+
});
|
|
13449
|
+
const renderValue = () => {
|
|
13450
|
+
const render2 = props.renderNodeValue;
|
|
13451
|
+
return render2 ? render2({
|
|
13452
|
+
node: props.node,
|
|
13453
|
+
defaultValue: defaultValue.value
|
|
13454
|
+
}) : defaultValue.value;
|
|
13455
|
+
};
|
|
13456
|
+
const handleBracketsClick = () => {
|
|
13457
|
+
emit("bracketsClick", !props.collapsed, props.node);
|
|
13458
|
+
};
|
|
13459
|
+
const handleIconClick = () => {
|
|
13460
|
+
emit("iconClick", !props.collapsed, props.node);
|
|
13461
|
+
};
|
|
13462
|
+
const handleSelectedChange = () => {
|
|
13463
|
+
emit("selectedChange", props.node);
|
|
13464
|
+
};
|
|
13465
|
+
const handleNodeClick = () => {
|
|
13466
|
+
emit("nodeClick", props.node);
|
|
13467
|
+
if (selectable.value && props.selectOnClickNode) {
|
|
13468
|
+
emit("selectedChange", props.node);
|
|
13469
|
+
}
|
|
13470
|
+
};
|
|
13471
|
+
const handleNodeMouseover = () => {
|
|
13472
|
+
emit("nodeMouseover", props.node);
|
|
13473
|
+
};
|
|
13474
|
+
const handleValueEdit = (e) => {
|
|
13475
|
+
if (!props.editable) return;
|
|
13476
|
+
if (!state.editing) {
|
|
13477
|
+
state.editing = true;
|
|
13478
|
+
const handle = (innerE) => {
|
|
13479
|
+
var _a;
|
|
13480
|
+
if (innerE.target !== e.target && ((_a = innerE.target) == null ? void 0 : _a.parentElement) !== e.target) {
|
|
13481
|
+
state.editing = false;
|
|
13482
|
+
document.removeEventListener("click", handle);
|
|
13483
|
+
}
|
|
13484
|
+
};
|
|
13485
|
+
document.removeEventListener("click", handle);
|
|
13486
|
+
document.addEventListener("click", handle);
|
|
13487
|
+
}
|
|
13488
|
+
};
|
|
13489
|
+
const {
|
|
13490
|
+
copy
|
|
13491
|
+
} = useClipboard();
|
|
13492
|
+
const handleCopy = () => {
|
|
13493
|
+
const {
|
|
13494
|
+
key: key2,
|
|
13495
|
+
path
|
|
13496
|
+
} = props.node;
|
|
13497
|
+
const rootPath = props.rootPath;
|
|
13498
|
+
const content = new Function("data", `return data${path.slice(rootPath.length)}`)(props.data);
|
|
13499
|
+
const copiedData = JSON.stringify(key2 ? {
|
|
13500
|
+
[key2]: content
|
|
13501
|
+
} : content, null, 2);
|
|
13502
|
+
copy(copiedData);
|
|
13503
|
+
};
|
|
13504
|
+
const renderNodeActions = () => {
|
|
13505
|
+
const render2 = props.renderNodeActions;
|
|
13506
|
+
if (!render2) return null;
|
|
13507
|
+
const defaultActions = {
|
|
13508
|
+
copy: handleCopy
|
|
13509
|
+
};
|
|
13510
|
+
return typeof render2 === "function" ? render2({
|
|
13511
|
+
node: props.node,
|
|
13512
|
+
defaultActions
|
|
13513
|
+
}) : createVNode("span", {
|
|
13514
|
+
"onClick": handleCopy,
|
|
13515
|
+
"class": "vjs-tree-node-actions-item"
|
|
13516
|
+
}, [createTextVNode("copy")]);
|
|
13517
|
+
};
|
|
13518
|
+
return () => {
|
|
13519
|
+
const {
|
|
13520
|
+
node
|
|
13521
|
+
} = props;
|
|
13522
|
+
return createVNode("div", {
|
|
13523
|
+
"class": {
|
|
13524
|
+
"vjs-tree-node": true,
|
|
13525
|
+
"has-selector": props.showSelectController,
|
|
13526
|
+
"has-carets": props.showIcon,
|
|
13527
|
+
"is-highlight": props.highlightSelectedNode && props.checked,
|
|
13528
|
+
dark: props.theme === "dark"
|
|
13529
|
+
},
|
|
13530
|
+
"onClick": handleNodeClick,
|
|
13531
|
+
"onMouseover": handleNodeMouseover,
|
|
13532
|
+
"style": props.style
|
|
13533
|
+
}, [props.showLineNumber && createVNode("span", {
|
|
13534
|
+
"class": "vjs-node-index"
|
|
13535
|
+
}, [node.id + 1]), props.showSelectController && selectable.value && node.type !== "objectEnd" && node.type !== "arrayEnd" && createVNode(CheckController, {
|
|
13536
|
+
"isMultiple": isMultiple.value,
|
|
13537
|
+
"checked": props.checked,
|
|
13538
|
+
"onChange": handleSelectedChange
|
|
13539
|
+
}, null), createVNode("div", {
|
|
13540
|
+
"class": "vjs-indent"
|
|
13541
|
+
}, [Array.from(Array(node.level)).map((item, index2) => createVNode("div", {
|
|
13542
|
+
"key": index2,
|
|
13543
|
+
"class": {
|
|
13544
|
+
"vjs-indent-unit": true,
|
|
13545
|
+
"has-line": props.showLine
|
|
13546
|
+
}
|
|
13547
|
+
}, [Array.from(Array(props.indent)).map(() => createVNode(Fragment, null, [createTextVNode(" ")]))])), props.showIcon && createVNode(Carets, {
|
|
13548
|
+
"nodeType": node.type,
|
|
13549
|
+
"onClick": handleIconClick
|
|
13550
|
+
}, null)]), node.key && createVNode("span", {
|
|
13551
|
+
"class": "vjs-key"
|
|
13552
|
+
}, [renderKey(), createVNode("span", {
|
|
13553
|
+
"class": "vjs-colon"
|
|
13554
|
+
}, [`:${props.showKeyValueSpace ? " " : ""}`])]), createVNode("span", null, [node.type !== "content" && node.content ? createVNode(Brackets, {
|
|
13555
|
+
"data": node.content.toString(),
|
|
13556
|
+
"onClick": handleBracketsClick
|
|
13557
|
+
}, null) : createVNode("span", {
|
|
13558
|
+
"class": valueClass.value,
|
|
13559
|
+
"onClick": props.editable && (!props.editableTrigger || props.editableTrigger === "click") ? handleValueEdit : void 0,
|
|
13560
|
+
"onDblclick": props.editable && props.editableTrigger === "dblclick" ? handleValueEdit : void 0
|
|
13561
|
+
}, [props.editable && state.editing ? createVNode("input", {
|
|
13562
|
+
"value": defaultValue.value,
|
|
13563
|
+
"onChange": handleInputChange,
|
|
13564
|
+
"style": {
|
|
13565
|
+
padding: "3px 8px",
|
|
13566
|
+
border: "1px solid #eee",
|
|
13567
|
+
boxShadow: "none",
|
|
13568
|
+
boxSizing: "border-box",
|
|
13569
|
+
borderRadius: 5,
|
|
13570
|
+
fontFamily: "inherit"
|
|
13571
|
+
}
|
|
13572
|
+
}, null) : renderValue()]), node.showComma && createVNode("span", null, [","]), props.showLength && props.collapsed && createVNode("span", {
|
|
13573
|
+
"class": "vjs-comment"
|
|
13574
|
+
}, [createTextVNode(" // "), node.length, createTextVNode(" items ")])]), props.renderNodeActions && createVNode("span", {
|
|
13575
|
+
"class": "vjs-tree-node-actions"
|
|
13576
|
+
}, [renderNodeActions()])]);
|
|
13577
|
+
};
|
|
13578
|
+
}
|
|
13579
|
+
});
|
|
13580
|
+
const BasicJsonViewer = /* @__PURE__ */ defineComponent({
|
|
13581
|
+
name: "JsonTree",
|
|
13582
|
+
props: {
|
|
13583
|
+
...treeNodePropsPass,
|
|
13584
|
+
collapsedNodeLength: {
|
|
13585
|
+
type: Number,
|
|
13586
|
+
default: Infinity
|
|
13587
|
+
},
|
|
13588
|
+
// Define the depth of the tree, nodes greater than this depth will not be expanded.
|
|
13589
|
+
deep: {
|
|
13590
|
+
type: Number,
|
|
13591
|
+
default: Infinity
|
|
13592
|
+
},
|
|
13593
|
+
pathCollapsible: {
|
|
13594
|
+
type: Function,
|
|
13595
|
+
default: () => false
|
|
13596
|
+
},
|
|
13597
|
+
// Whether to use virtual scroll, usually applied to big data.
|
|
13598
|
+
virtual: {
|
|
13599
|
+
type: Boolean,
|
|
13600
|
+
default: false
|
|
13601
|
+
},
|
|
13602
|
+
// When using virtual scroll, set the height of tree.
|
|
13603
|
+
height: {
|
|
13604
|
+
type: Number,
|
|
13605
|
+
default: 400
|
|
13606
|
+
},
|
|
13607
|
+
// When using virtual scroll without dynamicHeight, define the height of each row.
|
|
13608
|
+
itemHeight: {
|
|
13609
|
+
type: Number,
|
|
13610
|
+
default: 20
|
|
13611
|
+
},
|
|
13612
|
+
// Enable dynamic row heights for virtual scroll.
|
|
13613
|
+
dynamicHeight: {
|
|
13614
|
+
type: Boolean,
|
|
13615
|
+
default: true
|
|
13616
|
+
},
|
|
13617
|
+
// When there is a selection function, define the selected path.
|
|
13618
|
+
// For multiple selections, it is an array ['root.a','root.b'], for single selection, it is a string of 'root.a'.
|
|
13619
|
+
selectedValue: {
|
|
13620
|
+
type: [String, Array],
|
|
13621
|
+
default: () => ""
|
|
13622
|
+
},
|
|
13623
|
+
// Collapsed control.
|
|
13624
|
+
collapsedOnClickBrackets: {
|
|
13625
|
+
type: Boolean,
|
|
13626
|
+
default: true
|
|
13627
|
+
},
|
|
13628
|
+
style: {
|
|
13629
|
+
type: Object,
|
|
13630
|
+
default: void 0
|
|
13631
|
+
},
|
|
13632
|
+
onSelectedChange: {
|
|
13633
|
+
type: Function,
|
|
13634
|
+
default: void 0
|
|
13635
|
+
},
|
|
13636
|
+
theme: {
|
|
13637
|
+
type: String,
|
|
13638
|
+
default: "light"
|
|
13639
|
+
}
|
|
13640
|
+
},
|
|
13641
|
+
emits: ["nodeClick", "nodeMouseover", "bracketsClick", "iconClick", "selectedChange", "update:selectedValue", "update:data"],
|
|
13642
|
+
setup(props, {
|
|
13643
|
+
emit,
|
|
13644
|
+
slots
|
|
13645
|
+
}) {
|
|
13646
|
+
const {
|
|
13647
|
+
b
|
|
13648
|
+
} = useNamespace("basic-json-viewer");
|
|
13649
|
+
const treeRef = ref();
|
|
13650
|
+
const originFlatData = computed(() => jsonFlatten(props.data, props.rootPath));
|
|
13651
|
+
const initHiddenPaths = (deep, collapsedNodeLength) => {
|
|
13652
|
+
return originFlatData.value.reduce((acc, item) => {
|
|
13653
|
+
var _a;
|
|
13654
|
+
const doCollapse = item.level >= deep || item.length >= collapsedNodeLength;
|
|
13655
|
+
const pathComparison = (_a = props.pathCollapsible) == null ? void 0 : _a.call(props, item);
|
|
13656
|
+
if ((item.type === "objectStart" || item.type === "arrayStart") && (doCollapse || pathComparison)) {
|
|
13657
|
+
return {
|
|
13658
|
+
...acc,
|
|
13659
|
+
[item.path]: 1
|
|
13660
|
+
};
|
|
13661
|
+
}
|
|
13662
|
+
return acc;
|
|
13663
|
+
}, {});
|
|
13664
|
+
};
|
|
13665
|
+
const state = reactive({
|
|
13666
|
+
translateY: 0,
|
|
13667
|
+
visibleData: null,
|
|
13668
|
+
hiddenPaths: initHiddenPaths(props.deep, props.collapsedNodeLength),
|
|
13669
|
+
startIndex: 0,
|
|
13670
|
+
endIndex: 0
|
|
13671
|
+
});
|
|
13672
|
+
let heights = [];
|
|
13673
|
+
let offsets = [];
|
|
13674
|
+
let totalHeight = 0;
|
|
13675
|
+
const rowRefs = {};
|
|
13676
|
+
const OVERSCAN_COUNT = 5;
|
|
13677
|
+
const initDynamicHeights = (length) => {
|
|
13678
|
+
heights = Array(length).fill(0).map(() => props.itemHeight || 20);
|
|
13679
|
+
offsets = new Array(length + 1);
|
|
13680
|
+
offsets[0] = 0;
|
|
13681
|
+
for (let i = 0; i < length; i++) {
|
|
13682
|
+
offsets[i + 1] = offsets[i] + heights[i];
|
|
13683
|
+
}
|
|
13684
|
+
totalHeight = offsets[length] || 0;
|
|
13685
|
+
};
|
|
13686
|
+
const recomputeOffsetsFrom = (start) => {
|
|
13687
|
+
const length = heights.length;
|
|
13688
|
+
if (start < 0) start = 0;
|
|
13689
|
+
if (start > length) start = length;
|
|
13690
|
+
for (let i = start; i < length; i++) {
|
|
13691
|
+
offsets[i + 1] = offsets[i] + heights[i];
|
|
13692
|
+
}
|
|
13693
|
+
totalHeight = offsets[length] || 0;
|
|
13694
|
+
};
|
|
13695
|
+
const setRowRef = (index2, el) => {
|
|
13696
|
+
if (el) {
|
|
13697
|
+
rowRefs[index2] = el;
|
|
13698
|
+
} else {
|
|
13699
|
+
delete rowRefs[index2];
|
|
13700
|
+
}
|
|
13701
|
+
};
|
|
13702
|
+
const lowerBound = (arr, target) => {
|
|
13703
|
+
let lo = 0;
|
|
13704
|
+
let hi = arr.length - 1;
|
|
13705
|
+
while (lo < hi) {
|
|
13706
|
+
const mid = lo + hi >>> 1;
|
|
13707
|
+
if (arr[mid] < target) lo = mid + 1;
|
|
13708
|
+
else hi = mid;
|
|
13709
|
+
}
|
|
13710
|
+
return lo;
|
|
13711
|
+
};
|
|
13712
|
+
const findStartIndexByScrollTop = (scrollTop) => {
|
|
13713
|
+
const i = lowerBound(offsets, scrollTop + 1e-4);
|
|
13714
|
+
return Math.max(0, Math.min(i - 1, heights.length - 1));
|
|
13715
|
+
};
|
|
13716
|
+
const findEndIndexByViewport = (scrollTop, viewportHeight) => {
|
|
13717
|
+
const target = scrollTop + viewportHeight;
|
|
13718
|
+
const i = lowerBound(offsets, target);
|
|
13719
|
+
return Math.max(0, Math.min(i + 1, heights.length));
|
|
13720
|
+
};
|
|
13721
|
+
const flatData = computed(() => {
|
|
13722
|
+
let startHiddenItem = null;
|
|
13723
|
+
const data = [];
|
|
13724
|
+
const length = originFlatData.value.length;
|
|
13725
|
+
for (let i = 0; i < length; i++) {
|
|
13726
|
+
const cur = originFlatData.value[i];
|
|
13727
|
+
const item = {
|
|
13728
|
+
...cur,
|
|
13729
|
+
id: i
|
|
13730
|
+
};
|
|
13731
|
+
const isHidden = state.hiddenPaths[item.path];
|
|
13732
|
+
if (startHiddenItem && startHiddenItem.path === item.path) {
|
|
13733
|
+
const isObject2 = startHiddenItem.type === "objectStart";
|
|
13734
|
+
const mergeItem = {
|
|
13735
|
+
...item,
|
|
13736
|
+
...startHiddenItem,
|
|
13737
|
+
showComma: item.showComma,
|
|
13738
|
+
content: isObject2 ? "{...}" : "[...]",
|
|
13739
|
+
type: isObject2 ? "objectCollapsed" : "arrayCollapsed"
|
|
13740
|
+
};
|
|
13741
|
+
startHiddenItem = null;
|
|
13742
|
+
data.push(mergeItem);
|
|
13743
|
+
} else if (isHidden && !startHiddenItem) {
|
|
13744
|
+
startHiddenItem = item;
|
|
13745
|
+
continue;
|
|
13746
|
+
} else {
|
|
13747
|
+
if (startHiddenItem) continue;
|
|
13748
|
+
else data.push(item);
|
|
13749
|
+
}
|
|
13750
|
+
}
|
|
13751
|
+
return data;
|
|
13752
|
+
});
|
|
13753
|
+
const selectedPaths = computed(() => {
|
|
13754
|
+
const value = props.selectedValue;
|
|
13755
|
+
if (value && props.selectableType === "multiple" && Array.isArray(value)) {
|
|
13756
|
+
return value;
|
|
13757
|
+
}
|
|
13758
|
+
return [value];
|
|
13759
|
+
});
|
|
13760
|
+
const propsErrorMessage = computed(() => {
|
|
13761
|
+
const error = props.selectableType && !props.selectOnClickNode && !props.showSelectController;
|
|
13762
|
+
return error ? "When selectableType is not null, selectOnClickNode and showSelectController cannot be false at the same time, because this will cause the selection to fail." : "";
|
|
13763
|
+
});
|
|
13764
|
+
const listHeight = computed(() => {
|
|
13765
|
+
if (props.dynamicHeight) {
|
|
13766
|
+
return totalHeight || 0;
|
|
13767
|
+
}
|
|
13768
|
+
return flatData.value.length * props.itemHeight;
|
|
13769
|
+
});
|
|
13770
|
+
const updateVisibleData = () => {
|
|
13771
|
+
var _a;
|
|
13772
|
+
const flatDataValue = flatData.value;
|
|
13773
|
+
if (!flatDataValue) return;
|
|
13774
|
+
if (props.virtual) {
|
|
13775
|
+
const scrollTop = ((_a = treeRef.value) == null ? void 0 : _a.scrollTop) || 0;
|
|
13776
|
+
if (props.dynamicHeight) {
|
|
13777
|
+
if (heights.length !== flatDataValue.length) {
|
|
13778
|
+
initDynamicHeights(flatDataValue.length);
|
|
13779
|
+
}
|
|
13780
|
+
const start = findStartIndexByScrollTop(scrollTop);
|
|
13781
|
+
const endNoOverscan = findEndIndexByViewport(scrollTop, props.height);
|
|
13782
|
+
const startWithOverscan = Math.max(0, start - OVERSCAN_COUNT);
|
|
13783
|
+
const endWithOverscan = Math.min(flatDataValue.length, endNoOverscan + OVERSCAN_COUNT);
|
|
13784
|
+
state.startIndex = startWithOverscan;
|
|
13785
|
+
state.endIndex = endWithOverscan;
|
|
13786
|
+
state.translateY = offsets[startWithOverscan] || 0;
|
|
13787
|
+
state.visibleData = flatDataValue.slice(startWithOverscan, endWithOverscan);
|
|
13788
|
+
nextTick().then(() => {
|
|
13789
|
+
let changed = false;
|
|
13790
|
+
for (let i = state.startIndex; i < state.endIndex; i++) {
|
|
13791
|
+
const el = rowRefs[i];
|
|
13792
|
+
if (!el) continue;
|
|
13793
|
+
const h2 = el.offsetHeight;
|
|
13794
|
+
if (h2 && heights[i] !== h2) {
|
|
13795
|
+
heights[i] = h2;
|
|
13796
|
+
offsets[i + 1] = offsets[i] + heights[i];
|
|
13797
|
+
recomputeOffsetsFrom(i + 1);
|
|
13798
|
+
changed = true;
|
|
13799
|
+
}
|
|
13800
|
+
}
|
|
13801
|
+
if (changed) {
|
|
13802
|
+
updateVisibleData();
|
|
13803
|
+
}
|
|
13804
|
+
});
|
|
13805
|
+
} else {
|
|
13806
|
+
const visibleCount = props.height / props.itemHeight;
|
|
13807
|
+
const scrollCount = Math.floor(scrollTop / props.itemHeight);
|
|
13808
|
+
let start = scrollCount < 0 ? 0 : scrollCount + visibleCount > flatDataValue.length ? flatDataValue.length - visibleCount : scrollCount;
|
|
13809
|
+
if (start < 0) {
|
|
13810
|
+
start = 0;
|
|
13811
|
+
}
|
|
13812
|
+
const end = start + visibleCount;
|
|
13813
|
+
state.translateY = start * props.itemHeight;
|
|
13814
|
+
state.startIndex = start;
|
|
13815
|
+
state.endIndex = end;
|
|
13816
|
+
state.visibleData = flatDataValue.slice(start, end);
|
|
13817
|
+
}
|
|
13818
|
+
} else {
|
|
13819
|
+
state.translateY = 0;
|
|
13820
|
+
state.startIndex = 0;
|
|
13821
|
+
state.endIndex = flatDataValue.length;
|
|
13822
|
+
state.visibleData = flatDataValue;
|
|
13823
|
+
}
|
|
13824
|
+
};
|
|
13825
|
+
let rafId = null;
|
|
13826
|
+
const handleTreeScroll = () => {
|
|
13827
|
+
if (rafId) {
|
|
13828
|
+
cancelAnimationFrame(rafId);
|
|
13829
|
+
}
|
|
13830
|
+
rafId = requestAnimationFrame(() => {
|
|
13831
|
+
updateVisibleData();
|
|
13832
|
+
});
|
|
13833
|
+
};
|
|
13834
|
+
const handleSelectedChange = ({
|
|
13835
|
+
path
|
|
13836
|
+
}) => {
|
|
13837
|
+
const type = props.selectableType;
|
|
13838
|
+
if (type === "multiple") {
|
|
13839
|
+
const index2 = selectedPaths.value.findIndex((item) => item === path);
|
|
13840
|
+
const newVal = [...selectedPaths.value];
|
|
13841
|
+
if (index2 !== -1) {
|
|
13842
|
+
newVal.splice(index2, 1);
|
|
13843
|
+
} else {
|
|
13844
|
+
newVal.push(path);
|
|
13845
|
+
}
|
|
13846
|
+
emit("update:selectedValue", newVal);
|
|
13847
|
+
emit("selectedChange", newVal, [...selectedPaths.value]);
|
|
13848
|
+
} else if (type === "single") {
|
|
13849
|
+
if (selectedPaths.value[0] !== path) {
|
|
13850
|
+
const [oldVal] = selectedPaths.value;
|
|
13851
|
+
const newVal = path;
|
|
13852
|
+
emit("update:selectedValue", newVal);
|
|
13853
|
+
emit("selectedChange", newVal, oldVal);
|
|
13854
|
+
}
|
|
13855
|
+
}
|
|
13856
|
+
};
|
|
13857
|
+
const handleNodeClick = (node) => {
|
|
13858
|
+
emit("nodeClick", node);
|
|
13859
|
+
};
|
|
13860
|
+
const handleNodeMouseover = (node) => {
|
|
13861
|
+
emit("nodeMouseover", node);
|
|
13862
|
+
};
|
|
13863
|
+
const updateCollapsedPaths = (collapsed, path) => {
|
|
13864
|
+
if (collapsed) {
|
|
13865
|
+
state.hiddenPaths = {
|
|
13866
|
+
...state.hiddenPaths,
|
|
13867
|
+
[path]: 1
|
|
13868
|
+
};
|
|
13869
|
+
} else {
|
|
13870
|
+
const newPaths = {
|
|
13871
|
+
...state.hiddenPaths
|
|
13872
|
+
};
|
|
13873
|
+
delete newPaths[path];
|
|
13874
|
+
state.hiddenPaths = newPaths;
|
|
13875
|
+
}
|
|
13876
|
+
};
|
|
13877
|
+
const handleBracketsClick = (collapsed, node) => {
|
|
13878
|
+
if (props.collapsedOnClickBrackets) {
|
|
13879
|
+
updateCollapsedPaths(collapsed, node.path);
|
|
13880
|
+
}
|
|
13881
|
+
emit("bracketsClick", collapsed, node);
|
|
13882
|
+
};
|
|
13883
|
+
const handleIconClick = (collapsed, node) => {
|
|
13884
|
+
updateCollapsedPaths(collapsed, node.path);
|
|
13885
|
+
emit("iconClick", collapsed, node);
|
|
13886
|
+
};
|
|
13887
|
+
const handleValueChange = (value, path) => {
|
|
13888
|
+
const newData = cloneDeep(props.data);
|
|
13889
|
+
const rootPath = props.rootPath;
|
|
13890
|
+
new Function("data", "val", `data${path.slice(rootPath.length)}=val`)(newData, value);
|
|
13891
|
+
emit("update:data", newData);
|
|
13892
|
+
};
|
|
13893
|
+
watchEffect(() => {
|
|
13894
|
+
if (propsErrorMessage.value) {
|
|
13895
|
+
emitError(propsErrorMessage.value);
|
|
13896
|
+
}
|
|
13897
|
+
});
|
|
13898
|
+
watchEffect(() => {
|
|
13899
|
+
if (flatData.value) {
|
|
13900
|
+
if (props.virtual && props.dynamicHeight) {
|
|
13901
|
+
if (heights.length !== flatData.value.length) {
|
|
13902
|
+
initDynamicHeights(flatData.value.length);
|
|
13903
|
+
}
|
|
13904
|
+
}
|
|
13905
|
+
updateVisibleData();
|
|
13906
|
+
}
|
|
13907
|
+
});
|
|
13908
|
+
watch(() => [props.dynamicHeight, props.itemHeight, originFlatData.value.length], () => {
|
|
13909
|
+
if (props.virtual && props.dynamicHeight) {
|
|
13910
|
+
initDynamicHeights(flatData.value.length);
|
|
13911
|
+
nextTick(updateVisibleData);
|
|
13912
|
+
}
|
|
13913
|
+
});
|
|
13914
|
+
watch(() => props.deep, (val) => {
|
|
13915
|
+
if (val) state.hiddenPaths = initHiddenPaths(val, props.collapsedNodeLength);
|
|
13916
|
+
});
|
|
13917
|
+
watch(() => props.collapsedNodeLength, (val) => {
|
|
13918
|
+
if (val) state.hiddenPaths = initHiddenPaths(props.deep, val);
|
|
13919
|
+
});
|
|
13920
|
+
return () => {
|
|
13921
|
+
var _a, _b, _c, _d, _e;
|
|
13922
|
+
const renderNodeKey = (_a = props.renderNodeKey) != null ? _a : slots.renderNodeKey;
|
|
13923
|
+
const renderNodeValue = (_b = props.renderNodeValue) != null ? _b : slots.renderNodeValue;
|
|
13924
|
+
const renderNodeActions = (_d = (_c = props.renderNodeActions) != null ? _c : slots.renderNodeActions) != null ? _d : false;
|
|
13925
|
+
const nodeContent = (_e = state.visibleData) == null ? void 0 : _e.map((item, localIndex) => {
|
|
13926
|
+
const globalIndex = state.startIndex + localIndex;
|
|
13927
|
+
return createVNode("div", {
|
|
13928
|
+
"key": item.id,
|
|
13929
|
+
"ref": (el) => setRowRef(globalIndex, el || null)
|
|
13930
|
+
}, [createVNode(TreeNode$1, {
|
|
13931
|
+
"data": props.data,
|
|
13932
|
+
"rootPath": props.rootPath,
|
|
13933
|
+
"indent": props.indent,
|
|
13934
|
+
"node": item,
|
|
13935
|
+
"collapsed": !!state.hiddenPaths[item.path],
|
|
13936
|
+
"theme": props.theme,
|
|
13937
|
+
"showDoubleQuotes": props.showDoubleQuotes,
|
|
13938
|
+
"showLength": props.showLength,
|
|
13939
|
+
"checked": selectedPaths.value.includes(item.path),
|
|
13940
|
+
"selectableType": props.selectableType,
|
|
13941
|
+
"showLine": props.showLine,
|
|
13942
|
+
"showLineNumber": props.showLineNumber,
|
|
13943
|
+
"showSelectController": props.showSelectController,
|
|
13944
|
+
"selectOnClickNode": props.selectOnClickNode,
|
|
13945
|
+
"nodeSelectable": props.nodeSelectable,
|
|
13946
|
+
"highlightSelectedNode": props.highlightSelectedNode,
|
|
13947
|
+
"editable": props.editable,
|
|
13948
|
+
"editableTrigger": props.editableTrigger,
|
|
13949
|
+
"showIcon": props.showIcon,
|
|
13950
|
+
"showKeyValueSpace": props.showKeyValueSpace,
|
|
13951
|
+
"renderNodeKey": renderNodeKey,
|
|
13952
|
+
"renderNodeValue": renderNodeValue,
|
|
13953
|
+
"renderNodeActions": renderNodeActions,
|
|
13954
|
+
"onNodeClick": handleNodeClick,
|
|
13955
|
+
"onNodeMouseover": handleNodeMouseover,
|
|
13956
|
+
"onBracketsClick": handleBracketsClick,
|
|
13957
|
+
"onIconClick": handleIconClick,
|
|
13958
|
+
"onSelectedChange": handleSelectedChange,
|
|
13959
|
+
"onValueChange": handleValueChange,
|
|
13960
|
+
"class": props.dynamicHeight ? "dynamic-height" : void 0,
|
|
13961
|
+
"style": props.dynamicHeight ? {} : props.itemHeight && props.itemHeight !== 20 ? {
|
|
13962
|
+
lineHeight: `${props.itemHeight}px`
|
|
13963
|
+
} : {}
|
|
13964
|
+
}, null)]);
|
|
13965
|
+
});
|
|
13966
|
+
return createVNode("div", {
|
|
13967
|
+
"ref": treeRef,
|
|
13968
|
+
"class": {
|
|
13969
|
+
[b()]: true,
|
|
13970
|
+
"vjs-tree": true,
|
|
13971
|
+
"is-virtual": props.virtual,
|
|
13972
|
+
dark: props.theme === "dark"
|
|
13973
|
+
},
|
|
13974
|
+
"onScroll": props.virtual ? handleTreeScroll : void 0,
|
|
13975
|
+
"style": props.showLineNumber ? {
|
|
13976
|
+
paddingLeft: `${Number(originFlatData.value.length.toString().length) * 12}px`,
|
|
13977
|
+
...props.style
|
|
13978
|
+
} : props.style
|
|
13979
|
+
}, [props.virtual ? createVNode("div", {
|
|
13980
|
+
"class": "vjs-tree-list",
|
|
13981
|
+
"style": {
|
|
13982
|
+
height: `${props.height}px`
|
|
13983
|
+
}
|
|
13984
|
+
}, [createVNode("div", {
|
|
13985
|
+
"class": "vjs-tree-list-holder",
|
|
13986
|
+
"style": {
|
|
13987
|
+
height: `${listHeight.value}px`
|
|
13988
|
+
}
|
|
13989
|
+
}, [createVNode("div", {
|
|
13990
|
+
"class": "vjs-tree-list-holder-inner",
|
|
13991
|
+
"style": {
|
|
13992
|
+
transform: `translateY(${state.translateY}px)`
|
|
13993
|
+
}
|
|
13994
|
+
}, [nodeContent])])]) : nodeContent]);
|
|
13995
|
+
};
|
|
13996
|
+
}
|
|
13997
|
+
});
|
|
13998
|
+
const XBasicJsonViewer = withInstall(BasicJsonViewer);
|
|
12884
13999
|
const ROW_KEY$1 = "_MAX_ROW_KEY";
|
|
12885
14000
|
const PAGE_SIZE_OPTIONS$1 = [10, 50, 80, 100];
|
|
12886
14001
|
const PAGE_SIZE$1 = 10;
|
|
@@ -12938,7 +14053,7 @@ function useDataSource$1(propsRef, { tableData, getPaginationInfo, setPagination
|
|
|
12938
14053
|
const lastItem = dataSource[dataSource.length - 1];
|
|
12939
14054
|
if (firstItem && lastItem) {
|
|
12940
14055
|
if (!firstItem[ROW_KEY$1] || !lastItem[ROW_KEY$1]) {
|
|
12941
|
-
const data = cloneDeep(unref(dataSourceRef));
|
|
14056
|
+
const data = cloneDeep$1(unref(dataSourceRef));
|
|
12942
14057
|
data.forEach((item) => {
|
|
12943
14058
|
if (!item[ROW_KEY$1]) {
|
|
12944
14059
|
item[ROW_KEY$1] = guid();
|
|
@@ -13005,7 +14120,7 @@ function useDataSource$1(propsRef, { tableData, getPaginationInfo, setPagination
|
|
|
13005
14120
|
return searchInfoRef.value;
|
|
13006
14121
|
}
|
|
13007
14122
|
function mergeListDataRecord(records, key2 = ROW_KEY$1) {
|
|
13008
|
-
const itemList = cloneDeep(getDataSource() || []);
|
|
14123
|
+
const itemList = cloneDeep$1(getDataSource() || []);
|
|
13009
14124
|
const items = mergeArray(itemList, records, key2);
|
|
13010
14125
|
setListData(items);
|
|
13011
14126
|
}
|
|
@@ -13210,7 +14325,7 @@ function usePagination$1(propsRef) {
|
|
|
13210
14325
|
}
|
|
13211
14326
|
return { getPagination, getPaginationInfo, setShowPagination, getShowPagination, setPagination };
|
|
13212
14327
|
}
|
|
13213
|
-
const _sfc_main$
|
|
14328
|
+
const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
13214
14329
|
__name: "BasicListPage",
|
|
13215
14330
|
props: {
|
|
13216
14331
|
listClassName: {},
|
|
@@ -13379,7 +14494,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
13379
14494
|
};
|
|
13380
14495
|
}
|
|
13381
14496
|
});
|
|
13382
|
-
const XBasicListPage = withInstall(_sfc_main$
|
|
14497
|
+
const XBasicListPage = withInstall(_sfc_main$n);
|
|
13383
14498
|
function createLoadingComponent(options) {
|
|
13384
14499
|
let afterLeaveTimer;
|
|
13385
14500
|
const afterLeaveFlag = ref(false);
|
|
@@ -13648,7 +14763,7 @@ const XBasicLoading = {
|
|
|
13648
14763
|
directive: vLoading,
|
|
13649
14764
|
service: Loading
|
|
13650
14765
|
};
|
|
13651
|
-
const _sfc_main$
|
|
14766
|
+
const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
13652
14767
|
__name: "BasicModal",
|
|
13653
14768
|
props: {
|
|
13654
14769
|
width: {},
|
|
@@ -13800,12 +14915,12 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
13800
14915
|
}
|
|
13801
14916
|
});
|
|
13802
14917
|
const basicModalProps = {};
|
|
13803
|
-
const XBasicModal = withInstall(_sfc_main$
|
|
14918
|
+
const XBasicModal = withInstall(_sfc_main$m);
|
|
13804
14919
|
const _hoisted_1$6 = ["id"];
|
|
13805
14920
|
const _hoisted_2$2 = ["textContent"];
|
|
13806
14921
|
const _hoisted_3 = { key: 0 };
|
|
13807
14922
|
const _hoisted_4 = ["innerHTML"];
|
|
13808
|
-
const _sfc_main$
|
|
14923
|
+
const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
13809
14924
|
__name: "BasicNotification",
|
|
13810
14925
|
props: {
|
|
13811
14926
|
customClass: { default: "" },
|
|
@@ -13992,7 +15107,7 @@ const notify = (options, context) => {
|
|
|
13992
15107
|
appendTo = document.body;
|
|
13993
15108
|
}
|
|
13994
15109
|
const container = document.createElement("div");
|
|
13995
|
-
const vm = createVNode(_sfc_main$
|
|
15110
|
+
const vm = createVNode(_sfc_main$l, props, isFunction(props.message) ? props.message : isVNode(props.message) ? () => props.message : null);
|
|
13996
15111
|
vm.appContext = isUndefined(context) ? notify._context : context;
|
|
13997
15112
|
vm.props.onDestroy = () => {
|
|
13998
15113
|
render$1(null, container);
|
|
@@ -14050,7 +15165,7 @@ notify.closeAll = closeAll;
|
|
|
14050
15165
|
notify._context = null;
|
|
14051
15166
|
const $Notification = notify;
|
|
14052
15167
|
const XBasicNotification = $Notification;
|
|
14053
|
-
const _sfc_main$
|
|
15168
|
+
const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
14054
15169
|
__name: "BasicPage",
|
|
14055
15170
|
props: {
|
|
14056
15171
|
title: {},
|
|
@@ -14150,8 +15265,8 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
14150
15265
|
};
|
|
14151
15266
|
}
|
|
14152
15267
|
});
|
|
14153
|
-
const XBasicPage = withInstall(_sfc_main$
|
|
14154
|
-
const _sfc_main$
|
|
15268
|
+
const XBasicPage = withInstall(_sfc_main$k);
|
|
15269
|
+
const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
14155
15270
|
__name: "BasicPanel",
|
|
14156
15271
|
props: {
|
|
14157
15272
|
title: {},
|
|
@@ -14188,7 +15303,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
14188
15303
|
};
|
|
14189
15304
|
}
|
|
14190
15305
|
});
|
|
14191
|
-
const XBasicPanel = withInstall(_sfc_main$
|
|
15306
|
+
const XBasicPanel = withInstall(_sfc_main$j);
|
|
14192
15307
|
const regionJson = {
|
|
14193
15308
|
"110000": "北京市",
|
|
14194
15309
|
"110100": "市辖区",
|
|
@@ -18195,7 +19310,7 @@ const BasicRow = /* @__PURE__ */ defineComponent({
|
|
|
18195
19310
|
}
|
|
18196
19311
|
});
|
|
18197
19312
|
const XBasicRow = withInstall(BasicRow);
|
|
18198
|
-
const _sfc_main$
|
|
19313
|
+
const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
18199
19314
|
__name: "BasicSubPanel",
|
|
18200
19315
|
props: {
|
|
18201
19316
|
title: {}
|
|
@@ -18231,7 +19346,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
18231
19346
|
}
|
|
18232
19347
|
});
|
|
18233
19348
|
const basicSubPanelProps = {};
|
|
18234
|
-
const XBasicSubPanel = withInstall(_sfc_main$
|
|
19349
|
+
const XBasicSubPanel = withInstall(_sfc_main$i);
|
|
18235
19350
|
const ROW_KEY = "_MAX_ROW_KEY";
|
|
18236
19351
|
const PAGE_SIZE_OPTIONS = [10, 50, 80, 100];
|
|
18237
19352
|
const PAGE_SIZE = 10;
|
|
@@ -18316,7 +19431,7 @@ function useColumns(propsRef, getPaginationRef) {
|
|
|
18316
19431
|
const columnsRef = ref(unref(propsRef).columns);
|
|
18317
19432
|
let cacheColumns = unref(propsRef).columns || [];
|
|
18318
19433
|
const getColumnsRef = computed(() => {
|
|
18319
|
-
const columns = cloneDeep(unref(columnsRef));
|
|
19434
|
+
const columns = cloneDeep$1(unref(columnsRef));
|
|
18320
19435
|
handleFieldColumn(columns);
|
|
18321
19436
|
handleIndexColumn(propsRef, getPaginationRef, columns);
|
|
18322
19437
|
if (!columns) {
|
|
@@ -18337,7 +19452,7 @@ function useColumns(propsRef, getPaginationRef) {
|
|
|
18337
19452
|
}
|
|
18338
19453
|
const getViewColumns = computed(() => {
|
|
18339
19454
|
const viewColumns = filterDefaultHiddenColum(unref(getColumnsRef));
|
|
18340
|
-
const columns = cloneDeep(viewColumns);
|
|
19455
|
+
const columns = cloneDeep$1(viewColumns);
|
|
18341
19456
|
return columns.filter((column) => isIfShow(column));
|
|
18342
19457
|
});
|
|
18343
19458
|
watch(() => unref(propsRef).columns, (columns) => {
|
|
@@ -18356,7 +19471,7 @@ function useColumns(propsRef, getPaginationRef) {
|
|
|
18356
19471
|
});
|
|
18357
19472
|
}
|
|
18358
19473
|
function setColumns(columnList) {
|
|
18359
|
-
const columns = cloneDeep(columnList);
|
|
19474
|
+
const columns = cloneDeep$1(columnList);
|
|
18360
19475
|
if (!isArray$1(columns)) return;
|
|
18361
19476
|
if (columns.length <= 0) {
|
|
18362
19477
|
columnsRef.value = [];
|
|
@@ -18500,7 +19615,7 @@ function useDataSource(propsRef, { tableData, getPaginationInfo, setPagination,
|
|
|
18500
19615
|
const lastItem = dataSource[dataSource.length - 1];
|
|
18501
19616
|
if (firstItem && lastItem) {
|
|
18502
19617
|
if (!firstItem[ROW_KEY] || !lastItem[ROW_KEY]) {
|
|
18503
|
-
const data = cloneDeep(unref(dataSourceRef));
|
|
19618
|
+
const data = cloneDeep$1(unref(dataSourceRef));
|
|
18504
19619
|
data.forEach((item) => {
|
|
18505
19620
|
if (!item[ROW_KEY]) {
|
|
18506
19621
|
item[ROW_KEY] = guid();
|
|
@@ -18598,7 +19713,7 @@ function useDataSource(propsRef, { tableData, getPaginationInfo, setPagination,
|
|
|
18598
19713
|
return unref(getRowKey);
|
|
18599
19714
|
}
|
|
18600
19715
|
function mergeTableDataRecord(records, key2 = ROW_KEY) {
|
|
18601
|
-
const itemList = cloneDeep(getDataSource() || []);
|
|
19716
|
+
const itemList = cloneDeep$1(getDataSource() || []);
|
|
18602
19717
|
const items = mergeArray(itemList, records, key2);
|
|
18603
19718
|
setTableData(items);
|
|
18604
19719
|
}
|
|
@@ -18939,10 +20054,10 @@ function useRowSelection(propsRef, tableData, emit, tableElRef) {
|
|
|
18939
20054
|
setSelection();
|
|
18940
20055
|
}
|
|
18941
20056
|
function getSelectRowKeys() {
|
|
18942
|
-
return cloneDeep$
|
|
20057
|
+
return cloneDeep$2(unref(selectedRowKeysRef));
|
|
18943
20058
|
}
|
|
18944
20059
|
function getSelectRows() {
|
|
18945
|
-
return cloneDeep$
|
|
20060
|
+
return cloneDeep$2(unref(selectedRowRef));
|
|
18946
20061
|
}
|
|
18947
20062
|
function getRowSelection() {
|
|
18948
20063
|
return unref(getRowSelectionRef);
|
|
@@ -19099,7 +20214,7 @@ const setting = {
|
|
|
19099
20214
|
})
|
|
19100
20215
|
};
|
|
19101
20216
|
const _hoisted_1$5 = { class: "max-table-selection-count" };
|
|
19102
|
-
const _sfc_main$
|
|
20217
|
+
const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
19103
20218
|
__name: "BasicTable",
|
|
19104
20219
|
props: /* @__PURE__ */ mergeDefaults({
|
|
19105
20220
|
layouts: {},
|
|
@@ -19553,8 +20668,8 @@ const vxeTableFormatter = {
|
|
|
19553
20668
|
}
|
|
19554
20669
|
};
|
|
19555
20670
|
VxeUI2.formats.mixin(vxeTableFormatter);
|
|
19556
|
-
const XBasicTable = withInstall(_sfc_main$
|
|
19557
|
-
const _sfc_main$
|
|
20671
|
+
const XBasicTable = withInstall(_sfc_main$h);
|
|
20672
|
+
const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
19558
20673
|
__name: "BasicTag",
|
|
19559
20674
|
props: {
|
|
19560
20675
|
tagType: { type: [Number, Boolean] },
|
|
@@ -19579,7 +20694,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
19579
20694
|
};
|
|
19580
20695
|
}
|
|
19581
20696
|
});
|
|
19582
|
-
const XBasicTag = withInstall(_sfc_main$
|
|
20697
|
+
const XBasicTag = withInstall(_sfc_main$g);
|
|
19583
20698
|
const attrAccept = (file, acceptedFiles) => {
|
|
19584
20699
|
if (file && acceptedFiles) {
|
|
19585
20700
|
const acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(",");
|
|
@@ -21316,7 +22431,7 @@ const BasicUploadDragger = /* @__PURE__ */ defineComponent({
|
|
|
21316
22431
|
const XBasicUploadDragger = withInstall(BasicUploadDragger);
|
|
21317
22432
|
const _hoisted_1$4 = ["title"];
|
|
21318
22433
|
const _hoisted_2$1 = ["title"];
|
|
21319
|
-
const _sfc_main$
|
|
22434
|
+
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
21320
22435
|
__name: "BasicViewBar",
|
|
21321
22436
|
props: {
|
|
21322
22437
|
fixed: { type: Boolean },
|
|
@@ -21428,8 +22543,8 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
21428
22543
|
};
|
|
21429
22544
|
}
|
|
21430
22545
|
});
|
|
21431
|
-
const XBasicViewBar = withInstall(_sfc_main$
|
|
21432
|
-
const _sfc_main$
|
|
22546
|
+
const XBasicViewBar = withInstall(_sfc_main$f);
|
|
22547
|
+
const _sfc_main$e = defineComponent({
|
|
21433
22548
|
name: "CLoadingIcon"
|
|
21434
22549
|
});
|
|
21435
22550
|
const _hoisted_1$3 = { viewBox: "0 0 50 50" };
|
|
@@ -21446,7 +22561,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
21446
22561
|
}, null, -1)
|
|
21447
22562
|
])]);
|
|
21448
22563
|
}
|
|
21449
|
-
const LoadingIcon = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
22564
|
+
const LoadingIcon = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render]]);
|
|
21450
22565
|
var ignoreEnum = /* @__PURE__ */ ((ignoreEnum2) => {
|
|
21451
22566
|
ignoreEnum2["none"] = "none";
|
|
21452
22567
|
ignoreEnum2["parents"] = "parents";
|
|
@@ -21647,7 +22762,7 @@ const useTreeNodeCls = (props, dragoverRefs) => {
|
|
|
21647
22762
|
};
|
|
21648
22763
|
const _hoisted_1$2 = ["d", "stroke-width", "stroke", "stroke-dasharray"];
|
|
21649
22764
|
const _hoisted_2 = ["draggable"];
|
|
21650
|
-
const _sfc_main$
|
|
22765
|
+
const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
21651
22766
|
...{
|
|
21652
22767
|
name: "VTreeNode"
|
|
21653
22768
|
},
|
|
@@ -21961,7 +23076,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
21961
23076
|
};
|
|
21962
23077
|
}
|
|
21963
23078
|
});
|
|
21964
|
-
const XTreeNode = withInstall(_sfc_main$
|
|
23079
|
+
const XTreeNode = withInstall(_sfc_main$d);
|
|
21965
23080
|
const useExpandAnimation = (renderNodesRef, renderStartRef, props) => {
|
|
21966
23081
|
const expandAnimationStart = ref(false);
|
|
21967
23082
|
const expandAnimationReady = ref(false);
|
|
@@ -23411,7 +24526,7 @@ const pickReadonly = (obj, ...keys) => {
|
|
|
23411
24526
|
});
|
|
23412
24527
|
return picked;
|
|
23413
24528
|
};
|
|
23414
|
-
const _sfc_main$
|
|
24529
|
+
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
23415
24530
|
...{
|
|
23416
24531
|
name: "VTree",
|
|
23417
24532
|
inheritAttrs: false
|
|
@@ -23717,7 +24832,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
23717
24832
|
});
|
|
23718
24833
|
useIframeResize(updateRender);
|
|
23719
24834
|
const treeNodePropKeys = ["titleField", "keyField", "checkable", "selectable", "unselectOnClick", "disableAll", "draggable", "droppable", "render", "nodeIndent", "showLine", "showLeftArrow", "showRightArrow"];
|
|
23720
|
-
const
|
|
24835
|
+
const treeNodeProps2 = reactive(pickReadonly(toRefs(props), ...treeNodePropKeys));
|
|
23721
24836
|
__expose({
|
|
23722
24837
|
setData,
|
|
23723
24838
|
setChecked,
|
|
@@ -23774,7 +24889,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
23774
24889
|
style: normalizeStyle({ height: `${unref(topSpaceHeight)}px` })
|
|
23775
24890
|
}, null, 4),
|
|
23776
24891
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(expandAnimation).ready.value ? unref(expandAnimation).topNodes.value : unref(renderNodes), (node) => {
|
|
23777
|
-
return openBlock(), createBlock(unref(XTreeNode), mergeProps({ ref_for: true },
|
|
24892
|
+
return openBlock(), createBlock(unref(XTreeNode), mergeProps({ ref_for: true }, treeNodeProps2, {
|
|
23778
24893
|
key: node[__props.keyField],
|
|
23779
24894
|
data: node,
|
|
23780
24895
|
"get-node": unref(getNode),
|
|
@@ -23809,7 +24924,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
23809
24924
|
class: normalizeClass(unref(transitionWrapperInnerCls))
|
|
23810
24925
|
}, [
|
|
23811
24926
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(expandAnimation).middleNodes.value, (node) => {
|
|
23812
|
-
return openBlock(), createBlock(unref(XTreeNode), mergeProps({ ref_for: true },
|
|
24927
|
+
return openBlock(), createBlock(unref(XTreeNode), mergeProps({ ref_for: true }, treeNodeProps2, {
|
|
23813
24928
|
key: node[__props.keyField],
|
|
23814
24929
|
data: node,
|
|
23815
24930
|
"get-node": unref(getNode),
|
|
@@ -23838,7 +24953,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
23838
24953
|
_: 3
|
|
23839
24954
|
}, 8, ["onAfterEnter", "onAfterLeave"]),
|
|
23840
24955
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(expandAnimation).bottomNodes.value, (node) => {
|
|
23841
|
-
return openBlock(), createBlock(unref(XTreeNode), mergeProps({ ref_for: true },
|
|
24956
|
+
return openBlock(), createBlock(unref(XTreeNode), mergeProps({ ref_for: true }, treeNodeProps2, {
|
|
23842
24957
|
key: node[__props.keyField],
|
|
23843
24958
|
data: node,
|
|
23844
24959
|
"get-node": unref(getNode),
|
|
@@ -23900,7 +25015,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
23900
25015
|
};
|
|
23901
25016
|
}
|
|
23902
25017
|
});
|
|
23903
|
-
const XTree = withInstall(_sfc_main$
|
|
25018
|
+
const XTree = withInstall(_sfc_main$c);
|
|
23904
25019
|
const useTreeSearchCls = (props, options) => {
|
|
23905
25020
|
const { checkAllStatus, isShowingChecked } = options;
|
|
23906
25021
|
const { b } = useNamespace("tree-search");
|
|
@@ -23986,7 +25101,7 @@ const DEFAULT_TREE_SEARCH_PROPS = {
|
|
|
23986
25101
|
};
|
|
23987
25102
|
const TREE_SEARCH_EVENTS = ["search", ...TREE_EVENTS];
|
|
23988
25103
|
const _hoisted_1$1 = ["placeholder", "disabled"];
|
|
23989
|
-
const _sfc_main$
|
|
25104
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
23990
25105
|
...{
|
|
23991
25106
|
name: "VTreeSearch",
|
|
23992
25107
|
inheritAttrs: false
|
|
@@ -24296,7 +25411,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
24296
25411
|
};
|
|
24297
25412
|
}
|
|
24298
25413
|
});
|
|
24299
|
-
const XTreeSearch = withInstall(_sfc_main$
|
|
25414
|
+
const XTreeSearch = withInstall(_sfc_main$b);
|
|
24300
25415
|
const useTreeDropCls = (props, options) => {
|
|
24301
25416
|
const { dropdownVisible, checkedCount, selectedTitle } = options;
|
|
24302
25417
|
const { b } = useNamespace("tree-drop");
|
|
@@ -24368,7 +25483,7 @@ const DEFAULT_TREE_DROP_PROPS = {
|
|
|
24368
25483
|
};
|
|
24369
25484
|
const TREE_SEARCH_API_METHODS = [...TREE_API_METHODS, "clearKeyword", "getKeyword", "search"];
|
|
24370
25485
|
const TREE_DROP_EVENTS = ["clear", "dropdown-visible-change", ...TREE_SEARCH_EVENTS];
|
|
24371
|
-
const _sfc_main$
|
|
25486
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
24372
25487
|
...{
|
|
24373
25488
|
name: "VTreeDrop",
|
|
24374
25489
|
inheritAttrs: false
|
|
@@ -24733,7 +25848,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
24733
25848
|
};
|
|
24734
25849
|
}
|
|
24735
25850
|
});
|
|
24736
|
-
const XTreeDrop = withInstall(_sfc_main$
|
|
25851
|
+
const XTreeDrop = withInstall(_sfc_main$a);
|
|
24737
25852
|
const components = [
|
|
24738
25853
|
XConfigProvider,
|
|
24739
25854
|
XBasicSvgIcon,
|
|
@@ -24758,8 +25873,8 @@ const components = [
|
|
|
24758
25873
|
XBasicSubPanel,
|
|
24759
25874
|
XBasicRow,
|
|
24760
25875
|
XBasicCol,
|
|
25876
|
+
XBasicJsonViewer,
|
|
24761
25877
|
XTree,
|
|
24762
|
-
XTreeNode,
|
|
24763
25878
|
XTreeSearch,
|
|
24764
25879
|
XTreeDrop,
|
|
24765
25880
|
XBasicViewBar,
|
|
@@ -24797,7 +25912,7 @@ const makeInstaller = (components2 = []) => {
|
|
|
24797
25912
|
};
|
|
24798
25913
|
};
|
|
24799
25914
|
const installer = makeInstaller([...components]);
|
|
24800
|
-
const _sfc_main$
|
|
25915
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
24801
25916
|
__name: "BasicButtonCreate",
|
|
24802
25917
|
emits: ["click"],
|
|
24803
25918
|
setup(__props, { emit: __emit }) {
|
|
@@ -24822,7 +25937,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
24822
25937
|
};
|
|
24823
25938
|
}
|
|
24824
25939
|
});
|
|
24825
|
-
const _sfc_main$
|
|
25940
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
24826
25941
|
__name: "BasicButtonDelete",
|
|
24827
25942
|
emits: ["click"],
|
|
24828
25943
|
setup(__props, { emit: __emit }) {
|
|
@@ -24847,7 +25962,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
24847
25962
|
};
|
|
24848
25963
|
}
|
|
24849
25964
|
});
|
|
24850
|
-
const _sfc_main$
|
|
25965
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
24851
25966
|
__name: "BasicButtonEdit",
|
|
24852
25967
|
emits: ["click"],
|
|
24853
25968
|
setup(__props, { emit: __emit }) {
|
|
@@ -24872,7 +25987,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
24872
25987
|
};
|
|
24873
25988
|
}
|
|
24874
25989
|
});
|
|
24875
|
-
const _sfc_main$
|
|
25990
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
24876
25991
|
__name: "BasicButtonExport",
|
|
24877
25992
|
props: {
|
|
24878
25993
|
href: {},
|
|
@@ -24924,7 +26039,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
24924
26039
|
}
|
|
24925
26040
|
});
|
|
24926
26041
|
const _hoisted_1 = ["multiple", "name", "accept"];
|
|
24927
|
-
const _sfc_main$
|
|
26042
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
24928
26043
|
__name: "BasicButtonImport",
|
|
24929
26044
|
props: {
|
|
24930
26045
|
name: { default: "file" },
|
|
@@ -25015,8 +26130,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
25015
26130
|
};
|
|
25016
26131
|
}
|
|
25017
26132
|
});
|
|
25018
|
-
const BasicButtonImport = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
25019
|
-
const _sfc_main$
|
|
26133
|
+
const BasicButtonImport = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-826acb65"]]);
|
|
26134
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
25020
26135
|
__name: "BasicButtonPrint",
|
|
25021
26136
|
emits: ["click"],
|
|
25022
26137
|
setup(__props, { emit: __emit }) {
|
|
@@ -25041,13 +26156,13 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
25041
26156
|
};
|
|
25042
26157
|
}
|
|
25043
26158
|
});
|
|
25044
|
-
const XBasicButtonCreate = withInstall(_sfc_main$
|
|
25045
|
-
const XBasicButtonEdit = withInstall(_sfc_main$
|
|
25046
|
-
const XBasicButtonDelete = withInstall(_sfc_main$
|
|
25047
|
-
const XBasicButtonExport = withInstall(_sfc_main$
|
|
26159
|
+
const XBasicButtonCreate = withInstall(_sfc_main$9);
|
|
26160
|
+
const XBasicButtonEdit = withInstall(_sfc_main$7);
|
|
26161
|
+
const XBasicButtonDelete = withInstall(_sfc_main$8);
|
|
26162
|
+
const XBasicButtonExport = withInstall(_sfc_main$6);
|
|
25048
26163
|
const XBasicButtonImport = withInstall(BasicButtonImport);
|
|
25049
|
-
const XBasicButtonPrint = withInstall(_sfc_main$
|
|
25050
|
-
const _sfc_main$
|
|
26164
|
+
const XBasicButtonPrint = withInstall(_sfc_main$4);
|
|
26165
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
25051
26166
|
__name: "BasicDrawerFooter",
|
|
25052
26167
|
props: {
|
|
25053
26168
|
showDeleteButton: { type: Boolean, default: false },
|
|
@@ -25124,8 +26239,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
25124
26239
|
};
|
|
25125
26240
|
}
|
|
25126
26241
|
});
|
|
25127
|
-
const XBasicDrawerFooter = withInstall(_sfc_main$
|
|
25128
|
-
const _sfc_main$
|
|
26242
|
+
const XBasicDrawerFooter = withInstall(_sfc_main$3);
|
|
26243
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
25129
26244
|
__name: "BasicMasterTrigger",
|
|
25130
26245
|
props: {
|
|
25131
26246
|
value: {},
|
|
@@ -25189,8 +26304,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
25189
26304
|
};
|
|
25190
26305
|
}
|
|
25191
26306
|
});
|
|
25192
|
-
const XBasicMasterTrigger = withInstall(_sfc_main$
|
|
25193
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
26307
|
+
const XBasicMasterTrigger = withInstall(_sfc_main$2);
|
|
26308
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
25194
26309
|
__name: "BasicPanelPage",
|
|
25195
26310
|
props: {
|
|
25196
26311
|
autoContentHeight: { type: Boolean, default: true }
|
|
@@ -25261,7 +26376,142 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
25261
26376
|
};
|
|
25262
26377
|
}
|
|
25263
26378
|
});
|
|
25264
|
-
const XBasicPanelPage = withInstall(_sfc_main);
|
|
26379
|
+
const XBasicPanelPage = withInstall(_sfc_main$1);
|
|
26380
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
26381
|
+
__name: "BasicTriggerButton",
|
|
26382
|
+
props: {
|
|
26383
|
+
size: {},
|
|
26384
|
+
type: { default: "primary" },
|
|
26385
|
+
icon: {},
|
|
26386
|
+
color: {},
|
|
26387
|
+
textColor: {},
|
|
26388
|
+
text: { type: Boolean },
|
|
26389
|
+
block: { type: Boolean },
|
|
26390
|
+
loading: { type: Boolean },
|
|
26391
|
+
disabled: { type: Boolean },
|
|
26392
|
+
circle: { type: Boolean },
|
|
26393
|
+
ghost: { type: Boolean },
|
|
26394
|
+
round: { type: Boolean },
|
|
26395
|
+
secondary: { type: Boolean },
|
|
26396
|
+
tertiary: { type: Boolean },
|
|
26397
|
+
quaternary: { type: Boolean },
|
|
26398
|
+
strong: { type: Boolean },
|
|
26399
|
+
focusable: { type: Boolean },
|
|
26400
|
+
keyboard: { type: Boolean },
|
|
26401
|
+
tag: {},
|
|
26402
|
+
dashed: { type: Boolean },
|
|
26403
|
+
renderIcon: {},
|
|
26404
|
+
iconPlacement: {},
|
|
26405
|
+
attrType: {},
|
|
26406
|
+
bordered: { type: Boolean },
|
|
26407
|
+
onClick: {},
|
|
26408
|
+
nativeFocusBehavior: { type: Boolean },
|
|
26409
|
+
field: {},
|
|
26410
|
+
validate: {},
|
|
26411
|
+
confirm: {},
|
|
26412
|
+
cancel: {},
|
|
26413
|
+
message: {},
|
|
26414
|
+
messageBoxProps: {},
|
|
26415
|
+
buttonProps: {}
|
|
26416
|
+
},
|
|
26417
|
+
setup(__props) {
|
|
26418
|
+
const props = __props;
|
|
26419
|
+
const { b } = useNamespace("basic-trigger-button");
|
|
26420
|
+
const { t } = useLocale();
|
|
26421
|
+
function basicButtonHandler2() {
|
|
26422
|
+
var _a;
|
|
26423
|
+
if (props.message) {
|
|
26424
|
+
XBasicMessageBox.confirm(props.message, {
|
|
26425
|
+
type: "info",
|
|
26426
|
+
title: t("max.messagebox.alert"),
|
|
26427
|
+
confirmButtonText: t("max.button.confirm"),
|
|
26428
|
+
cancelButtonText: t("max.button.cancel"),
|
|
26429
|
+
...props.messageBoxProps || {},
|
|
26430
|
+
callback: (action) => {
|
|
26431
|
+
var _a2, _b, _c;
|
|
26432
|
+
if (action === "confirm") {
|
|
26433
|
+
(_a2 = props.confirm) == null ? void 0 : _a2.call(props, { field: props.field, schema: props, type: "confirm" });
|
|
26434
|
+
} else if (action === "cancel") {
|
|
26435
|
+
(_b = props.cancel) == null ? void 0 : _b.call(props, { field: props.field, schema: props, type: "cancel" });
|
|
26436
|
+
} else {
|
|
26437
|
+
(_c = props.cancel) == null ? void 0 : _c.call(props, { field: props.field, schema: props, type: "close" });
|
|
26438
|
+
}
|
|
26439
|
+
}
|
|
26440
|
+
});
|
|
26441
|
+
} else {
|
|
26442
|
+
(_a = props.confirm) == null ? void 0 : _a.call(props, { field: props.field, schema: props, type: "confirm" });
|
|
26443
|
+
}
|
|
26444
|
+
}
|
|
26445
|
+
function onClickHandler() {
|
|
26446
|
+
if (!props.validate) {
|
|
26447
|
+
basicButtonHandler2();
|
|
26448
|
+
return;
|
|
26449
|
+
}
|
|
26450
|
+
const interceptor = props.validate({ field: props.field, schema: props });
|
|
26451
|
+
if (interceptor instanceof Promise) {
|
|
26452
|
+
interceptor.then((res) => {
|
|
26453
|
+
if (res) {
|
|
26454
|
+
basicButtonHandler2();
|
|
26455
|
+
}
|
|
26456
|
+
});
|
|
26457
|
+
} else if (interceptor) {
|
|
26458
|
+
basicButtonHandler2();
|
|
26459
|
+
}
|
|
26460
|
+
}
|
|
26461
|
+
return (_ctx, _cache) => {
|
|
26462
|
+
return openBlock(), createBlock(unref(XBasicButton), mergeProps(props, {
|
|
26463
|
+
class: unref(b)(),
|
|
26464
|
+
onClick: onClickHandler
|
|
26465
|
+
}), {
|
|
26466
|
+
default: withCtx(() => [
|
|
26467
|
+
renderSlot(_ctx.$slots, "default")
|
|
26468
|
+
]),
|
|
26469
|
+
_: 3
|
|
26470
|
+
}, 16, ["class"]);
|
|
26471
|
+
};
|
|
26472
|
+
}
|
|
26473
|
+
});
|
|
26474
|
+
const XBasicTriggerButton = withInstall(_sfc_main);
|
|
26475
|
+
function basicButtonHandler(schema) {
|
|
26476
|
+
var _a;
|
|
26477
|
+
if (schema.message) {
|
|
26478
|
+
XBasicMessageBox.confirm(schema.message, {
|
|
26479
|
+
type: "info",
|
|
26480
|
+
title: "提示",
|
|
26481
|
+
confirmButtonText: "确定",
|
|
26482
|
+
cancelButtonText: "取消",
|
|
26483
|
+
...schema.messageBoxProps || {},
|
|
26484
|
+
callback: (action) => {
|
|
26485
|
+
var _a2, _b, _c;
|
|
26486
|
+
if (action === "confirm") {
|
|
26487
|
+
(_a2 = schema.confirm) == null ? void 0 : _a2.call(schema, { field: schema.field, schema, type: "confirm" });
|
|
26488
|
+
} else if (action === "cancel") {
|
|
26489
|
+
(_b = schema.cancel) == null ? void 0 : _b.call(schema, { field: schema.field, schema, type: "cancel" });
|
|
26490
|
+
} else {
|
|
26491
|
+
(_c = schema.cancel) == null ? void 0 : _c.call(schema, { field: schema.field, schema, type: "close" });
|
|
26492
|
+
}
|
|
26493
|
+
}
|
|
26494
|
+
});
|
|
26495
|
+
} else {
|
|
26496
|
+
(_a = schema.confirm) == null ? void 0 : _a.call(schema, { field: schema.field, schema, type: "confirm" });
|
|
26497
|
+
}
|
|
26498
|
+
}
|
|
26499
|
+
function basicButtonClickTrigger(schema) {
|
|
26500
|
+
if (!schema.validate) {
|
|
26501
|
+
basicButtonHandler(schema);
|
|
26502
|
+
return;
|
|
26503
|
+
}
|
|
26504
|
+
const interceptor = schema.validate({ field: schema.field, schema });
|
|
26505
|
+
if (interceptor instanceof Promise) {
|
|
26506
|
+
interceptor.then((res) => {
|
|
26507
|
+
if (res) {
|
|
26508
|
+
basicButtonHandler(schema);
|
|
26509
|
+
}
|
|
26510
|
+
});
|
|
26511
|
+
} else if (interceptor) {
|
|
26512
|
+
basicButtonHandler(schema);
|
|
26513
|
+
}
|
|
26514
|
+
}
|
|
25265
26515
|
const install = installer.install;
|
|
25266
26516
|
export {
|
|
25267
26517
|
LIST_IGNORE,
|
|
@@ -25301,6 +26551,7 @@ export {
|
|
|
25301
26551
|
XBasicHidden,
|
|
25302
26552
|
XBasicIconOnline,
|
|
25303
26553
|
XBasicIconPicker,
|
|
26554
|
+
XBasicJsonViewer,
|
|
25304
26555
|
XBasicListPage,
|
|
25305
26556
|
XBasicLoading,
|
|
25306
26557
|
vLoading as XBasicLoadingDirective,
|
|
@@ -25325,6 +26576,7 @@ export {
|
|
|
25325
26576
|
XBasicTag,
|
|
25326
26577
|
XBasicText,
|
|
25327
26578
|
XBasicTitle,
|
|
26579
|
+
XBasicTriggerButton,
|
|
25328
26580
|
XBasicUpload,
|
|
25329
26581
|
XBasicUploadDragger,
|
|
25330
26582
|
XBasicViewBar,
|
|
@@ -25334,6 +26586,8 @@ export {
|
|
|
25334
26586
|
XTreeNode,
|
|
25335
26587
|
XTreeSearch,
|
|
25336
26588
|
ZINDEX_INJECTION_KEY,
|
|
26589
|
+
basicButtonClickTrigger,
|
|
26590
|
+
basicButtonHandler,
|
|
25337
26591
|
basicCascaderProps,
|
|
25338
26592
|
basicCheckboxGroupProps,
|
|
25339
26593
|
basicCheckboxProps,
|
|
@@ -25343,6 +26597,7 @@ export {
|
|
|
25343
26597
|
basicGradientTitleProps,
|
|
25344
26598
|
basicHelpProps,
|
|
25345
26599
|
basicIconOnlineProps,
|
|
26600
|
+
basicJsonViewerProps,
|
|
25346
26601
|
basicMessageBoxProps,
|
|
25347
26602
|
basicModalProps,
|
|
25348
26603
|
basicRadioGroupProps,
|
|
@@ -25365,6 +26620,8 @@ export {
|
|
|
25365
26620
|
responsiveArray,
|
|
25366
26621
|
setTableGlobalFormat,
|
|
25367
26622
|
setVxeTableTheme,
|
|
26623
|
+
treeNodeProps,
|
|
26624
|
+
treeNodePropsPass$1 as treeNodePropsPass,
|
|
25368
26625
|
useBasicDrawerModal,
|
|
25369
26626
|
useComponentRegister,
|
|
25370
26627
|
useConfigProvider,
|