@yelingfeng/pandora2 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
+ import { ComputedRef, Ref } from 'vue';
1
2
  import { IFormProps, IFormSchema } from '../types';
2
- import { Ref, ComputedRef } from 'vue';
3
3
  interface UseFormValuesContext {
4
4
  defaultValueRef: Ref<any>;
5
5
  getSchema: ComputedRef<IFormSchema[]>;
@@ -1,4 +1,4 @@
1
- import { isRef, unref, inject, computed, watchEffect, watch, ref, onUnmounted, nextTick, defineComponent, createVNode as createVNode$1, shallowRef, onMounted, onBeforeUnmount, getCurrentInstance, reactive, readonly, provide, resolveComponent, createElementBlock, openBlock, normalizeClass, normalizeStyle as normalizeStyle$1, createBlock, createCommentVNode, normalizeProps, mergeProps, withCtx, createElementVNode, renderSlot, createTextVNode, toDisplayString, toRaw, createSlots, Fragment, renderList, toRefs, withDirectives, h as h$1, vShow, withKeys, guardReactiveProps, createStaticVNode, isVNode } from "vue";
1
+ import { isRef, unref, inject, computed, watchEffect, watch, ref, onUnmounted, nextTick, defineComponent, createVNode as createVNode$1, shallowRef, onMounted, onBeforeUnmount, getCurrentInstance, reactive, readonly, provide, resolveComponent, createElementBlock, openBlock, normalizeClass, normalizeStyle as normalizeStyle$1, createBlock, createCommentVNode, normalizeProps, mergeProps, withCtx, createElementVNode, renderSlot, createTextVNode, toDisplayString, toRaw, createSlots, Fragment, renderList, toRefs, withDirectives, vShow, isVNode, withKeys, guardReactiveProps, createStaticVNode, h as h$1 } from "vue";
2
2
  import { ElButton, ElCol, ElSelect, ElAutocomplete, ElCheckbox, ElCheckboxGroup, ElCascader, ElDatePicker, ElInput, ElInputNumber, ElTimePicker, ElTimeSelect, ElSlider, ElOption, ElSwitch, ElRadio, ElRadioGroup, ElRate, ElDivider, ElTooltip, ElFormItem, ElRow, ElForm, ElIcon, ElTableColumn, ElTable } from "element-plus";
3
3
  const withInstall = (G, Q) => {
4
4
  if (G.install = (H) => {
@@ -50627,7 +50627,7 @@ function _sfc_render$4(G, Q, H, K, W, X) {
50627
50627
  renderSlot(G.$slots, "advanceBefore"),
50628
50628
  G.showAdvancedButton && !G.hideAdvanceBtn ? (openBlock(), createBlock(ee, {
50629
50629
  key: 2,
50630
- type: "text",
50630
+ link: "",
50631
50631
  size: "small",
50632
50632
  onClick: G.toggleAdvanced
50633
50633
  }, {
@@ -50973,7 +50973,11 @@ const props = {
50973
50973
  }, [getSlot(Q) || createVNode$1(warning_default, null, null)])]
50974
50974
  });
50975
50975
  }
50976
- }), _sfc_main$7 = defineComponent({
50976
+ });
50977
+ function _isSlot$2(G) {
50978
+ return typeof G == "function" || Object.prototype.toString.call(G) === "[object Object]" && !isVNode(G);
50979
+ }
50980
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
50977
50981
  name: "PandoraBasicFormItem",
50978
50982
  inheritAttrs: !1,
50979
50983
  props: {
@@ -51004,12 +51008,34 @@ const props = {
51004
51008
  type: Object
51005
51009
  }
51006
51010
  },
51007
- setup(G, { slots: Q }) {
51008
- const { schema: H } = toRefs(G), K = computed(() => {
51009
- const { schema: ie, tableAction: oe, formModel: se, formActionType: Ae } = G, { componentProps: le = {} } = ie;
51010
- return isFunction$2(le) ? le({ schema: ie, tableAction: oe, formModel: se, formActionType: Ae }) ?? {} : le;
51011
+ setup(G, {
51012
+ slots: Q
51013
+ }) {
51014
+ const {
51015
+ schema: H
51016
+ } = toRefs(G), K = computed(() => {
51017
+ const {
51018
+ schema: ie,
51019
+ tableAction: oe,
51020
+ formModel: se,
51021
+ formActionType: Ae
51022
+ } = G, {
51023
+ componentProps: le = {}
51024
+ } = ie;
51025
+ return isFunction$2(le) ? le({
51026
+ schema: ie,
51027
+ tableAction: oe,
51028
+ formModel: se,
51029
+ formActionType: Ae
51030
+ }) ?? {} : le;
51011
51031
  }), W = computed(() => {
51012
- const { allDefaultValues: ie, formModel: oe, schema: se } = G, { mergeDynamicData: Ae } = G.formProps;
51032
+ const {
51033
+ allDefaultValues: ie,
51034
+ formModel: oe,
51035
+ schema: se
51036
+ } = G, {
51037
+ mergeDynamicData: Ae
51038
+ } = G.formProps;
51013
51039
  return {
51014
51040
  field: se.field,
51015
51041
  model: oe,
@@ -51021,18 +51047,39 @@ const props = {
51021
51047
  schema: se
51022
51048
  };
51023
51049
  }), X = computed(() => {
51024
- const { disabled: ie } = G.formProps, { dynamicDisabled: oe } = G.schema, { disabled: se = !1 } = unref(K);
51050
+ const {
51051
+ disabled: ie
51052
+ } = G.formProps, {
51053
+ dynamicDisabled: oe
51054
+ } = G.schema, {
51055
+ disabled: se = !1
51056
+ } = unref(K);
51025
51057
  let Ae = !!ie || se;
51026
51058
  return isBoolean(oe) && (Ae = oe), isFunction$2(oe) && (Ae = oe(unref(W))), Ae;
51027
51059
  });
51028
51060
  function ee() {
51029
- const { show: ie, ifShow: oe } = G.schema, { showAdvancedButton: se } = G.formProps, Ae = se && isBoolean(G.schema.isAdvanced) ? G.schema.isAdvanced : !0;
51061
+ const {
51062
+ show: ie,
51063
+ ifShow: oe
51064
+ } = G.schema, {
51065
+ showAdvancedButton: se
51066
+ } = G.formProps, Ae = se && isBoolean(G.schema.isAdvanced) ? G.schema.isAdvanced : !0;
51030
51067
  let le = !0, ue = !0;
51031
- return isBoolean(ie) && (le = ie), isBoolean(oe) && (ue = oe), isFunction$2(ie) && (le = ie(unref(W))), isFunction$2(oe) && (ue = oe(unref(W))), le = le && Ae, { isShow: le, isIfShow: ue };
51068
+ return isBoolean(ie) && (le = ie), isBoolean(oe) && (ue = oe), isFunction$2(ie) && (le = ie(unref(W))), isFunction$2(oe) && (ue = oe(unref(W))), le = le && Ae, {
51069
+ isShow: le,
51070
+ isIfShow: ue
51071
+ };
51032
51072
  }
51033
51073
  const te = (ie) => {
51034
- const { schema: oe, tableAction: se, formModel: Ae, formActionType: le } = G;
51035
- let { componentProps: ue = {} } = unref(oe) || {};
51074
+ const {
51075
+ schema: oe,
51076
+ tableAction: se,
51077
+ formModel: Ae,
51078
+ formActionType: le
51079
+ } = G;
51080
+ let {
51081
+ componentProps: ue = {}
51082
+ } = unref(oe) || {};
51036
51083
  isFunction$2(ue) && (ue = ue({
51037
51084
  schema: oe,
51038
51085
  tableAction: se,
@@ -51043,21 +51090,40 @@ const props = {
51043
51090
  if (Array.isArray(ce)) {
51044
51091
  if (ie === "CheckboxGroup") {
51045
51092
  const fe = componentMap.get("Checkbox");
51046
- return ce.map(
51047
- ({ label: he, value: de }) => h$1(fe, { label: de, key: de }, () => he)
51048
- );
51093
+ return ce.map(({
51094
+ label: he,
51095
+ value: de
51096
+ }) => createVNode$1(fe, {
51097
+ label: de,
51098
+ key: de
51099
+ }, _isSlot$2(he) ? he : {
51100
+ default: () => [he]
51101
+ }));
51049
51102
  }
51050
51103
  if (ie === "Select") {
51051
51104
  const fe = componentMap.get("SelectOption");
51052
- return ce.map(
51053
- ({ label: he, value: de }) => h$1(fe, { label: he, value: de, key: de }, () => he)
51054
- );
51105
+ return ce.map(({
51106
+ label: he,
51107
+ value: de
51108
+ }) => createVNode$1(fe, {
51109
+ label: he,
51110
+ value: de,
51111
+ key: de
51112
+ }, _isSlot$2(he) ? he : {
51113
+ default: () => [he]
51114
+ }));
51055
51115
  }
51056
51116
  if (ie === "RadioGroup") {
51057
51117
  const fe = componentMap.get("Radio");
51058
- return ce.map(
51059
- ({ label: he, value: de }) => h$1(fe, { label: de, key: de }, () => he)
51060
- );
51118
+ return ce.map(({
51119
+ label: he,
51120
+ value: de
51121
+ }) => createVNode$1(fe, {
51122
+ label: de,
51123
+ key: de
51124
+ }, _isSlot$2(he) ? he : {
51125
+ default: () => [he]
51126
+ }));
51061
51127
  }
51062
51128
  }
51063
51129
  }, re = () => {
@@ -51067,97 +51133,129 @@ const props = {
51067
51133
  field: se,
51068
51134
  changeEvent: Ae = "change",
51069
51135
  valueField: le
51070
- } = G.schema, ue = oe && ["Switch", "Checkbox"].includes(oe), ce = `on${upperFirst(Ae)}`, fe = {
51071
- [ce]: (...ye) => {
51072
- const [_e] = ye;
51073
- de[ce] && de[ce](...ye);
51074
- const Se = _e ? _e.target : null, we = Se ? ue ? Se.checked : Se.value : _e;
51075
- G.setFormModel(se, we);
51076
- }
51077
- }, he = componentMap.get(oe), de = {
51136
+ } = G.schema, ue = oe && ["Switch", "Checkbox"].includes(oe), ce = `on${upperFirst(Ae)}`, fe = componentMap.get(oe);
51137
+ if (!fe) return null;
51138
+ const he = {
51078
51139
  getPopupContainer: (ye) => ye.parentNode,
51079
51140
  ...unref(K),
51080
51141
  disabled: unref(X)
51081
- }, { autoSetPlaceHolder: pe } = G.formProps;
51082
- !de.disabled && pe && oe && (de.placeholder = unref(K)?.placeholder || createPlaceholderMessage(oe)), de.placeholder = unref(K)?.placeholder, de.codeField = se, de.formValues = unref(W);
51083
- const ge = {
51084
- [le || (ue ? "checked" : "value")]: G.formModel[se]
51142
+ }, {
51143
+ autoSetPlaceHolder: de
51144
+ } = G.formProps;
51145
+ !he.disabled && de && oe && (he.placeholder = unref(K)?.placeholder || createPlaceholderMessage(oe)), he.placeholder = unref(K)?.placeholder, he.codeField = se, he.formValues = unref(W);
51146
+ const ve = {
51147
+ [le || (ue ? "checked" : "modelValue")]: G.formModel[se]
51085
51148
  }, me = {
51086
- ...de,
51087
- ...fe,
51088
- ...ge
51149
+ ...he,
51150
+ ...{
51151
+ "onUpdate:modelValue": (...ye) => {
51152
+ const [_e] = ye;
51153
+ he[ce] && he[ce](...ye);
51154
+ const Se = _e ? _e.target : null, we = Se ? ue ? Se.checked : Se.value : _e;
51155
+ G.setFormModel(se, we);
51156
+ }
51157
+ },
51158
+ ...ve
51089
51159
  };
51090
- if (!he) return null;
51091
51160
  if (!ie) {
51092
51161
  const ye = te(oe);
51093
- return h$1(he, me, () => ye);
51162
+ return createVNode$1(fe, me, _isSlot$2(ye) ? ye : {
51163
+ default: () => [ye]
51164
+ });
51094
51165
  }
51095
51166
  if (isFunction$2(ie)) {
51096
51167
  const ye = ie(unref(W)) || {};
51097
- return ye && typeof ye == "object" ? h$1(he, me, ye) : h$1(he, me, { default: () => ye });
51168
+ return ye && typeof ye == "object" ? createVNode$1(fe, me, _isSlot$2(ye) ? ye : {
51169
+ default: () => [ye]
51170
+ }) : createVNode$1(fe, me, {
51171
+ default: () => ye
51172
+ });
51098
51173
  }
51099
- return h$1(he, me, { default: () => ie });
51174
+ return createVNode$1(fe, me, _isSlot$2(ie) ? ie : {
51175
+ default: () => [ie]
51176
+ });
51100
51177
  }, ae = () => {
51101
- const { label: ie, helpMessage: oe, helpComponentProps: se, subLabel: Ae } = G.schema, le = Ae ? h$1("span", null, [
51102
- ie,
51103
- " ",
51104
- h$1("span", { class: "text-secondary" }, Ae)
51105
- ]) : h$1("span", null, ie), ue = isFunction$2(oe) ? oe(unref(W)) : oe;
51106
- return ue !== void 0 || Array.isArray(ue) && ue.length > 0 ? h$1("span", null, [
51107
- le,
51108
- h$1(_sfc_main$8, {
51109
- placement: "top",
51110
- content: ue,
51111
- ...se || {}
51112
- })
51113
- ]) : h$1("span", null, [le]);
51178
+ const {
51179
+ label: ie,
51180
+ helpMessage: oe,
51181
+ helpComponentProps: se,
51182
+ subLabel: Ae
51183
+ } = G.schema, le = Ae ? createVNode$1("span", null, [ie, " ", createVNode$1("span", {
51184
+ class: "text-secondary"
51185
+ }, [Ae])]) : createVNode$1("span", null, [ie]), ue = isFunction$2(oe) ? oe(unref(W)) : oe;
51186
+ return ue !== void 0 || Array.isArray(ue) && ue.length > 0 ? createVNode$1("span", null, [le, createVNode$1(_sfc_main$8, mergeProps({
51187
+ placement: "top",
51188
+ content: ue
51189
+ }, se || {}), null)]) : createVNode$1("span", null, [le]);
51114
51190
  }, ne = () => {
51115
- const { label: ie, slot: oe, rules: se, render: Ae, field: le, suffix: ue, itemProps: ce, component: fe } = G.schema;
51191
+ const {
51192
+ label: ie,
51193
+ slot: oe,
51194
+ rules: se,
51195
+ render: Ae,
51196
+ field: le,
51197
+ suffix: ue,
51198
+ itemProps: ce,
51199
+ component: fe
51200
+ } = G.schema;
51116
51201
  if (fe === "Divider") {
51117
- const he = deepMerge({ contentPosition: "left" }, { ...unref(K) });
51118
- return h$1(
51119
- ElCol,
51120
- { span: 24 },
51121
- () => h$1(ElDivider, he, () => ae())
51122
- );
51123
- } else {
51124
- const he = unref(W), de = () => oe ? getSlot(Q, oe, he) : Ae ? Ae(he) : re(), pe = !!ue, ve = isFunction$2(ue) ? ue(unref(W)) : ue, ge = {
51125
- default: () => h$1(
51126
- "div",
51127
- { style: "display:flex;width:100%;" },
51128
- [
51129
- h$1("div", { style: "flex:1;" }, [de()]),
51130
- pe ? h$1("span", { class: "suffix" }, String(ve)) : null
51131
- ]
51132
- ),
51133
- label: () => ae()
51134
- };
51135
- return h$1(
51136
- ElFormItem,
51137
- {
51138
- prop: le,
51139
- label: ie,
51140
- rules: se,
51141
- ...ce || {}
51142
- },
51143
- ge
51144
- );
51202
+ let ge;
51203
+ const me = deepMerge({
51204
+ contentPosition: "left"
51205
+ }, {
51206
+ ...unref(K)
51207
+ });
51208
+ return createVNode$1(ElCol, {
51209
+ span: 24
51210
+ }, {
51211
+ default: () => [createVNode$1(ElDivider, me, _isSlot$2(ge = ae()) ? ge : {
51212
+ default: () => [ge]
51213
+ })]
51214
+ });
51145
51215
  }
51216
+ const he = unref(W), de = () => oe ? getSlot(Q, oe, he) : Ae ? Ae(he) : re(), pe = !!ue, ve = isFunction$2(ue) ? ue(unref(W)) : ue;
51217
+ return createVNode$1(ElFormItem, mergeProps({
51218
+ prop: le,
51219
+ label: ie,
51220
+ rules: se
51221
+ }, ce || {}), {
51222
+ default: () => createVNode$1("div", {
51223
+ style: "display:flex;width:100%;"
51224
+ }, [createVNode$1("div", {
51225
+ style: "flex:1;"
51226
+ }, [de()]), pe ? createVNode$1("span", {
51227
+ class: "suffix"
51228
+ }, [String(ve)]) : null]),
51229
+ label: () => ae()
51230
+ });
51146
51231
  };
51147
51232
  return onMounted(() => {
51148
- const { field: ie, defaultValue: oe = "" } = unref(H) || {};
51233
+ const {
51234
+ field: ie,
51235
+ defaultValue: oe = ""
51236
+ } = unref(H) || {};
51149
51237
  ie && G.setFormModel(ie, oe);
51150
51238
  }), () => {
51151
- const { colProps: ie = {}, colSlot: oe, renderColContent: se, component: Ae } = G.schema;
51152
- if (!componentMap.has(Ae))
51153
- return console.error(
51154
- `FormItem component:${Ae} is an unregistered component Key`
51155
- ), null;
51156
- const { baseColProps: le = {} } = G.formProps, ue = { ...le, ...ie }, { isShow: ce } = ee(), fe = unref(W), he = () => oe ? getSlot(Q, oe, fe) : se ? se(fe) : ne();
51157
- return withDirectives(
51158
- h$1(ElCol, { ...ue }, () => he()),
51159
- [[vShow, ce]]
51160
- );
51239
+ let ie;
51240
+ const {
51241
+ colProps: oe = {},
51242
+ colSlot: se,
51243
+ renderColContent: Ae,
51244
+ component: le
51245
+ } = G.schema;
51246
+ if (!componentMap.has(le))
51247
+ return console.error(`FormItem component:${le} is an unregistered component Key`), null;
51248
+ const {
51249
+ baseColProps: ue = {}
51250
+ } = G.formProps, ce = {
51251
+ ...ue,
51252
+ ...oe
51253
+ }, {
51254
+ isShow: fe
51255
+ } = ee(), he = unref(W);
51256
+ return withDirectives(createVNode$1(ElCol, ce, _isSlot$2(ie = se ? getSlot(Q, se, he) : Ae ? Ae(he) : ne()) ? ie : {
51257
+ default: () => [ie]
51258
+ }), [[vShow, fe]]);
51161
51259
  };
51162
51260
  }
51163
51261
  });
@@ -51527,7 +51625,7 @@ function useFormValues({
51527
51625
  te.forEach((ae) => {
51528
51626
  const { defaultValue: ne } = ae;
51529
51627
  isNullOrUnDef(ne) || (re[ae.field] = ne, K[ae.field] = ne, K[ae.field] === void 0 && (K[ae.field] = ne));
51530
- }), G.value = cloneDeep(re);
51628
+ }), console.log("initDefault formModel", K), G.value = cloneDeep(re);
51531
51629
  }
51532
51630
  return { handleFormValues: W, initDefault: ee };
51533
51631
  }