@udi-organization/udi-package 1.0.74 → 1.0.76
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.cjs.js +353 -254
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +253 -154
- package/dist/index.esm.js.map +1 -1
- package/package.json +6 -2
package/dist/index.cjs.js
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var react = require('react');
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var md = require('react-icons/md');
|
|
6
|
+
var moment = require('moment');
|
|
7
|
+
var fa = require('react-icons/fa');
|
|
8
|
+
var material = require('@mui/material');
|
|
9
|
+
var AdapterDateFns = require('@mui/x-date-pickers/AdapterDateFns');
|
|
10
|
+
var LocalizationProvider = require('@mui/x-date-pickers/LocalizationProvider');
|
|
11
|
+
var MobileDateTimePicker = require('@mui/x-date-pickers/MobileDateTimePicker');
|
|
12
|
+
var PropTypes = require('prop-types');
|
|
5
13
|
|
|
6
14
|
function _arrayLikeToArray(r, a) {
|
|
7
15
|
(null == a || a > r.length) && (a = r.length);
|
|
@@ -39,8 +47,8 @@ function _asyncToGenerator(n) {
|
|
|
39
47
|
});
|
|
40
48
|
};
|
|
41
49
|
}
|
|
42
|
-
function _defineProperty
|
|
43
|
-
return (r = _toPropertyKey
|
|
50
|
+
function _defineProperty(e, r, t) {
|
|
51
|
+
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
44
52
|
value: t,
|
|
45
53
|
enumerable: true,
|
|
46
54
|
configurable: true,
|
|
@@ -80,7 +88,7 @@ function _nonIterableRest() {
|
|
|
80
88
|
function _nonIterableSpread() {
|
|
81
89
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
82
90
|
}
|
|
83
|
-
function ownKeys
|
|
91
|
+
function ownKeys(e, r) {
|
|
84
92
|
var t = Object.keys(e);
|
|
85
93
|
if (Object.getOwnPropertySymbols) {
|
|
86
94
|
var o = Object.getOwnPropertySymbols(e);
|
|
@@ -93,34 +101,14 @@ function ownKeys$1(e, r) {
|
|
|
93
101
|
function _objectSpread2(e) {
|
|
94
102
|
for (var r = 1; r < arguments.length; r++) {
|
|
95
103
|
var t = null != arguments[r] ? arguments[r] : {};
|
|
96
|
-
r % 2 ? ownKeys
|
|
97
|
-
_defineProperty
|
|
98
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys
|
|
104
|
+
r % 2 ? ownKeys(Object(t), true).forEach(function (r) {
|
|
105
|
+
_defineProperty(e, r, t[r]);
|
|
106
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
|
|
99
107
|
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
|
|
100
108
|
});
|
|
101
109
|
}
|
|
102
110
|
return e;
|
|
103
111
|
}
|
|
104
|
-
function _objectWithoutProperties$1(e, t) {
|
|
105
|
-
if (null == e) return {};
|
|
106
|
-
var o,
|
|
107
|
-
r,
|
|
108
|
-
i = _objectWithoutPropertiesLoose$1(e, t);
|
|
109
|
-
if (Object.getOwnPropertySymbols) {
|
|
110
|
-
var n = Object.getOwnPropertySymbols(e);
|
|
111
|
-
for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
|
|
112
|
-
}
|
|
113
|
-
return i;
|
|
114
|
-
}
|
|
115
|
-
function _objectWithoutPropertiesLoose$1(r, e) {
|
|
116
|
-
if (null == r) return {};
|
|
117
|
-
var t = {};
|
|
118
|
-
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
119
|
-
if (-1 !== e.indexOf(n)) continue;
|
|
120
|
-
t[n] = r[n];
|
|
121
|
-
}
|
|
122
|
-
return t;
|
|
123
|
-
}
|
|
124
112
|
function _regenerator() {
|
|
125
113
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
126
114
|
var e,
|
|
@@ -235,7 +223,7 @@ function _slicedToArray(r, e) {
|
|
|
235
223
|
function _toConsumableArray(r) {
|
|
236
224
|
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
|
|
237
225
|
}
|
|
238
|
-
function _toPrimitive
|
|
226
|
+
function _toPrimitive(t, r) {
|
|
239
227
|
if ("object" != typeof t || !t) return t;
|
|
240
228
|
var e = t[Symbol.toPrimitive];
|
|
241
229
|
if (void 0 !== e) {
|
|
@@ -245,8 +233,8 @@ function _toPrimitive$1(t, r) {
|
|
|
245
233
|
}
|
|
246
234
|
return ("string" === r ? String : Number)(t);
|
|
247
235
|
}
|
|
248
|
-
function _toPropertyKey
|
|
249
|
-
var i = _toPrimitive
|
|
236
|
+
function _toPropertyKey(t) {
|
|
237
|
+
var i = _toPrimitive(t, "string");
|
|
250
238
|
return "symbol" == typeof i ? i : i + "";
|
|
251
239
|
}
|
|
252
240
|
function _unsupportedIterableToArray(r, a) {
|
|
@@ -257,56 +245,6 @@ function _unsupportedIterableToArray(r, a) {
|
|
|
257
245
|
}
|
|
258
246
|
}
|
|
259
247
|
|
|
260
|
-
var _excluded$1 = ["children", "onClick", "variant", "disabled", "className"];
|
|
261
|
-
var Button = function Button(_ref) {
|
|
262
|
-
var children = _ref.children,
|
|
263
|
-
onClick = _ref.onClick,
|
|
264
|
-
_ref$variant = _ref.variant,
|
|
265
|
-
variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
|
|
266
|
-
_ref$disabled = _ref.disabled,
|
|
267
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
268
|
-
_ref$className = _ref.className,
|
|
269
|
-
className = _ref$className === void 0 ? '' : _ref$className,
|
|
270
|
-
props = _objectWithoutProperties$1(_ref, _excluded$1);
|
|
271
|
-
var baseStyles = {
|
|
272
|
-
padding: '10px 20px',
|
|
273
|
-
borderRadius: '6px',
|
|
274
|
-
border: 'none',
|
|
275
|
-
cursor: disabled ? 'not-allowed' : 'pointer',
|
|
276
|
-
fontSize: '14px',
|
|
277
|
-
fontWeight: '500',
|
|
278
|
-
opacity: disabled ? 0.6 : 1,
|
|
279
|
-
transition: 'all 0.2s ease'
|
|
280
|
-
};
|
|
281
|
-
var variantStyles = {
|
|
282
|
-
primary: {
|
|
283
|
-
backgroundColor: '#007bff',
|
|
284
|
-
color: 'white'
|
|
285
|
-
},
|
|
286
|
-
secondary: {
|
|
287
|
-
backgroundColor: '#6c757d',
|
|
288
|
-
color: 'white'
|
|
289
|
-
},
|
|
290
|
-
success: {
|
|
291
|
-
backgroundColor: '#28a745',
|
|
292
|
-
color: 'white'
|
|
293
|
-
},
|
|
294
|
-
danger: {
|
|
295
|
-
backgroundColor: '#dc3545',
|
|
296
|
-
color: 'white'
|
|
297
|
-
}
|
|
298
|
-
};
|
|
299
|
-
var buttonStyle = _objectSpread2(_objectSpread2({}, baseStyles), variantStyles[variant]);
|
|
300
|
-
return /*#__PURE__*/jsxRuntime.jsx("button", _objectSpread2(_objectSpread2({
|
|
301
|
-
style: buttonStyle,
|
|
302
|
-
onClick: onClick,
|
|
303
|
-
disabled: disabled,
|
|
304
|
-
className: className
|
|
305
|
-
}, props), {}, {
|
|
306
|
-
children: children
|
|
307
|
-
}));
|
|
308
|
-
};
|
|
309
|
-
|
|
310
248
|
function styleInject(css, ref) {
|
|
311
249
|
if ( ref === void 0 ) ref = {};
|
|
312
250
|
var insertAt = ref.insertAt;
|
|
@@ -515,72 +453,6 @@ var DesktopPaginationControls = function DesktopPaginationControls(_ref3) {
|
|
|
515
453
|
});
|
|
516
454
|
};
|
|
517
455
|
|
|
518
|
-
var DefaultContext = {
|
|
519
|
-
color: undefined,
|
|
520
|
-
size: undefined,
|
|
521
|
-
className: undefined,
|
|
522
|
-
style: undefined,
|
|
523
|
-
attr: undefined
|
|
524
|
-
};
|
|
525
|
-
var IconContext = React.createContext && /*#__PURE__*/React.createContext(DefaultContext);
|
|
526
|
-
|
|
527
|
-
var _excluded = ["attr", "size", "title"];
|
|
528
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
529
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
|
|
530
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
531
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
532
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
533
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
534
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
535
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
536
|
-
function Tree2Element(tree) {
|
|
537
|
-
return tree && tree.map((node, i) => /*#__PURE__*/React.createElement(node.tag, _objectSpread({
|
|
538
|
-
key: i
|
|
539
|
-
}, node.attr), Tree2Element(node.child)));
|
|
540
|
-
}
|
|
541
|
-
function GenIcon(data) {
|
|
542
|
-
return props => /*#__PURE__*/React.createElement(IconBase, _extends({
|
|
543
|
-
attr: _objectSpread({}, data.attr)
|
|
544
|
-
}, props), Tree2Element(data.child));
|
|
545
|
-
}
|
|
546
|
-
function IconBase(props) {
|
|
547
|
-
var elem = conf => {
|
|
548
|
-
var {
|
|
549
|
-
attr,
|
|
550
|
-
size,
|
|
551
|
-
title
|
|
552
|
-
} = props,
|
|
553
|
-
svgProps = _objectWithoutProperties(props, _excluded);
|
|
554
|
-
var computedSize = size || conf.size || "1em";
|
|
555
|
-
var className;
|
|
556
|
-
if (conf.className) className = conf.className;
|
|
557
|
-
if (props.className) className = (className ? className + " " : "") + props.className;
|
|
558
|
-
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
559
|
-
stroke: "currentColor",
|
|
560
|
-
fill: "currentColor",
|
|
561
|
-
strokeWidth: "0"
|
|
562
|
-
}, conf.attr, attr, svgProps, {
|
|
563
|
-
className: className,
|
|
564
|
-
style: _objectSpread(_objectSpread({
|
|
565
|
-
color: props.color || conf.color
|
|
566
|
-
}, conf.style), props.style),
|
|
567
|
-
height: computedSize,
|
|
568
|
-
width: computedSize,
|
|
569
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
570
|
-
}), title && /*#__PURE__*/React.createElement("title", null, title), props.children);
|
|
571
|
-
};
|
|
572
|
-
return IconContext !== undefined ? /*#__PURE__*/React.createElement(IconContext.Consumer, null, conf => elem(conf)) : elem(DefaultContext);
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
// THIS FILE IS AUTO GENERATED
|
|
576
|
-
function MdExpandLess (props) {
|
|
577
|
-
return GenIcon({"attr":{"viewBox":"0 0 24 24"},"child":[{"tag":"path","attr":{"fill":"none","d":"M0 0h24v24H0z"},"child":[]},{"tag":"path","attr":{"d":"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"},"child":[]}]})(props);
|
|
578
|
-
}function MdExpandMore (props) {
|
|
579
|
-
return GenIcon({"attr":{"viewBox":"0 0 24 24"},"child":[{"tag":"path","attr":{"fill":"none","d":"M0 0h24v24H0z"},"child":[]},{"tag":"path","attr":{"d":"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"},"child":[]}]})(props);
|
|
580
|
-
}function MdOutlineMenuBook (props) {
|
|
581
|
-
return GenIcon({"attr":{"viewBox":"0 0 24 24"},"child":[{"tag":"path","attr":{"fill":"none","d":"M0 0h24v24H0z"},"child":[]},{"tag":"path","attr":{"d":"M21 5c-1.11-.35-2.33-.5-3.5-.5-1.95 0-4.05.4-5.5 1.5-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5 1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5V6c-.6-.45-1.25-.75-2-1zm0 13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5V8c1.35-.85 3.8-1.5 5.5-1.5 1.2 0 2.4.15 3.5.5v11.5z"},"child":[]},{"tag":"path","attr":{"d":"M17.5 10.5c.88 0 1.73.09 2.5.26V9.24c-.79-.15-1.64-.24-2.5-.24-1.7 0-3.24.29-4.5.83v1.66c1.13-.64 2.7-.99 4.5-.99zM13 12.49v1.66c1.13-.64 2.7-.99 4.5-.99.88 0 1.73.09 2.5.26V11.9c-.79-.15-1.64-.24-2.5-.24-1.7 0-3.24.3-4.5.83zM17.5 14.33c-1.7 0-3.24.29-4.5.83v1.66c1.13-.64 2.7-.99 4.5-.99.88 0 1.73.09 2.5.26v-1.52c-.79-.16-1.64-.24-2.5-.24z"},"child":[]}]})(props);
|
|
582
|
-
}
|
|
583
|
-
|
|
584
456
|
var TableHeader = function TableHeader(_ref) {
|
|
585
457
|
var name = _ref.name,
|
|
586
458
|
_ref$freeActions = _ref.freeActions,
|
|
@@ -613,9 +485,9 @@ var TableHeader = function TableHeader(_ref) {
|
|
|
613
485
|
style: hasTheme ? {
|
|
614
486
|
color: getCSSVariable('--color-text-primary')
|
|
615
487
|
} : {},
|
|
616
|
-
children: isCollapsed ? /*#__PURE__*/jsxRuntime.jsx(MdExpandMore, {
|
|
488
|
+
children: isCollapsed ? /*#__PURE__*/jsxRuntime.jsx(md.MdExpandMore, {
|
|
617
489
|
size: 20
|
|
618
|
-
}) : /*#__PURE__*/jsxRuntime.jsx(MdExpandLess, {
|
|
490
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(md.MdExpandLess, {
|
|
619
491
|
size: 20
|
|
620
492
|
})
|
|
621
493
|
}), /*#__PURE__*/jsxRuntime.jsx("h3", {
|
|
@@ -641,7 +513,7 @@ var TableHeader = function TableHeader(_ref) {
|
|
|
641
513
|
className: "udi-table-free-action-button",
|
|
642
514
|
style: _objectSpread2({}, action.style),
|
|
643
515
|
disabled: action.disabled,
|
|
644
|
-
children: action.icon ? action.icon : action.label ? action.label : /*#__PURE__*/jsxRuntime.jsx(MdOutlineMenuBook, {})
|
|
516
|
+
children: action.icon ? action.icon : action.label ? action.label : /*#__PURE__*/jsxRuntime.jsx(md.MdOutlineMenuBook, {})
|
|
645
517
|
}, index);
|
|
646
518
|
})
|
|
647
519
|
})]
|
|
@@ -963,29 +835,29 @@ function useDataRequest(_ref) {
|
|
|
963
835
|
_ref$isDev = _ref.isDev,
|
|
964
836
|
isDev = _ref$isDev === void 0 ? false : _ref$isDev;
|
|
965
837
|
// 資料狀態
|
|
966
|
-
var _useState =
|
|
838
|
+
var _useState = react.useState([]),
|
|
967
839
|
_useState2 = _slicedToArray(_useState, 2),
|
|
968
840
|
data = _useState2[0],
|
|
969
841
|
setData = _useState2[1];
|
|
970
|
-
var _useState3 =
|
|
842
|
+
var _useState3 = react.useState(false),
|
|
971
843
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
972
844
|
loading = _useState4[0],
|
|
973
845
|
setLoading = _useState4[1];
|
|
974
|
-
var _useState5 =
|
|
846
|
+
var _useState5 = react.useState(0),
|
|
975
847
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
976
848
|
totalCount = _useState6[0],
|
|
977
849
|
setTotalCount = _useState6[1];
|
|
978
|
-
var _useState7 =
|
|
850
|
+
var _useState7 = react.useState(null),
|
|
979
851
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
980
852
|
error = _useState8[0],
|
|
981
853
|
setError = _useState8[1];
|
|
982
|
-
var _useState9 =
|
|
854
|
+
var _useState9 = react.useState(false),
|
|
983
855
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
984
856
|
isInfiniteScroll = _useState0[0],
|
|
985
857
|
setIsInfiniteScroll = _useState0[1];
|
|
986
858
|
|
|
987
859
|
// 執行資料請求
|
|
988
|
-
var executeDataRequest =
|
|
860
|
+
var executeDataRequest = react.useCallback(/*#__PURE__*/function () {
|
|
989
861
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(params) {
|
|
990
862
|
var result, responseData, _t, _t2;
|
|
991
863
|
return _regenerator().w(function (_context) {
|
|
@@ -1053,7 +925,7 @@ function useDataRequest(_ref) {
|
|
|
1053
925
|
}(), [onDataRequest, isInfiniteScroll, isDev]);
|
|
1054
926
|
|
|
1055
927
|
// 防抖的請求執行
|
|
1056
|
-
var debouncedDataRequest =
|
|
928
|
+
var debouncedDataRequest = react.useMemo(function () {
|
|
1057
929
|
var timeoutId;
|
|
1058
930
|
return function (params) {
|
|
1059
931
|
clearTimeout(timeoutId);
|
|
@@ -1064,7 +936,7 @@ function useDataRequest(_ref) {
|
|
|
1064
936
|
}, [executeDataRequest]);
|
|
1065
937
|
|
|
1066
938
|
// 初始載入
|
|
1067
|
-
var initialLoad =
|
|
939
|
+
var initialLoad = react.useCallback(function (currentPageSize) {
|
|
1068
940
|
if (onDataRequest) {
|
|
1069
941
|
var params = {
|
|
1070
942
|
page: 0,
|
|
@@ -1080,7 +952,7 @@ function useDataRequest(_ref) {
|
|
|
1080
952
|
}, [onDataRequest, executeDataRequest]);
|
|
1081
953
|
|
|
1082
954
|
// 重置資料
|
|
1083
|
-
var resetData =
|
|
955
|
+
var resetData = react.useCallback(function () {
|
|
1084
956
|
setData([]);
|
|
1085
957
|
setTotalCount(0);
|
|
1086
958
|
setError(null);
|
|
@@ -1118,7 +990,7 @@ function useTableScroll() {
|
|
|
1118
990
|
_ref$data = _ref.data,
|
|
1119
991
|
data = _ref$data === void 0 ? [] : _ref$data;
|
|
1120
992
|
// 滾動位置狀態
|
|
1121
|
-
var _useState =
|
|
993
|
+
var _useState = react.useState({
|
|
1122
994
|
top: 0,
|
|
1123
995
|
left: 0,
|
|
1124
996
|
verticalPercent: 0,
|
|
@@ -1129,7 +1001,7 @@ function useTableScroll() {
|
|
|
1129
1001
|
setScrollPosition = _useState2[1];
|
|
1130
1002
|
|
|
1131
1003
|
// 滾動條資訊
|
|
1132
|
-
var _useState3 =
|
|
1004
|
+
var _useState3 = react.useState({
|
|
1133
1005
|
hasHorizontal: false,
|
|
1134
1006
|
hasVertical: false,
|
|
1135
1007
|
maxScrollLeft: 0,
|
|
@@ -1140,10 +1012,10 @@ function useTableScroll() {
|
|
|
1140
1012
|
setScrollbarInfo = _useState4[1];
|
|
1141
1013
|
|
|
1142
1014
|
// 表格容器 ref
|
|
1143
|
-
var tableWrapperRef =
|
|
1015
|
+
var tableWrapperRef = react.useRef(null);
|
|
1144
1016
|
|
|
1145
1017
|
// 滾動事件處理(使用 throttle)
|
|
1146
|
-
|
|
1018
|
+
react.useEffect(function () {
|
|
1147
1019
|
var tableWrapper = tableWrapperRef.current;
|
|
1148
1020
|
if (!tableWrapper) return;
|
|
1149
1021
|
|
|
@@ -1224,7 +1096,7 @@ function useTableScroll() {
|
|
|
1224
1096
|
}, [data]); // 當數據變化時重新初始化
|
|
1225
1097
|
|
|
1226
1098
|
// 滾動控制函數
|
|
1227
|
-
var scrollControl =
|
|
1099
|
+
var scrollControl = react.useCallback(function (axis, value) {
|
|
1228
1100
|
var tableWrapper = tableWrapperRef.current;
|
|
1229
1101
|
if (!tableWrapper) return;
|
|
1230
1102
|
var maxScrollTop = tableWrapper.scrollHeight - tableWrapper.clientHeight;
|
|
@@ -1238,7 +1110,7 @@ function useTableScroll() {
|
|
|
1238
1110
|
}, []);
|
|
1239
1111
|
|
|
1240
1112
|
// 便捷滾動方法
|
|
1241
|
-
var scrollTo =
|
|
1113
|
+
var scrollTo = react.useCallback(function () {
|
|
1242
1114
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1243
1115
|
var top = options.top,
|
|
1244
1116
|
left = options.left;
|
|
@@ -1247,31 +1119,31 @@ function useTableScroll() {
|
|
|
1247
1119
|
}, [scrollControl]);
|
|
1248
1120
|
|
|
1249
1121
|
// 滾動到頂部
|
|
1250
|
-
var scrollToTop =
|
|
1122
|
+
var scrollToTop = react.useCallback(function () {
|
|
1251
1123
|
scrollControl("top", 0);
|
|
1252
1124
|
}, [scrollControl]);
|
|
1253
1125
|
|
|
1254
1126
|
// 滾動到底部
|
|
1255
|
-
var scrollToBottom =
|
|
1127
|
+
var scrollToBottom = react.useCallback(function () {
|
|
1256
1128
|
var tableWrapper = tableWrapperRef.current;
|
|
1257
1129
|
if (!tableWrapper) return;
|
|
1258
1130
|
scrollControl("top", tableWrapper.scrollHeight);
|
|
1259
1131
|
}, [scrollControl]);
|
|
1260
1132
|
|
|
1261
1133
|
// 滾動到最左邊
|
|
1262
|
-
var scrollToLeft =
|
|
1134
|
+
var scrollToLeft = react.useCallback(function () {
|
|
1263
1135
|
scrollControl("left", 0);
|
|
1264
1136
|
}, [scrollControl]);
|
|
1265
1137
|
|
|
1266
1138
|
// 滾動到最右邊
|
|
1267
|
-
var scrollToRight =
|
|
1139
|
+
var scrollToRight = react.useCallback(function () {
|
|
1268
1140
|
var tableWrapper = tableWrapperRef.current;
|
|
1269
1141
|
if (!tableWrapper) return;
|
|
1270
1142
|
scrollControl("left", tableWrapper.scrollWidth);
|
|
1271
1143
|
}, [scrollControl]);
|
|
1272
1144
|
|
|
1273
1145
|
// 取得滾動狀態
|
|
1274
|
-
var getScrollState =
|
|
1146
|
+
var getScrollState = react.useCallback(function () {
|
|
1275
1147
|
return _objectSpread2(_objectSpread2(_objectSpread2({}, scrollPosition), scrollbarInfo), {}, {
|
|
1276
1148
|
isAtTop: scrollPosition.verticalPercent === 0,
|
|
1277
1149
|
isAtBottom: scrollPosition.verticalPercent === 100,
|
|
@@ -1309,39 +1181,39 @@ function useTableFilter() {
|
|
|
1309
1181
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1310
1182
|
onFilterChange = _ref.onFilterChange;
|
|
1311
1183
|
// 基本篩選狀態
|
|
1312
|
-
var _useState =
|
|
1184
|
+
var _useState = react.useState(""),
|
|
1313
1185
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1314
1186
|
filterText = _useState2[0],
|
|
1315
1187
|
setFilterText = _useState2[1];
|
|
1316
|
-
var _useState3 =
|
|
1188
|
+
var _useState3 = react.useState("all"),
|
|
1317
1189
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
1318
1190
|
filterColumn = _useState4[0],
|
|
1319
1191
|
setFilterColumn = _useState4[1];
|
|
1320
1192
|
|
|
1321
1193
|
// 進階篩選狀態
|
|
1322
|
-
var _useState5 =
|
|
1194
|
+
var _useState5 = react.useState(false),
|
|
1323
1195
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
1324
1196
|
showAdvancedFilter = _useState6[0],
|
|
1325
1197
|
setShowAdvancedFilter = _useState6[1];
|
|
1326
|
-
var _useState7 =
|
|
1198
|
+
var _useState7 = react.useState({}),
|
|
1327
1199
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
1328
1200
|
advancedFilters = _useState8[0],
|
|
1329
1201
|
setAdvancedFilters = _useState8[1];
|
|
1330
1202
|
|
|
1331
1203
|
// 更新篩選文字
|
|
1332
|
-
var updateFilterText =
|
|
1204
|
+
var updateFilterText = react.useCallback(function (value) {
|
|
1333
1205
|
setFilterText(value);
|
|
1334
1206
|
onFilterChange === null || onFilterChange === void 0 || onFilterChange();
|
|
1335
1207
|
}, [onFilterChange]);
|
|
1336
1208
|
|
|
1337
1209
|
// 更新篩選欄位
|
|
1338
|
-
var updateFilterColumn =
|
|
1210
|
+
var updateFilterColumn = react.useCallback(function (value) {
|
|
1339
1211
|
setFilterColumn(value);
|
|
1340
1212
|
onFilterChange === null || onFilterChange === void 0 || onFilterChange();
|
|
1341
1213
|
}, [onFilterChange]);
|
|
1342
1214
|
|
|
1343
1215
|
// 重置所有篩選
|
|
1344
|
-
var resetFilter =
|
|
1216
|
+
var resetFilter = react.useCallback(function () {
|
|
1345
1217
|
setFilterText("");
|
|
1346
1218
|
setFilterColumn("all");
|
|
1347
1219
|
setAdvancedFilters({});
|
|
@@ -1349,21 +1221,21 @@ function useTableFilter() {
|
|
|
1349
1221
|
}, [onFilterChange]);
|
|
1350
1222
|
|
|
1351
1223
|
// 處理進階篩選變更
|
|
1352
|
-
var handleAdvancedFilterChange =
|
|
1224
|
+
var handleAdvancedFilterChange = react.useCallback(function (columnKey, value) {
|
|
1353
1225
|
setAdvancedFilters(function (prev) {
|
|
1354
|
-
return _objectSpread2(_objectSpread2({}, prev), {}, _defineProperty
|
|
1226
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, _defineProperty({}, columnKey, value));
|
|
1355
1227
|
});
|
|
1356
1228
|
onFilterChange === null || onFilterChange === void 0 || onFilterChange();
|
|
1357
1229
|
}, [onFilterChange]);
|
|
1358
1230
|
|
|
1359
1231
|
// 清除進階篩選
|
|
1360
|
-
var clearAdvancedFilters =
|
|
1232
|
+
var clearAdvancedFilters = react.useCallback(function () {
|
|
1361
1233
|
setAdvancedFilters({});
|
|
1362
1234
|
onFilterChange === null || onFilterChange === void 0 || onFilterChange();
|
|
1363
1235
|
}, [onFilterChange]);
|
|
1364
1236
|
|
|
1365
1237
|
// 切換進階篩選顯示
|
|
1366
|
-
var toggleAdvancedFilter =
|
|
1238
|
+
var toggleAdvancedFilter = react.useCallback(function () {
|
|
1367
1239
|
setShowAdvancedFilter(function (prev) {
|
|
1368
1240
|
return !prev;
|
|
1369
1241
|
});
|
|
@@ -1380,7 +1252,7 @@ function useTableFilter() {
|
|
|
1380
1252
|
}).length + (filterText ? 1 : 0);
|
|
1381
1253
|
|
|
1382
1254
|
// 取得篩選狀態
|
|
1383
|
-
var getFilterState =
|
|
1255
|
+
var getFilterState = react.useCallback(function () {
|
|
1384
1256
|
return {
|
|
1385
1257
|
filterText: filterText,
|
|
1386
1258
|
filterColumn: filterColumn,
|
|
@@ -1435,23 +1307,23 @@ function useResponsive() {
|
|
|
1435
1307
|
mobileBreakpoint = _ref$mobileBreakpoint === void 0 ? 768 : _ref$mobileBreakpoint,
|
|
1436
1308
|
_ref$tabletBreakpoint = _ref.tabletBreakpoint,
|
|
1437
1309
|
tabletBreakpoint = _ref$tabletBreakpoint === void 0 ? 992 : _ref$tabletBreakpoint;
|
|
1438
|
-
var _useState =
|
|
1310
|
+
var _useState = react.useState(false),
|
|
1439
1311
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1440
1312
|
isMobile = _useState2[0],
|
|
1441
1313
|
setIsMobile = _useState2[1];
|
|
1442
|
-
var _useState3 =
|
|
1314
|
+
var _useState3 = react.useState(false),
|
|
1443
1315
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
1444
1316
|
isTablet = _useState4[0],
|
|
1445
1317
|
setIsTablet = _useState4[1];
|
|
1446
|
-
var _useState5 =
|
|
1318
|
+
var _useState5 = react.useState(typeof window !== "undefined" ? window.innerWidth : 0),
|
|
1447
1319
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
1448
1320
|
screenWidth = _useState6[0],
|
|
1449
1321
|
setScreenWidth = _useState6[1];
|
|
1450
|
-
var _useState7 =
|
|
1322
|
+
var _useState7 = react.useState(typeof window !== "undefined" ? window.innerHeight : 0),
|
|
1451
1323
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
1452
1324
|
screenHeight = _useState8[0],
|
|
1453
1325
|
setScreenHeight = _useState8[1];
|
|
1454
|
-
|
|
1326
|
+
react.useEffect(function () {
|
|
1455
1327
|
var checkScreenSize = function checkScreenSize() {
|
|
1456
1328
|
var width = window.innerWidth;
|
|
1457
1329
|
var height = window.innerHeight;
|
|
@@ -1475,7 +1347,7 @@ function useResponsive() {
|
|
|
1475
1347
|
var isDesktop = !isMobile && !isTablet;
|
|
1476
1348
|
|
|
1477
1349
|
// 取得響應式狀態
|
|
1478
|
-
var getResponsiveState =
|
|
1350
|
+
var getResponsiveState = react.useCallback(function () {
|
|
1479
1351
|
return {
|
|
1480
1352
|
isMobile: isMobile,
|
|
1481
1353
|
isTablet: isTablet,
|
|
@@ -1511,7 +1383,7 @@ function useTableSort() {
|
|
|
1511
1383
|
sortable = _ref$sortable === void 0 ? true : _ref$sortable,
|
|
1512
1384
|
onSortChange = _ref.onSortChange;
|
|
1513
1385
|
// 排序狀態
|
|
1514
|
-
var _useState =
|
|
1386
|
+
var _useState = react.useState({
|
|
1515
1387
|
key: null,
|
|
1516
1388
|
direction: "asc"
|
|
1517
1389
|
}),
|
|
@@ -1520,7 +1392,7 @@ function useTableSort() {
|
|
|
1520
1392
|
setSortConfig = _useState2[1];
|
|
1521
1393
|
|
|
1522
1394
|
// 處理排序
|
|
1523
|
-
var handleSort =
|
|
1395
|
+
var handleSort = react.useCallback(function (key) {
|
|
1524
1396
|
if (!sortable) return;
|
|
1525
1397
|
setSortConfig(function (prev) {
|
|
1526
1398
|
var direction = "asc";
|
|
@@ -1536,7 +1408,7 @@ function useTableSort() {
|
|
|
1536
1408
|
}, [sortable, onSortChange]);
|
|
1537
1409
|
|
|
1538
1410
|
// 重置排序
|
|
1539
|
-
var resetSort =
|
|
1411
|
+
var resetSort = react.useCallback(function () {
|
|
1540
1412
|
setSortConfig({
|
|
1541
1413
|
key: null,
|
|
1542
1414
|
direction: "asc"
|
|
@@ -1545,7 +1417,7 @@ function useTableSort() {
|
|
|
1545
1417
|
}, [onSortChange]);
|
|
1546
1418
|
|
|
1547
1419
|
// 設定排序
|
|
1548
|
-
var setSort =
|
|
1420
|
+
var setSort = react.useCallback(function (key) {
|
|
1549
1421
|
var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "asc";
|
|
1550
1422
|
setSortConfig({
|
|
1551
1423
|
key: key,
|
|
@@ -1555,7 +1427,7 @@ function useTableSort() {
|
|
|
1555
1427
|
}, [onSortChange]);
|
|
1556
1428
|
|
|
1557
1429
|
// 切換排序方向
|
|
1558
|
-
var toggleSortDirection =
|
|
1430
|
+
var toggleSortDirection = react.useCallback(function () {
|
|
1559
1431
|
setSortConfig(function (prev) {
|
|
1560
1432
|
return _objectSpread2(_objectSpread2({}, prev), {}, {
|
|
1561
1433
|
direction: prev.direction === "asc" ? "desc" : "asc"
|
|
@@ -1570,7 +1442,7 @@ function useTableSort() {
|
|
|
1570
1442
|
var sortOrder = sortConfig.direction;
|
|
1571
1443
|
|
|
1572
1444
|
// 取得排序狀態
|
|
1573
|
-
var getSortState =
|
|
1445
|
+
var getSortState = react.useCallback(function () {
|
|
1574
1446
|
return {
|
|
1575
1447
|
sortConfig: sortConfig,
|
|
1576
1448
|
sortBy: sortBy,
|
|
@@ -1627,7 +1499,7 @@ var useTableDimensions = function useTableDimensions(_ref) {
|
|
|
1627
1499
|
* 計算每個欄位的實際寬度
|
|
1628
1500
|
* @returns {Object|null} 欄位寬度映射 { columnId: widthInPx } 或 null(不啟用時)
|
|
1629
1501
|
*/
|
|
1630
|
-
var calculateColumnWidths =
|
|
1502
|
+
var calculateColumnWidths = react.useMemo(function () {
|
|
1631
1503
|
// 如果沒有啟用自動寬度,返回 null(使用舊邏輯)
|
|
1632
1504
|
if (!enableAutoWidth) return null;
|
|
1633
1505
|
|
|
@@ -1694,7 +1566,7 @@ var useTableDimensions = function useTableDimensions(_ref) {
|
|
|
1694
1566
|
* @param {number} singleSize - 單獨尺寸
|
|
1695
1567
|
* @returns {string} CSS 尺寸值
|
|
1696
1568
|
*/
|
|
1697
|
-
var calculateSize =
|
|
1569
|
+
var calculateSize = react.useCallback(function (mainSize, singleSize) {
|
|
1698
1570
|
if (singleSize) return "".concat(singleSize, "px");
|
|
1699
1571
|
if (mainSize) return "".concat(mainSize, "px");
|
|
1700
1572
|
return "auto";
|
|
@@ -1705,7 +1577,7 @@ var useTableDimensions = function useTableDimensions(_ref) {
|
|
|
1705
1577
|
* @param {number} singleRowHeight - 單獨行高
|
|
1706
1578
|
* @returns {string} CSS 高度值
|
|
1707
1579
|
*/
|
|
1708
|
-
var rowHeight =
|
|
1580
|
+
var rowHeight = react.useCallback(function (singleRowHeight) {
|
|
1709
1581
|
return calculateSize(mainRowHeight, singleRowHeight);
|
|
1710
1582
|
}, [mainRowHeight, calculateSize]);
|
|
1711
1583
|
|
|
@@ -1714,7 +1586,7 @@ var useTableDimensions = function useTableDimensions(_ref) {
|
|
|
1714
1586
|
* @param {number} singleColumnWidth - 單獨欄位寬度
|
|
1715
1587
|
* @returns {string} CSS 寬度值
|
|
1716
1588
|
*/
|
|
1717
|
-
var columnWidth =
|
|
1589
|
+
var columnWidth = react.useCallback(function (singleColumnWidth) {
|
|
1718
1590
|
return calculateSize(mainColumnWidth, singleColumnWidth);
|
|
1719
1591
|
}, [mainColumnWidth, calculateSize]);
|
|
1720
1592
|
|
|
@@ -1725,7 +1597,7 @@ var useTableDimensions = function useTableDimensions(_ref) {
|
|
|
1725
1597
|
* @param {boolean} options.isTitle - 是否為標題列
|
|
1726
1598
|
* @returns {Object} CSS 尺寸物件
|
|
1727
1599
|
*/
|
|
1728
|
-
var getGridSize =
|
|
1600
|
+
var getGridSize = react.useCallback(function (column) {
|
|
1729
1601
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1730
1602
|
var _options$isTitle = options.isTitle,
|
|
1731
1603
|
isTitle = _options$isTitle === void 0 ? false : _options$isTitle;
|
|
@@ -1801,38 +1673,38 @@ var useTablePagination = function useTablePagination(_ref) {
|
|
|
1801
1673
|
_ref$totalCount = _ref.totalCount,
|
|
1802
1674
|
totalCount = _ref$totalCount === void 0 ? 0 : _ref$totalCount;
|
|
1803
1675
|
// 分頁狀態 (使用 0-based index)
|
|
1804
|
-
var _useState =
|
|
1676
|
+
var _useState = react.useState(0),
|
|
1805
1677
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1806
1678
|
currentPage = _useState2[0],
|
|
1807
1679
|
setCurrentPage = _useState2[1];
|
|
1808
|
-
var _useState3 =
|
|
1680
|
+
var _useState3 = react.useState(pageSize),
|
|
1809
1681
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
1810
1682
|
currentPageSize = _useState4[0],
|
|
1811
1683
|
setCurrentPageSize = _useState4[1];
|
|
1812
1684
|
|
|
1813
1685
|
// 計算總頁數
|
|
1814
|
-
var totalPages =
|
|
1686
|
+
var totalPages = react.useMemo(function () {
|
|
1815
1687
|
return Math.ceil(totalCount / currentPageSize);
|
|
1816
1688
|
}, [totalCount, currentPageSize]);
|
|
1817
1689
|
|
|
1818
1690
|
// 分頁處理
|
|
1819
|
-
var handlePageChange =
|
|
1691
|
+
var handlePageChange = react.useCallback(function (page) {
|
|
1820
1692
|
setCurrentPage(page);
|
|
1821
1693
|
}, []);
|
|
1822
1694
|
|
|
1823
1695
|
// 處理每頁顯示數量變更
|
|
1824
|
-
var handlePageSizeChange =
|
|
1696
|
+
var handlePageSizeChange = react.useCallback(function (newPageSize) {
|
|
1825
1697
|
setCurrentPageSize(newPageSize);
|
|
1826
1698
|
setCurrentPage(0); // 重置到第一頁
|
|
1827
1699
|
}, []);
|
|
1828
1700
|
|
|
1829
1701
|
// 重置分頁到第一頁
|
|
1830
|
-
var resetToFirstPage =
|
|
1702
|
+
var resetToFirstPage = react.useCallback(function () {
|
|
1831
1703
|
setCurrentPage(0);
|
|
1832
1704
|
}, []);
|
|
1833
1705
|
|
|
1834
1706
|
// 分頁資訊(供外部使用)
|
|
1835
|
-
var paginationInfo =
|
|
1707
|
+
var paginationInfo = react.useMemo(function () {
|
|
1836
1708
|
return {
|
|
1837
1709
|
currentPage: currentPage,
|
|
1838
1710
|
currentPageSize: currentPageSize,
|
|
@@ -1930,7 +1802,7 @@ var useTableApi = function useTableApi(_ref) {
|
|
|
1930
1802
|
return null;
|
|
1931
1803
|
}
|
|
1932
1804
|
} : _ref$themeState;
|
|
1933
|
-
|
|
1805
|
+
react.useImperativeHandle(ref, function () {
|
|
1934
1806
|
return {
|
|
1935
1807
|
// ========== 數據操作方法 ==========
|
|
1936
1808
|
|
|
@@ -2172,17 +2044,17 @@ var useTableInteraction = function useTableInteraction(_ref) {
|
|
|
2172
2044
|
_ref$tableWrapperRef = _ref.tableWrapperRef,
|
|
2173
2045
|
tableWrapperRef = _ref$tableWrapperRef === void 0 ? null : _ref$tableWrapperRef;
|
|
2174
2046
|
// 互動狀態
|
|
2175
|
-
var _useState =
|
|
2047
|
+
var _useState = react.useState(false),
|
|
2176
2048
|
_useState2 = _slicedToArray(_useState, 2),
|
|
2177
2049
|
isHovered = _useState2[0],
|
|
2178
2050
|
setIsHovered = _useState2[1];
|
|
2179
|
-
var _useState3 =
|
|
2051
|
+
var _useState3 = react.useState(false),
|
|
2180
2052
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
2181
2053
|
isDropdownOpen = _useState4[0],
|
|
2182
2054
|
setIsDropdownOpen = _useState4[1];
|
|
2183
2055
|
|
|
2184
2056
|
// 滑鼠進入處理
|
|
2185
|
-
var handleMouseEnter =
|
|
2057
|
+
var handleMouseEnter = react.useCallback(function () {
|
|
2186
2058
|
setIsHovered(true);
|
|
2187
2059
|
if (syncTableControl && currentTableRef && tableWrapperRef) {
|
|
2188
2060
|
currentTableRef.current = tableWrapperRef.current;
|
|
@@ -2190,19 +2062,19 @@ var useTableInteraction = function useTableInteraction(_ref) {
|
|
|
2190
2062
|
}, [syncTableControl, currentTableRef, tableWrapperRef]);
|
|
2191
2063
|
|
|
2192
2064
|
// 滑鼠離開處理(延遲 200ms)
|
|
2193
|
-
var handleMouseLeave =
|
|
2065
|
+
var handleMouseLeave = react.useCallback(function () {
|
|
2194
2066
|
setTimeout(function () {
|
|
2195
2067
|
setIsHovered(false);
|
|
2196
2068
|
}, 200);
|
|
2197
2069
|
}, []);
|
|
2198
2070
|
|
|
2199
2071
|
// Dropdown 獲得焦點處理
|
|
2200
|
-
var handleDropdownFocus =
|
|
2072
|
+
var handleDropdownFocus = react.useCallback(function () {
|
|
2201
2073
|
setIsDropdownOpen(true);
|
|
2202
2074
|
}, []);
|
|
2203
2075
|
|
|
2204
2076
|
// Dropdown 失去焦點處理
|
|
2205
|
-
var handleDropdownBlur =
|
|
2077
|
+
var handleDropdownBlur = react.useCallback(function () {
|
|
2206
2078
|
setIsDropdownOpen(false);
|
|
2207
2079
|
}, []);
|
|
2208
2080
|
return {
|
|
@@ -2236,7 +2108,7 @@ var useTableInteraction = function useTableInteraction(_ref) {
|
|
|
2236
2108
|
function useThemeDetection() {
|
|
2237
2109
|
// SSR 保護:確保只在瀏覽器環境執行
|
|
2238
2110
|
var isBrowser = typeof window !== "undefined";
|
|
2239
|
-
var _useState =
|
|
2111
|
+
var _useState = react.useState({
|
|
2240
2112
|
hasTheme: false,
|
|
2241
2113
|
// 是否存在主題系統
|
|
2242
2114
|
themeId: null,
|
|
@@ -2253,7 +2125,7 @@ function useThemeDetection() {
|
|
|
2253
2125
|
* @param {string} fallback - 預設值(如果找不到 CSS 變數)
|
|
2254
2126
|
* @returns {string} - CSS 變數值或預設值
|
|
2255
2127
|
*/
|
|
2256
|
-
var getCSSVariable =
|
|
2128
|
+
var getCSSVariable = react.useCallback(function (varName) {
|
|
2257
2129
|
var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
2258
2130
|
if (!isBrowser) return fallback;
|
|
2259
2131
|
try {
|
|
@@ -2269,7 +2141,7 @@ function useThemeDetection() {
|
|
|
2269
2141
|
* 偵測主題系統是否存在
|
|
2270
2142
|
* @returns {Object} - 主題資訊
|
|
2271
2143
|
*/
|
|
2272
|
-
var detectTheme =
|
|
2144
|
+
var detectTheme = react.useCallback(function () {
|
|
2273
2145
|
if (!isBrowser) {
|
|
2274
2146
|
return {
|
|
2275
2147
|
hasTheme: false,
|
|
@@ -2296,7 +2168,7 @@ function useThemeDetection() {
|
|
|
2296
2168
|
/**
|
|
2297
2169
|
* 初始化:偵測主題並設置監聽器
|
|
2298
2170
|
*/
|
|
2299
|
-
|
|
2171
|
+
react.useEffect(function () {
|
|
2300
2172
|
if (!isBrowser) return;
|
|
2301
2173
|
|
|
2302
2174
|
// 初始偵測
|
|
@@ -2329,7 +2201,7 @@ function useThemeDetection() {
|
|
|
2329
2201
|
* 取得完整主題資訊(包含所有主題色彩)
|
|
2330
2202
|
* @returns {Object} - 完整的主題資訊
|
|
2331
2203
|
*/
|
|
2332
|
-
var getThemeInfo =
|
|
2204
|
+
var getThemeInfo = react.useCallback(function () {
|
|
2333
2205
|
if (!themeState.hasTheme) {
|
|
2334
2206
|
return {
|
|
2335
2207
|
hasTheme: false,
|
|
@@ -2377,7 +2249,7 @@ function useThemeDetection() {
|
|
|
2377
2249
|
};
|
|
2378
2250
|
}
|
|
2379
2251
|
|
|
2380
|
-
var UdiTable = /*#__PURE__*/
|
|
2252
|
+
var UdiTable = /*#__PURE__*/react.forwardRef(function (_ref, ref) {
|
|
2381
2253
|
var _ref$current;
|
|
2382
2254
|
var _ref$onDataRequest = _ref.onDataRequest,
|
|
2383
2255
|
onDataRequest = _ref$onDataRequest === void 0 ? null : _ref$onDataRequest,
|
|
@@ -2421,7 +2293,7 @@ var UdiTable = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
2421
2293
|
_ref$defaultCollapsed = _ref.defaultCollapsed,
|
|
2422
2294
|
defaultCollapsed = _ref$defaultCollapsed === void 0 ? false : _ref$defaultCollapsed;
|
|
2423
2295
|
// 摺疊狀態
|
|
2424
|
-
var _useState =
|
|
2296
|
+
var _useState = react.useState(defaultCollapsed),
|
|
2425
2297
|
_useState2 = _slicedToArray(_useState, 2),
|
|
2426
2298
|
isCollapsed = _useState2[0],
|
|
2427
2299
|
setIsCollapsed = _useState2[1];
|
|
@@ -2442,7 +2314,7 @@ var UdiTable = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
2442
2314
|
getThemeInfo = _useThemeDetection.getThemeInfo;
|
|
2443
2315
|
|
|
2444
2316
|
// 開發模式下顯示主題偵測資訊
|
|
2445
|
-
|
|
2317
|
+
react.useEffect(function () {
|
|
2446
2318
|
if (isDev) {
|
|
2447
2319
|
console.log('🎨 UdiTable Theme Detection:', {
|
|
2448
2320
|
hasTheme: hasTheme,
|
|
@@ -2547,9 +2419,9 @@ var UdiTable = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
2547
2419
|
handleDropdownBlur = _useTableInteraction.handleDropdownBlur;
|
|
2548
2420
|
|
|
2549
2421
|
//===========
|
|
2550
|
-
|
|
2422
|
+
react.useEffect(function () {
|
|
2551
2423
|
setTablePage === null || setTablePage === void 0 || setTablePage(function (prev) {
|
|
2552
|
-
return _objectSpread2(_objectSpread2({}, prev), {}, _defineProperty
|
|
2424
|
+
return _objectSpread2(_objectSpread2({}, prev), {}, _defineProperty(_defineProperty({}, "".concat(name, "Page"), currentPage), "".concat(name, "PageSize"), currentPageSize));
|
|
2553
2425
|
});
|
|
2554
2426
|
}, [currentPageSize, currentPage]);
|
|
2555
2427
|
|
|
@@ -2615,13 +2487,13 @@ var UdiTable = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
2615
2487
|
|
|
2616
2488
|
// 初始載入
|
|
2617
2489
|
//=======
|
|
2618
|
-
|
|
2490
|
+
react.useEffect(function () {
|
|
2619
2491
|
initialLoad(currentPageSize);
|
|
2620
2492
|
}, []);
|
|
2621
2493
|
|
|
2622
2494
|
// 監聽篩選和排序變化
|
|
2623
2495
|
//=======
|
|
2624
|
-
|
|
2496
|
+
react.useEffect(function () {
|
|
2625
2497
|
if (!onDataRequest) return;
|
|
2626
2498
|
var params = {
|
|
2627
2499
|
page: currentPage,
|
|
@@ -2634,14 +2506,14 @@ var UdiTable = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
2634
2506
|
};
|
|
2635
2507
|
debouncedDataRequest(params);
|
|
2636
2508
|
}, [currentPage, currentPageSize, filterText, filterColumn, advancedFilters, sortConfig]);
|
|
2637
|
-
var freeActions =
|
|
2509
|
+
var freeActions = react.useMemo(function () {
|
|
2638
2510
|
return actions.filter(function (action) {
|
|
2639
2511
|
return action.isFreeAction === true;
|
|
2640
2512
|
});
|
|
2641
2513
|
}, [actions]);
|
|
2642
2514
|
|
|
2643
2515
|
// 根據主題生成動態樣式
|
|
2644
|
-
var containerStyles =
|
|
2516
|
+
var containerStyles = react.useMemo(function () {
|
|
2645
2517
|
if (!hasTheme) {
|
|
2646
2518
|
// 沒有主題系統時,使用預設樣式(由 CSS 控制)
|
|
2647
2519
|
return {};
|
|
@@ -2838,8 +2710,8 @@ var throttle$1 = function throttle(func, wait) {
|
|
|
2838
2710
|
* 控制滾動同步的內部 Hook
|
|
2839
2711
|
*/
|
|
2840
2712
|
var useControlScroll = function useControlScroll() {
|
|
2841
|
-
var rafId =
|
|
2842
|
-
return
|
|
2713
|
+
var rafId = react.useRef(null);
|
|
2714
|
+
return react.useCallback(function (sourceRef, targetRef) {
|
|
2843
2715
|
// 取消上一次的動畫幀
|
|
2844
2716
|
if (rafId.current) {
|
|
2845
2717
|
cancelAnimationFrame(rafId.current);
|
|
@@ -2919,10 +2791,10 @@ var useUdiTableSync$1 = function useUdiTableSync() {
|
|
|
2919
2791
|
_options$throttleMs = options.throttleMs,
|
|
2920
2792
|
throttleMs = _options$throttleMs === void 0 ? 10 : _options$throttleMs;
|
|
2921
2793
|
var controlScroll = useControlScroll();
|
|
2922
|
-
var mountedRef =
|
|
2794
|
+
var mountedRef = react.useRef(false);
|
|
2923
2795
|
|
|
2924
2796
|
// 分頁同步邏輯
|
|
2925
|
-
|
|
2797
|
+
react.useEffect(function () {
|
|
2926
2798
|
if (!enabled || !syncPagination) return;
|
|
2927
2799
|
if (!(importedTableRef !== null && importedTableRef !== void 0 && importedTableRef.current) || !(originalTableRef !== null && originalTableRef !== void 0 && originalTableRef.current)) return;
|
|
2928
2800
|
|
|
@@ -2930,7 +2802,7 @@ var useUdiTableSync$1 = function useUdiTableSync() {
|
|
|
2930
2802
|
controlPagination(importedTableRef, originalTableRef);
|
|
2931
2803
|
controlPagination(originalTableRef, importedTableRef);
|
|
2932
2804
|
}, [enabled, syncPagination, importedTableRef, originalTableRef].concat(_toConsumableArray(paginationDeps)));
|
|
2933
|
-
var handleTableMount =
|
|
2805
|
+
var handleTableMount = react.useCallback(function () {
|
|
2934
2806
|
var _importedTableRef$cur, _originalTableRef$cur;
|
|
2935
2807
|
var importedTableElement = importedTableRef === null || importedTableRef === void 0 || (_importedTableRef$cur = importedTableRef.current) === null || _importedTableRef$cur === void 0 ? void 0 : _importedTableRef$cur.getState().tableWrapperRef;
|
|
2936
2808
|
var originalTableElement = originalTableRef === null || originalTableRef === void 0 || (_originalTableRef$cur = originalTableRef.current) === null || _originalTableRef$cur === void 0 ? void 0 : _originalTableRef$cur.getState().tableWrapperRef;
|
|
@@ -2986,7 +2858,7 @@ var useUdiTableSync$1 = function useUdiTableSync() {
|
|
|
2986
2858
|
}, [importedTableRef, originalTableRef, controlScroll, correctionDelay, throttleMs]);
|
|
2987
2859
|
|
|
2988
2860
|
// 統一的掛載邏輯(帶重試機制)- 僅用於滾動同步
|
|
2989
|
-
|
|
2861
|
+
react.useEffect(function () {
|
|
2990
2862
|
if (!enabled || !syncScroll) {
|
|
2991
2863
|
return;
|
|
2992
2864
|
}
|
|
@@ -3146,20 +3018,20 @@ var useUdiTableSync = function useUdiTableSync() {
|
|
|
3146
3018
|
}
|
|
3147
3019
|
});
|
|
3148
3020
|
// 存儲所有已註冊的表格
|
|
3149
|
-
var registeredTablesRef =
|
|
3021
|
+
var registeredTablesRef = react.useRef(new Map());
|
|
3150
3022
|
// 存儲滾動處理函數
|
|
3151
|
-
var handlersRef =
|
|
3023
|
+
var handlersRef = react.useRef(new Map());
|
|
3152
3024
|
// 存儲修正 timer
|
|
3153
|
-
var timersRef =
|
|
3025
|
+
var timersRef = react.useRef(new Map());
|
|
3154
3026
|
// RAF ID
|
|
3155
|
-
var rafIdRef =
|
|
3027
|
+
var rafIdRef = react.useRef(null);
|
|
3156
3028
|
// 防止循環同步的鎖
|
|
3157
|
-
var isSyncingRef =
|
|
3029
|
+
var isSyncingRef = react.useRef(false);
|
|
3158
3030
|
|
|
3159
3031
|
/**
|
|
3160
3032
|
* 分頁同步邏輯 - 處理所有表格的分頁同步
|
|
3161
3033
|
*/
|
|
3162
|
-
|
|
3034
|
+
react.useEffect(function () {
|
|
3163
3035
|
if (!enabled || !syncPagination || tables.length < 2) return;
|
|
3164
3036
|
|
|
3165
3037
|
// 檢查所有表格的 ref 是否存在
|
|
@@ -3191,7 +3063,7 @@ var useUdiTableSync = function useUdiTableSync() {
|
|
|
3191
3063
|
/**
|
|
3192
3064
|
* 同步滾動位置到其他所有表格
|
|
3193
3065
|
*/
|
|
3194
|
-
var syncToOthers =
|
|
3066
|
+
var syncToOthers = react.useCallback(function (sourceId) {
|
|
3195
3067
|
if (!enabled || !syncScroll || isSyncingRef.current) return;
|
|
3196
3068
|
var sourceTable = registeredTablesRef.current.get(sourceId);
|
|
3197
3069
|
if (!sourceTable) return;
|
|
@@ -3242,7 +3114,7 @@ var useUdiTableSync = function useUdiTableSync() {
|
|
|
3242
3114
|
/**
|
|
3243
3115
|
* 註冊單個表格
|
|
3244
3116
|
*/
|
|
3245
|
-
var registerTable =
|
|
3117
|
+
var registerTable = react.useCallback(function (id, ref) {
|
|
3246
3118
|
var _ref$current;
|
|
3247
3119
|
if (!enabled || !syncScroll) {
|
|
3248
3120
|
console.warn("滾動同步未啟用");
|
|
@@ -3296,7 +3168,7 @@ var useUdiTableSync = function useUdiTableSync() {
|
|
|
3296
3168
|
/**
|
|
3297
3169
|
* 註銷單個表格
|
|
3298
3170
|
*/
|
|
3299
|
-
var unregisterTable =
|
|
3171
|
+
var unregisterTable = react.useCallback(function (id) {
|
|
3300
3172
|
var table = registeredTablesRef.current.get(id);
|
|
3301
3173
|
if (!table) return false;
|
|
3302
3174
|
var handler = handlersRef.current.get(id);
|
|
@@ -3324,7 +3196,7 @@ var useUdiTableSync = function useUdiTableSync() {
|
|
|
3324
3196
|
/**
|
|
3325
3197
|
* 帶重試機制的註冊
|
|
3326
3198
|
*/
|
|
3327
|
-
var registerWithRetry =
|
|
3199
|
+
var registerWithRetry = react.useCallback(function (id, ref) {
|
|
3328
3200
|
var retryCount = 0;
|
|
3329
3201
|
var retryTimer = null;
|
|
3330
3202
|
var _attemptRegister = function attemptRegister() {
|
|
@@ -3350,7 +3222,7 @@ var useUdiTableSync = function useUdiTableSync() {
|
|
|
3350
3222
|
/**
|
|
3351
3223
|
* 註冊所有表格(滾動同步)
|
|
3352
3224
|
*/
|
|
3353
|
-
|
|
3225
|
+
react.useEffect(function () {
|
|
3354
3226
|
if (!enabled || !syncScroll || tables.length === 0) {
|
|
3355
3227
|
return;
|
|
3356
3228
|
}
|
|
@@ -3375,7 +3247,7 @@ var useUdiTableSync = function useUdiTableSync() {
|
|
|
3375
3247
|
/**
|
|
3376
3248
|
* 組件卸載時清理所有資源
|
|
3377
3249
|
*/
|
|
3378
|
-
|
|
3250
|
+
react.useEffect(function () {
|
|
3379
3251
|
return function () {
|
|
3380
3252
|
// 取消 RAF
|
|
3381
3253
|
if (rafIdRef.current) {
|
|
@@ -3405,14 +3277,14 @@ var useUdiTableSync = function useUdiTableSync() {
|
|
|
3405
3277
|
/**
|
|
3406
3278
|
* 獲取已註冊的表格列表
|
|
3407
3279
|
*/
|
|
3408
|
-
var getRegisteredTables =
|
|
3280
|
+
var getRegisteredTables = react.useCallback(function () {
|
|
3409
3281
|
return Array.from(registeredTablesRef.current.keys());
|
|
3410
3282
|
}, []);
|
|
3411
3283
|
|
|
3412
3284
|
/**
|
|
3413
3285
|
* 手動觸發滾動同步
|
|
3414
3286
|
*/
|
|
3415
|
-
var manualSync =
|
|
3287
|
+
var manualSync = react.useCallback(function (sourceId) {
|
|
3416
3288
|
if (syncScroll) {
|
|
3417
3289
|
syncToOthers(sourceId);
|
|
3418
3290
|
}
|
|
@@ -3421,7 +3293,7 @@ var useUdiTableSync = function useUdiTableSync() {
|
|
|
3421
3293
|
/**
|
|
3422
3294
|
* 手動觸發分頁同步
|
|
3423
3295
|
*/
|
|
3424
|
-
var manualSyncPagination =
|
|
3296
|
+
var manualSyncPagination = react.useCallback(function () {
|
|
3425
3297
|
if (!syncPagination || tables.length < 2) return;
|
|
3426
3298
|
var hoveredTable = tables.find(function (table) {
|
|
3427
3299
|
var _table$ref3;
|
|
@@ -3446,17 +3318,244 @@ var useUdiTableSync = function useUdiTableSync() {
|
|
|
3446
3318
|
};
|
|
3447
3319
|
};
|
|
3448
3320
|
|
|
3449
|
-
function
|
|
3450
|
-
|
|
3321
|
+
function useDateRangePicker(tableRef, notify) {
|
|
3322
|
+
//============若未來沒bug的話可以刪除
|
|
3323
|
+
//
|
|
3324
|
+
// {{
|
|
3325
|
+
// const [startDate, setStartDate] = useState('');
|
|
3326
|
+
// const [endDate, setEndDate] = useState('');
|
|
3327
|
+
// const [startTimeStamp, setStartTimeStamp] = useState(0);
|
|
3328
|
+
// const [endTimeStamp, setEndTimeStamp] = useState(0);
|
|
3329
|
+
|
|
3330
|
+
//原訂功能:加載頁面後在useEffect中進行日期初始化後戳api,
|
|
3331
|
+
//修改原因:修改為直接在useState就初始化,而首次加載頁面本來就會戳api,應用不明
|
|
3332
|
+
|
|
3333
|
+
// const defaultSet = () => {
|
|
3334
|
+
// setStartDate(getStartOfDay);
|
|
3335
|
+
// setEndDate(getEndOfDay);
|
|
3336
|
+
// setStartTimeStamp(getStartOfDay.unix());
|
|
3337
|
+
// setEndTimeStamp(getEndOfDay.unix());
|
|
3338
|
+
// tableRef.current.onQueryChange();
|
|
3339
|
+
// };
|
|
3340
|
+
// }}
|
|
3341
|
+
|
|
3342
|
+
var getStartOfDay = moment().startOf('day');
|
|
3343
|
+
var getEndOfDay = moment().endOf('day');
|
|
3344
|
+
var _useState = react.useState(getStartOfDay),
|
|
3345
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3346
|
+
startDate = _useState2[0],
|
|
3347
|
+
setStartDate = _useState2[1];
|
|
3348
|
+
var _useState3 = react.useState(getEndOfDay),
|
|
3349
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
3350
|
+
endDate = _useState4[0],
|
|
3351
|
+
setEndDate = _useState4[1];
|
|
3352
|
+
var _useState5 = react.useState(getStartOfDay.unix()),
|
|
3353
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
3354
|
+
startTimeStamp = _useState6[0],
|
|
3355
|
+
setStartTimeStamp = _useState6[1];
|
|
3356
|
+
var _useState7 = react.useState(getEndOfDay.unix()),
|
|
3357
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
3358
|
+
endTimeStamp = _useState8[0],
|
|
3359
|
+
setEndTimeStamp = _useState8[1];
|
|
3360
|
+
|
|
3361
|
+
//如果選擇的起始日期在結束日期之後,則結束日期會自動變成起始日期的後一天
|
|
3362
|
+
var handleStartChange = function handleStartChange(value, callback) {
|
|
3363
|
+
var _tableRef$current;
|
|
3364
|
+
var startTimestamp = moment(value).unix();
|
|
3365
|
+
if (endTimeStamp > startTimestamp) {
|
|
3366
|
+
setStartDate(value);
|
|
3367
|
+
setStartTimeStamp(startTimestamp);
|
|
3368
|
+
} else {
|
|
3369
|
+
setStartDate(value);
|
|
3370
|
+
setStartTimeStamp(startTimestamp);
|
|
3371
|
+
setEndDate(moment(value).add(1, 'day'));
|
|
3372
|
+
setEndTimeStamp(moment(value).add(1, 'day').unix());
|
|
3373
|
+
}
|
|
3374
|
+
tableRef === null || tableRef === void 0 || (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 || _tableRef$current.onQueryChange();
|
|
3375
|
+
};
|
|
3376
|
+
|
|
3377
|
+
//如果選擇的結束日期在起始日期以前,則不變更值並且跳出error message
|
|
3378
|
+
var handleEndChange = function handleEndChange(value) {
|
|
3379
|
+
var startTimestamp = moment(startDate).unix();
|
|
3380
|
+
var setEndTimestampValue = moment(value).unix();
|
|
3381
|
+
if (setEndTimestampValue > startTimestamp) {
|
|
3382
|
+
var _tableRef$current2;
|
|
3383
|
+
setEndDate(value);
|
|
3384
|
+
setEndTimeStamp(setEndTimestampValue);
|
|
3385
|
+
tableRef === null || tableRef === void 0 || (_tableRef$current2 = tableRef.current) === null || _tableRef$current2 === void 0 || _tableRef$current2.onQueryChange();
|
|
3386
|
+
} else {
|
|
3387
|
+
notify(tr('End Date Set Error'), /*#__PURE__*/jsxRuntime.jsx(fa.FaClock, {
|
|
3388
|
+
color: "#FF4C4C",
|
|
3389
|
+
fontSize: "20"
|
|
3390
|
+
}));
|
|
3391
|
+
}
|
|
3392
|
+
};
|
|
3393
|
+
return {
|
|
3394
|
+
// defaultSet, ============若未來沒bug的話可以刪除
|
|
3395
|
+
handleEndChange: handleEndChange,
|
|
3396
|
+
handleStartChange: handleStartChange,
|
|
3397
|
+
setStartDate: setStartDate,
|
|
3398
|
+
setEndDate: setEndDate,
|
|
3399
|
+
setStartTimeStamp: setStartTimeStamp,
|
|
3400
|
+
setEndTimeStamp: setEndTimeStamp,
|
|
3401
|
+
startDate: startDate,
|
|
3402
|
+
endDate: endDate,
|
|
3403
|
+
startTimeStamp: startTimeStamp,
|
|
3404
|
+
endTimeStamp: endTimeStamp
|
|
3405
|
+
};
|
|
3406
|
+
}
|
|
3407
|
+
|
|
3408
|
+
function timestampFormat() {
|
|
3409
|
+
var timestamp = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
3410
|
+
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'YYYY-MM-DD HH:mm:ss';
|
|
3411
|
+
return timestamp ? moment(timestamp).format(format) : moment().format(format);
|
|
3412
|
+
}
|
|
3413
|
+
|
|
3414
|
+
function DateRangePicker(_ref) {
|
|
3415
|
+
var _ref$showTitle = _ref.showTitle,
|
|
3416
|
+
showTitle = _ref$showTitle === void 0 ? true : _ref$showTitle,
|
|
3417
|
+
pickerSize = _ref.pickerSize,
|
|
3418
|
+
handleStartChange = _ref.handleStartChange,
|
|
3419
|
+
handleEndChange = _ref.handleEndChange,
|
|
3420
|
+
classes = _ref.classes,
|
|
3421
|
+
startDate = _ref.startDate,
|
|
3422
|
+
endDate = _ref.endDate;
|
|
3423
|
+
classes = classes || {
|
|
3424
|
+
marginT8: {
|
|
3425
|
+
marginTop: "8px"
|
|
3426
|
+
},
|
|
3427
|
+
marginB10: {
|
|
3428
|
+
marginBottom: "10px"
|
|
3429
|
+
},
|
|
3430
|
+
gridStyle: {
|
|
3431
|
+
textAlign: "right",
|
|
3432
|
+
color: "#404040"
|
|
3433
|
+
},
|
|
3434
|
+
labelStyle: {
|
|
3435
|
+
fontWeight: "bold",
|
|
3436
|
+
marginLeft: 0,
|
|
3437
|
+
paddingTop: "5%",
|
|
3438
|
+
width: "100%"
|
|
3439
|
+
},
|
|
3440
|
+
textAlignLeft: {
|
|
3441
|
+
textAlign: "left"
|
|
3442
|
+
},
|
|
3443
|
+
uploadForm: {
|
|
3444
|
+
padding: "2rem",
|
|
3445
|
+
marginTop: "1rem",
|
|
3446
|
+
backgroundColor: "#d3d3d391",
|
|
3447
|
+
borderRadius: "3px",
|
|
3448
|
+
width: "100%"
|
|
3449
|
+
},
|
|
3450
|
+
uploadIcon: {
|
|
3451
|
+
fontSize: "3rem",
|
|
3452
|
+
marginTop: "5px",
|
|
3453
|
+
marginLeft: "5px",
|
|
3454
|
+
marginRight: "10px"
|
|
3455
|
+
},
|
|
3456
|
+
buttonStyle: {
|
|
3457
|
+
placeSelf: "flex-end"
|
|
3458
|
+
},
|
|
3459
|
+
marginTop10: {
|
|
3460
|
+
marginTop: "10px !important"
|
|
3461
|
+
},
|
|
3462
|
+
hospitalTitle: {
|
|
3463
|
+
marginTop: "1rem"
|
|
3464
|
+
}
|
|
3465
|
+
};
|
|
3466
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
3467
|
+
children: [showTitle && /*#__PURE__*/jsxRuntime.jsx(material.Grid, {
|
|
3468
|
+
item: true,
|
|
3469
|
+
container: true,
|
|
3470
|
+
xs: 12,
|
|
3471
|
+
sm: 2,
|
|
3472
|
+
md: 1,
|
|
3473
|
+
className: "".concat(classes.gridStyle, " ").concat(classes.marginB10, " ").concat(classes.textAlignLeft),
|
|
3474
|
+
style: {
|
|
3475
|
+
textAlign: "right"
|
|
3476
|
+
},
|
|
3477
|
+
alignContent: "center",
|
|
3478
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(material.Typography, {
|
|
3479
|
+
variant: "h6",
|
|
3480
|
+
className: classes.labelStyle,
|
|
3481
|
+
children: [tr("Date"), "\uFF1A"]
|
|
3482
|
+
})
|
|
3483
|
+
}), /*#__PURE__*/jsxRuntime.jsx(material.Grid, {
|
|
3484
|
+
item: true,
|
|
3485
|
+
container: true,
|
|
3486
|
+
xs: (pickerSize === null || pickerSize === void 0 ? void 0 : pickerSize.xs) || 12,
|
|
3487
|
+
sm: (pickerSize === null || pickerSize === void 0 ? void 0 : pickerSize.sm) || 6,
|
|
3488
|
+
md: (pickerSize === null || pickerSize === void 0 ? void 0 : pickerSize.md) || 4,
|
|
3489
|
+
className: classes.marginB10,
|
|
3490
|
+
children: /*#__PURE__*/jsxRuntime.jsx(LocalizationProvider.LocalizationProvider, {
|
|
3491
|
+
dateAdapter: AdapterDateFns.AdapterDateFns,
|
|
3492
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(material.Grid, {
|
|
3493
|
+
container: true,
|
|
3494
|
+
justifyContent: "center",
|
|
3495
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(material.Grid, {
|
|
3496
|
+
item: true,
|
|
3497
|
+
sm: 6,
|
|
3498
|
+
style: {
|
|
3499
|
+
width: "100%",
|
|
3500
|
+
padding: 10
|
|
3501
|
+
},
|
|
3502
|
+
children: /*#__PURE__*/jsxRuntime.jsx(MobileDateTimePicker.MobileDateTimePicker, {
|
|
3503
|
+
label: tr("Start Date"),
|
|
3504
|
+
value: timestampFormat(startDate, "YYYY/MM/DD HH:mm"),
|
|
3505
|
+
inputFormat: "yyyy/MM/dd HH:mm",
|
|
3506
|
+
onChange: handleStartChange,
|
|
3507
|
+
renderInput: function renderInput(params) {
|
|
3508
|
+
return /*#__PURE__*/jsxRuntime.jsx(material.TextField, _objectSpread2(_objectSpread2({}, params), {}, {
|
|
3509
|
+
fullWidth: true
|
|
3510
|
+
}));
|
|
3511
|
+
}
|
|
3512
|
+
})
|
|
3513
|
+
}), /*#__PURE__*/jsxRuntime.jsx(material.Grid, {
|
|
3514
|
+
item: true,
|
|
3515
|
+
sm: 6,
|
|
3516
|
+
style: {
|
|
3517
|
+
width: "100%",
|
|
3518
|
+
padding: 10
|
|
3519
|
+
},
|
|
3520
|
+
children: /*#__PURE__*/jsxRuntime.jsx(MobileDateTimePicker.MobileDateTimePicker, {
|
|
3521
|
+
label: tr("End Date"),
|
|
3522
|
+
value: timestampFormat(endDate, "YYYY/MM/DD HH:mm"),
|
|
3523
|
+
inputFormat: "yyyy/MM/dd HH:mm",
|
|
3524
|
+
onChange: handleEndChange,
|
|
3525
|
+
renderInput: function renderInput(params) {
|
|
3526
|
+
return /*#__PURE__*/jsxRuntime.jsx(material.TextField, _objectSpread2(_objectSpread2({}, params), {}, {
|
|
3527
|
+
fullWidth: true
|
|
3528
|
+
}));
|
|
3529
|
+
}
|
|
3530
|
+
})
|
|
3531
|
+
})]
|
|
3532
|
+
})
|
|
3533
|
+
})
|
|
3534
|
+
})]
|
|
3535
|
+
});
|
|
3451
3536
|
}
|
|
3452
|
-
|
|
3453
|
-
|
|
3537
|
+
DateRangePicker.propTypes = {
|
|
3538
|
+
handleStartChange: PropTypes.func.isRequired,
|
|
3539
|
+
handleEndChange: PropTypes.func.isRequired,
|
|
3540
|
+
classes: PropTypes.shape({
|
|
3541
|
+
marginB10: PropTypes.string,
|
|
3542
|
+
gridStyle: PropTypes.string,
|
|
3543
|
+
labelStyle: PropTypes.string,
|
|
3544
|
+
textAlignLeft: PropTypes.string
|
|
3545
|
+
}).isRequired,
|
|
3546
|
+
startDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.object, PropTypes.string]).isRequired,
|
|
3547
|
+
endDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.object, PropTypes.string]).isRequired
|
|
3548
|
+
};
|
|
3549
|
+
|
|
3550
|
+
function releaseUpdateTest() {
|
|
3551
|
+
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'test';
|
|
3552
|
+
return "Hello, ".concat(name, "! this is a test 02/10-1");
|
|
3454
3553
|
}
|
|
3455
3554
|
|
|
3456
|
-
exports.
|
|
3555
|
+
exports.DateRangePicker = DateRangePicker;
|
|
3457
3556
|
exports.UdiTable = UdiTable;
|
|
3458
|
-
exports.
|
|
3459
|
-
exports.
|
|
3557
|
+
exports.releaseUpdateTest = releaseUpdateTest;
|
|
3558
|
+
exports.useDateRangePicker = useDateRangePicker;
|
|
3460
3559
|
exports.useUdiTableSync = useUdiTableSync$1;
|
|
3461
3560
|
exports.useUdiTableSyncMutipleTable = useUdiTableSync;
|
|
3462
3561
|
//# sourceMappingURL=index.cjs.js.map
|