@alicloud/console-base-rc-side-panel 1.0.0
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/CHANGELOG.md +5 -0
- package/README.md +3 -0
- package/build/cjs/index.js +20 -0
- package/build/cjs/model/const/index.js +15 -0
- package/build/cjs/model/context/index.js +9 -0
- package/build/cjs/model/enum/index.js +12 -0
- package/build/cjs/model/hook/_use-model-context.js +12 -0
- package/build/cjs/model/hook/_use-model-dispatch.js +11 -0
- package/build/cjs/model/hook/_use-model-props.js +29 -0
- package/build/cjs/model/hook/_use-model-state.js +11 -0
- package/build/cjs/model/hook/index.js +62 -0
- package/build/cjs/model/hook/use-children.js +11 -0
- package/build/cjs/model/hook/use-collapsed.js +16 -0
- package/build/cjs/model/hook/use-dispatch-set-collapsed.js +19 -0
- package/build/cjs/model/hook/use-dispatch-set-quick-top-visible.js +19 -0
- package/build/cjs/model/hook/use-effect-quick-top.js +40 -0
- package/build/cjs/model/hook/use-effect-toggle-body-class.js +25 -0
- package/build/cjs/model/hook/use-effects.js +13 -0
- package/build/cjs/model/hook/use-handle-collapsed-change.js +21 -0
- package/build/cjs/model/hook/use-handle-go-top.js +22 -0
- package/build/cjs/model/hook/use-handle-set-quick-top-visible.js +19 -0
- package/build/cjs/model/hook/use-items-bottom.js +11 -0
- package/build/cjs/model/hook/use-items-top.js +11 -0
- package/build/cjs/model/hook/use-quick-top.js +19 -0
- package/build/cjs/model/hook/use-visible.js +14 -0
- package/build/cjs/model/index.js +35 -0
- package/build/cjs/model/lifecycle/index.js +12 -0
- package/build/cjs/model/provider/index.js +40 -0
- package/build/cjs/model/reducer/index.js +20 -0
- package/build/cjs/model/reducer/reduce-set-collapsed.js +15 -0
- package/build/cjs/model/reducer/reduce-set-quick-top-visible.js +15 -0
- package/build/cjs/model/types/action.js +5 -0
- package/build/cjs/model/types/common.js +5 -0
- package/build/cjs/model/types/context.js +5 -0
- package/build/cjs/model/types/index.js +60 -0
- package/build/cjs/model/types/props.js +5 -0
- package/build/cjs/model/types/state.js +5 -0
- package/build/cjs/model/util/index.js +13 -0
- package/build/cjs/model/util/toggle-body-class.js +16 -0
- package/build/cjs/ui/const/index.js +26 -0
- package/build/cjs/ui/index.js +29 -0
- package/build/cjs/ui/intl/index.js +19 -0
- package/build/cjs/ui/intl/locales/en-us.js +12 -0
- package/build/cjs/ui/intl/locales/ja-jp.js +12 -0
- package/build/cjs/ui/intl/locales/zh-cn.js +12 -0
- package/build/cjs/ui/intl/locales/zh-tw.js +12 -0
- package/build/cjs/ui/rc/aside/index.js +14 -0
- package/build/cjs/ui/rc/global-style-on-body/index.js +15 -0
- package/build/cjs/ui/rc/index.js +48 -0
- package/build/cjs/ui/rc/side-panel-item-badge/index.js +56 -0
- package/build/cjs/ui/rc/side-panel-item-button/index.js +39 -0
- package/build/cjs/ui/rc/side-panel-item-tooltip/index.js +58 -0
- package/build/cjs/ui/rc/side-panel-item-wrap/index.js +16 -0
- package/build/cjs/ui/rc-container/collapse-toggle/index.js +77 -0
- package/build/cjs/ui/rc-container/index.js +27 -0
- package/build/cjs/ui/rc-container/item/index.js +103 -0
- package/build/cjs/ui/rc-container/items/index.js +20 -0
- package/build/cjs/ui/rc-container/items-bottom/index.js +28 -0
- package/build/cjs/ui/rc-container/items-bottom/quick-top/index.js +47 -0
- package/build/cjs/ui/rc-container/items-top/index.js +20 -0
- package/build/cjs/ui/types/index.js +5 -0
- package/build/cjs/ui/util/get-value-by-status.js +23 -0
- package/build/cjs/ui/util/index.js +13 -0
- package/build/cjs/with-model/index.js +15 -0
- package/build/es/index.js +2 -0
- package/build/es/model/const/index.js +6 -0
- package/build/es/model/context/index.js +2 -0
- package/build/es/model/enum/index.js +5 -0
- package/build/es/model/hook/_use-model-context.js +5 -0
- package/build/es/model/hook/_use-model-dispatch.js +4 -0
- package/build/es/model/hook/_use-model-props.js +22 -0
- package/build/es/model/hook/_use-model-state.js +4 -0
- package/build/es/model/hook/index.js +10 -0
- package/build/es/model/hook/use-children.js +4 -0
- package/build/es/model/hook/use-collapsed.js +9 -0
- package/build/es/model/hook/use-dispatch-set-collapsed.js +12 -0
- package/build/es/model/hook/use-dispatch-set-quick-top-visible.js +12 -0
- package/build/es/model/hook/use-effect-quick-top.js +33 -0
- package/build/es/model/hook/use-effect-toggle-body-class.js +18 -0
- package/build/es/model/hook/use-effects.js +6 -0
- package/build/es/model/hook/use-handle-collapsed-change.js +14 -0
- package/build/es/model/hook/use-handle-go-top.js +15 -0
- package/build/es/model/hook/use-handle-set-quick-top-visible.js +12 -0
- package/build/es/model/hook/use-items-bottom.js +4 -0
- package/build/es/model/hook/use-items-top.js +4 -0
- package/build/es/model/hook/use-quick-top.js +12 -0
- package/build/es/model/hook/use-visible.js +7 -0
- package/build/es/model/index.js +3 -0
- package/build/es/model/lifecycle/index.js +5 -0
- package/build/es/model/provider/index.js +30 -0
- package/build/es/model/reducer/index.js +13 -0
- package/build/es/model/reducer/reduce-set-collapsed.js +8 -0
- package/build/es/model/reducer/reduce-set-quick-top-visible.js +8 -0
- package/build/es/model/types/action.js +1 -0
- package/build/es/model/types/common.js +1 -0
- package/build/es/model/types/context.js +1 -0
- package/build/es/model/types/index.js +5 -0
- package/build/es/model/types/props.js +1 -0
- package/build/es/model/types/state.js +1 -0
- package/build/es/model/util/index.js +1 -0
- package/build/es/model/util/toggle-body-class.js +10 -0
- package/build/es/ui/const/index.js +12 -0
- package/build/es/ui/index.js +19 -0
- package/build/es/ui/intl/index.js +11 -0
- package/build/es/ui/intl/locales/en-us.js +5 -0
- package/build/es/ui/intl/locales/ja-jp.js +5 -0
- package/build/es/ui/intl/locales/zh-cn.js +5 -0
- package/build/es/ui/intl/locales/zh-tw.js +5 -0
- package/build/es/ui/rc/aside/index.js +6 -0
- package/build/es/ui/rc/global-style-on-body/index.js +8 -0
- package/build/es/ui/rc/index.js +6 -0
- package/build/es/ui/rc/side-panel-item-badge/index.js +46 -0
- package/build/es/ui/rc/side-panel-item-button/index.js +29 -0
- package/build/es/ui/rc/side-panel-item-tooltip/index.js +48 -0
- package/build/es/ui/rc/side-panel-item-wrap/index.js +9 -0
- package/build/es/ui/rc-container/collapse-toggle/index.js +67 -0
- package/build/es/ui/rc-container/index.js +3 -0
- package/build/es/ui/rc-container/item/index.js +93 -0
- package/build/es/ui/rc-container/items/index.js +13 -0
- package/build/es/ui/rc-container/items-bottom/index.js +21 -0
- package/build/es/ui/rc-container/items-bottom/quick-top/index.js +37 -0
- package/build/es/ui/rc-container/items-top/index.js +13 -0
- package/build/es/ui/types/index.js +1 -0
- package/build/es/ui/util/get-value-by-status.js +17 -0
- package/build/es/ui/util/index.js +1 -0
- package/build/es/with-model/index.js +8 -0
- package/build/types/index.d.ts +3 -0
- package/build/types/model/const/index.d.ts +4 -0
- package/build/types/model/context/index.d.ts +4 -0
- package/build/types/model/enum/index.d.ts +4 -0
- package/build/types/model/hook/_use-model-context.d.ts +2 -0
- package/build/types/model/hook/_use-model-dispatch.d.ts +2 -0
- package/build/types/model/hook/_use-model-props.d.ts +5 -0
- package/build/types/model/hook/_use-model-state.d.ts +2 -0
- package/build/types/model/hook/index.d.ts +8 -0
- package/build/types/model/hook/use-children.d.ts +2 -0
- package/build/types/model/hook/use-collapsed.d.ts +1 -0
- package/build/types/model/hook/use-dispatch-set-collapsed.d.ts +1 -0
- package/build/types/model/hook/use-dispatch-set-quick-top-visible.d.ts +1 -0
- package/build/types/model/hook/use-effect-quick-top.d.ts +1 -0
- package/build/types/model/hook/use-effect-toggle-body-class.d.ts +1 -0
- package/build/types/model/hook/use-effects.d.ts +1 -0
- package/build/types/model/hook/use-handle-collapsed-change.d.ts +1 -0
- package/build/types/model/hook/use-handle-go-top.d.ts +1 -0
- package/build/types/model/hook/use-handle-set-quick-top-visible.d.ts +1 -0
- package/build/types/model/hook/use-items-bottom.d.ts +2 -0
- package/build/types/model/hook/use-items-top.d.ts +2 -0
- package/build/types/model/hook/use-quick-top.d.ts +6 -0
- package/build/types/model/hook/use-visible.d.ts +1 -0
- package/build/types/model/index.d.ts +4 -0
- package/build/types/model/lifecycle/index.d.ts +1 -0
- package/build/types/model/provider/index.d.ts +8 -0
- package/build/types/model/reducer/index.d.ts +2 -0
- package/build/types/model/reducer/reduce-set-collapsed.d.ts +2 -0
- package/build/types/model/reducer/reduce-set-quick-top-visible.d.ts +2 -0
- package/build/types/model/types/action.d.ts +7 -0
- package/build/types/model/types/common.d.ts +66 -0
- package/build/types/model/types/context.d.ts +11 -0
- package/build/types/model/types/index.d.ts +5 -0
- package/build/types/model/types/props.d.ts +37 -0
- package/build/types/model/types/state.d.ts +4 -0
- package/build/types/model/util/index.d.ts +1 -0
- package/build/types/model/util/toggle-body-class.d.ts +1 -0
- package/build/types/ui/const/index.d.ts +8 -0
- package/build/types/ui/index.d.ts +1 -0
- package/build/types/ui/intl/index.d.ts +6 -0
- package/build/types/ui/intl/locales/en-us.d.ts +6 -0
- package/build/types/ui/intl/locales/ja-jp.d.ts +6 -0
- package/build/types/ui/intl/locales/zh-cn.d.ts +6 -0
- package/build/types/ui/intl/locales/zh-tw.d.ts +6 -0
- package/build/types/ui/rc/aside/index.d.ts +2 -0
- package/build/types/ui/rc/global-style-on-body/index.d.ts +1 -0
- package/build/types/ui/rc/index.d.ts +6 -0
- package/build/types/ui/rc/side-panel-item-badge/index.d.ts +9 -0
- package/build/types/ui/rc/side-panel-item-button/index.d.ts +5 -0
- package/build/types/ui/rc/side-panel-item-tooltip/index.d.ts +10 -0
- package/build/types/ui/rc/side-panel-item-wrap/index.d.ts +5 -0
- package/build/types/ui/rc-container/collapse-toggle/index.d.ts +1 -0
- package/build/types/ui/rc-container/index.d.ts +3 -0
- package/build/types/ui/rc-container/item/index.d.ts +5 -0
- package/build/types/ui/rc-container/items/index.d.ts +6 -0
- package/build/types/ui/rc-container/items-bottom/index.d.ts +1 -0
- package/build/types/ui/rc-container/items-bottom/quick-top/index.d.ts +1 -0
- package/build/types/ui/rc-container/items-top/index.d.ts +1 -0
- package/build/types/ui/types/index.d.ts +4 -0
- package/build/types/ui/util/get-value-by-status.d.ts +8 -0
- package/build/types/ui/util/index.d.ts +1 -0
- package/build/types/with-model/index.d.ts +2 -0
- package/package.json +69 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = Item;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _reactHookMouseEnterLeave = _interopRequireDefault(require("@alicloud/react-hook-mouse-enter-leave"));
|
|
14
|
+
var _consoleBaseRcHtmlTrusted = _interopRequireDefault(require("@alicloud/console-base-rc-html-trusted"));
|
|
15
|
+
var _consoleBaseRcEasyIcon = require("@alicloud/console-base-rc-easy-icon");
|
|
16
|
+
var _model = require("../../../model");
|
|
17
|
+
var _util = require("../../util");
|
|
18
|
+
var _rc = require("../../rc");
|
|
19
|
+
var _excluded = ["id", "className", "style", "active", "title", "titleActive", "icon", "iconHovered", "iconActive", "iconActiveHovered", "unread", "mark", "tooltip", "tooltipActive", "tooltipAsHtml", "tooltipAlign", "tooltipDefaultVisible", "onClick", "onActiveChange", "onMouseEnter", "onMouseLeave"];
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24
|
+
function Item(_ref) {
|
|
25
|
+
var id = _ref.id,
|
|
26
|
+
className = _ref.className,
|
|
27
|
+
style = _ref.style,
|
|
28
|
+
active = _ref.active,
|
|
29
|
+
title = _ref.title,
|
|
30
|
+
titleActive = _ref.titleActive,
|
|
31
|
+
icon = _ref.icon,
|
|
32
|
+
iconHovered = _ref.iconHovered,
|
|
33
|
+
iconActive = _ref.iconActive,
|
|
34
|
+
iconActiveHovered = _ref.iconActiveHovered,
|
|
35
|
+
unread = _ref.unread,
|
|
36
|
+
mark = _ref.mark,
|
|
37
|
+
tooltip = _ref.tooltip,
|
|
38
|
+
tooltipActive = _ref.tooltipActive,
|
|
39
|
+
tooltipAsHtml = _ref.tooltipAsHtml,
|
|
40
|
+
tooltipAlign = _ref.tooltipAlign,
|
|
41
|
+
_ref$tooltipDefaultVi = _ref.tooltipDefaultVisible,
|
|
42
|
+
tooltipDefaultVisible = _ref$tooltipDefaultVi === void 0 ? false : _ref$tooltipDefaultVi,
|
|
43
|
+
onClick = _ref.onClick,
|
|
44
|
+
onActiveChange = _ref.onActiveChange,
|
|
45
|
+
onMouseEnter = _ref.onMouseEnter,
|
|
46
|
+
onMouseLeave = _ref.onMouseLeave,
|
|
47
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
48
|
+
var collapsed = (0, _model.useCollapsed)();
|
|
49
|
+
var _useState = (0, _react.useState)(tooltipDefaultVisible),
|
|
50
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
51
|
+
stateTooltipVisible = _useState2[0],
|
|
52
|
+
setStateTooltipVisible = _useState2[1];
|
|
53
|
+
var _useMouseEnterLeave = (0, _reactHookMouseEnterLeave.default)((0, _react.useCallback)(function () {
|
|
54
|
+
setStateTooltipVisible(true);
|
|
55
|
+
onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter();
|
|
56
|
+
}, [setStateTooltipVisible, onMouseEnter]), (0, _react.useCallback)(function () {
|
|
57
|
+
setStateTooltipVisible(false);
|
|
58
|
+
onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave();
|
|
59
|
+
}, [setStateTooltipVisible, onMouseLeave])),
|
|
60
|
+
_useMouseEnterLeave2 = (0, _slicedToArray2.default)(_useMouseEnterLeave, 2),
|
|
61
|
+
handleMouseEnter = _useMouseEnterLeave2[0],
|
|
62
|
+
handleMouseLeave = _useMouseEnterLeave2[1];
|
|
63
|
+
var handleClick = (0, _react.useCallback)(function (e) {
|
|
64
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
65
|
+
onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(!active);
|
|
66
|
+
}, [active, onClick, onActiveChange]);
|
|
67
|
+
var finalTitle = (0, _util.getValueByStatus)({
|
|
68
|
+
valueNormal: title,
|
|
69
|
+
valueActive: titleActive
|
|
70
|
+
}, stateTooltipVisible, active);
|
|
71
|
+
var finalIcon = (0, _util.getValueByStatus)({
|
|
72
|
+
valueNormal: icon,
|
|
73
|
+
valueHovered: iconHovered,
|
|
74
|
+
valueActive: iconActive,
|
|
75
|
+
valueActiveHovered: iconActiveHovered
|
|
76
|
+
}, stateTooltipVisible, active);
|
|
77
|
+
var finalTooltip = (0, _util.getValueByStatus)({
|
|
78
|
+
valueNormal: tooltip,
|
|
79
|
+
valueActive: tooltipActive
|
|
80
|
+
}, stateTooltipVisible, active);
|
|
81
|
+
return /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemWrap, {
|
|
82
|
+
id: id,
|
|
83
|
+
className: className,
|
|
84
|
+
style: style,
|
|
85
|
+
onMouseLeave: handleMouseLeave
|
|
86
|
+
}, /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemButton, _objectSpread(_objectSpread({}, props), {}, {
|
|
87
|
+
active: active,
|
|
88
|
+
title: title,
|
|
89
|
+
label: (0, _consoleBaseRcEasyIcon.renderEasyIcon)(finalIcon) || title,
|
|
90
|
+
onMouseEnter: handleMouseEnter,
|
|
91
|
+
onClick: handleClick
|
|
92
|
+
})), /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemBadge, {
|
|
93
|
+
unread: unread,
|
|
94
|
+
mark: mark
|
|
95
|
+
}), finalTooltip || finalTitle ? /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemTooltip, {
|
|
96
|
+
visible: stateTooltipVisible && !collapsed,
|
|
97
|
+
align: tooltipAlign,
|
|
98
|
+
content: tooltipAsHtml && finalTooltip && typeof finalTooltip === 'string' ? /*#__PURE__*/_react.default.createElement(_consoleBaseRcHtmlTrusted.default, {
|
|
99
|
+
text: finalTooltip
|
|
100
|
+
}) : finalTooltip || finalTitle,
|
|
101
|
+
onMouseEnter: handleMouseEnter
|
|
102
|
+
}) : null);
|
|
103
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = Items;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _const = require("../../const");
|
|
11
|
+
var _item = _interopRequireDefault(require("../item"));
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
+
function Items(_ref) {
|
|
15
|
+
var items = _ref.items;
|
|
16
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, items.map(function (v) {
|
|
17
|
+
var _objectSpread2;
|
|
18
|
+
return /*#__PURE__*/_react.default.createElement(_item.default, _objectSpread((_objectSpread2 = {}, (0, _defineProperty2.default)(_objectSpread2, _const.DATA_KEY_SIDE_PANEL_ITEM, v.key), (0, _defineProperty2.default)(_objectSpread2, "spm", v.key), _objectSpread2), v));
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = ItemsBottom;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
|
+
var _consoleBaseThemeScBase = require("@alicloud/console-base-theme-sc-base");
|
|
11
|
+
var _consoleBaseRcFlex = _interopRequireDefault(require("@alicloud/console-base-rc-flex"));
|
|
12
|
+
var _const = require("../../const");
|
|
13
|
+
var _model = require("../../../model");
|
|
14
|
+
var _items = _interopRequireDefault(require("../items"));
|
|
15
|
+
var _quickTop = _interopRequireDefault(require("./quick-top"));
|
|
16
|
+
var ScHr = (0, _styledComponents.default)(_consoleBaseThemeScBase.HrBase).withConfig({
|
|
17
|
+
componentId: "sc-1rxhuz5-0"
|
|
18
|
+
})(["margin:", "px 4px;"], _const.SPACING_Y);
|
|
19
|
+
function ItemsBottom() {
|
|
20
|
+
var quickTop = (0, _model.useQuickTop)();
|
|
21
|
+
var children = (0, _model.useChildren)();
|
|
22
|
+
var items = (0, _model.useItemsBottom)();
|
|
23
|
+
return /*#__PURE__*/_react.default.createElement(_consoleBaseRcFlex.default, {
|
|
24
|
+
vertical: true
|
|
25
|
+
}, quickTop.container && quickTop.visible ? /*#__PURE__*/_react.default.createElement(_quickTop.default, null) : null, children || items.length ? /*#__PURE__*/_react.default.createElement(ScHr, null) : null, children || /*#__PURE__*/_react.default.createElement(_items.default, {
|
|
26
|
+
items: items
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = QuickTop;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _reactHookMouseEnterLeave = _interopRequireDefault(require("@alicloud/react-hook-mouse-enter-leave"));
|
|
12
|
+
var _consoleBaseRcIcon = _interopRequireDefault(require("@alicloud/console-base-rc-icon"));
|
|
13
|
+
var _model = require("../../../../model");
|
|
14
|
+
var _intl = _interopRequireDefault(require("../../../intl"));
|
|
15
|
+
var _rc = require("../../../rc");
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
+
function QuickTop() {
|
|
19
|
+
var handleGoTop = (0, _model.useHandleGoTop)();
|
|
20
|
+
var _useState = (0, _react.useState)(false),
|
|
21
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
22
|
+
stateHovered = _useState2[0],
|
|
23
|
+
setStateHovered = _useState2[1];
|
|
24
|
+
var _useMouseEnterLeave = (0, _reactHookMouseEnterLeave.default)((0, _react.useCallback)(function () {
|
|
25
|
+
setStateHovered(true);
|
|
26
|
+
}, [setStateHovered]), (0, _react.useCallback)(function () {
|
|
27
|
+
setStateHovered(false);
|
|
28
|
+
}, [setStateHovered])),
|
|
29
|
+
_useMouseEnterLeave2 = (0, _slicedToArray2.default)(_useMouseEnterLeave, 2),
|
|
30
|
+
handleMouseEnter = _useMouseEnterLeave2[0],
|
|
31
|
+
handleMouseLeave = _useMouseEnterLeave2[1];
|
|
32
|
+
var title = (0, _intl.default)('op:back_to_top');
|
|
33
|
+
return /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemWrap, {
|
|
34
|
+
hovered: stateHovered,
|
|
35
|
+
onMouseLeave: handleMouseLeave
|
|
36
|
+
}, /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemButton, {
|
|
37
|
+
title: title,
|
|
38
|
+
label: /*#__PURE__*/_react.default.createElement(_consoleBaseRcIcon.default, {
|
|
39
|
+
type: "go-top"
|
|
40
|
+
}),
|
|
41
|
+
onMouseEnter: handleMouseEnter,
|
|
42
|
+
onClick: handleGoTop
|
|
43
|
+
}), /*#__PURE__*/_react.default.createElement(_rc.SidePanelItemTooltip, {
|
|
44
|
+
visible: stateHovered,
|
|
45
|
+
content: title
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = ItemsTop;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _consoleBaseRcFlex = _interopRequireDefault(require("@alicloud/console-base-rc-flex"));
|
|
10
|
+
var _model = require("../../../model");
|
|
11
|
+
var _items = _interopRequireDefault(require("../items"));
|
|
12
|
+
function ItemsTop() {
|
|
13
|
+
var items = (0, _model.useItemsTop)();
|
|
14
|
+
return /*#__PURE__*/_react.default.createElement(_consoleBaseRcFlex.default, {
|
|
15
|
+
vertical: true,
|
|
16
|
+
flex: true
|
|
17
|
+
}, /*#__PURE__*/_react.default.createElement(_items.default, {
|
|
18
|
+
items: items
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = getValueByStatus;
|
|
7
|
+
function getValueByStatus(values, hovered, active) {
|
|
8
|
+
var valueNormal = values.valueNormal,
|
|
9
|
+
valueHovered = values.valueHovered,
|
|
10
|
+
valueActive = values.valueActive,
|
|
11
|
+
valueActiveHovered = values.valueActiveHovered;
|
|
12
|
+
if (hovered && active) {
|
|
13
|
+
var _ref;
|
|
14
|
+
return (_ref = valueActiveHovered !== null && valueActiveHovered !== void 0 ? valueActiveHovered : valueActive) !== null && _ref !== void 0 ? _ref : valueNormal;
|
|
15
|
+
}
|
|
16
|
+
if (active) {
|
|
17
|
+
return valueActive !== null && valueActive !== void 0 ? valueActive : valueNormal;
|
|
18
|
+
}
|
|
19
|
+
if (hovered) {
|
|
20
|
+
return valueHovered !== null && valueHovered !== void 0 ? valueHovered : valueNormal;
|
|
21
|
+
}
|
|
22
|
+
return valueNormal;
|
|
23
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "getValueByStatus", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _getValueByStatus.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _getValueByStatus = _interopRequireDefault(require("./get-value-by-status"));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = WithModel;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _model = _interopRequireDefault(require("../model"));
|
|
10
|
+
var _ui = _interopRequireDefault(require("../ui"));
|
|
11
|
+
function WithModel(props) {
|
|
12
|
+
return /*#__PURE__*/_react.default.createElement(_model.default, {
|
|
13
|
+
props: props
|
|
14
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.default, null));
|
|
15
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["itemsTop", "itemsBottom"];
|
|
4
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
|
+
import { useMemo } from 'react';
|
|
7
|
+
import useModelContext from './_use-model-context';
|
|
8
|
+
export default function useModelProps() {
|
|
9
|
+
var _useModelContext = useModelContext(),
|
|
10
|
+
props = _useModelContext.props;
|
|
11
|
+
return useMemo(function () {
|
|
12
|
+
var _props$itemsTop = props.itemsTop,
|
|
13
|
+
itemsTop = _props$itemsTop === void 0 ? [] : _props$itemsTop,
|
|
14
|
+
_props$itemsBottom = props.itemsBottom,
|
|
15
|
+
itemsBottom = _props$itemsBottom === void 0 ? [] : _props$itemsBottom,
|
|
16
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
17
|
+
return _objectSpread(_objectSpread({}, rest), {}, {
|
|
18
|
+
itemsTop: itemsTop,
|
|
19
|
+
itemsBottom: itemsBottom
|
|
20
|
+
});
|
|
21
|
+
}, [props]);
|
|
22
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { default as useChildren } from './use-children';
|
|
2
|
+
export { default as useVisible } from './use-visible';
|
|
3
|
+
export { default as useCollapsed } from './use-collapsed';
|
|
4
|
+
export { default as useItemsTop } from './use-items-top';
|
|
5
|
+
export { default as useItemsBottom } from './use-items-bottom';
|
|
6
|
+
export { default as useQuickTop } from './use-quick-top';
|
|
7
|
+
|
|
8
|
+
// handlers
|
|
9
|
+
export { default as useHandleCollapsedChange } from './use-handle-collapsed-change';
|
|
10
|
+
export { default as useHandleGoTop } from './use-handle-go-top';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import useModelProps from './_use-model-props';
|
|
2
|
+
import useModelState from './_use-model-state';
|
|
3
|
+
export default function useCollapsed() {
|
|
4
|
+
var _useModelProps = useModelProps(),
|
|
5
|
+
valueInProps = _useModelProps.collapsed;
|
|
6
|
+
var _useModelState = useModelState(),
|
|
7
|
+
valueInState = _useModelState.collapsed;
|
|
8
|
+
return valueInProps !== null && valueInProps !== void 0 ? valueInProps : valueInState;
|
|
9
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import { EAction } from '../enum';
|
|
3
|
+
import useModelDispatch from './_use-model-dispatch';
|
|
4
|
+
export default function useDispatchSetCollapsed() {
|
|
5
|
+
var dispatch = useModelDispatch();
|
|
6
|
+
return useCallback(function (payload) {
|
|
7
|
+
return dispatch({
|
|
8
|
+
type: EAction.SET_COLLAPSED,
|
|
9
|
+
payload: payload
|
|
10
|
+
});
|
|
11
|
+
}, [dispatch]);
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import { EAction } from '../enum';
|
|
3
|
+
import useModelDispatch from './_use-model-dispatch';
|
|
4
|
+
export default function useDispatchSetQuickTopVisible() {
|
|
5
|
+
var dispatch = useModelDispatch();
|
|
6
|
+
return useCallback(function (payload) {
|
|
7
|
+
return dispatch({
|
|
8
|
+
type: EAction.SET_QUICK_TOP_VISIBLE,
|
|
9
|
+
payload: payload
|
|
10
|
+
});
|
|
11
|
+
}, [dispatch]);
|
|
12
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useCallback, useEffect } from 'react';
|
|
2
|
+
import { QUICK_TOP_VISIBLE_OFFSET } from '../const';
|
|
3
|
+
import useModelProps from './_use-model-props';
|
|
4
|
+
import useVisible from './use-visible';
|
|
5
|
+
import useCollapsed from './use-collapsed';
|
|
6
|
+
import useHandleSetQuickTopVisible from './use-handle-set-quick-top-visible';
|
|
7
|
+
export default function useEffectQuickTop() {
|
|
8
|
+
var _useModelProps = useModelProps(),
|
|
9
|
+
quickTopContainer = _useModelProps.quickTopContainer;
|
|
10
|
+
var visible = useVisible();
|
|
11
|
+
var collapsed = useCollapsed();
|
|
12
|
+
var handleSetQuickTopVisible = useHandleSetQuickTopVisible();
|
|
13
|
+
var handleToggleVisible = useCallback(function () {
|
|
14
|
+
if (!quickTopContainer) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
handleSetQuickTopVisible((quickTopContainer.scrollY || quickTopContainer.scrollTop) > QUICK_TOP_VISIBLE_OFFSET);
|
|
18
|
+
}, [quickTopContainer, handleSetQuickTopVisible]);
|
|
19
|
+
|
|
20
|
+
// container 变化导致 handleToggleVisible 变化,此时需要执行一次
|
|
21
|
+
useEffect(handleToggleVisible, [handleToggleVisible]);
|
|
22
|
+
|
|
23
|
+
// 对 container 进行 scroll 的事件绑定
|
|
24
|
+
useEffect(function () {
|
|
25
|
+
if (!quickTopContainer || !visible || collapsed) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
quickTopContainer.addEventListener('scroll', handleToggleVisible);
|
|
29
|
+
return function () {
|
|
30
|
+
return quickTopContainer.removeEventListener('scroll', handleToggleVisible);
|
|
31
|
+
};
|
|
32
|
+
}, [visible, collapsed, quickTopContainer, handleToggleVisible]);
|
|
33
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { triggerWindowResize } from '@alicloud/mere-dom';
|
|
3
|
+
import { toggleBodyClass } from '../util';
|
|
4
|
+
import useCollapsed from './use-collapsed';
|
|
5
|
+
export default function useEffectToggleBodyClass() {
|
|
6
|
+
var collapsed = useCollapsed();
|
|
7
|
+
useEffect(function () {
|
|
8
|
+
if (collapsed) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
toggleBodyClass();
|
|
12
|
+
triggerWindowResize();
|
|
13
|
+
return function () {
|
|
14
|
+
toggleBodyClass(false);
|
|
15
|
+
triggerWindowResize();
|
|
16
|
+
};
|
|
17
|
+
}, [collapsed]);
|
|
18
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import useCollapsed from './use-collapsed';
|
|
3
|
+
import useDispatchSetCollapsed from './use-dispatch-set-collapsed';
|
|
4
|
+
import useModelProps from './_use-model-props';
|
|
5
|
+
export default function useHandleCollapsedChange() {
|
|
6
|
+
var _useModelProps = useModelProps(),
|
|
7
|
+
onCollapsedChange = _useModelProps.onCollapsedChange;
|
|
8
|
+
var collapsed = !useCollapsed(); // 取反一下
|
|
9
|
+
var dispatchSetCollapsed = useDispatchSetCollapsed();
|
|
10
|
+
return useCallback(function () {
|
|
11
|
+
dispatchSetCollapsed(collapsed);
|
|
12
|
+
onCollapsedChange === null || onCollapsedChange === void 0 ? void 0 : onCollapsedChange(collapsed);
|
|
13
|
+
}, [collapsed, dispatchSetCollapsed, onCollapsedChange]);
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import { scrollTo } from '@alicloud/mere-dom';
|
|
3
|
+
import useQuickTop from './use-quick-top';
|
|
4
|
+
export default function useHandleGoTop() {
|
|
5
|
+
var _useQuickTop = useQuickTop(),
|
|
6
|
+
container = _useQuickTop.container;
|
|
7
|
+
return useCallback(function () {
|
|
8
|
+
if (!container) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
scrollTo(container, {
|
|
12
|
+
top: 0
|
|
13
|
+
});
|
|
14
|
+
}, [container]);
|
|
15
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import useDispatchSetQuickTopVisible from './use-dispatch-set-quick-top-visible';
|
|
3
|
+
import useModelProps from './_use-model-props';
|
|
4
|
+
export default function useHandleSetQuickTopVisible() {
|
|
5
|
+
var _useModelProps = useModelProps(),
|
|
6
|
+
onQuickTopVisibleChange = _useModelProps.onQuickTopVisibleChange;
|
|
7
|
+
var dispatchSetQuickTopVisible = useDispatchSetQuickTopVisible();
|
|
8
|
+
return useCallback(function (visible) {
|
|
9
|
+
dispatchSetQuickTopVisible(visible);
|
|
10
|
+
onQuickTopVisibleChange === null || onQuickTopVisibleChange === void 0 ? void 0 : onQuickTopVisibleChange(visible);
|
|
11
|
+
}, [dispatchSetQuickTopVisible, onQuickTopVisibleChange]);
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import useModelProps from './_use-model-props';
|
|
2
|
+
import useModelState from './_use-model-state';
|
|
3
|
+
export default function useQuickTop() {
|
|
4
|
+
var _useModelProps = useModelProps(),
|
|
5
|
+
quickTopContainer = _useModelProps.quickTopContainer;
|
|
6
|
+
var _useModelState = useModelState(),
|
|
7
|
+
quickTopVisible = _useModelState.quickTopVisible;
|
|
8
|
+
return {
|
|
9
|
+
container: quickTopContainer,
|
|
10
|
+
visible: quickTopVisible
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import useModelProps from './_use-model-props';
|
|
2
|
+
export default function useVisible() {
|
|
3
|
+
var _useModelProps = useModelProps(),
|
|
4
|
+
_useModelProps$visibl = _useModelProps.visible,
|
|
5
|
+
visible = _useModelProps$visibl === void 0 ? true : _useModelProps$visibl;
|
|
6
|
+
return visible;
|
|
7
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import React, { useCallback, useReducer } from 'react';
|
|
3
|
+
import useIsUnmounted from '@alicloud/react-hook-is-unmounted';
|
|
4
|
+
import { DEFAULT_CONTEXT_STATE } from '../const';
|
|
5
|
+
import reducer from '../reducer';
|
|
6
|
+
import Context from '../context';
|
|
7
|
+
import Lifecycle from '../lifecycle';
|
|
8
|
+
export default function Provider(_ref) {
|
|
9
|
+
var props = _ref.props,
|
|
10
|
+
children = _ref.children;
|
|
11
|
+
var isUnmounted = useIsUnmounted();
|
|
12
|
+
var _useReducer = useReducer(reducer, DEFAULT_CONTEXT_STATE),
|
|
13
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
14
|
+
state = _useReducer2[0],
|
|
15
|
+
dispatch = _useReducer2[1];
|
|
16
|
+
var safeDispatch = useCallback(function (action) {
|
|
17
|
+
// 不必再担心异步回调 dispatch 可能发生的错误
|
|
18
|
+
if (isUnmounted()) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
dispatch(action);
|
|
22
|
+
}, [isUnmounted, dispatch]);
|
|
23
|
+
return /*#__PURE__*/React.createElement(Context.Provider, {
|
|
24
|
+
value: {
|
|
25
|
+
props: props,
|
|
26
|
+
state: state,
|
|
27
|
+
dispatch: safeDispatch
|
|
28
|
+
}
|
|
29
|
+
}, children, /*#__PURE__*/React.createElement(Lifecycle, null));
|
|
30
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EAction } from '../enum';
|
|
2
|
+
import reduceSetCollapsed from './reduce-set-collapsed';
|
|
3
|
+
import reduceSetQuickTopVisible from './reduce-set-quick-top-visible';
|
|
4
|
+
export default function reducer(state, action) {
|
|
5
|
+
switch (action.type) {
|
|
6
|
+
case EAction.SET_COLLAPSED:
|
|
7
|
+
return reduceSetCollapsed(state, action.payload);
|
|
8
|
+
case EAction.SET_QUICK_TOP_VISIBLE:
|
|
9
|
+
return reduceSetQuickTopVisible(state, action.payload);
|
|
10
|
+
default:
|
|
11
|
+
return state;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|