@mywzzz/mineadmin-search-panel 1.0.7 → 1.0.8

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/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { isVNode as j, defineComponent as Z, ref as x, watch as z, computed as f, onMounted as ee, onBeforeUnmount as ne, openBlock as a, createElementBlock as y, createElementVNode as v, toDisplayString as b, createCommentVNode as m, renderSlot as F, createVNode as _, unref as u, withModifiers as R, withCtx as c, normalizeStyle as E, Fragment as I, renderList as U, createBlock as h, resolveDynamicComponent as N, mergeProps as D, withKeys as te, createTextVNode as T } from "vue";
1
+ import { isVNode as j, defineComponent as Z, computed as f, ref as x, watch as z, onMounted as ee, onBeforeUnmount as ne, openBlock as a, createElementBlock as y, createElementVNode as v, toDisplayString as b, createCommentVNode as m, renderSlot as F, createVNode as _, unref as u, withModifiers as R, withCtx as c, normalizeStyle as E, Fragment as I, renderList as U, createBlock as h, resolveDynamicComponent as N, mergeProps as D, withKeys as te, createTextVNode as T } from "vue";
2
2
  import { ElInputNumber as le, ElDatePicker as oe, ElSelect as re, ElInput as ae, ElForm as ue, ElFormItem as se, ElOption as ie, ElButton as K, ElLink as de } from "element-plus";
3
3
  import { Icon as O } from "@iconify/vue";
4
4
  const ce = {
@@ -117,22 +117,22 @@ const _e = { class: "ma-search-panel" }, ge = {
117
117
  },
118
118
  emits: ["update:modelValue", "search", "reset"],
119
119
  setup(e, { emit: r }) {
120
- const o = e, k = r;
121
- function s() {
120
+ const o = e, k = r, s = f(() => ke(o.items));
121
+ function V() {
122
122
  const n = {};
123
- return V.value.forEach((l) => {
123
+ return s.value.forEach((l) => {
124
124
  n[l.key] = o.defaultValue?.[l.key];
125
125
  }), n;
126
126
  }
127
127
  const d = x({
128
- ...s(),
128
+ ...V(),
129
129
  ...o.modelValue
130
130
  });
131
131
  z(
132
132
  () => [o.items, o.defaultValue, o.modelValue],
133
133
  () => {
134
134
  d.value = {
135
- ...s(),
135
+ ...V(),
136
136
  ...o.modelValue
137
137
  };
138
138
  },
@@ -141,7 +141,7 @@ const _e = { class: "ma-search-panel" }, ge = {
141
141
  function L(n) {
142
142
  d.value = n, k("update:modelValue", n);
143
143
  }
144
- const $ = x(typeof window > "u" ? 1440 : window.innerWidth), V = f(() => ke(o.items));
144
+ const $ = x(typeof window > "u" ? 1440 : window.innerWidth);
145
145
  function A(n) {
146
146
  if (typeof n == "number")
147
147
  return n;
@@ -163,14 +163,14 @@ const _e = { class: "ma-search-panel" }, ge = {
163
163
  p.value = n;
164
164
  }
165
165
  );
166
- const M = f(() => o.items.length > B.value), q = f(() => p.value && M.value ? V.value.slice(0, B.value) : V.value), G = f(() => ({
166
+ const M = f(() => o.items.length > B.value), q = f(() => p.value && M.value ? s.value.slice(0, B.value) : s.value), G = f(() => ({
167
167
  gridTemplateColumns: `repeat(${g.value}, minmax(0, 1fr))`
168
168
  }));
169
169
  function C(n, l) {
170
170
  L({ ...d.value, [n]: l });
171
171
  }
172
172
  function H() {
173
- const n = s();
173
+ const n = V();
174
174
  L(n), k("reset", n);
175
175
  }
176
176
  function S() {
@@ -1 +1 @@
1
- (function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("element-plus"),require("@iconify/vue")):typeof define=="function"&&define.amd?define(["exports","vue","element-plus","@iconify/vue"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.MaSearchPanel={},c.Vue,c.ElementPlus,c.IconifyVue))})(this,(function(c,e,i,w){"use strict";const L={input:i.ElInput,select:i.ElSelect,"date-picker":i.ElDatePicker,"input-number":i.ElInputNumber};function M(n){return L[n]}function z(n){if(n.fullWidth!==!1)return{width:"100%"}}const y={input:"input",select:"select","date-picker":"date-picker",inputNumber:"input-number","input-number":"input-number"};function b(n){return typeof n=="function"?n():n??""}function _(n){return typeof n=="function"?n():n??""}function D(n){return typeof n=="string"&&n in y}function $(n){const a=_(n.prop),l=n.label??a;if(D(n.render))return{key:a,label:l,span:n.span,type:y[n.render],options:n.renderProps?.options,componentProps:n.renderProps};if(typeof n.render=="function"){const f=n.render,s=f();return typeof s=="string"&&s in y?{key:a,label:l,span:n.span,type:y[s],options:n.renderProps?.options,componentProps:n.renderProps}:e.isVNode(s)?{key:a,label:l,span:n.span,type:"slot",slotName:`legacy:${a}`}:{key:a,label:l,span:n.span,type:"component",component:s,componentProps:n.renderProps}}return n.render?{key:a,label:l,span:n.span,type:"component",component:n.render,componentProps:n.renderProps}:{key:a,label:l,span:n.span,type:"input",componentProps:n.renderProps}}function B(n){return n.map(a=>"type"in a&&"key"in a?a:$(a))}function C(n){if("type"in n&&"key"in n||typeof n.render!="function")return null;const a=n.render,l=a();return e.isVNode(l)?l:null}const I={class:"ma-search-panel"},F={key:0,class:"ma-search-panel__card ma-search-panel__header"},W={class:"ma-search-panel__title-wrap"},R={key:0,class:"ma-search-panel__title"},U={key:1,class:"ma-search-panel__subtitle"},j={class:"ma-search-panel__card"},q={class:"ma-search-panel__field ma-search-panel__field--full"},O={class:"ma-search-panel__actions"},N=e.defineComponent({__name:"SearchPanel",props:{items:{},modelValue:{default:()=>({})},defaultValue:{default:()=>({})},title:{},subtitle:{},labelWidth:{default:"90px"},cols:{default:3},fold:{type:Boolean,default:!1},foldRows:{default:1},searchText:{default:"搜索"},resetText:{default:"重置"},foldText:{default:"展开搜索"},unfoldText:{default:"收起搜索"}},emits:["update:modelValue","search","reset"],setup(n,{emit:a}){const l=n,f=a;function s(){const t={};return h.value.forEach(r=>{t[r.key]=l.defaultValue?.[r.key]}),t}const p=e.ref({...s(),...l.modelValue});e.watch(()=>[l.items,l.defaultValue,l.modelValue],()=>{p.value={...s(),...l.modelValue}},{deep:!0});function E(t){p.value=t,f("update:modelValue",t)}const S=e.ref(typeof window>"u"?1440:window.innerWidth),h=e.computed(()=>B(l.items));function K(t){if(typeof t=="number")return t;const r=S.value;return r>=1920?t.xl??4:r>=1200?t.lg??3:r>=992?t.md??2:r>=768?t.sm??2:t.xs??1}function k(){typeof window<"u"&&(S.value=window.innerWidth)}e.onMounted(()=>{k(),typeof window<"u"&&window.addEventListener("resize",k)}),e.onBeforeUnmount(()=>{typeof window<"u"&&window.removeEventListener("resize",k)});const m=e.computed(()=>Math.max(K(l.cols),1)),x=e.computed(()=>Math.max(m.value*l.foldRows-1,0)),u=e.ref(l.fold);e.watch(()=>l.fold,t=>{u.value=t});const P=e.computed(()=>l.items.length>x.value),A=e.computed(()=>u.value&&P.value?h.value.slice(0,x.value):h.value),G=e.computed(()=>({gridTemplateColumns:`repeat(${m.value}, minmax(0, 1fr))`}));function V(t,r){E({...p.value,[t]:r})}function H(){const t=s();E(t),f("reset",t)}function g(){const t={};Object.entries(p.value).forEach(([r,o])=>{o!==""&&o!==void 0&&o!==null&&(t[r]=o)}),f("search",t)}function J(t){return t.type==="input"||t.type==="select"||t.type==="date-picker"||t.type==="input-number"}function Q(t){return t.type==="component"}function X(t){return l.items.find(r=>"type"in r&&"key"in r?r.key===t.key:t.key===(typeof r.prop=="function"?r.prop():r.prop))}function Y(t){return t.type==="slot"?t.slotName:`legacy:${t.key}`}function T(t){const r=X(t);return r?C(r):null}return(t,r)=>(e.openBlock(),e.createElementBlock("div",I,[n.title||n.subtitle||t.$slots.actions?(e.openBlock(),e.createElementBlock("div",F,[e.createElementVNode("div",W,[n.title?(e.openBlock(),e.createElementBlock("div",R,e.toDisplayString(n.title),1)):e.createCommentVNode("",!0),n.subtitle?(e.openBlock(),e.createElementBlock("div",U,e.toDisplayString(n.subtitle),1)):e.createCommentVNode("",!0)]),e.renderSlot(t.$slots,"actions")])):e.createCommentVNode("",!0),e.createElementVNode("div",j,[e.createVNode(e.unref(i.ElForm),{model:p.value,"label-width":n.labelWidth,onSubmit:e.withModifiers(g,["prevent"])},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"ma-search-panel__grid",style:e.normalizeStyle(G.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,o=>(e.openBlock(),e.createBlock(e.unref(i.ElFormItem),{key:o.key,class:"ma-search-panel__item",label:e.unref(b)(o.label),style:e.normalizeStyle(o.span?{gridColumn:`span ${o.span}`}:void 0)},{default:e.withCtx(()=>[e.createElementVNode("div",q,[J(o)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(M)(o.type)),e.mergeProps({key:0,"model-value":p.value[o.key]},{ref_for:!0},o.componentProps,{class:"ma-search-panel__field--full",onKeyup:e.withKeys(g,["enter"]),"onUpdate:modelValue":d=>V(o.key,d)}),{default:e.withCtx(()=>[o.type==="select"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(o.options??[],d=>(e.openBlock(),e.createBlock(e.unref(i.ElOption),{key:String(d.value),label:d.label,value:d.value},null,8,["label","value"]))),128)):e.createCommentVNode("",!0)]),_:2},1040,["model-value","onUpdate:modelValue"])):Q(o)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.component),e.mergeProps({key:1,"model-value":p.value[o.key]},{ref_for:!0},o.componentProps,{style:e.unref(z)(o),class:"ma-search-panel__field--full","onUpdate:modelValue":d=>V(o.key,d)}),null,16,["model-value","style","onUpdate:modelValue"])):e.renderSlot(t.$slots,Y(o),{key:2,item:o,model:p.value,update:d=>V(o.key,d)},()=>[T(o)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(T(o)),{key:0})):e.createCommentVNode("",!0)])])]),_:2},1032,["label","style"]))),128)),e.createElementVNode("div",{class:"ma-search-panel__actions-wrap",style:e.normalizeStyle({gridColumn:`${m.value} / ${m.value+1}`})},[e.createElementVNode("div",O,[e.createVNode(e.unref(i.ElButton),{type:"primary",onClick:g},{icon:e.withCtx(()=>[e.createVNode(e.unref(w.Icon),{icon:"heroicons:magnifying-glass"})]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(n.searchText),1)]),_:1}),e.createVNode(e.unref(i.ElButton),{onClick:H},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.resetText),1)]),_:1}),P.value?(e.openBlock(),e.createBlock(e.unref(i.ElLink),{key:0,type:"primary",underline:"never",class:"ma-search-panel__fold-toggle",onClick:r[0]||(r[0]=e.withModifiers(o=>u.value=!u.value,["prevent"]))},{icon:e.withCtx(()=>[e.createVNode(e.unref(w.Icon),{icon:u.value?"material-symbols:keyboard-arrow-down":"material-symbols:keyboard-arrow-up"},null,8,["icon"])]),default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value?n.foldText:n.unfoldText)+" ",1)]),_:1})):e.createCommentVNode("",!0)])],4)],4)]),_:3},8,["model","label-width"])])]))}});c.SearchPanel=N,c.default=N,c.normalizeSearchPanelItems=B,c.resolveLabelValue=b,c.resolveLegacyVNode=C,c.resolvePropValue=_,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("element-plus"),require("@iconify/vue")):typeof define=="function"&&define.amd?define(["exports","vue","element-plus","@iconify/vue"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.MaSearchPanel={},c.Vue,c.ElementPlus,c.IconifyVue))})(this,(function(c,e,i,w){"use strict";const L={input:i.ElInput,select:i.ElSelect,"date-picker":i.ElDatePicker,"input-number":i.ElInputNumber};function M(n){return L[n]}function z(n){if(n.fullWidth!==!1)return{width:"100%"}}const y={input:"input",select:"select","date-picker":"date-picker",inputNumber:"input-number","input-number":"input-number"};function b(n){return typeof n=="function"?n():n??""}function _(n){return typeof n=="function"?n():n??""}function D(n){return typeof n=="string"&&n in y}function $(n){const a=_(n.prop),l=n.label??a;if(D(n.render))return{key:a,label:l,span:n.span,type:y[n.render],options:n.renderProps?.options,componentProps:n.renderProps};if(typeof n.render=="function"){const f=n.render,s=f();return typeof s=="string"&&s in y?{key:a,label:l,span:n.span,type:y[s],options:n.renderProps?.options,componentProps:n.renderProps}:e.isVNode(s)?{key:a,label:l,span:n.span,type:"slot",slotName:`legacy:${a}`}:{key:a,label:l,span:n.span,type:"component",component:s,componentProps:n.renderProps}}return n.render?{key:a,label:l,span:n.span,type:"component",component:n.render,componentProps:n.renderProps}:{key:a,label:l,span:n.span,type:"input",componentProps:n.renderProps}}function B(n){return n.map(a=>"type"in a&&"key"in a?a:$(a))}function C(n){if("type"in n&&"key"in n||typeof n.render!="function")return null;const a=n.render,l=a();return e.isVNode(l)?l:null}const I={class:"ma-search-panel"},F={key:0,class:"ma-search-panel__card ma-search-panel__header"},W={class:"ma-search-panel__title-wrap"},R={key:0,class:"ma-search-panel__title"},U={key:1,class:"ma-search-panel__subtitle"},j={class:"ma-search-panel__card"},q={class:"ma-search-panel__field ma-search-panel__field--full"},O={class:"ma-search-panel__actions"},N=e.defineComponent({__name:"SearchPanel",props:{items:{},modelValue:{default:()=>({})},defaultValue:{default:()=>({})},title:{},subtitle:{},labelWidth:{default:"90px"},cols:{default:3},fold:{type:Boolean,default:!1},foldRows:{default:1},searchText:{default:"搜索"},resetText:{default:"重置"},foldText:{default:"展开搜索"},unfoldText:{default:"收起搜索"}},emits:["update:modelValue","search","reset"],setup(n,{emit:a}){const l=n,f=a,s=e.computed(()=>B(l.items));function h(){const t={};return s.value.forEach(r=>{t[r.key]=l.defaultValue?.[r.key]}),t}const p=e.ref({...h(),...l.modelValue});e.watch(()=>[l.items,l.defaultValue,l.modelValue],()=>{p.value={...h(),...l.modelValue}},{deep:!0});function E(t){p.value=t,f("update:modelValue",t)}const S=e.ref(typeof window>"u"?1440:window.innerWidth);function K(t){if(typeof t=="number")return t;const r=S.value;return r>=1920?t.xl??4:r>=1200?t.lg??3:r>=992?t.md??2:r>=768?t.sm??2:t.xs??1}function k(){typeof window<"u"&&(S.value=window.innerWidth)}e.onMounted(()=>{k(),typeof window<"u"&&window.addEventListener("resize",k)}),e.onBeforeUnmount(()=>{typeof window<"u"&&window.removeEventListener("resize",k)});const m=e.computed(()=>Math.max(K(l.cols),1)),x=e.computed(()=>Math.max(m.value*l.foldRows-1,0)),u=e.ref(l.fold);e.watch(()=>l.fold,t=>{u.value=t});const P=e.computed(()=>l.items.length>x.value),A=e.computed(()=>u.value&&P.value?s.value.slice(0,x.value):s.value),G=e.computed(()=>({gridTemplateColumns:`repeat(${m.value}, minmax(0, 1fr))`}));function V(t,r){E({...p.value,[t]:r})}function H(){const t=h();E(t),f("reset",t)}function g(){const t={};Object.entries(p.value).forEach(([r,o])=>{o!==""&&o!==void 0&&o!==null&&(t[r]=o)}),f("search",t)}function J(t){return t.type==="input"||t.type==="select"||t.type==="date-picker"||t.type==="input-number"}function Q(t){return t.type==="component"}function X(t){return l.items.find(r=>"type"in r&&"key"in r?r.key===t.key:t.key===(typeof r.prop=="function"?r.prop():r.prop))}function Y(t){return t.type==="slot"?t.slotName:`legacy:${t.key}`}function T(t){const r=X(t);return r?C(r):null}return(t,r)=>(e.openBlock(),e.createElementBlock("div",I,[n.title||n.subtitle||t.$slots.actions?(e.openBlock(),e.createElementBlock("div",F,[e.createElementVNode("div",W,[n.title?(e.openBlock(),e.createElementBlock("div",R,e.toDisplayString(n.title),1)):e.createCommentVNode("",!0),n.subtitle?(e.openBlock(),e.createElementBlock("div",U,e.toDisplayString(n.subtitle),1)):e.createCommentVNode("",!0)]),e.renderSlot(t.$slots,"actions")])):e.createCommentVNode("",!0),e.createElementVNode("div",j,[e.createVNode(e.unref(i.ElForm),{model:p.value,"label-width":n.labelWidth,onSubmit:e.withModifiers(g,["prevent"])},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"ma-search-panel__grid",style:e.normalizeStyle(G.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,o=>(e.openBlock(),e.createBlock(e.unref(i.ElFormItem),{key:o.key,class:"ma-search-panel__item",label:e.unref(b)(o.label),style:e.normalizeStyle(o.span?{gridColumn:`span ${o.span}`}:void 0)},{default:e.withCtx(()=>[e.createElementVNode("div",q,[J(o)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(M)(o.type)),e.mergeProps({key:0,"model-value":p.value[o.key]},{ref_for:!0},o.componentProps,{class:"ma-search-panel__field--full",onKeyup:e.withKeys(g,["enter"]),"onUpdate:modelValue":d=>V(o.key,d)}),{default:e.withCtx(()=>[o.type==="select"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(o.options??[],d=>(e.openBlock(),e.createBlock(e.unref(i.ElOption),{key:String(d.value),label:d.label,value:d.value},null,8,["label","value"]))),128)):e.createCommentVNode("",!0)]),_:2},1040,["model-value","onUpdate:modelValue"])):Q(o)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.component),e.mergeProps({key:1,"model-value":p.value[o.key]},{ref_for:!0},o.componentProps,{style:e.unref(z)(o),class:"ma-search-panel__field--full","onUpdate:modelValue":d=>V(o.key,d)}),null,16,["model-value","style","onUpdate:modelValue"])):e.renderSlot(t.$slots,Y(o),{key:2,item:o,model:p.value,update:d=>V(o.key,d)},()=>[T(o)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(T(o)),{key:0})):e.createCommentVNode("",!0)])])]),_:2},1032,["label","style"]))),128)),e.createElementVNode("div",{class:"ma-search-panel__actions-wrap",style:e.normalizeStyle({gridColumn:`${m.value} / ${m.value+1}`})},[e.createElementVNode("div",O,[e.createVNode(e.unref(i.ElButton),{type:"primary",onClick:g},{icon:e.withCtx(()=>[e.createVNode(e.unref(w.Icon),{icon:"heroicons:magnifying-glass"})]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(n.searchText),1)]),_:1}),e.createVNode(e.unref(i.ElButton),{onClick:H},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.resetText),1)]),_:1}),P.value?(e.openBlock(),e.createBlock(e.unref(i.ElLink),{key:0,type:"primary",underline:"never",class:"ma-search-panel__fold-toggle",onClick:r[0]||(r[0]=e.withModifiers(o=>u.value=!u.value,["prevent"]))},{icon:e.withCtx(()=>[e.createVNode(e.unref(w.Icon),{icon:u.value?"material-symbols:keyboard-arrow-down":"material-symbols:keyboard-arrow-up"},null,8,["icon"])]),default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value?n.foldText:n.unfoldText)+" ",1)]),_:1})):e.createCommentVNode("",!0)])],4)],4)]),_:3},8,["model","label-width"])])]))}});c.SearchPanel=N,c.default=N,c.normalizeSearchPanelItems=B,c.resolveLabelValue=b,c.resolveLegacyVNode=C,c.resolvePropValue=_,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mywzzz/mineadmin-search-panel",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "type": "module",
5
5
  "description": "Library-ready search panel component for MineAdmin and Vue 3 projects",
6
6
  "main": "dist/index.umd.cjs",