huiyi-select-table 0.1.16 → 0.1.18

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.
Binary file
@@ -1,5 +1,5 @@
1
- import { defineComponent as A, ref as u, resolveComponent as p, openBlock as _, createElementBlock as x, createVNode as k, withDirectives as B, createElementVNode as M, withCtx as j, Fragment as H, renderList as Q, createBlock as F, vShow as K } from "vue";
2
- const N = { class: "huiyi-select-spanDiv" }, U = /* @__PURE__ */ A({
1
+ import { defineComponent as j, ref as a, computed as H, resolveComponent as y, openBlock as p, createElementBlock as k, createVNode as C, createBlock as R, Teleport as Q, normalizeStyle as z, withCtx as K, Fragment as N, renderList as U, nextTick as $ } from "vue";
2
+ const G = /* @__PURE__ */ j({
3
3
  name: "InputSelectCompont",
4
4
  __name: "SelectTable",
5
5
  props: {
@@ -13,88 +13,108 @@ const N = { class: "huiyi-select-spanDiv" }, U = /* @__PURE__ */ A({
13
13
  isIndex: 1
14
14
  },
15
15
  emits: ["slectValue"],
16
- setup(t, { emit: c }) {
17
- const o = t, s = u("");
18
- s.value = o.searchQueryInit;
19
- const r = u(!1), n = u([]), y = u([]), g = u(!1), a = u(-1), v = u(-1), f = u(null), w = () => {
20
- r.value = !0, s.value ? (n.value = o.originalData.filter((e) => Object.keys(e).some((l) => String(e[l]).toLowerCase().includes(s.value.toLowerCase()))), console.log(n.value), a.value = -1, v.value = -1) : n.value = o.originalData;
21
- }, C = c, D = (e) => {
22
- y.value = e;
23
- }, b = (e) => {
24
- y.value = e, e && (s.value = e[o.showValue], r.value = !1);
16
+ setup(o, { emit: c }) {
17
+ const u = o, s = a("");
18
+ s.value = u.searchQueryInit;
19
+ const r = a(!1), t = a([]), b = a([]), g = a(!1), n = a(-1), v = a(-1), h = a(null), w = a(null), S = ({ row: e, rowIndex: l }) => n.value === l ? "warning-row" : "", V = H(() => {
20
+ if (!r.value || !w.value)
21
+ return { display: "none" };
22
+ const e = w.value.getBoundingClientRect();
23
+ return {
24
+ position: "fixed",
25
+ top: e.bottom + "px",
26
+ left: e.left + "px",
27
+ width: e.width + 80 + "px",
28
+ zIndex: 1e4,
29
+ backgroundColor: "#FFF",
30
+ height: "230px"
31
+ };
32
+ }), _ = () => {
33
+ r.value = !0, s.value ? (t.value = u.originalData.filter((e) => Object.keys(e).some((l) => String(e[l]).toLowerCase().includes(s.value.toLowerCase()))), console.log(t.value), n.value = -1, v.value = -1) : t.value = u.originalData;
34
+ }, D = c, T = (e) => {
35
+ b.value = e, console.log(e);
36
+ }, x = (e) => {
37
+ b.value = e, e && (s.value = e[u.showValue], r.value = !1);
25
38
  let l = {
26
39
  val: e,
27
- isIndex: o.isIndex
40
+ isIndex: u.isIndex
28
41
  };
29
- C("slectValue", l);
30
- }, R = () => {
31
- g.value == !1 && (r.value = !1);
32
- }, S = () => {
42
+ D("slectValue", l);
43
+ }, O = () => {
44
+ g.value == !1 && setTimeout(() => {
45
+ r.value = !1;
46
+ }, 150);
47
+ }, q = () => {
33
48
  g.value = !0;
34
- }, V = () => {
49
+ }, B = () => {
35
50
  g.value = !1;
36
- }, T = (e) => {
37
- if (console.log(e.key, "event.key "), n.value.length !== 0)
51
+ }, E = (e) => {
52
+ if (console.log(e.key, "event.key "), t.value.length !== 0)
38
53
  if (e.key == "ArrowDown") {
39
54
  e.preventDefault();
40
- let l = a.value + 1;
41
- l >= n.value.length && (l = 0), console.log(l, "newIndex"), I(l);
55
+ let l = n.value + 1;
56
+ l >= t.value.length && (l = 0), console.log(l, "newIndex"), I(l);
42
57
  } else if (e.key == "ArrowUp") {
43
58
  e.preventDefault();
44
- let l = a.value - 1;
45
- l < 0 && (l = n.value.length - 1), I(l);
59
+ let l = n.value - 1;
60
+ l < 0 && (l = t.value.length - 1), I(l);
46
61
  } else
47
- e.key === "Enter" && (e.preventDefault(), r.value == !0 ? O() : w());
48
- }, O = () => {
49
- if (a.value >= 0) {
50
- v.value === a.value ? v.value = -1 : v.value = a.value;
51
- const e = n.value;
52
- console.log(e[a.value], a.value, "hh[currentHighlightIndex]"), b(n.value[a.value]);
62
+ e.key === "Enter" && (e.preventDefault(), r.value == !0 ? F() : _());
63
+ }, F = () => {
64
+ if (n.value >= 0) {
65
+ v.value === n.value ? v.value = -1 : v.value = n.value;
66
+ const e = t.value;
67
+ console.log(e[n.value], n.value, "hh[currentHighlightIndex]"), x(t.value[n.value]);
53
68
  }
54
69
  }, I = (e) => {
55
- a.value = e, nextTick(() => {
56
- if (f.value && n.value.length > 0 && e >= 0 && e < n.value.length) {
57
- const d = f.value.$el.querySelectorAll(".el-table__row");
58
- console.log(d, "rows"), d.length > 0 && e < d.length && d[e].scrollIntoView({ behavior: "smooth", block: "nearest" }), f.value.setCurrentRow(n.value[a.value]);
70
+ n.value = e, $(() => {
71
+ if (h.value && t.value.length > 0 && e >= 0 && e < t.value.length) {
72
+ const d = h.value.$el.querySelectorAll(".el-table__row");
73
+ console.log(d, "rows"), d.length > 0 && e < d.length && d[e].scrollIntoView({ behavior: "smooth", block: "nearest" }), h.value.setCurrentRow(t.value[n.value]);
59
74
  }
60
75
  });
61
76
  };
62
77
  return (e, l) => {
63
- const d = p("el-input"), E = p("el-table-column"), q = p("el-table");
64
- return _(), x("span", {
78
+ const d = y("el-input"), L = y("el-table-column"), A = y("el-table");
79
+ return p(), k("span", {
65
80
  class: "huiyi-select-spanInput",
66
- onMouseover: S,
67
- onMouseout: V
81
+ onMouseover: q,
82
+ onMouseout: B,
83
+ ref_key: "inputContainerRef",
84
+ ref: w
68
85
  }, [
69
- k(d, {
86
+ C(d, {
70
87
  placeholder: "请输入搜索内容",
71
88
  modelValue: s.value,
72
89
  "onUpdate:modelValue": l[0] || (l[0] = (i) => s.value = i),
73
90
  id: "filterInput",
74
- onInput: w,
91
+ onInput: _,
75
92
  style: { width: "200px" },
76
- readonly: t.isRead,
77
- required: t.isRequired,
78
- onFocus: w,
79
- onBlur: R,
80
- onKeydown: T
93
+ readonly: o.isRead,
94
+ required: o.isRequired,
95
+ onFocus: _,
96
+ onBlur: O,
97
+ onKeydown: E
81
98
  }, null, 8, ["modelValue", "readonly", "required"]),
82
- B(M("div", N, [
83
- k(q, {
99
+ (p(), R(Q, {
100
+ to: "body",
101
+ class: "huiyi-select-spanDiv"
102
+ }, [
103
+ C(A, {
84
104
  ref_key: "singleTableRef",
85
- ref: f,
105
+ ref: h,
86
106
  border: "",
87
107
  class: "huiyi-select-spanInputTable",
88
- "row-class-name": t.originalData,
108
+ "row-class-name": S,
89
109
  "highlight-current-row": "",
90
- data: n.value,
91
- style: { width: "300px", height: "230px", position: "fixed" },
92
- onCurrentChange: D,
93
- onRowClick: b
110
+ data: t.value,
111
+ onCurrentChange: T,
112
+ onRowClick: x,
113
+ style: z(V.value)
94
114
  }, {
95
- default: j(() => [
96
- (_(!0), x(H, null, Q(t.columnList, (i, L) => (_(), F(E, {
97
- key: L,
115
+ default: K(() => [
116
+ (p(!0), k(N, null, U(o.columnList, (i, M) => (p(), R(L, {
117
+ key: M,
98
118
  prop: i.prop,
99
119
  align: i.align,
100
120
  label: i.label,
@@ -104,39 +124,37 @@ const N = { class: "huiyi-select-spanDiv" }, U = /* @__PURE__ */ A({
104
124
  }, null, 8, ["prop", "align", "label", "width", "header-align"]))), 128))
105
125
  ]),
106
126
  _: 1
107
- }, 8, ["row-class-name", "data"])
108
- ], 512), [
109
- [K, r.value && !t.isRead]
110
- ])
111
- ], 32);
127
+ }, 8, ["data", "style"])
128
+ ]))
129
+ ], 544);
112
130
  };
113
131
  }
114
132
  });
115
- const $ = (t, c) => {
116
- const o = t.__vccOpts || t;
133
+ const J = (o, c) => {
134
+ const u = o.__vccOpts || o;
117
135
  for (const [s, r] of c)
118
- o[s] = r;
119
- return o;
120
- }, h = /* @__PURE__ */ $(U, [["__scopeId", "data-v-e5a23390"]]);
121
- h.install = (t) => {
122
- t.component(h.name, h);
136
+ u[s] = r;
137
+ return u;
138
+ }, f = /* @__PURE__ */ J(G, [["__scopeId", "data-v-f5648f73"]]);
139
+ f.install = (o) => {
140
+ o.component(f.name, f);
123
141
  };
124
- const z = [
125
- h
126
- ], m = function(t) {
127
- m.installed || z.forEach((c) => {
128
- t.component(c.name, c);
142
+ const P = [
143
+ f
144
+ ], m = function(o) {
145
+ m.installed || P.forEach((c) => {
146
+ o.component(c.name, c);
129
147
  });
130
148
  };
131
149
  typeof window < "u" && window.Vue && m(window.Vue);
132
- const J = {
150
+ const X = {
133
151
  // 导出的对象必须具有 install,才能被 Vue.use() 方法安装
134
152
  install: m,
135
153
  // 以下是具体的组件列表
136
- SelectTable: h
154
+ SelectTable: f
137
155
  };
138
156
  export {
139
- h as SelectTable,
140
- J as default,
157
+ f as SelectTable,
158
+ X as default,
141
159
  m as install
142
160
  };
@@ -1 +1 @@
1
- (function(s,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(s=typeof globalThis<"u"?globalThis:s||self,e(s.HuiyiSelectTable={},s.Vue))})(this,function(s,e){"use strict";const j="",I={class:"huiyi-select-spanDiv"},k=e.defineComponent({name:"InputSelectCompont",__name:"SelectTable",props:{originalData:Object,showValue:String,columnList:Object,searchQueryInit:String,labelIndex:String,isRead:!1,isRequired:!1,isIndex:1},emits:["slectValue"],setup(n,{emit:f}){const r=n,i=e.ref("");i.value=r.searchQueryInit;const u=e.ref(!1),o=e.ref([]),m=e.ref([]),v=e.ref(!1),a=e.ref(-1),g=e.ref(-1),w=e.ref(null),_=()=>{u.value=!0,i.value?(o.value=r.originalData.filter(l=>Object.keys(l).some(t=>String(l[t]).toLowerCase().includes(i.value.toLowerCase()))),console.log(o.value),a.value=-1,g.value=-1):o.value=r.originalData},C=f,V=l=>{m.value=l},y=l=>{m.value=l,l&&(i.value=l[r.showValue],u.value=!1);let t={val:l,isIndex:r.isIndex};C("slectValue",t)},D=()=>{v.value==!1&&(u.value=!1)},R=()=>{v.value=!0},T=()=>{v.value=!1},O=l=>{if(console.log(l.key,"event.key "),o.value.length!==0)if(l.key=="ArrowDown"){l.preventDefault();let t=a.value+1;t>=o.value.length&&(t=0),console.log(t,"newIndex"),b(t)}else if(l.key=="ArrowUp"){l.preventDefault();let t=a.value-1;t<0&&(t=o.value.length-1),b(t)}else l.key==="Enter"&&(l.preventDefault(),u.value==!0?B():_())},B=()=>{if(a.value>=0){g.value===a.value?g.value=-1:g.value=a.value;const l=o.value;console.log(l[a.value],a.value,"hh[currentHighlightIndex]"),y(o.value[a.value])}},b=l=>{a.value=l,nextTick(()=>{if(w.value&&o.value.length>0&&l>=0&&l<o.value.length){const h=w.value.$el.querySelectorAll(".el-table__row");console.log(h,"rows"),h.length>0&&l<h.length&&h[l].scrollIntoView({behavior:"smooth",block:"nearest"}),w.value.setCurrentRow(o.value[a.value])}})};return(l,t)=>{const h=e.resolveComponent("el-input"),E=e.resolveComponent("el-table-column"),q=e.resolveComponent("el-table");return e.openBlock(),e.createElementBlock("span",{class:"huiyi-select-spanInput",onMouseover:R,onMouseout:T},[e.createVNode(h,{placeholder:"请输入搜索内容",modelValue:i.value,"onUpdate:modelValue":t[0]||(t[0]=c=>i.value=c),id:"filterInput",onInput:_,style:{width:"200px"},readonly:n.isRead,required:n.isRequired,onFocus:_,onBlur:D,onKeydown:O},null,8,["modelValue","readonly","required"]),e.withDirectives(e.createElementVNode("div",I,[e.createVNode(q,{ref_key:"singleTableRef",ref:w,border:"",class:"huiyi-select-spanInputTable","row-class-name":n.originalData,"highlight-current-row":"",data:o.value,style:{width:"300px",height:"230px",position:"fixed"},onCurrentChange:V,onRowClick:y},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.columnList,(c,M)=>(e.openBlock(),e.createBlock(E,{key:M,prop:c.prop,align:c.align,label:c.label,width:c.width,"header-align":c.headerAlign,"show-overflow-tooltip":""},null,8,["prop","align","label","width","header-align"]))),128))]),_:1},8,["row-class-name","data"])],512),[[e.vShow,u.value&&!n.isRead]])],32)}}}),L="",d=((n,f)=>{const r=n.__vccOpts||n;for(const[i,u]of f)r[i]=u;return r})(k,[["__scopeId","data-v-e5a23390"]]);d.install=n=>{n.component(d.name,d)};const x=[d],p=function(n){p.installed||x.forEach(f=>{n.component(f.name,f)})};typeof window<"u"&&window.Vue&&p(window.Vue);const S={install:p,SelectTable:d};s.SelectTable=d,s.default=S,s.install=p,Object.defineProperties(s,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(s,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(s=typeof globalThis<"u"?globalThis:s||self,e(s.HuiyiSelectTable={},s.Vue))})(this,function(s,e){"use strict";const L="",x=e.defineComponent({name:"InputSelectCompont",__name:"SelectTable",props:{originalData:Object,showValue:String,columnList:Object,searchQueryInit:String,labelIndex:String,isRead:!1,isRequired:!1,isIndex:1},emits:["slectValue"],setup(a,{emit:d}){const r=a,i=e.ref("");i.value=r.searchQueryInit;const u=e.ref(!1),n=e.ref([]),v=e.ref([]),_=e.ref(!1),o=e.ref(-1),g=e.ref(-1),w=e.ref(null),y=e.ref(null),S=({row:l,rowIndex:t})=>o.value===t?"warning-row":"",R=e.computed(()=>{if(!u.value||!y.value)return{display:"none"};const l=y.value.getBoundingClientRect();return{position:"fixed",top:l.bottom+"px",left:l.left+"px",width:l.width+80+"px",zIndex:1e4,backgroundColor:"#FFF",height:"230px"}}),m=()=>{u.value=!0,i.value?(n.value=r.originalData.filter(l=>Object.keys(l).some(t=>String(l[t]).toLowerCase().includes(i.value.toLowerCase()))),console.log(n.value),o.value=-1,g.value=-1):n.value=r.originalData},T=d,V=l=>{v.value=l,console.log(l)},b=l=>{v.value=l,l&&(i.value=l[r.showValue],u.value=!1);let t={val:l,isIndex:r.isIndex};T("slectValue",t)},D=()=>{_.value==!1&&setTimeout(()=>{u.value=!1},150)},B=()=>{_.value=!0},O=()=>{_.value=!1},q=l=>{if(console.log(l.key,"event.key "),n.value.length!==0)if(l.key=="ArrowDown"){l.preventDefault();let t=o.value+1;t>=n.value.length&&(t=0),console.log(t,"newIndex"),k(t)}else if(l.key=="ArrowUp"){l.preventDefault();let t=o.value-1;t<0&&(t=n.value.length-1),k(t)}else l.key==="Enter"&&(l.preventDefault(),u.value==!0?E():m())},E=()=>{if(o.value>=0){g.value===o.value?g.value=-1:g.value=o.value;const l=n.value;console.log(l[o.value],o.value,"hh[currentHighlightIndex]"),b(n.value[o.value])}},k=l=>{o.value=l,e.nextTick(()=>{if(w.value&&n.value.length>0&&l>=0&&l<n.value.length){const p=w.value.$el.querySelectorAll(".el-table__row");console.log(p,"rows"),p.length>0&&l<p.length&&p[l].scrollIntoView({behavior:"smooth",block:"nearest"}),w.value.setCurrentRow(n.value[o.value])}})};return(l,t)=>{const p=e.resolveComponent("el-input"),M=e.resolveComponent("el-table-column"),j=e.resolveComponent("el-table");return e.openBlock(),e.createElementBlock("span",{class:"huiyi-select-spanInput",onMouseover:B,onMouseout:O,ref_key:"inputContainerRef",ref:y},[e.createVNode(p,{placeholder:"请输入搜索内容",modelValue:i.value,"onUpdate:modelValue":t[0]||(t[0]=c=>i.value=c),id:"filterInput",onInput:m,style:{width:"200px"},readonly:a.isRead,required:a.isRequired,onFocus:m,onBlur:D,onKeydown:q},null,8,["modelValue","readonly","required"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body",class:"huiyi-select-spanDiv"},[e.createVNode(j,{ref_key:"singleTableRef",ref:w,border:"",class:"huiyi-select-spanInputTable","row-class-name":S,"highlight-current-row":"",data:n.value,onCurrentChange:V,onRowClick:b,style:e.normalizeStyle(R.value)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.columnList,(c,F)=>(e.openBlock(),e.createBlock(M,{key:F,prop:c.prop,align:c.align,label:c.label,width:c.width,"header-align":c.headerAlign,"show-overflow-tooltip":""},null,8,["prop","align","label","width","header-align"]))),128))]),_:1},8,["data","style"])]))],544)}}}),A="",f=((a,d)=>{const r=a.__vccOpts||a;for(const[i,u]of d)r[i]=u;return r})(x,[["__scopeId","data-v-f5648f73"]]);f.install=a=>{a.component(f.name,f)};const I=[f],h=function(a){h.installed||I.forEach(d=>{a.component(d.name,d)})};typeof window<"u"&&window.Vue&&h(window.Vue);const C={install:h,SelectTable:f};s.SelectTable=f,s.default=C,s.install=h,Object.defineProperties(s,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "huiyi-select-table",
3
- "version": "0.1.16",
3
+ "version": "0.1.18",
4
4
  "description": "A Vue.js select table component",
5
5
  "main": "huiyi-select-table.umd.js",
6
6
  "module": "huiyi-select-table.mjs",
package/style.css CHANGED
@@ -1 +1 @@
1
- .el-table .warning-row[data-v-e5a23390]{--el-table-tr-bg-color: #141}.huiyi-select-spanInput[data-v-e5a23390]{display:inline-block;position:relative}.huiyi-select-spanDiv[data-v-e5a23390]{z-index:10000;position:absolute;top:35px;background-color:#fff;height:230px;border:1px solid #eee}
1
+ .el-table .warning-row[data-v-f5648f73]{--el-table-tr-bg-color: #141}.huiyi-select-spanInput[data-v-f5648f73]{display:inline-block;position:relative}