ronds-metadata 1.1.15 → 1.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.
@@ -51,7 +51,7 @@ var EditableRow = function EditableRow(props) {
|
|
51
51
|
onValuesChange: onValuesChange,
|
52
52
|
component: false
|
53
53
|
}, /*#__PURE__*/React.createElement("tr", _extends({}, props, {
|
54
|
-
className: "".concat(index % 2 === 0 ? 'ant-table-row--even' : 'ant-table-row--odd', " ").concat(className, " "),
|
54
|
+
className: "".concat(index % 2 === 0 || props['data-row-key'] ? 'ant-table-row--even' : 'ant-table-row--odd', " ").concat(className, " "),
|
55
55
|
style: {
|
56
56
|
height: '30px'
|
57
57
|
},
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { DependencyList } from 'react';
|
2
|
+
export default function useSyncScroll({ vertical, horizontal }: {
|
3
|
+
vertical: any;
|
4
|
+
horizontal: any;
|
5
|
+
}, deps?: DependencyList): (ref: any) => number;
|
6
|
+
export declare function useSyncScrollByRefs(refsRef: any, { vertical, horizontal }: {
|
7
|
+
vertical: any;
|
8
|
+
horizontal: any;
|
9
|
+
}, deps?: DependencyList): boolean;
|
@@ -0,0 +1,110 @@
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
2
|
+
|
3
|
+
/*
|
4
|
+
* @Author: wangxian
|
5
|
+
* @Date: 2022-06-24 08:44:41
|
6
|
+
* @LastEditTime: 2022-06-24 14:38:28
|
7
|
+
*/
|
8
|
+
import React from 'react';
|
9
|
+
|
10
|
+
function syncScroll(target, others, TopLeft, WidthHeight) {
|
11
|
+
var percentage = target["scroll".concat(TopLeft)] / (target["scroll".concat(WidthHeight)] - target["offset".concat(WidthHeight)]);
|
12
|
+
window.requestAnimationFrame(function () {
|
13
|
+
others.forEach(function (el) {
|
14
|
+
el["scroll".concat(TopLeft)] = Math.round(percentage * (el["scroll".concat(WidthHeight)] - el["offset".concat(WidthHeight)]));
|
15
|
+
});
|
16
|
+
});
|
17
|
+
}
|
18
|
+
|
19
|
+
function syncVerticalScroll(target, others) {
|
20
|
+
syncScroll(target, others, 'Top', 'Height');
|
21
|
+
}
|
22
|
+
|
23
|
+
function syncHorizontalScroll(target, others) {
|
24
|
+
syncScroll(target, others, 'Left', 'Width');
|
25
|
+
}
|
26
|
+
|
27
|
+
export default function useSyncScroll(_ref) {
|
28
|
+
var vertical = _ref.vertical,
|
29
|
+
horizontal = _ref.horizontal;
|
30
|
+
var deps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
31
|
+
var refsRef = React.useRef([]);
|
32
|
+
var locksRef = React.useRef(0);
|
33
|
+
React.useEffect(function () {
|
34
|
+
if (refsRef.current.length < 2) return function () {};
|
35
|
+
|
36
|
+
function handleScroll(_ref2) {
|
37
|
+
var target = _ref2.target;
|
38
|
+
|
39
|
+
if (locksRef.current > 0) {
|
40
|
+
locksRef.current -= 1; // Release lock by 1
|
41
|
+
|
42
|
+
return;
|
43
|
+
}
|
44
|
+
|
45
|
+
locksRef.current = refsRef.current.length - 1; // Acquire lock
|
46
|
+
|
47
|
+
var others = refsRef.current.filter(function (ref) {
|
48
|
+
return ref !== target;
|
49
|
+
});
|
50
|
+
if (vertical) syncVerticalScroll(target, others);
|
51
|
+
if (horizontal) syncHorizontalScroll(target, others);
|
52
|
+
}
|
53
|
+
|
54
|
+
var elements = refsRef.current;
|
55
|
+
elements.forEach(function (el) {
|
56
|
+
return el.addEventListener('scroll', handleScroll);
|
57
|
+
});
|
58
|
+
return function () {
|
59
|
+
elements.forEach(function (el) {
|
60
|
+
return el.removeEventListener('scroll', handleScroll);
|
61
|
+
});
|
62
|
+
};
|
63
|
+
}, [refsRef, vertical, horizontal, locksRef].concat(_toConsumableArray(deps)));
|
64
|
+
return function (ref) {
|
65
|
+
return refsRef.current.push(ref);
|
66
|
+
};
|
67
|
+
}
|
68
|
+
export function useSyncScrollByRefs(refsRef, _ref3) {
|
69
|
+
var vertical = _ref3.vertical,
|
70
|
+
horizontal = _ref3.horizontal;
|
71
|
+
var deps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
72
|
+
var refsRefOk = refsRef && refsRef.current && refsRef.current.length > 1;
|
73
|
+
var locksRef = React.useRef(0);
|
74
|
+
React.useEffect(function () {
|
75
|
+
if (!refsRefOk) return function () {};
|
76
|
+
|
77
|
+
function handleScroll(_ref4) {
|
78
|
+
var target = _ref4.target;
|
79
|
+
|
80
|
+
if (locksRef.current > 0) {
|
81
|
+
locksRef.current -= 1; // Release lock by 1
|
82
|
+
|
83
|
+
return;
|
84
|
+
}
|
85
|
+
|
86
|
+
locksRef.current = refsRef.current.length - 1; // Acquire lock
|
87
|
+
|
88
|
+
var others = refsRef.current.reduce(function (result, ref) {
|
89
|
+
if (ref.current && ref.current !== target) result.push(ref.current);
|
90
|
+
return result;
|
91
|
+
}, []);
|
92
|
+
if (vertical) syncVerticalScroll(target, others);
|
93
|
+
if (horizontal) syncHorizontalScroll(target, others);
|
94
|
+
}
|
95
|
+
|
96
|
+
var elements = refsRef.current.reduce(function (result, ref) {
|
97
|
+
if (ref.current) result.push(ref.current);
|
98
|
+
return result;
|
99
|
+
}, []);
|
100
|
+
elements.forEach(function (el) {
|
101
|
+
return el.addEventListener('scroll', handleScroll);
|
102
|
+
});
|
103
|
+
return function () {
|
104
|
+
elements.forEach(function (el) {
|
105
|
+
return el.removeEventListener('scroll', handleScroll);
|
106
|
+
});
|
107
|
+
};
|
108
|
+
}, [refsRef, refsRefOk, vertical, horizontal, locksRef].concat(_toConsumableArray(deps)));
|
109
|
+
return refsRefOk;
|
110
|
+
}
|
package/es/index.d.ts
CHANGED
@@ -14,5 +14,6 @@ export * from './framework/metadata/index';
|
|
14
14
|
export { default as http, addInterceptor } from './framework/http/index';
|
15
15
|
export { default as useMemoSubject } from './framework/rxjs-hooks/useMemoSubject';
|
16
16
|
export { default as useObservable } from './framework/rxjs-hooks/useObservable';
|
17
|
+
export { default as useSyncScroll, useSyncScrollByRefs } from './framework/hooks/use-sync-scroll';
|
17
18
|
export { registerMetadataAPI } from './framework/metadata/MetadataService';
|
18
19
|
export { globalSettingStream } from './config';
|
package/es/index.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* @Author:wangxian
|
3
3
|
* @Date: 2021-09-18 14:15:04
|
4
|
-
* @LastEditTime: 2022-
|
4
|
+
* @LastEditTime: 2022-06-24 10:28:22
|
5
5
|
*/
|
6
6
|
import './theme.less';
|
7
7
|
export { default as MetadataEdit } from './comps/MetadataEdit';
|
@@ -19,5 +19,6 @@ export * from './framework/metadata/index';
|
|
19
19
|
export { default as http, addInterceptor } from './framework/http/index';
|
20
20
|
export { default as useMemoSubject } from './framework/rxjs-hooks/useMemoSubject';
|
21
21
|
export { default as useObservable } from './framework/rxjs-hooks/useObservable';
|
22
|
+
export { default as useSyncScroll, useSyncScrollByRefs } from './framework/hooks/use-sync-scroll';
|
22
23
|
export { registerMetadataAPI } from './framework/metadata/MetadataService';
|
23
24
|
export { globalSettingStream } from './config';
|