@jnrs/vue-core 1.1.7 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,2 @@
1
- export { useAsyncTableHeight } from './useAsyncTableHeight';
1
+ export { useReactivityTableHeight } from './useReactivityTableHeight';
2
+ export { useMouseSelection } from './useMouseSelection';
@@ -1,124 +1,5 @@
1
- import { ref as M, onMounted as N, onUnmounted as P } from "vue";
2
- var R = typeof global == "object" && global && global.Object === Object && global, B = typeof self == "object" && self && self.Object === Object && self, k = R || B || Function("return this")(), T = k.Symbol, L = Object.prototype, F = L.hasOwnProperty, U = L.toString, m = T ? T.toStringTag : void 0;
3
- function z(e) {
4
- var n = F.call(e, m), i = e[m];
5
- try {
6
- e[m] = void 0;
7
- var o = !0;
8
- } catch {
9
- }
10
- var a = U.call(e);
11
- return o && (n ? e[m] = i : delete e[m]), a;
12
- }
13
- var G = Object.prototype, _ = G.toString;
14
- function q(e) {
15
- return _.call(e);
16
- }
17
- var D = "[object Null]", X = "[object Undefined]", E = T ? T.toStringTag : void 0;
18
- function J(e) {
19
- return e == null ? e === void 0 ? X : D : E && E in Object(e) ? z(e) : q(e);
20
- }
21
- function K(e) {
22
- return e != null && typeof e == "object";
23
- }
24
- var Q = "[object Symbol]";
25
- function V(e) {
26
- return typeof e == "symbol" || K(e) && J(e) == Q;
27
- }
28
- var Y = /\s/;
29
- function Z(e) {
30
- for (var n = e.length; n-- && Y.test(e.charAt(n)); )
31
- ;
32
- return n;
33
- }
34
- var ee = /^\s+/;
35
- function ne(e) {
36
- return e && e.slice(0, Z(e) + 1).replace(ee, "");
37
- }
38
- function v(e) {
39
- var n = typeof e;
40
- return e != null && (n == "object" || n == "function");
41
- }
42
- var w = NaN, te = /^[-+]0x[0-9a-f]+$/i, re = /^0b[01]+$/i, ie = /^0o[0-7]+$/i, oe = parseInt;
43
- function $(e) {
44
- if (typeof e == "number")
45
- return e;
46
- if (V(e))
47
- return w;
48
- if (v(e)) {
49
- var n = typeof e.valueOf == "function" ? e.valueOf() : e;
50
- e = v(n) ? n + "" : n;
51
- }
52
- if (typeof e != "string")
53
- return e === 0 ? e : +e;
54
- e = ne(e);
55
- var i = re.test(e);
56
- return i || ie.test(e) ? oe(e.slice(2), i ? 2 : 8) : te.test(e) ? w : +e;
57
- }
58
- var j = function() {
59
- return k.Date.now();
60
- }, ae = "Expected a function", ce = Math.max, fe = Math.min;
61
- function ue(e, n, i) {
62
- var o, a, f, u, r, c, s = 0, S = !1, l = !1, y = !0;
63
- if (typeof e != "function")
64
- throw new TypeError(ae);
65
- n = $(n) || 0, v(i) && (S = !!i.leading, l = "maxWait" in i, f = l ? ce($(i.maxWait) || 0, n) : f, y = "trailing" in i ? !!i.trailing : y);
66
- function p(t) {
67
- var d = o, g = a;
68
- return o = a = void 0, s = t, u = e.apply(g, d), u;
69
- }
70
- function H(t) {
71
- return s = t, r = setTimeout(b, n), S ? p(t) : u;
72
- }
73
- function W(t) {
74
- var d = t - c, g = t - s, I = n - d;
75
- return l ? fe(I, f - g) : I;
76
- }
77
- function O(t) {
78
- var d = t - c, g = t - s;
79
- return c === void 0 || d >= n || d < 0 || l && g >= f;
80
- }
81
- function b() {
82
- var t = j();
83
- if (O(t))
84
- return x(t);
85
- r = setTimeout(b, W(t));
86
- }
87
- function x(t) {
88
- return r = void 0, y && o ? p(t) : (o = a = void 0, u);
89
- }
90
- function A() {
91
- r !== void 0 && clearTimeout(r), s = 0, o = c = a = r = void 0;
92
- }
93
- function C() {
94
- return r === void 0 ? u : x(j());
95
- }
96
- function h() {
97
- var t = j(), d = O(t);
98
- if (o = arguments, a = this, c = t, d) {
99
- if (r === void 0)
100
- return H(c);
101
- if (l)
102
- return clearTimeout(r), r = setTimeout(b, n), p(c);
103
- }
104
- return r === void 0 && (r = setTimeout(b, n)), u;
105
- }
106
- return h.cancel = A, h.flush = C, h;
107
- }
108
- const de = (e = "el-table", n = 36, i = 40) => {
109
- const o = M(500), a = ue(() => {
110
- const f = document.querySelector(`.${e}`);
111
- if (f) {
112
- const u = f.getBoundingClientRect(), r = window.innerHeight, c = u.top + n + i, s = r - c;
113
- o.value = s > 100 ? s : 100;
114
- }
115
- }, 300);
116
- return N(() => {
117
- a(), window.addEventListener("resize", a);
118
- }), P(() => {
119
- window.removeEventListener("resize", a);
120
- }), { maxHeight: o };
121
- };
1
+ import { a as s, u as t } from "../useMouseSelection-v7Ud0vBn.js";
122
2
  export {
123
- de as useAsyncTableHeight
3
+ s as useMouseSelection,
4
+ t as useReactivityTableHeight
124
5
  };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @Author : TanRui
3
+ * @WeChat : Tan578853789
4
+ * @File : useMouseSelection.ts
5
+ * @Date : 2025/04/14
6
+ * @Desc. : 鼠标框选表格进行多选、回车执行回调
7
+ */
8
+ /**
9
+ * @param {*} containerClass 表格或容器类名,默认值 el-table,如果页面存在多个表格,则必须分别传入自定义类名
10
+ * @param {*} rowClass 表格或容器类名,默认值 el-table__row
11
+ * @param {*} callback 框选后的回调,默认处理的是 input[type='checkbox'] 元素
12
+ * @returns handleMouseDown
13
+ * @example <el-table @mousedown="handleMouseDown" @selection-change="handleSelectionChange">
14
+ */
15
+ export declare function useMouseSelection({ containerClass, rowClass, callback }?: {
16
+ containerClass?: string | undefined;
17
+ rowClass?: string | undefined;
18
+ callback?: ((row: HTMLElement) => void) | undefined;
19
+ }): {
20
+ handleMouseDown: (event: MouseEvent) => void;
21
+ };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @Author : TanRui
3
+ * @WeChat : Tan578853789
4
+ * @File : useReactivityTableHeight.ts
5
+ * @Date : 2025/12/10
6
+ * @Desc. : 响应式根据视口动态计算表格高度
7
+ */
8
+ export interface UseReactivityTableHeightOptions {
9
+ className?: string;
10
+ bottomGap?: number;
11
+ }
12
+ /**
13
+ * @param className 表格类名,默认值 el-table,如果页面存在多个表格,则必须分别传入自定义类名
14
+ * @param bottomGap 底部间隔,默认值 77
15
+ * @return maxHeight 表格高度
16
+ */
17
+ export declare function useReactivityTableHeight({ className, bottomGap }?: UseReactivityTableHeightOptions): {
18
+ maxHeight: import('vue').Ref<number, number>;
19
+ };
@@ -10,3 +10,62 @@ export interface MenuItem {
10
10
  redirect?: string;
11
11
  children?: MenuItem[];
12
12
  }
13
+ /**
14
+ * Element 尺寸
15
+ */
16
+ export type ElSize = '' | 'large' | 'default' | 'small';
17
+ /**
18
+ * 文件信息
19
+ */
20
+ export interface Attachment {
21
+ /**
22
+ * 数据 id
23
+ */
24
+ id: number;
25
+ /**
26
+ * 文件 id
27
+ */
28
+ documentId: number;
29
+ /**
30
+ * 文件名
31
+ */
32
+ fileName: string;
33
+ /**
34
+ * 文件名唯一标识(用于文件获取 API)
35
+ */
36
+ uniqueFileName: string;
37
+ /**
38
+ * MIME 类型
39
+ */
40
+ fileType: string;
41
+ /**
42
+ * 文件大小 单位:字节(Bytes)
43
+ */
44
+ fileSize: number;
45
+ }
46
+ /**
47
+ * 分页
48
+ */
49
+ export interface Pagination {
50
+ /**
51
+ * 当前页码
52
+ */
53
+ pageNo: number;
54
+ /**
55
+ * 每页大小
56
+ */
57
+ pageSize: number;
58
+ }
59
+ /**
60
+ * 分页列表数据
61
+ */
62
+ export interface PageTableData<T> extends Pagination {
63
+ /**
64
+ * 数据列表
65
+ */
66
+ list: T[];
67
+ /**
68
+ * 数据总数
69
+ */
70
+ count: number;
71
+ }
@@ -0,0 +1,207 @@
1
+ import { ref as P, onActivated as L, onDeactivated as B, onMounted as q, onUnmounted as D } from "vue";
2
+ var N = typeof global == "object" && global && global.Object === Object && global, C = typeof self == "object" && self && self.Object === Object && self, $ = N || C || Function("return this")(), T = $.Symbol, H = Object.prototype, W = H.hasOwnProperty, F = H.toString, h = T ? T.toStringTag : void 0;
3
+ function G(e) {
4
+ var t = W.call(e, h), c = e[h];
5
+ try {
6
+ e[h] = void 0;
7
+ var i = !0;
8
+ } catch {
9
+ }
10
+ var n = F.call(e);
11
+ return i && (t ? e[h] = c : delete e[h]), n;
12
+ }
13
+ var U = Object.prototype, z = U.toString;
14
+ function X(e) {
15
+ return z.call(e);
16
+ }
17
+ var Y = "[object Null]", J = "[object Undefined]", I = T ? T.toStringTag : void 0;
18
+ function K(e) {
19
+ return e == null ? e === void 0 ? J : Y : I && I in Object(e) ? G(e) : X(e);
20
+ }
21
+ function Q(e) {
22
+ return e != null && typeof e == "object";
23
+ }
24
+ var V = "[object Symbol]";
25
+ function Z(e) {
26
+ return typeof e == "symbol" || Q(e) && K(e) == V;
27
+ }
28
+ var ee = /\s/;
29
+ function te(e) {
30
+ for (var t = e.length; t-- && ee.test(e.charAt(t)); )
31
+ ;
32
+ return t;
33
+ }
34
+ var ne = /^\s+/;
35
+ function ie(e) {
36
+ return e && e.slice(0, te(e) + 1).replace(ne, "");
37
+ }
38
+ function M(e) {
39
+ var t = typeof e;
40
+ return e != null && (t == "object" || t == "function");
41
+ }
42
+ var R = NaN, oe = /^[-+]0x[0-9a-f]+$/i, re = /^0b[01]+$/i, ce = /^0o[0-7]+$/i, se = parseInt;
43
+ function k(e) {
44
+ if (typeof e == "number")
45
+ return e;
46
+ if (Z(e))
47
+ return R;
48
+ if (M(e)) {
49
+ var t = typeof e.valueOf == "function" ? e.valueOf() : e;
50
+ e = M(t) ? t + "" : t;
51
+ }
52
+ if (typeof e != "string")
53
+ return e === 0 ? e : +e;
54
+ e = ie(e);
55
+ var c = re.test(e);
56
+ return c || ce.test(e) ? se(e.slice(2), c ? 2 : 8) : oe.test(e) ? R : +e;
57
+ }
58
+ var j = function() {
59
+ return $.Date.now();
60
+ }, ae = "Expected a function", ue = Math.max, fe = Math.min;
61
+ function de(e, t, c) {
62
+ var i, n, o, f, s, a, b = 0, y = !1, u = !1, d = !0;
63
+ if (typeof e != "function")
64
+ throw new TypeError(ae);
65
+ t = k(t) || 0, M(c) && (y = !!c.leading, u = "maxWait" in c, o = u ? ue(k(c.maxWait) || 0, t) : o, d = "trailing" in c ? !!c.trailing : d);
66
+ function l(r) {
67
+ var g = i, x = n;
68
+ return i = n = void 0, b = r, f = e.apply(x, g), f;
69
+ }
70
+ function m(r) {
71
+ return b = r, s = setTimeout(S, t), y ? l(r) : f;
72
+ }
73
+ function p(r) {
74
+ var g = r - a, x = r - b, E = t - g;
75
+ return u ? fe(E, o - x) : E;
76
+ }
77
+ function v(r) {
78
+ var g = r - a, x = r - b;
79
+ return a === void 0 || g >= t || g < 0 || u && x >= o;
80
+ }
81
+ function S() {
82
+ var r = j();
83
+ if (v(r))
84
+ return O(r);
85
+ s = setTimeout(S, p(r));
86
+ }
87
+ function O(r) {
88
+ return s = void 0, d && i ? l(r) : (i = n = void 0, f);
89
+ }
90
+ function _() {
91
+ s !== void 0 && clearTimeout(s), b = 0, i = a = n = s = void 0;
92
+ }
93
+ function A() {
94
+ return s === void 0 ? f : O(j());
95
+ }
96
+ function w() {
97
+ var r = j(), g = v(r);
98
+ if (i = arguments, n = this, a = r, g) {
99
+ if (s === void 0)
100
+ return m(a);
101
+ if (u)
102
+ return clearTimeout(s), s = setTimeout(S, t), l(a);
103
+ }
104
+ return s === void 0 && (s = setTimeout(S, t)), f;
105
+ }
106
+ return w.cancel = _, w.flush = A, w;
107
+ }
108
+ const le = 40, me = 40;
109
+ function xe({
110
+ className: e = "el-table",
111
+ bottomGap: t = le + me
112
+ } = {}) {
113
+ const c = P(500), i = de(
114
+ () => {
115
+ const n = document.querySelector(`.${e}`);
116
+ if (n) {
117
+ const o = n.getBoundingClientRect(), f = window.innerHeight, s = o.top + t, a = f - s;
118
+ c.value = a > 100 ? a : 100;
119
+ }
120
+ },
121
+ 300,
122
+ { leading: !1 }
123
+ );
124
+ return L(() => {
125
+ i(), window.addEventListener("resize", i);
126
+ }), B(() => {
127
+ window.removeEventListener("resize", i);
128
+ }), { maxHeight: c };
129
+ }
130
+ function he({
131
+ containerClass: e = "jn_table",
132
+ rowClass: t = "el-table__row",
133
+ callback: c = ge
134
+ } = {}) {
135
+ let i = !1, n = { x: 0, y: 0 }, o = { x: 0, y: 0 };
136
+ q(() => {
137
+ window.addEventListener("mouseup", a);
138
+ }), D(() => {
139
+ window.removeEventListener("mouseup", a);
140
+ }), L(() => {
141
+ window.addEventListener("mouseup", a);
142
+ }), B(() => {
143
+ window.removeEventListener("mouseup", a);
144
+ });
145
+ const f = (u) => {
146
+ window.addEventListener("mousemove", s), i = !1, n = { x: u.clientX, y: u.clientY }, o = { ...n };
147
+ }, s = (u) => {
148
+ o = { x: u.clientX, y: u.clientY }, Math.abs(o.x - n.x) > 5 && Math.abs(o.y - n.y) > 25 && (i = !0), i && b(), y();
149
+ }, a = () => {
150
+ window.removeEventListener("mousemove", s), i && (i = !1), y();
151
+ }, b = () => {
152
+ const d = document.querySelector(`.${e}`)?.querySelectorAll(`.${t}`);
153
+ if (!d)
154
+ return !1;
155
+ d.forEach((l) => {
156
+ const m = l.getBoundingClientRect();
157
+ m.right > Math.min(n.x, o.x) && m.left < Math.max(n.x, o.x) && m.bottom > Math.min(n.y, o.y) && m.top < Math.max(n.y, o.y) && c && c(l);
158
+ });
159
+ }, y = () => {
160
+ const u = document.querySelector(".useMouseSelection_fixedRectBox");
161
+ if (u) {
162
+ const d = Math.min(n.x, o.x) + "px", l = Math.min(n.y, o.y) + "px", m = Math.abs(o.x - n.x) + "px", p = Math.abs(o.y - n.y) + "px";
163
+ Object.assign(u.style, {
164
+ display: i ? "block" : "none",
165
+ left: d,
166
+ top: l,
167
+ width: m,
168
+ height: p
169
+ });
170
+ const v = document.querySelector(`.${e}`);
171
+ Object.assign(v.style, {
172
+ "user-select": i ? "none" : "auto"
173
+ });
174
+ }
175
+ };
176
+ return be(), {
177
+ handleMouseDown: f
178
+ };
179
+ }
180
+ const ge = (e) => {
181
+ const t = e.querySelector("input[type='checkbox']");
182
+ t && !t.checked && t.click();
183
+ }, be = () => {
184
+ if (!document.querySelector(".useMouseSelection_fixedRectBox")) {
185
+ const t = document.createElement("div");
186
+ t.className = "useMouseSelection_fixedRectBox", Object.assign(t.style, {
187
+ display: "none",
188
+ position: "fixed",
189
+ "z-index": 100,
190
+ border: "2px dashed #409eff",
191
+ "background-color": "rgba(64, 158, 255, 0.2)",
192
+ "pointer-events": "none",
193
+ "will-change": "transform"
194
+ }), document.body.appendChild(t);
195
+ }
196
+ };
197
+ export {
198
+ T as S,
199
+ he as a,
200
+ K as b,
201
+ Q as c,
202
+ de as d,
203
+ N as f,
204
+ M as i,
205
+ $ as r,
206
+ xe as u
207
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jnrs/vue-core",
3
- "version": "1.1.7",
3
+ "version": "1.2.2",
4
4
  "description": "巨能前端工程化开发,Vue 专用核心功能包。",
5
5
  "keywords": [
6
6
  "jnrs",
@@ -1,15 +0,0 @@
1
- /**
2
- * @Author : TanRui
3
- * @WeChat : Tan578853789
4
- * @File : useAsyncTableHeight.ts
5
- * @Date : 2025/12/09
6
- * @Desc. : 根据视口动态计算表格高度
7
- */
8
- /**
9
- * @param {*} className 表格类名,默认值 el-table,如果页面存在多个表格,则必须分别传入自定义类名
10
- * @param {*} FOOT_HEIGHT 总底部高度
11
- * @param {*} PADDING_HEIGHT 总边距
12
- */
13
- export declare const useAsyncTableHeight: (className?: string, FOOT_HEIGHT?: number, PADDING_HEIGHT?: number) => {
14
- maxHeight: import('vue').Ref<number, number>;
15
- };