tntd 2.1.1 → 2.2.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/es/ellipsis/Svg/CopySVG.js +3 -3
- package/es/ellipsis/Svg/CopySVG.js.map +1 -1
- package/es/ellipsis/Svg/TickSVG.js +3 -3
- package/es/ellipsis/Svg/TickSVG.js.map +1 -1
- package/es/ellipsis/index.js +18 -3
- package/es/ellipsis/index.js.map +1 -1
- package/es/ellipsis/index.less +5 -1
- package/es/index.js +2 -1
- package/es/index.js.map +1 -1
- package/es/label/index.js +1 -0
- package/es/label/index.js.map +1 -0
- package/es/label/label.js +140 -0
- package/es/label/label.js.map +1 -0
- package/es/label/label.less +48 -0
- package/es/label/label.test.js +12 -0
- package/es/label/label.test.js.map +1 -0
- package/es/page/index.js +0 -4
- package/es/page/index.js.map +1 -1
- package/es/query-list-scene/List.js +0 -2
- package/es/query-list-scene/List.js.map +1 -1
- package/es/tntd-layout/GlobalNavigation/NavigationPopup.js +0 -1
- package/es/tntd-layout/GlobalNavigation/NavigationPopup.js.map +1 -1
- package/lib/ellipsis/Svg/CopySVG.d.ts.map +1 -1
- package/lib/ellipsis/Svg/CopySVG.js +3 -3
- package/lib/ellipsis/Svg/CopySVG.js.map +1 -1
- package/lib/ellipsis/Svg/TickSVG.d.ts.map +1 -1
- package/lib/ellipsis/Svg/TickSVG.js +3 -3
- package/lib/ellipsis/Svg/TickSVG.js.map +1 -1
- package/lib/ellipsis/index.d.ts.map +1 -1
- package/lib/ellipsis/index.js +21 -3
- package/lib/ellipsis/index.js.map +1 -1
- package/lib/ellipsis/index.less +5 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -1
- package/lib/label/index.d.ts +2 -0
- package/lib/label/index.d.ts.map +1 -0
- package/lib/{status → label}/index.js +4 -4
- package/lib/label/index.js.map +1 -0
- package/lib/label/label.d.ts +52 -0
- package/lib/label/label.d.ts.map +1 -0
- package/lib/label/label.js +150 -0
- package/lib/label/label.js.map +1 -0
- package/lib/label/label.less +48 -0
- package/lib/label/label.test.d.ts +2 -0
- package/lib/label/label.test.d.ts.map +1 -0
- package/lib/label/label.test.js +14 -0
- package/lib/label/label.test.js.map +1 -0
- package/lib/page/index.d.ts.map +1 -1
- package/lib/page/index.js +0 -4
- package/lib/page/index.js.map +1 -1
- package/lib/query-list-scene/List.d.ts.map +1 -1
- package/lib/query-list-scene/List.js +0 -2
- package/lib/query-list-scene/List.js.map +1 -1
- package/lib/tntd-layout/GlobalNavigation/NavigationPopup.d.ts.map +1 -1
- package/lib/tntd-layout/GlobalNavigation/NavigationPopup.js +0 -1
- package/lib/tntd-layout/GlobalNavigation/NavigationPopup.js.map +1 -1
- package/package.json +5 -5
- package/themes/default/variables.less +4 -5
- package/codemod/__testfixtures__/v1-to-v2-react.input.js +0 -24
- package/codemod/__testfixtures__/v1-to-v2-react.output.js +0 -23
- package/codemod/__testfixtures__/v1-to-v2.input.js +0 -2
- package/codemod/__testfixtures__/v1-to-v2.output.js +0 -2
- package/codemod/__tests__/v1-to-v2-test.js +0 -4
- package/codemod/v1-to-v2.js +0 -96
- package/es/array-input/style/index.js +0 -1
- package/es/array-input/style/index.js.map +0 -1
- package/es/auth-context/style/index.js +0 -1
- package/es/auth-context/style/index.js.map +0 -1
- package/es/development-login/style/index.js +0 -1
- package/es/development-login/style/index.js.map +0 -1
- package/es/ellipsis/style/index.js +0 -1
- package/es/ellipsis/style/index.js.map +0 -1
- package/es/empty/render-empty.js +0 -22
- package/es/empty/render-empty.js.map +0 -1
- package/es/empty/style/index.js +0 -2
- package/es/empty/style/index.js.map +0 -1
- package/es/handle/style/index.js +0 -1
- package/es/handle/style/index.js.map +0 -1
- package/es/icon-list/style/index.js +0 -1
- package/es/icon-list/style/index.js.map +0 -1
- package/es/img/style/index.js +0 -1
- package/es/img/style/index.js.map +0 -1
- package/es/loading-button/style/index.js +0 -1
- package/es/loading-button/style/index.js.map +0 -1
- package/es/page/style/index.js +0 -1
- package/es/page/style/index.js.map +0 -1
- package/es/query-form/style/index.js +0 -1
- package/es/query-form/style/index.js.map +0 -1
- package/es/query-list-scene/style/index.js +0 -1
- package/es/query-list-scene/style/index.js.map +0 -1
- package/es/render-empty/style/index.js +0 -1
- package/es/render-empty/style/index.js.map +0 -1
- package/es/status/index.js +0 -1
- package/es/status/index.js.map +0 -1
- package/es/status/status.js +0 -5
- package/es/status/status.js.map +0 -1
- package/es/table/style/index.js +0 -2
- package/es/table/style/index.js.map +0 -1
- package/es/title/style/index.js +0 -1
- package/es/title/style/index.js.map +0 -1
- package/es/tntd-icon/style/index.js +0 -1
- package/es/tntd-icon/style/index.js.map +0 -1
- package/es/tntd-layout/style/index.js +0 -1
- package/es/tntd-layout/style/index.js.map +0 -1
- package/es/tntd-modal/style/index.js +0 -1
- package/es/tntd-modal/style/index.js.map +0 -1
- package/es/tntd-select/style/index.js +0 -1
- package/es/tntd-select/style/index.js.map +0 -1
- package/lib/array-input/style/index.d.ts +0 -1
- package/lib/array-input/style/index.d.ts.map +0 -1
- package/lib/array-input/style/index.js +0 -1
- package/lib/array-input/style/index.js.map +0 -1
- package/lib/auth-context/style/index.d.ts +0 -1
- package/lib/auth-context/style/index.d.ts.map +0 -1
- package/lib/auth-context/style/index.js +0 -1
- package/lib/auth-context/style/index.js.map +0 -1
- package/lib/development-login/style/index.d.ts +0 -1
- package/lib/development-login/style/index.d.ts.map +0 -1
- package/lib/development-login/style/index.js +0 -1
- package/lib/development-login/style/index.js.map +0 -1
- package/lib/ellipsis/style/index.d.ts +0 -1
- package/lib/ellipsis/style/index.d.ts.map +0 -1
- package/lib/ellipsis/style/index.js +0 -1
- package/lib/ellipsis/style/index.js.map +0 -1
- package/lib/empty/render-empty.d.ts +0 -3
- package/lib/empty/render-empty.d.ts.map +0 -1
- package/lib/empty/render-empty.js +0 -32
- package/lib/empty/render-empty.js.map +0 -1
- package/lib/empty/style/index.d.ts +0 -3
- package/lib/empty/style/index.d.ts.map +0 -1
- package/lib/empty/style/index.js +0 -4
- package/lib/empty/style/index.js.map +0 -1
- package/lib/handle/style/index.d.ts +0 -1
- package/lib/handle/style/index.d.ts.map +0 -1
- package/lib/handle/style/index.js +0 -1
- package/lib/handle/style/index.js.map +0 -1
- package/lib/icon-list/style/index.d.ts +0 -3
- package/lib/icon-list/style/index.d.ts.map +0 -1
- package/lib/icon-list/style/index.js +0 -8
- package/lib/icon-list/style/index.js.map +0 -1
- package/lib/img/style/index.d.ts +0 -1
- package/lib/img/style/index.d.ts.map +0 -1
- package/lib/img/style/index.js +0 -1
- package/lib/img/style/index.js.map +0 -1
- package/lib/loading-button/style/index.d.ts +0 -1
- package/lib/loading-button/style/index.d.ts.map +0 -1
- package/lib/loading-button/style/index.js +0 -1
- package/lib/loading-button/style/index.js.map +0 -1
- package/lib/page/style/index.d.ts +0 -1
- package/lib/page/style/index.d.ts.map +0 -1
- package/lib/page/style/index.js +0 -1
- package/lib/page/style/index.js.map +0 -1
- package/lib/query-form/style/index.d.ts +0 -1
- package/lib/query-form/style/index.d.ts.map +0 -1
- package/lib/query-form/style/index.js +0 -1
- package/lib/query-form/style/index.js.map +0 -1
- package/lib/query-list-scene/style/index.d.ts +0 -1
- package/lib/query-list-scene/style/index.d.ts.map +0 -1
- package/lib/query-list-scene/style/index.js +0 -1
- package/lib/query-list-scene/style/index.js.map +0 -1
- package/lib/render-empty/style/index.d.ts +0 -2
- package/lib/render-empty/style/index.d.ts.map +0 -1
- package/lib/render-empty/style/index.js +0 -3
- package/lib/render-empty/style/index.js.map +0 -1
- package/lib/status/index.d.ts +0 -2
- package/lib/status/index.d.ts.map +0 -1
- package/lib/status/index.js.map +0 -1
- package/lib/status/status.d.ts +0 -6
- package/lib/status/status.d.ts.map +0 -1
- package/lib/status/status.js +0 -13
- package/lib/status/status.js.map +0 -1
- package/lib/table/style/index.d.ts +0 -3
- package/lib/table/style/index.d.ts.map +0 -1
- package/lib/table/style/index.js +0 -4
- package/lib/table/style/index.js.map +0 -1
- package/lib/title/style/index.d.ts +0 -1
- package/lib/title/style/index.d.ts.map +0 -1
- package/lib/title/style/index.js +0 -1
- package/lib/title/style/index.js.map +0 -1
- package/lib/tntd-icon/style/index.d.ts +0 -1
- package/lib/tntd-icon/style/index.d.ts.map +0 -1
- package/lib/tntd-icon/style/index.js +0 -1
- package/lib/tntd-icon/style/index.js.map +0 -1
- package/lib/tntd-layout/style/index.d.ts +0 -1
- package/lib/tntd-layout/style/index.d.ts.map +0 -1
- package/lib/tntd-layout/style/index.js +0 -1
- package/lib/tntd-layout/style/index.js.map +0 -1
- package/lib/tntd-modal/style/index.d.ts +0 -1
- package/lib/tntd-modal/style/index.d.ts.map +0 -1
- package/lib/tntd-modal/style/index.js +0 -1
- package/lib/tntd-modal/style/index.js.map +0 -1
- package/lib/tntd-select/style/index.d.ts +0 -1
- package/lib/tntd-select/style/index.d.ts.map +0 -1
- package/lib/tntd-select/style/index.js +0 -1
- package/lib/tntd-select/style/index.js.map +0 -1
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.LabelColors = exports.Label = void 0;
|
|
7
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _colorAlpha = _interopRequireDefault(require("color-alpha"));
|
|
10
|
+
var _configProvider = require("antd/lib/config-provider");
|
|
11
|
+
var _tag = _interopRequireDefault(require("antd/lib/tag"));
|
|
12
|
+
var _ellipsis = _interopRequireDefault(require("../ellipsis"));
|
|
13
|
+
require("./label.less");
|
|
14
|
+
var _colors;
|
|
15
|
+
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); }
|
|
16
|
+
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; }
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
18
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
19
|
+
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; }
|
|
20
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
21
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
22
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
23
|
+
var t = {};
|
|
24
|
+
for (var p in s) {
|
|
25
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
26
|
+
}
|
|
27
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
28
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
29
|
+
}
|
|
30
|
+
return t;
|
|
31
|
+
};
|
|
32
|
+
var LabelColors;
|
|
33
|
+
exports.LabelColors = LabelColors;
|
|
34
|
+
(function (LabelColors) {
|
|
35
|
+
LabelColors["cyan"] = "cyan";
|
|
36
|
+
LabelColors["green"] = "green";
|
|
37
|
+
LabelColors["iris"] = "iris";
|
|
38
|
+
LabelColors["blue"] = "blue";
|
|
39
|
+
LabelColors["lavender"] = "lavender";
|
|
40
|
+
LabelColors["orange"] = "orange";
|
|
41
|
+
LabelColors["golden"] = "golden";
|
|
42
|
+
LabelColors["red"] = "red";
|
|
43
|
+
LabelColors["grey"] = "grey";
|
|
44
|
+
})(LabelColors || (exports.LabelColors = LabelColors = {}));
|
|
45
|
+
var colors = (_colors = {}, _defineProperty(_colors, LabelColors.cyan, '#1e9493'), _defineProperty(_colors, LabelColors.green, '#07c790'), _defineProperty(_colors, LabelColors.iris, '#5e47d3'), _defineProperty(_colors, LabelColors.blue, '#126bfb'), _defineProperty(_colors, LabelColors.lavender, '#945fb9'), _defineProperty(_colors, LabelColors.orange, '#ed7b20'), _defineProperty(_colors, LabelColors.golden, '#de8a02'), _defineProperty(_colors, LabelColors.red, '#d96156'), _defineProperty(_colors, LabelColors.grey, '#5e6e90'), _colors);
|
|
46
|
+
/**
|
|
47
|
+
* 计算标签样式
|
|
48
|
+
*
|
|
49
|
+
* @param type
|
|
50
|
+
* @param preset
|
|
51
|
+
* @param textColorSame
|
|
52
|
+
*/
|
|
53
|
+
var computeTagStyle = function computeTagStyle(type, color, textColorSame) {
|
|
54
|
+
if (!color) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
switch (type) {
|
|
58
|
+
case 'dot':
|
|
59
|
+
if (textColorSame) {
|
|
60
|
+
return {
|
|
61
|
+
color: color
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return;
|
|
65
|
+
case 'filled':
|
|
66
|
+
return {
|
|
67
|
+
color: '#fff',
|
|
68
|
+
backgroundColor: color
|
|
69
|
+
};
|
|
70
|
+
case 'rounded':
|
|
71
|
+
return {
|
|
72
|
+
color: color,
|
|
73
|
+
backgroundColor: (0, _colorAlpha["default"])(color, 0.1)
|
|
74
|
+
};
|
|
75
|
+
case 'outline':
|
|
76
|
+
return {
|
|
77
|
+
color: color,
|
|
78
|
+
borderColor: (0, _colorAlpha["default"])(color, 0.4),
|
|
79
|
+
backgroundColor: (0, _colorAlpha["default"])(color, 0.1)
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
var Label = function Label(_a) {
|
|
84
|
+
var className = _a.className,
|
|
85
|
+
children = _a.children,
|
|
86
|
+
type = _a.type,
|
|
87
|
+
color = _a.color,
|
|
88
|
+
icon = _a.icon,
|
|
89
|
+
style = _a.style,
|
|
90
|
+
_a$textColorSame = _a.textColorSame,
|
|
91
|
+
textColorSame = _a$textColorSame === void 0 ? icon != null : _a$textColorSame,
|
|
92
|
+
_a$iconPosition = _a.iconPosition,
|
|
93
|
+
iconPosition = _a$iconPosition === void 0 ? 'prefix' : _a$iconPosition,
|
|
94
|
+
ellipsisOptions = _a.ellipsisOptions,
|
|
95
|
+
props = __rest(_a, ["className", "children", "type", "color", "icon", "style", "textColorSame", "iconPosition", "ellipsisOptions"]);
|
|
96
|
+
var normalizeType = (0, _react.useMemo)(function () {
|
|
97
|
+
if (icon) {
|
|
98
|
+
return 'dot';
|
|
99
|
+
}
|
|
100
|
+
return type;
|
|
101
|
+
}, [icon, type]);
|
|
102
|
+
var computedColor = (0, _react.useMemo)(function () {
|
|
103
|
+
return colors[color] || color;
|
|
104
|
+
}, [color]);
|
|
105
|
+
var tagStyle = (0, _react.useMemo)(function () {
|
|
106
|
+
return computeTagStyle(normalizeType, computedColor, textColorSame);
|
|
107
|
+
}, [normalizeType, computedColor, textColorSame]);
|
|
108
|
+
var hasIcon = (0, _react.useMemo)(function () {
|
|
109
|
+
return icon != null;
|
|
110
|
+
}, [icon]);
|
|
111
|
+
return _react["default"].createElement(_configProvider.ConfigConsumer, null, function (_ref) {
|
|
112
|
+
var _classNames;
|
|
113
|
+
var getPrefixCls = _ref.getPrefixCls;
|
|
114
|
+
var prefixCls = getPrefixCls('label');
|
|
115
|
+
var displayEllipsisOptions = function () {
|
|
116
|
+
var options = Object.assign({}, ellipsisOptions);
|
|
117
|
+
var iconElement = _react["default"].createElement("span", {
|
|
118
|
+
className: "".concat(prefixCls, "-icon"),
|
|
119
|
+
style: {
|
|
120
|
+
color: computedColor
|
|
121
|
+
}
|
|
122
|
+
}, icon);
|
|
123
|
+
if (iconPosition === 'prefix') {
|
|
124
|
+
options.prefix = iconElement;
|
|
125
|
+
}
|
|
126
|
+
if (iconPosition === 'suffix') {
|
|
127
|
+
options.suffix = iconElement;
|
|
128
|
+
}
|
|
129
|
+
if (options.Popover === true) {
|
|
130
|
+
options.content = children;
|
|
131
|
+
} else {
|
|
132
|
+
options.title = children;
|
|
133
|
+
}
|
|
134
|
+
return options;
|
|
135
|
+
}();
|
|
136
|
+
return _react["default"].createElement(_tag["default"], Object.assign({}, props, {
|
|
137
|
+
className: (0, _classnames["default"])(className, prefixCls, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-dot"), normalizeType === 'dot'), _defineProperty(_classNames, "".concat(prefixCls, "-outline"), normalizeType === 'outline'), _defineProperty(_classNames, "".concat(prefixCls, "-filled"), normalizeType === 'filled'), _defineProperty(_classNames, "".concat(prefixCls, "-rounded"), normalizeType === 'rounded'), _classNames)),
|
|
138
|
+
style: Object.assign(Object.assign({}, style), tagStyle)
|
|
139
|
+
}), normalizeType === 'dot' && icon == null && _react["default"].createElement("span", {
|
|
140
|
+
className: "".concat(prefixCls, "-dot-symbol"),
|
|
141
|
+
style: {
|
|
142
|
+
backgroundColor: computedColor
|
|
143
|
+
}
|
|
144
|
+
}), hasIcon ? _react["default"].createElement(_ellipsis["default"], Object.assign({}, displayEllipsisOptions), children) : children);
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
exports.Label = Label;
|
|
148
|
+
Label.CheckableLabel = _tag["default"].CheckableTag;
|
|
149
|
+
var _default = Label;
|
|
150
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/label/label.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames'\nimport React, { ReactNode, useMemo } from 'react'\nimport alpha from 'color-alpha'\n\nimport { ConfigConsumer } from 'antd/lib/config-provider'\nimport type { TagProps as AntdTagProps } from 'antd/lib/tag'\nimport AntdTag from 'antd/lib/tag'\nimport type { CSSProperties } from 'react'\nimport Ellipsis from '../ellipsis'\n\nimport './label.less'\n\nexport enum LabelColors {\n cyan = 'cyan',\n green = 'green',\n iris = 'iris',\n blue = 'blue',\n lavender = 'lavender',\n orange = 'orange',\n golden = 'golden',\n red = 'red',\n grey = 'grey',\n}\n\nconst colors = {\n [LabelColors.cyan]: '#1e9493',\n [LabelColors.green]: '#07c790',\n [LabelColors.iris]: '#5e47d3',\n [LabelColors.blue]: '#126bfb',\n [LabelColors.lavender]: '#945fb9',\n [LabelColors.orange]: '#ed7b20',\n [LabelColors.golden]: '#de8a02',\n [LabelColors.red]: '#d96156',\n [LabelColors.grey]: '#5e6e90',\n}\n\nexport interface LabelProps extends AntdTagProps {\n /**\n * 类型\n */\n type?: 'dot' | 'filled' | 'outline' | 'rounded'\n /**\n * 颜色\n */\n color?: LabelColors | string\n /**\n * 文字是否同色\n */\n textColorSame?: boolean\n /**\n * 图标\n */\n icon?: ReactNode\n /**\n * 图标位置\n */\n iconPosition?: 'prefix' | 'suffix'\n /**\n * 省略配置\n */\n ellipsisOptions?: {\n Popover?: boolean\n emptyText?: string\n widthLimit?: number | string\n lines?: number\n [key: string]: unknown\n }\n}\n\n/**\n * 计算标签样式\n *\n * @param type\n * @param preset\n * @param textColorSame\n */\nconst computeTagStyle = (\n type: LabelProps['type'],\n color?: string,\n textColorSame?: boolean\n): CSSProperties | undefined => {\n if (!color) {\n return\n }\n\n switch (type) {\n case 'dot':\n if (textColorSame) {\n return {\n color,\n }\n }\n\n return\n case 'filled':\n return {\n color: '#fff',\n backgroundColor: color,\n }\n case 'rounded':\n return {\n color,\n backgroundColor: alpha(color, 0.1),\n }\n case 'outline':\n return {\n color,\n borderColor: alpha(color, 0.4),\n backgroundColor: alpha(color, 0.1),\n }\n }\n}\n\nexport const Label = ({\n className,\n children,\n type,\n color,\n icon,\n style,\n textColorSame = icon != null,\n iconPosition = 'prefix',\n ellipsisOptions,\n ...props\n}: LabelProps) => {\n const normalizeType = useMemo(() => {\n if (icon) {\n return 'dot'\n }\n\n return type\n }, [icon, type])\n const computedColor = useMemo(() => colors[color as LabelColors] || color, [color])\n const tagStyle = useMemo(\n () => computeTagStyle(normalizeType, computedColor, textColorSame),\n [normalizeType, computedColor, textColorSame]\n )\n const hasIcon = useMemo(() => icon != null, [icon])\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('label')\n const displayEllipsisOptions = (() => {\n const options = {\n ...ellipsisOptions,\n }\n const iconElement = (\n <span className={`${prefixCls}-icon`} style={{ color: computedColor }}>\n {icon}\n </span>\n )\n\n if (iconPosition === 'prefix') {\n options.prefix = iconElement\n }\n\n if (iconPosition === 'suffix') {\n options.suffix = iconElement\n }\n\n if (options.Popover === true) {\n options.content = children\n } else {\n options.title = children\n }\n\n return options\n })()\n\n return (\n <AntdTag\n {...props}\n className={classNames(className, prefixCls, {\n [`${prefixCls}-dot`]: normalizeType === 'dot',\n [`${prefixCls}-outline`]: normalizeType === 'outline',\n [`${prefixCls}-filled`]: normalizeType === 'filled',\n [`${prefixCls}-rounded`]: normalizeType === 'rounded',\n })}\n style={{\n ...style,\n ...tagStyle,\n }}\n >\n {normalizeType === 'dot' && icon == null && (\n <span\n className={`${prefixCls}-dot-symbol`}\n style={{\n backgroundColor: computedColor,\n }}\n />\n )}\n {hasIcon ? <Ellipsis {...displayEllipsisOptions}>{children}</Ellipsis> : children}\n </AntdTag>\n )\n }}\n </ConfigConsumer>\n )\n}\n\nLabel.CheckableLabel = AntdTag.CheckableTag\n\nexport default Label\n"]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
@label-prefix-cls: ~'@{ant-prefix}-label';
|
|
2
|
+
|
|
3
|
+
.@{label-prefix-cls} {
|
|
4
|
+
border: 1px solid transparent;
|
|
5
|
+
line-height: 22px;
|
|
6
|
+
min-width: 44px;
|
|
7
|
+
padding: 0 8px;
|
|
8
|
+
border-radius: 1px;
|
|
9
|
+
text-align: center;
|
|
10
|
+
font-size: @font-size-base;
|
|
11
|
+
background-color: rgba(94, 112, 146, 0.1);
|
|
12
|
+
|
|
13
|
+
&.@{label-prefix-cls}-checkable {
|
|
14
|
+
cursor: pointer;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&.@{label-prefix-cls}-rounded {
|
|
18
|
+
padding: 0 12px;
|
|
19
|
+
border-radius: 12px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&.@{label-prefix-cls}-dot {
|
|
23
|
+
display: inline-flex;
|
|
24
|
+
align-items: center;
|
|
25
|
+
background-color: transparent;
|
|
26
|
+
padding: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.@{label-prefix-cls}-icon {
|
|
30
|
+
display: inline-flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
margin-right: 4px;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.@{label-prefix-cls}-dot-symbol {
|
|
36
|
+
content: '';
|
|
37
|
+
display: inline-block;
|
|
38
|
+
width: 6px;
|
|
39
|
+
height: 6px;
|
|
40
|
+
border-radius: 50%;
|
|
41
|
+
margin-right: 8px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.@{iconfont-css-prefix}-close {
|
|
45
|
+
margin-left: 4px;
|
|
46
|
+
color: #8b919e;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.test.d.ts","sourceRoot":"","sources":["../../src/label/label.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _react2 = require("@testing-library/react");
|
|
5
|
+
var _label = require("./label");
|
|
6
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
7
|
+
describe('Label component', function () {
|
|
8
|
+
it('renders the component', function () {
|
|
9
|
+
var _render = (0, _react2.render)(_react["default"].createElement(_label.Label, null)),
|
|
10
|
+
getByText = _render.getByText;
|
|
11
|
+
var component = getByText('Component');
|
|
12
|
+
expect(component).toBeDefined();
|
|
13
|
+
});
|
|
14
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.test.js","sourceRoot":"","sources":["../../src/label/label.test.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,kDAA+C;AAE/C,mCAA+B;AAE/B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,8BAAC,aAAK,OAAG,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;QAExC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;IACjC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import React from 'react'\nimport { render } from '@testing-library/react'\n\nimport { Label } from './label'\n\ndescribe('Label component', () => {\n it('renders the component', () => {\n const { getByText } = render(<Label />)\n const component = getByText('Component')\n\n expect(component).toBeDefined()\n })\n})\n"]}
|
package/lib/page/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/page/index.js"],"names":[],"mappings":";AAYA;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/page/index.js"],"names":[],"mappings":";AAYA;;;;;;;;;;;;;gBAsIC"}
|
package/lib/page/index.js
CHANGED
|
@@ -71,19 +71,16 @@ var PageLayout = function PageLayout(_a) {
|
|
|
71
71
|
// 计算children type是box的数量
|
|
72
72
|
var boxCount = 0;
|
|
73
73
|
// 如果children是单个节点,统一转为数组处理计算层级
|
|
74
|
-
console.log('children', children);
|
|
75
74
|
if (_typeof(children) === 'object') {
|
|
76
75
|
childrenToArray = [children];
|
|
77
76
|
} else if (Array.isArray(children)) {
|
|
78
77
|
childrenToArray = _toConsumableArray(children);
|
|
79
78
|
}
|
|
80
|
-
console.log('React.Children', _react["default"].Children);
|
|
81
79
|
_react["default"].Children.map(children, function (child) {
|
|
82
80
|
if (isPageBox(child)) {
|
|
83
81
|
boxCount += 1;
|
|
84
82
|
}
|
|
85
83
|
});
|
|
86
|
-
console.log(boxCount);
|
|
87
84
|
whiteCols = (_b = childrenToArray === null || childrenToArray === void 0 ? void 0 : childrenToArray.filter(function (_ref) {
|
|
88
85
|
var props = _ref.props;
|
|
89
86
|
return (props === null || props === void 0 ? void 0 : props.mode) === 'white';
|
|
@@ -126,7 +123,6 @@ var PageLayout = function PageLayout(_a) {
|
|
|
126
123
|
}, _react["default"].Children.map(children, function (child) {
|
|
127
124
|
// 如果children不是Box,就不需要多列布局
|
|
128
125
|
if (!child.type) {
|
|
129
|
-
// console.log("没有type");
|
|
130
126
|
return _react["default"].cloneElement(_react["default"].createElement("div", null, child));
|
|
131
127
|
}
|
|
132
128
|
var extraProps = Object.assign({
|
package/lib/page/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA2B;AAC3B,kDAAyB;AACzB,6DAA+B;AAC/B,gDAAuB;AACvB,mCAAuD;AAEvD,wBAAqB;AAErB,MAAM,SAAS,GAAG,UAAU,CAAA;AAE5B,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,aAAG,KAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,OAAO,CAAA,CAAA,EAAA,CAAA;AAEzE,MAAM,UAAU,GAAG,CAAC,EAanB,EAAE,EAAE;;QAbe,EAClB,MAAM,GAAG,OAAO,EAChB,YAAY,GAAG,EAAE,EACjB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAU,EACV,MAAM,EACN,KAAK,EACL,IAAI,GAAG,OAAO,EACd,QAAQ,GAAG,KAAK,EAChB,SAAS,OAEV,EADI,SAAS,cAZM,2HAanB,CADa;IAEZ,mBAAmB;IACnB,IAAI,oBAAoB,GAAG,IAAA,uBAAe,EAAC,YAAY,CAAC,CAAA;IACxD,IAAI,cAAc,GAAG,IAAA,uBAAe,EAAC,MAAM,CAAC,CAAA;IAE5C,WAAW;IACX,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,EAAE;QAC/B,oBAAoB,GAAG,KAAK,CAAA;KAC7B;IAED,IAAI,QAAQ,EAAE;QACZ,oBAAoB,GAAG,MAAM,CAAA;KAC9B;IAED,wBAAwB;IACxB,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,eAAe,GAAG,EAAE,CAAA;IAExB,yBAAyB;IACzB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,+BAA+B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page/index.js"],"names":[],"mappings":"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","sourcesContent":["import cn from 'classnames'\nimport React from 'react'\nimport Icon from '../tntd-icon'\nimport Box from './Box'\nimport { addUnitForValue, computeWidth } from './utils'\n\nimport './index.less'\n\nconst clsPrefix = 'tnt-page'\n\nconst isPageBox = (child) => child?.type === Box || child?.props?.pageBox\n\nconst PageLayout = ({\n height = '100vh',\n headerHeight = 50,\n children,\n title,\n goBack,\n goBackText,\n center,\n extra,\n size = 'small',\n inLayout = false,\n className,\n ...restProps\n}) => {\n // 如果传入只有数字,需要默认加px\n let computedHeaderHeight = addUnitForValue(headerHeight)\n let computedHeight = addUnitForValue(height)\n\n // 判断是否有标题栏\n if (!(title || extra || center)) {\n computedHeaderHeight = '0px'\n }\n\n if (inLayout) {\n computedHeaderHeight = '40px'\n }\n\n // 计算中间的zIndex,灰色递减,白色递增\n let whiteCols = 0\n let childrenToArray = []\n\n // 计算children type是box的数量\n let boxCount = 0\n\n // 如果children是单个节点,统一转为数组处理计算层级\n\n if (typeof children === 'object') {\n childrenToArray = [children]\n } else if (Array.isArray(children)) {\n childrenToArray = [...children]\n }\n\n React.Children.map(children, (child) => {\n if (isPageBox(child)) {\n boxCount += 1\n }\n })\n\n whiteCols = childrenToArray?.filter(({ props }) => props?.mode === 'white')?.length\n const total = childrenToArray?.length + 5\n let startIndex = total - whiteCols - 1\n let endIndex = total - 2\n const headerStyle = {\n height: computedHeaderHeight,\n padding: `${size === 'small' ? 20 : 24}px`,\n zIndex: inLayout ? 1 : total || 1,\n }\n const contentStyle = {\n display: boxCount > 0 ? 'flex' : 'block',\n marginTop: computedHeaderHeight,\n padding: inLayout ? '16px 20px' : '0px',\n }\n\n return (\n <section\n className={cn(clsPrefix, {\n [className]: className,\n 'in-layout': inLayout,\n 'not-in-layout': !inLayout,\n })}\n {...restProps}\n >\n {(title || goBack || center || extra) && (\n <div className={`${clsPrefix}-header`} style={headerStyle}>\n <div className={`${clsPrefix}-header-section`}>\n {goBack && (\n <div\n className=\"page-header-section-back\"\n onClick={() => {\n goBack()\n }}\n >\n <Icon type=\"left\" />\n <span>{goBackText ? goBackText : '返回'}</span>\n </div>\n )}\n {title}\n </div>\n {[center, extra].map((item, i) => (\n <div className={`${clsPrefix}-header-section`} key={i}>\n {item}\n </div>\n ))}\n </div>\n )}\n <div className={`${clsPrefix}-content`} style={contentStyle}>\n {React.Children.map(children, (child) => {\n // 如果children不是Box,就不需要多列布局\n if (!child.type) {\n return React.cloneElement(<div>{child}</div>)\n }\n\n const extraProps = {\n headerHeight: computedHeaderHeight,\n size,\n height: computedHeight,\n contentTotalMargin: inLayout ? '32px' : '0px',\n inLayout,\n ...child.props,\n }\n\n if (!isPageBox(child)) {\n return React.cloneElement(child, extraProps)\n }\n\n const { mode = 'gray', width } = child.props\n\n const style = {\n flex: computeWidth(width),\n // 设置cols层级关系\n zIndex: mode === 'gray' ? endIndex-- : startIndex++,\n }\n\n const className = cn(`${clsPrefix}-box ${clsPrefix}-box-${mode}`)\n\n return React.createElement(\n 'div',\n { className, style },\n React.cloneElement(child, extraProps)\n )\n })}\n </div>\n </section>\n )\n}\n\nPageLayout.Box = Box\n\nexport default PageLayout\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../src/query-list-scene/List.js"],"names":[],"mappings":"AAaA;IACE,wBAqBC;IAnBC;;;;;;;;;MAUC;IAED,+BAA2B;IAS7B,sBAyDC;IAED,2DASM;IAEN,0BA+CC;IA5CC,cAIC;IAUS,mCAYM;IAaZ,+BAA0D;IAOhE,6BAWC;IARC,iCAAuB;IAUzB;;;;cAiEC;IAxCG,gCAAsB;IA0C1B,4CAKC;IAED,4CAKC;IAED,oCASC;IAED;;;cAOC;IAED,
|
|
1
|
+
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../src/query-list-scene/List.js"],"names":[],"mappings":"AAaA;IACE,wBAqBC;IAnBC;;;;;;;;;MAUC;IAED,+BAA2B;IAS7B,sBAyDC;IAED,2DASM;IAEN,0BA+CC;IA5CC,cAIC;IAUS,mCAYM;IAaZ,+BAA0D;IAOhE,6BAWC;IARC,iCAAuB;IAUzB;;;;cAiEC;IAxCG,gCAAsB;IA0C1B,4CAKC;IAED,4CAKC;IAED,oCASC;IAED;;;cAOC;IAED,oEAwCC;IAED,sEAEM;IAEN,iDAUC;CACF"}
|
|
@@ -193,7 +193,6 @@ var QueryList = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
193
193
|
filters: (0, _isEmpty2["default"])(filters) ? undefined : filters,
|
|
194
194
|
sorter: (0, _isEmpty2["default"])(sorter) ? undefined : sorter
|
|
195
195
|
};
|
|
196
|
-
console.log('onTableChange...', actions.getSubmittedFormData(), _this.formData);
|
|
197
196
|
Object.assign(_this.formData, tableParams);
|
|
198
197
|
// 排序变化暂时不处理,因为有时可能是前端sorter不需要走请求
|
|
199
198
|
// 所以暂时排序有使用者自己处理
|
|
@@ -223,7 +222,6 @@ var QueryList = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
223
222
|
configurable: true,
|
|
224
223
|
writable: true,
|
|
225
224
|
value: (0, _throttle2["default"])(function (evt) {
|
|
226
|
-
console.log('onTableBodyScroll', evt.target.scrollTop);
|
|
227
225
|
_this.updateIsScrollToBottom(evt.target);
|
|
228
226
|
}, 50)
|
|
229
227
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/query-list-scene/List.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;GAGG;AACH,4DAA2B;AAC3B,mCAAiE;AACjE,+CAAwC;AACxC,yCAAuC;AAEvC,gDAAqD;AACrD,mDAA0B;AAC1B,qDAA4B;AAE5B,MAAqB,SAAU,SAAQ,eAAK,CAAC,aAAa;IACxD,YAAY,KAAK;;QACf,KAAK,CAAC,KAAK,CAAC,CAAA;QAiFd;;;;mBAAiB,IAAA,iBAAQ,EAAC,GAAG,EAAE;gBAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAE7B,IAAI,CAAC,QAAQ,CAAC;oBACZ,MAAM,kCACD,MAAM,KACT,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,GACnE;iBACF,CAAC,CAAA;YACJ,CAAC,EAAE,EAAE,CAAC;WAAA;QAgEN;;;;mBAAY,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE;gBAC7E,MAAM,EACJ,QAAQ,EAAE,EAAE,KAAK,EAAE,EACnB,oBAAoB,EACpB,MAAM,EACN,OAAO,GACR,GAAG,IAAI,CAAC,KAAK,CAAA;gBACd,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBACjC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAA;gBAErD,IAAI,aAAa,EAAE;oBACjB,MAAM,mBACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,OAAO,EAAE,UAAU,CAAC,OAAO,IACxB,MAAM,CACV,CAAA;iBACF;gBAED,WAAW;oBACT,IAAI,CAAC,QAAQ,CAAC;wBACZ,OAAO,EAAE,IAAI;qBACd,CAAC,CAAA;gBAEJ,qCAAqC;gBACrC,IAAI,CAAC,UAAU,EAAE;oBACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;iBACvB;gBAED,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;gBAE5C,OAAO,KAAK,CAAC,IAAA,eAAM,EAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC;qBACnF,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBACf,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;oBAE7D,IAAI,CAAC,QAAQ,iBAET,OAAO,EAAE,KAAK,EACd,UAAU,EACV,UAAU,EAAE,aAAa;4BACvB,CAAC,CAAC;gCACE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,EAAE;gCACtD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC;gCACpE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;6BACzB;4BACH,CAAC,CAAC,IAAI,IACL,CAAC,oBAAoB;wBACtB,CAAC,CAAC;4BACE,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;yBACtD;wBACH,CAAC,CAAC,EAAE,CAAC,GAET,GAAG,EAAE;wBACH,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;wBACpD,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;oBACtD,CAAC,CACF,CAAA;gBACH,CAAC,CAAC;qBACD,OAAO,CAAC,GAAG,EAAE;oBACZ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;oBACvB,WAAW;wBACT,IAAI,CAAC,QAAQ,CAAC;4BACZ,OAAO,EAAE,KAAK;yBACf,CAAC,CAAA;oBACJ,QAAQ,IAAI,QAAQ,EAAE,CAAA;gBACxB,CAAC,CAAC,CAAA;YACN,CAAC;WAAA;QAED;;;;mBAAmB,CAAC,UAAU,EAAE,EAAE;gBAChC,IAAI,CAAC,QAAQ,CAAC;oBACZ,UAAU;iBACX,CAAC,CAAA;gBACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACtD,CAAC;WAAA;QAED;;;;mBAAmB,CAAC,UAAU,EAAE,EAAE;gBAChC,IAAI,CAAC,QAAQ,CAAC;oBACZ,UAAU;iBACX,CAAC,CAAA;gBACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACtD,CAAC;WAAA;QAED;;;;mBAAe,CAAC,MAAM,EAAE,EAAE;gBACxB,IAAI,CAAC,QAAQ,GAAG,IAAA,eAAM,kCAEf,MAAM,KACT,MAAM,EAAE,IAAA,YAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACpC,OAAO,EAAE,IAAA,YAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,KAExC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAC3B,CAAA;YACH,CAAC;WAAA;QAED;;;;mBAAW,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;gBAC3D,IAAI,CAAC,QAAQ,mCACR,IAAI,CAAC,QAAQ,GACb,MAAM,CACV,CAAA;gBACD,yDAAyD;gBACzD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;YACjE,CAAC;WAAA;QAED;;;;mBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9C,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAC/C,MAAM,WAAW,GAAG;oBAClB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,OAAO,EAAE,IAAA,gBAAO,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;oBAC/C,MAAM,EAAE,IAAA,gBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;iBAC7C,CAAA;gBACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAE9E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAEzC,kCAAkC;gBAClC,iBAAiB;gBACjB,IAAI,CAAC,eAAe,EAAE;oBACpB,IAAI,CAAC,SAAS,iCACT,OAAO,CAAC,oBAAoB,EAAE,GAC9B,WAAW,EACd,CAAA;oBACF,OAAM;iBACP;gBAED,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAEjC,SAAS;gBACT,IAAI,eAAe,EAAE;oBACnB,IAAI,CAAC,QAAQ,CACX;wBACE,UAAU;wBACV,UAAU,EAAE;4BACV,OAAO,EAAE,UAAU,CAAC,OAAO;4BAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;4BAC7B,KAAK,EAAE,UAAU,CAAC,KAAK;yBACxB;qBACF,EACD,GAAG,EAAE;wBACH,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;wBAC1C,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;oBACtD,CAAC,CACF,CAAA;iBACF;YACH,CAAC;WAAA;QAED;;;;mBAAoB,IAAA,iBAAQ,EAAC,CAAC,GAAG,EAAE,EAAE;gBACnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACtD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzC,CAAC,EAAE,EAAE,CAAC;WAAA;QAEN;;;;mBAAyB,CAAC,SAAS,EAAE,EAAE;gBACrC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,EAAE;oBACrC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;oBAE3D,OAAO,YAAY,KAAK,SAAS,GAAG,YAAY,CAAA;gBAClD,CAAC,CAAA;gBAED,IAAI,CAAC,QAAQ,CAAC;oBACZ,iBAAiB,EAAE,gBAAgB,CAAC,SAAS,CAAC;iBAC/C,CAAC,CAAA;YACJ,CAAC;WAAA;QAxTC,IAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,EAAE;YACd,UAAU,EAAE;gBACV,gBAAgB;gBAChB,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;aACT;YACD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,CAAC,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,CAAC,CAAA;SACpC,CAAA;QAED,IAAI,CAAC,QAAQ,GAAG,IAAA,iBAAS,GAAE,CAAA;QAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;QACzB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACvD,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAClD,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM;QACJ,MAAM,KASF,IAAI,CAAC,KAAK,EATR,EACJ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,eAAe,GAAG,KAAK,EACvB,gBAAgB,GAAG,KAAK,EACxB,SAAS,GAAG,EAAE,EACd,QAAQ,OAEI,EADT,IAAI,cARH,qGASL,CAAa,CAAA;QACd,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3F,MAAM,aAAa,GAAG,OAAO,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3E,MAAM,cAAc,iDACf,IAAI,CAAC,KAAK,CAAC,UAAU;YACxB,iBAAiB;YACjB,eAAe,EAAE,IAAI,EACrB,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,qBAAO,EAAC,cAAc,EAAE,IAAA,yBAAW,GAAE,EAAE,KAAK,CAAC,KAChE,CAAC,UAAU,IAAI,EAAE,CAAC,CACtB,CAAA;QACD,MAAM,WAAW,qBACZ,CAAC,IAAI,CAAC,oBAAoB;YAC3B,CAAC,CAAC;gBACE,eAAe;gBACf,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;aAChD;YACH,CAAC,CAAC,EAAE,CAAC,CACR,CAAA;QAED,OAAO,CACL,uCACE,SAAS,EAAE,IAAA,oBAAE,EAAC,2BAA2B,SAAS,EAAE,EAAE;gBACpD,gBAAgB;gBAChB,iBAAiB;aAClB,CAAC;YAEF,8BAAC,cAAI,IAAC,QAAQ,EAAE,OAAO;gBACrB,8BAAC,eAAK,kBACJ,GAAG,EAAE,IAAI,CAAC,QAAQ,IACd,WAAW,EACX,IAAI,EACJ,CAAC,OAAO;oBACV,CAAC,CAAC;wBACE,OAAO;qBACR;oBACH,CAAC,CAAC,EAAE,CAAC,IACP,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,EAC5D,QAAQ,EAAE,IAAI,CAAC,aAAa,KAE3B,CAAC,OAAO,IAAI,QAAQ,CACf,CACH,CACH,CACP,CAAA;IACH,CAAC;IAaD,iBAAiB;;QACf,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAExC,IAAI,CAAC,QAAQ,mCACR,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,GAE7B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpD,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACxB,UAAU;YACV,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACzC,KAAK;gBACL,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC1C,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE;wBAC7B,uBAAuB;wBACvB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;4BACrB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gCAC5B,gCAAgC;gCAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oCACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE;wCAC7C,UAAU,EAAE,IAAI;wCAChB,WAAW,EAAE,KAAK;qCACnB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wCACX,eAAe,CAAC,EAAE,CAAC,CAAA;oCACrB,CAAC,CAAC,CAAA;iCACH;qCAAM;oCACL,eAAe,CAAC,EAAE,CAAC,CAAA;iCACpB;4BACH,CAAC,EAAE,EAAE,CAAC,CAAA;yBACP;oBACH,CAAC,CAAA;oBACD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;iBACnC;YACH,CAAC,CAAC,CAAA;SACH;QACD,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,CAAC,EAAE;YACxB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;YAEtD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACzB,6BAA6B;gBAC7B,MAAM,SAAS,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;gBACrF,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC1D,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAA;gBACtC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;aAC7D;SACF;IACH,CAAC;IAED,oBAAoB;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAE9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/C,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACnE,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9D,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACxD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACzD,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;CAkKF;AA5TD,4BA4TC","sourcesContent":["/**\n * @file QueryList\n * @author you.zhang\n */\nimport cn from 'classnames'\nimport { debounce, get, isEmpty, pickBy, throttle } from 'lodash'\nimport React, { createRef } from 'react'\nimport { findDOMNode } from 'react-dom'\n\nimport { getLanguage, getText } from '../prev-locale'\nimport Spin from '../spin'\nimport Table from '../table'\n\nexport default class QueryList extends React.PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n loading: false,\n dataSource: [],\n pagination: {\n // pageSize: 20,\n current: 1,\n total: 0,\n },\n scroll: props.scroll,\n hasScrollToBottom: !props.scroll?.y,\n }\n\n this.tableRef = createRef()\n\n const { actions } = props\n actions.on('search', this.onSearch)\n actions.on('setTableDataSource', this.updateDataSource)\n actions.on('setPagination', this.updatePagination)\n actions.on('setFormData', this.onFormChange)\n }\n\n render() {\n const {\n columns,\n children,\n pagination,\n localPagination = false,\n paginationSticky = false,\n className = '',\n qlsProps,\n ...rest\n } = this.props\n const { dataSource, loading, expandedRowKeys = [], scroll, hasScrollToBottom } = this.state\n const hasPagination = typeof pagination !== 'undefined' ? pagination : true\n const paginationInfo = {\n ...this.state.pagination,\n // size: 'small',\n showQuickJumper: true,\n showSizeChanger: true,\n showTotal: (total) => getText('totalRecords', getLanguage(), total),\n ...(pagination || {}),\n }\n const expandProps = {\n ...(rest.defaultExpandAllRows\n ? {\n expandedRowKeys,\n onExpandedRowsChange: this.onExpandedRowsChange,\n }\n : {}),\n }\n\n return (\n <div\n className={cn(`tnt-querylistscene-list ${className}`, {\n paginationSticky,\n hasScrollToBottom,\n })}\n >\n <Spin spinning={loading}>\n <Table\n ref={this.tableRef}\n {...expandProps}\n {...rest}\n {...(columns\n ? {\n columns,\n }\n : {})}\n scroll={scroll}\n dataSource={dataSource}\n pagination={hasPagination ? paginationInfo : localPagination}\n onChange={this.onTableChange}\n >\n {!columns && children}\n </Table>\n </Spin>\n </div>\n )\n }\n\n onWindowResize = debounce(() => {\n const { scroll } = this.state\n\n this.setState({\n scroll: {\n ...scroll,\n y: window.innerHeight - (this.initialTop || this.props.top || 200),\n },\n })\n }, 50)\n\n componentDidMount() {\n const { qlsProps, actions } = this.props\n\n this.formData = {\n ...(actions.getFormData() || {}),\n // 记住上次查询的分页参数\n ...(qlsProps.memory ? actions.getPagination() : {}),\n }\n\n if (!qlsProps.initSearch) {\n // 默认进来不请求\n this.fetchData(this.formData).finally(() => {\n // 轮询\n if (qlsProps.interval && !this.isUnmounted) {\n const doIntervalQuery = (ms) => {\n // 组件unmounted后,不执行轮训逻辑\n if (!this.isUnmounted) {\n this.timmer = setTimeout(() => {\n // 如果有查询请求还未结束,则该次轮询不执行,重新设置下次轮询\n if (!this.isFetching) {\n this.fetchData(actions.getSubmittedFormData(), {\n isInterval: true,\n showLoading: false,\n }).then(() => {\n doIntervalQuery(ms)\n })\n } else {\n doIntervalQuery(ms)\n }\n }, ms)\n }\n }\n doIntervalQuery(qlsProps.interval)\n }\n })\n }\n if (this.state.scroll?.y) {\n window.addEventListener('resize', this.onWindowResize)\n\n if (this.tableRef.current) {\n // table内垂直滚动,需要动态设置分页组件上阴影样式\n const tableBody = findDOMNode(this.tableRef.current).querySelector('.ant-table-body')\n this.initialTop = window.innerHeight - this.state.scroll.y\n this.updateIsScrollToBottom(tableBody)\n tableBody.addEventListener('scroll', this.onTableBodyScroll)\n }\n }\n }\n\n componentWillUnmount() {\n const { actions } = this.props\n\n this.isUnmounted = true\n\n actions.removeListener('search', this.onSearch)\n actions.removeListener('setTableDataSource', this.updateDataSource)\n actions.removeListener('setPagination', this.updatePagination)\n actions.removeListener('setFormData', this.onFormChange)\n window.removeEventListener('resize', this.onWindowResize)\n this.timmer && clearTimeout(this.timmer)\n }\n\n fetchData = (params = {}, { callback, showLoading = true, isInterval } = {}) => {\n const {\n qlsProps: { query },\n defaultExpandAllRows,\n rowKey,\n actions,\n } = this.props\n const { pagination } = this.state\n const hasPagination = this.props.pagination !== false\n\n if (hasPagination) {\n params = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n ...params,\n }\n }\n\n showLoading &&\n this.setState({\n loading: true,\n })\n\n // 当用户操作查询还未得到服务端响应前,不要执行轮询请求时序问题导致覆盖\n if (!isInterval) {\n this.isFetching = true\n }\n\n actions.setData('submittedFormData', params)\n\n return query(pickBy(params, (val) => val !== '' && val !== null && val !== undefined))\n .then((result) => {\n const dataSource = hasPagination ? result.data || [] : result\n\n this.setState(\n {\n loading: false,\n dataSource,\n pagination: hasPagination\n ? {\n pageSize: result.pageSize || pagination.pageSize || 10,\n current: result.current || params.current || pagination.current || 1,\n total: result.total || 0,\n }\n : null,\n ...(defaultExpandAllRows\n ? {\n expandedRowKeys: dataSource.map((row) => row[rowKey]),\n }\n : {}),\n },\n () => {\n actions.setData('pagination', this.state.pagination)\n actions.setData('dataSource', this.state.dataSource)\n }\n )\n })\n .finally(() => {\n this.isFetching = false\n showLoading &&\n this.setState({\n loading: false,\n })\n callback && callback()\n })\n }\n\n updateDataSource = (dataSource) => {\n this.setState({\n dataSource,\n })\n this.props.actions.setData('dataSource', dataSource)\n }\n\n updatePagination = (pagination) => {\n this.setState({\n pagination,\n })\n this.props.actions.setData('pagination', pagination)\n }\n\n onFormChange = (values) => {\n this.formData = pickBy(\n {\n ...values,\n sorter: get(this.formData, 'sorter'),\n filters: get(this.formData, 'filters'),\n },\n (val) => val !== undefined\n )\n }\n\n onSearch = (values, { callback, showLoading = true } = {}) => {\n this.formData = {\n ...this.formData,\n ...values,\n }\n // this.props.actions.setData('formData', this.formData);\n return this.fetchData(this.formData, { callback, showLoading })\n }\n\n onTableChange = (pagination, filters, sorter) => {\n const { actions, localPagination } = this.props\n const tableParams = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n filters: isEmpty(filters) ? undefined : filters,\n sorter: isEmpty(sorter) ? undefined : sorter,\n }\n console.log('onTableChange...', actions.getSubmittedFormData(), this.formData)\n\n Object.assign(this.formData, tableParams)\n\n // 排序变化暂时不处理,因为有时可能是前端sorter不需要走请求\n // 所以暂时排序有使用者自己处理\n if (!localPagination) {\n this.fetchData({\n ...actions.getSubmittedFormData(),\n ...tableParams,\n })\n return\n }\n\n const { dataSource } = this.state\n\n // 前端本地分页\n if (localPagination) {\n this.setState(\n {\n dataSource,\n pagination: {\n current: pagination.current,\n pageSize: pagination.pageSize,\n total: pagination.total,\n },\n },\n () => {\n actions.setData('formData', this.formData)\n actions.setData('pagination', this.state.pagination)\n }\n )\n }\n }\n\n onTableBodyScroll = throttle((evt) => {\n console.log('onTableBodyScroll', evt.target.scrollTop)\n this.updateIsScrollToBottom(evt.target)\n }, 50)\n\n updateIsScrollToBottom = (tableBody) => {\n const isScrollToBottom = (tableBody) => {\n const { scrollHeight, scrollTop, offsetHeight } = tableBody\n\n return scrollHeight === scrollTop + offsetHeight\n }\n\n this.setState({\n hasScrollToBottom: isScrollToBottom(tableBody),\n })\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/query-list-scene/List.js"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file QueryList\n * @author you.zhang\n */\nimport cn from 'classnames'\nimport { debounce, get, isEmpty, pickBy, throttle } from 'lodash'\nimport React, { createRef } from 'react'\nimport { findDOMNode } from 'react-dom'\n\nimport { getLanguage, getText } from '../prev-locale'\nimport Spin from '../spin'\nimport Table from '../table'\n\nexport default class QueryList extends React.PureComponent {\n constructor(props) {\n super(props)\n this.state = {\n loading: false,\n dataSource: [],\n pagination: {\n // pageSize: 20,\n current: 1,\n total: 0,\n },\n scroll: props.scroll,\n hasScrollToBottom: !props.scroll?.y,\n }\n\n this.tableRef = createRef()\n\n const { actions } = props\n actions.on('search', this.onSearch)\n actions.on('setTableDataSource', this.updateDataSource)\n actions.on('setPagination', this.updatePagination)\n actions.on('setFormData', this.onFormChange)\n }\n\n render() {\n const {\n columns,\n children,\n pagination,\n localPagination = false,\n paginationSticky = false,\n className = '',\n qlsProps,\n ...rest\n } = this.props\n const { dataSource, loading, expandedRowKeys = [], scroll, hasScrollToBottom } = this.state\n const hasPagination = typeof pagination !== 'undefined' ? pagination : true\n const paginationInfo = {\n ...this.state.pagination,\n // size: 'small',\n showQuickJumper: true,\n showSizeChanger: true,\n showTotal: (total) => getText('totalRecords', getLanguage(), total),\n ...(pagination || {}),\n }\n const expandProps = {\n ...(rest.defaultExpandAllRows\n ? {\n expandedRowKeys,\n onExpandedRowsChange: this.onExpandedRowsChange,\n }\n : {}),\n }\n\n return (\n <div\n className={cn(`tnt-querylistscene-list ${className}`, {\n paginationSticky,\n hasScrollToBottom,\n })}\n >\n <Spin spinning={loading}>\n <Table\n ref={this.tableRef}\n {...expandProps}\n {...rest}\n {...(columns\n ? {\n columns,\n }\n : {})}\n scroll={scroll}\n dataSource={dataSource}\n pagination={hasPagination ? paginationInfo : localPagination}\n onChange={this.onTableChange}\n >\n {!columns && children}\n </Table>\n </Spin>\n </div>\n )\n }\n\n onWindowResize = debounce(() => {\n const { scroll } = this.state\n\n this.setState({\n scroll: {\n ...scroll,\n y: window.innerHeight - (this.initialTop || this.props.top || 200),\n },\n })\n }, 50)\n\n componentDidMount() {\n const { qlsProps, actions } = this.props\n\n this.formData = {\n ...(actions.getFormData() || {}),\n // 记住上次查询的分页参数\n ...(qlsProps.memory ? actions.getPagination() : {}),\n }\n\n if (!qlsProps.initSearch) {\n // 默认进来不请求\n this.fetchData(this.formData).finally(() => {\n // 轮询\n if (qlsProps.interval && !this.isUnmounted) {\n const doIntervalQuery = (ms) => {\n // 组件unmounted后,不执行轮训逻辑\n if (!this.isUnmounted) {\n this.timmer = setTimeout(() => {\n // 如果有查询请求还未结束,则该次轮询不执行,重新设置下次轮询\n if (!this.isFetching) {\n this.fetchData(actions.getSubmittedFormData(), {\n isInterval: true,\n showLoading: false,\n }).then(() => {\n doIntervalQuery(ms)\n })\n } else {\n doIntervalQuery(ms)\n }\n }, ms)\n }\n }\n doIntervalQuery(qlsProps.interval)\n }\n })\n }\n if (this.state.scroll?.y) {\n window.addEventListener('resize', this.onWindowResize)\n\n if (this.tableRef.current) {\n // table内垂直滚动,需要动态设置分页组件上阴影样式\n const tableBody = findDOMNode(this.tableRef.current).querySelector('.ant-table-body')\n this.initialTop = window.innerHeight - this.state.scroll.y\n this.updateIsScrollToBottom(tableBody)\n tableBody.addEventListener('scroll', this.onTableBodyScroll)\n }\n }\n }\n\n componentWillUnmount() {\n const { actions } = this.props\n\n this.isUnmounted = true\n\n actions.removeListener('search', this.onSearch)\n actions.removeListener('setTableDataSource', this.updateDataSource)\n actions.removeListener('setPagination', this.updatePagination)\n actions.removeListener('setFormData', this.onFormChange)\n window.removeEventListener('resize', this.onWindowResize)\n this.timmer && clearTimeout(this.timmer)\n }\n\n fetchData = (params = {}, { callback, showLoading = true, isInterval } = {}) => {\n const {\n qlsProps: { query },\n defaultExpandAllRows,\n rowKey,\n actions,\n } = this.props\n const { pagination } = this.state\n const hasPagination = this.props.pagination !== false\n\n if (hasPagination) {\n params = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n ...params,\n }\n }\n\n showLoading &&\n this.setState({\n loading: true,\n })\n\n // 当用户操作查询还未得到服务端响应前,不要执行轮询请求时序问题导致覆盖\n if (!isInterval) {\n this.isFetching = true\n }\n\n actions.setData('submittedFormData', params)\n\n return query(pickBy(params, (val) => val !== '' && val !== null && val !== undefined))\n .then((result) => {\n const dataSource = hasPagination ? result.data || [] : result\n\n this.setState(\n {\n loading: false,\n dataSource,\n pagination: hasPagination\n ? {\n pageSize: result.pageSize || pagination.pageSize || 10,\n current: result.current || params.current || pagination.current || 1,\n total: result.total || 0,\n }\n : null,\n ...(defaultExpandAllRows\n ? {\n expandedRowKeys: dataSource.map((row) => row[rowKey]),\n }\n : {}),\n },\n () => {\n actions.setData('pagination', this.state.pagination)\n actions.setData('dataSource', this.state.dataSource)\n }\n )\n })\n .finally(() => {\n this.isFetching = false\n showLoading &&\n this.setState({\n loading: false,\n })\n callback && callback()\n })\n }\n\n updateDataSource = (dataSource) => {\n this.setState({\n dataSource,\n })\n this.props.actions.setData('dataSource', dataSource)\n }\n\n updatePagination = (pagination) => {\n this.setState({\n pagination,\n })\n this.props.actions.setData('pagination', pagination)\n }\n\n onFormChange = (values) => {\n this.formData = pickBy(\n {\n ...values,\n sorter: get(this.formData, 'sorter'),\n filters: get(this.formData, 'filters'),\n },\n (val) => val !== undefined\n )\n }\n\n onSearch = (values, { callback, showLoading = true } = {}) => {\n this.formData = {\n ...this.formData,\n ...values,\n }\n // this.props.actions.setData('formData', this.formData);\n return this.fetchData(this.formData, { callback, showLoading })\n }\n\n onTableChange = (pagination, filters, sorter) => {\n const { actions, localPagination } = this.props\n const tableParams = {\n pageSize: pagination.pageSize,\n current: pagination.current,\n filters: isEmpty(filters) ? undefined : filters,\n sorter: isEmpty(sorter) ? undefined : sorter,\n }\n\n Object.assign(this.formData, tableParams)\n\n // 排序变化暂时不处理,因为有时可能是前端sorter不需要走请求\n // 所以暂时排序有使用者自己处理\n if (!localPagination) {\n this.fetchData({\n ...actions.getSubmittedFormData(),\n ...tableParams,\n })\n return\n }\n\n const { dataSource } = this.state\n\n // 前端本地分页\n if (localPagination) {\n this.setState(\n {\n dataSource,\n pagination: {\n current: pagination.current,\n pageSize: pagination.pageSize,\n total: pagination.total,\n },\n },\n () => {\n actions.setData('formData', this.formData)\n actions.setData('pagination', this.state.pagination)\n }\n )\n }\n }\n\n onTableBodyScroll = throttle((evt) => {\n this.updateIsScrollToBottom(evt.target)\n }, 50)\n\n updateIsScrollToBottom = (tableBody) => {\n const isScrollToBottom = (tableBody) => {\n const { scrollHeight, scrollTop, offsetHeight } = tableBody\n\n return scrollHeight === scrollTop + offsetHeight\n }\n\n this.setState({\n hasScrollToBottom: isScrollToBottom(tableBody),\n })\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationPopup.d.ts","sourceRoot":"","sources":["../../../src/tntd-layout/GlobalNavigation/NavigationPopup.js"],"names":[],"mappings":"AA4Ie;;;;;;;
|
|
1
|
+
{"version":3,"file":"NavigationPopup.d.ts","sourceRoot":"","sources":["../../../src/tntd-layout/GlobalNavigation/NavigationPopup.js"],"names":[],"mappings":"AA4Ie;;;;;;;gBAyLd"}
|
|
@@ -214,7 +214,6 @@ var _default = function _default(_ref2) {
|
|
|
214
214
|
y = _popup$getBoundingCli.y,
|
|
215
215
|
height = _popup$getBoundingCli.height,
|
|
216
216
|
width = _popup$getBoundingCli.width;
|
|
217
|
-
console.log('clickOutside...', [x, y], [clientX, clientY], [pageX, pageY]);
|
|
218
217
|
x += window.scrollX;
|
|
219
218
|
y += window.scrollY;
|
|
220
219
|
return pageX < x || pageX > x + width || pageY < y || pageY > y + height;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationPopup.js","sourceRoot":"","sources":["../../../src/tntd-layout/GlobalNavigation/NavigationPopup.js"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react'\nimport cn from 'classnames'\nimport styled from 'styled-components'\nimport { debounce } from 'lodash'\nimport { traverseTree, hasLevel3 } from '../../utils'\nimport Icon from '../Iconfont'\nimport { getText } from '../../locale'\n\nconst SearchArea = styled.div`\n position: relative;\n font-size: 14px;\n margin-bottom: 20px;\n color: ${(props) => props.theme.secondaryTextColor};\n &.active {\n color: ${(props) => props.theme.primaryColor};\n input {\n border-color: ${(props) => props.theme.primaryColor};\n }\n }\n .tnt-icon {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n line-height: 1em;\n &[type='close'] {\n right: 0;\n top: 0;\n font-size: 18px;\n cursor: pointer;\n }\n }\n input {\n border-width: 0 0 1px;\n border-style: solid;\n border-color: ${(props) => props.theme.borderColor};\n width: 100%;\n padding: 4px 20px;\n line-height: 20px;\n background-color: transparent;\n outline: none;\n }\n`\n\nconst ApplicationTabs = styled.ul`\n border: 1px solid ${(props) => props.theme.borderColor};\n color: ${(props) => props.theme.primaryTextColor};\n line-height: 32px;\n margin: 0 0 16px;\n padding: 0;\n display: inline-block;\n\n & > li {\n padding: 0 20px;\n display: inline-block;\n cursor: pointer;\n &:not(:last-child) {\n border-right: 1px solid ${(props) => props.theme.borderColor};\n }\n &.active {\n background-color: ${(props) => props.theme.primaryColor};\n color: #fff;\n }\n }\n`\n\nconst GroupMenus = styled.div`\n height: ${(props) => (props.isLevel3 ? 'calc(100% - 80px)' : 'calc(100% - 50px)')};\n overflow: auto;\n & > div {\n width: 200px;\n margin-right: 10px;\n display: inline-block;\n vertical-align: top;\n }\n`\n\nconst GroupMenuItem = styled.div`\n margin-bottom: 20px;\n & > h5 {\n line-height: 20px;\n margin: 0;\n margin-bottom: 6px;\n }\n`\n\nconst MenuList = styled.ul`\n list-style: none;\n padding: 0;\n margin: 0;\n`\n\nconst MenuItem = styled.li`\n display: block;\n line-height: 30px;\n font-size: 12px;\n cursor: pointer;\n a {\n color: ${(props) => props.theme.secondaryTextColor};\n &:hover {\n color: ${(props) => props.theme.secondaryColor} !important;\n }\n }\n &.active a {\n color: ${(props) => props.theme.primaryColor};\n }\n`\n\nconst ListBox = styled.ul`\n background: #fff;\n max-height: 320px;\n overflow-y: auto;\n margin: 0;\n padding: 6px 0;\n list-style: none;\n font-size: 13px;\n position: absolute;\n top: 29px;\n width: 100%;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n li {\n cursor: pointer;\n line-height: 32px;\n padding: 0 10px;\n color: ${(props) => props.theme.primaryTextColor};\n &:hover {\n color: ${(props) => props.theme.secondaryColor};\n background-color: ${(props) => props.theme.lightBgColor};\n }\n }\n`\n\nconst SearchList = ({ items, onSelectMenu, theme }) => (\n <ListBox theme={theme}>\n {items?.map((item) => (\n <li onClick={() => onSelectMenu(item)}>{item?.menuName}</li>\n ))}\n </ListBox>\n)\n\nexport default ({ theme, menus = [], close, actions, popupRef, containerRef }) => {\n const [active, setActive] = useState(false)\n const [searchValue, setSearchValue] = useState()\n const language = actions?.getLanguage()\n const isLevel3 = hasLevel3(menus)\n const [activeTopMenu, setActiveTopMenu] = useState(isLevel3 ? menus?.[0] : null)\n const selectedMenuKey = actions.getSelectedMenuKey()\n const calcGroupMenus = (menus) => {\n menus = menus?.reduce((acc, cur) => {\n // 分组\n if (cur?.children?.length) {\n acc.push(cur)\n } else {\n const defaultGroup = acc.find(({ isDefaultGroup }) => isDefaultGroup)\n if (!defaultGroup) {\n acc.unshift({\n isDefaultGroup: true,\n children: [cur],\n })\n } else {\n defaultGroup.children.push(cur)\n }\n }\n return acc\n }, [])\n\n return menus?.reduce((acc, cur) => {\n const column = Math.max(1, ~~((containerRef.current.clientWidth - 32) / 210))\n\n if (!acc.length) {\n acc.push([cur])\n } else {\n const calcGroupHeight = (group) => 46 + (group?.children?.length || 0) * 30\n const calcColumnHeight = (columnGroups) =>\n columnGroups?.reduce((acc, cur) => {\n acc += calcGroupHeight(cur)\n return acc\n }, 0)\n const currentColumnHeight = calcColumnHeight(acc[acc.length - 1])\n const nextGroupHeight = calcGroupHeight(cur)\n const findMinHeightGroup = (groups) => {\n let minHeight = Infinity\n let index = 0\n\n for (let i = 0; i < groups.length; i++) {\n const height = calcColumnHeight(groups[i])\n if (height < minHeight) {\n index = i\n minHeight = height\n }\n }\n\n return groups[index]\n }\n\n if (acc.length >= column) {\n const minHeightGroup = findMinHeightGroup(acc)\n minHeightGroup?.push(cur)\n } else {\n if (currentColumnHeight + nextGroupHeight > 440) {\n acc.push([cur])\n } else {\n acc[acc?.length - 1]?.push(cur)\n }\n }\n }\n\n return acc\n }, [])\n }\n const groupMenus = calcGroupMenus(activeTopMenu?.children || menus)\n const [searchedMenus, setSearchedMenus] = useState([])\n\n const onMenuClick = (menu) => {\n actions.emit('menuSelect', { key: menu.code, data: menu })\n setSearchValue('')\n setSearchedMenus([])\n close()\n }\n const debounceSearch = debounce((evt) => {\n const value = evt.target.value?.trim()\n const matchedMenus = []\n\n if (value) {\n traverseTree(menus, (node) => {\n if (node.path && node?.menuName?.includes(value)) {\n matchedMenus.push(node)\n }\n })\n }\n\n setSearchedMenus(matchedMenus)\n }, 100)\n\n const onSearchChange = (evt) => {\n evt.persist()\n setSearchValue(evt.target.value)\n debounceSearch(evt)\n }\n\n const onSelectAppTab = (menu) => {\n setActiveTopMenu(menu)\n }\n\n useEffect(() => {\n const clickOutside = (evt) => {\n const { clientX, clientY, pageX, pageY } = evt\n const isOutside = (evt, popup) => {\n if (popup?.contains) {\n return !popup?.contains(evt.target)\n }\n\n let { x, y, height, width } = popup.getBoundingClientRect()\n console.log('clickOutside...', [x, y], [clientX, clientY], [pageX, pageY])\n x += window.scrollX\n y += window.scrollY\n\n return pageX < x || pageX > x + width || pageY < y || pageY > y + height\n }\n\n if (isOutside(evt, popupRef.current)) {\n setSearchValue('')\n setSearchedMenus([])\n close()\n }\n }\n\n document.addEventListener('click', clickOutside)\n return () => document.removeEventListener('click', clickOutside)\n }, [])\n\n return (\n <>\n <SearchArea theme={theme} className={cn({ active })}>\n <Icon type=\"search\" />\n <input\n placeholder={actions?.getText('menuSearch')}\n value={searchValue}\n onChange={onSearchChange}\n onFocus={() => setActive(true)}\n onBlur={() => setActive(false)}\n />\n <Icon type=\"close\" onClick={close} />\n {searchedMenus?.length > 0 && (\n <SearchList items={searchedMenus} theme={theme} onSelectMenu={onMenuClick} />\n )}\n </SearchArea>\n {isLevel3 && (\n <ApplicationTabs theme={theme}>\n {menus?.map((menu) => (\n <li\n className={cn({ active: menu.code === activeTopMenu?.code })}\n onClick={() => onSelectAppTab(menu)}\n >\n {menu?.[language === 'cn' ? 'groupName' : 'enName']}\n </li>\n ))}\n </ApplicationTabs>\n )}\n <GroupMenus theme={theme} isLevel3={isLevel3}>\n {groupMenus?.map((groups) => (\n <div>\n {groups?.map((group) => (\n <GroupMenuItem theme={theme}>\n <h5>{group?.[language === 'cn' ? 'groupName' : 'enName']}</h5>\n <MenuList>\n {(group.children || []).map((menu) => (\n <MenuItem\n key={menu.code}\n className={cn({ active: selectedMenuKey === menu.code })}\n theme={theme}\n onClick={() => onMenuClick(menu)}\n >\n <a href={menu.path} onClick={(evt) => evt.preventDefault()}>\n {menu?.[language === 'cn' ? 'menuName' : 'enName']}\n </a>\n </MenuItem>\n ))}\n </MenuList>\n </GroupMenuItem>\n ))}\n </div>\n ))}\n </GroupMenus>\n </>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"file":"NavigationPopup.js","sourceRoot":"","sources":["../../../src/tntd-layout/GlobalNavigation/NavigationPopup.js"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react'\nimport cn from 'classnames'\nimport styled from 'styled-components'\nimport { debounce } from 'lodash'\nimport { traverseTree, hasLevel3 } from '../../utils'\nimport Icon from '../Iconfont'\nimport { getText } from '../../locale'\n\nconst SearchArea = styled.div`\n position: relative;\n font-size: 14px;\n margin-bottom: 20px;\n color: ${(props) => props.theme.secondaryTextColor};\n &.active {\n color: ${(props) => props.theme.primaryColor};\n input {\n border-color: ${(props) => props.theme.primaryColor};\n }\n }\n .tnt-icon {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n line-height: 1em;\n &[type='close'] {\n right: 0;\n top: 0;\n font-size: 18px;\n cursor: pointer;\n }\n }\n input {\n border-width: 0 0 1px;\n border-style: solid;\n border-color: ${(props) => props.theme.borderColor};\n width: 100%;\n padding: 4px 20px;\n line-height: 20px;\n background-color: transparent;\n outline: none;\n }\n`\n\nconst ApplicationTabs = styled.ul`\n border: 1px solid ${(props) => props.theme.borderColor};\n color: ${(props) => props.theme.primaryTextColor};\n line-height: 32px;\n margin: 0 0 16px;\n padding: 0;\n display: inline-block;\n\n & > li {\n padding: 0 20px;\n display: inline-block;\n cursor: pointer;\n &:not(:last-child) {\n border-right: 1px solid ${(props) => props.theme.borderColor};\n }\n &.active {\n background-color: ${(props) => props.theme.primaryColor};\n color: #fff;\n }\n }\n`\n\nconst GroupMenus = styled.div`\n height: ${(props) => (props.isLevel3 ? 'calc(100% - 80px)' : 'calc(100% - 50px)')};\n overflow: auto;\n & > div {\n width: 200px;\n margin-right: 10px;\n display: inline-block;\n vertical-align: top;\n }\n`\n\nconst GroupMenuItem = styled.div`\n margin-bottom: 20px;\n & > h5 {\n line-height: 20px;\n margin: 0;\n margin-bottom: 6px;\n }\n`\n\nconst MenuList = styled.ul`\n list-style: none;\n padding: 0;\n margin: 0;\n`\n\nconst MenuItem = styled.li`\n display: block;\n line-height: 30px;\n font-size: 12px;\n cursor: pointer;\n a {\n color: ${(props) => props.theme.secondaryTextColor};\n &:hover {\n color: ${(props) => props.theme.secondaryColor} !important;\n }\n }\n &.active a {\n color: ${(props) => props.theme.primaryColor};\n }\n`\n\nconst ListBox = styled.ul`\n background: #fff;\n max-height: 320px;\n overflow-y: auto;\n margin: 0;\n padding: 6px 0;\n list-style: none;\n font-size: 13px;\n position: absolute;\n top: 29px;\n width: 100%;\n box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05);\n li {\n cursor: pointer;\n line-height: 32px;\n padding: 0 10px;\n color: ${(props) => props.theme.primaryTextColor};\n &:hover {\n color: ${(props) => props.theme.secondaryColor};\n background-color: ${(props) => props.theme.lightBgColor};\n }\n }\n`\n\nconst SearchList = ({ items, onSelectMenu, theme }) => (\n <ListBox theme={theme}>\n {items?.map((item) => (\n <li onClick={() => onSelectMenu(item)}>{item?.menuName}</li>\n ))}\n </ListBox>\n)\n\nexport default ({ theme, menus = [], close, actions, popupRef, containerRef }) => {\n const [active, setActive] = useState(false)\n const [searchValue, setSearchValue] = useState()\n const language = actions?.getLanguage()\n const isLevel3 = hasLevel3(menus)\n const [activeTopMenu, setActiveTopMenu] = useState(isLevel3 ? menus?.[0] : null)\n const selectedMenuKey = actions.getSelectedMenuKey()\n const calcGroupMenus = (menus) => {\n menus = menus?.reduce((acc, cur) => {\n // 分组\n if (cur?.children?.length) {\n acc.push(cur)\n } else {\n const defaultGroup = acc.find(({ isDefaultGroup }) => isDefaultGroup)\n if (!defaultGroup) {\n acc.unshift({\n isDefaultGroup: true,\n children: [cur],\n })\n } else {\n defaultGroup.children.push(cur)\n }\n }\n return acc\n }, [])\n\n return menus?.reduce((acc, cur) => {\n const column = Math.max(1, ~~((containerRef.current.clientWidth - 32) / 210))\n\n if (!acc.length) {\n acc.push([cur])\n } else {\n const calcGroupHeight = (group) => 46 + (group?.children?.length || 0) * 30\n const calcColumnHeight = (columnGroups) =>\n columnGroups?.reduce((acc, cur) => {\n acc += calcGroupHeight(cur)\n return acc\n }, 0)\n const currentColumnHeight = calcColumnHeight(acc[acc.length - 1])\n const nextGroupHeight = calcGroupHeight(cur)\n const findMinHeightGroup = (groups) => {\n let minHeight = Infinity\n let index = 0\n\n for (let i = 0; i < groups.length; i++) {\n const height = calcColumnHeight(groups[i])\n if (height < minHeight) {\n index = i\n minHeight = height\n }\n }\n\n return groups[index]\n }\n\n if (acc.length >= column) {\n const minHeightGroup = findMinHeightGroup(acc)\n minHeightGroup?.push(cur)\n } else {\n if (currentColumnHeight + nextGroupHeight > 440) {\n acc.push([cur])\n } else {\n acc[acc?.length - 1]?.push(cur)\n }\n }\n }\n\n return acc\n }, [])\n }\n const groupMenus = calcGroupMenus(activeTopMenu?.children || menus)\n const [searchedMenus, setSearchedMenus] = useState([])\n\n const onMenuClick = (menu) => {\n actions.emit('menuSelect', { key: menu.code, data: menu })\n setSearchValue('')\n setSearchedMenus([])\n close()\n }\n const debounceSearch = debounce((evt) => {\n const value = evt.target.value?.trim()\n const matchedMenus = []\n\n if (value) {\n traverseTree(menus, (node) => {\n if (node.path && node?.menuName?.includes(value)) {\n matchedMenus.push(node)\n }\n })\n }\n\n setSearchedMenus(matchedMenus)\n }, 100)\n\n const onSearchChange = (evt) => {\n evt.persist()\n setSearchValue(evt.target.value)\n debounceSearch(evt)\n }\n\n const onSelectAppTab = (menu) => {\n setActiveTopMenu(menu)\n }\n\n useEffect(() => {\n const clickOutside = (evt) => {\n const { clientX, clientY, pageX, pageY } = evt\n const isOutside = (evt, popup) => {\n if (popup?.contains) {\n return !popup?.contains(evt.target)\n }\n\n let { x, y, height, width } = popup.getBoundingClientRect()\n x += window.scrollX\n y += window.scrollY\n\n return pageX < x || pageX > x + width || pageY < y || pageY > y + height\n }\n\n if (isOutside(evt, popupRef.current)) {\n setSearchValue('')\n setSearchedMenus([])\n close()\n }\n }\n\n document.addEventListener('click', clickOutside)\n return () => document.removeEventListener('click', clickOutside)\n }, [])\n\n return (\n <>\n <SearchArea theme={theme} className={cn({ active })}>\n <Icon type=\"search\" />\n <input\n placeholder={actions?.getText('menuSearch')}\n value={searchValue}\n onChange={onSearchChange}\n onFocus={() => setActive(true)}\n onBlur={() => setActive(false)}\n />\n <Icon type=\"close\" onClick={close} />\n {searchedMenus?.length > 0 && (\n <SearchList items={searchedMenus} theme={theme} onSelectMenu={onMenuClick} />\n )}\n </SearchArea>\n {isLevel3 && (\n <ApplicationTabs theme={theme}>\n {menus?.map((menu) => (\n <li\n className={cn({ active: menu.code === activeTopMenu?.code })}\n onClick={() => onSelectAppTab(menu)}\n >\n {menu?.[language === 'cn' ? 'groupName' : 'enName']}\n </li>\n ))}\n </ApplicationTabs>\n )}\n <GroupMenus theme={theme} isLevel3={isLevel3}>\n {groupMenus?.map((groups) => (\n <div>\n {groups?.map((group) => (\n <GroupMenuItem theme={theme}>\n <h5>{group?.[language === 'cn' ? 'groupName' : 'enName']}</h5>\n <MenuList>\n {(group.children || []).map((menu) => (\n <MenuItem\n key={menu.code}\n className={cn({ active: selectedMenuKey === menu.code })}\n theme={theme}\n onClick={() => onMenuClick(menu)}\n >\n <a href={menu.path} onClick={(evt) => evt.preventDefault()}>\n {menu?.[language === 'cn' ? 'menuName' : 'enName']}\n </a>\n </MenuItem>\n ))}\n </MenuList>\n </GroupMenuItem>\n ))}\n </div>\n ))}\n </GroupMenus>\n </>\n )\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tntd",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@icon-park/react": "^1.3.5",
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"rc-trigger": "^5.0.4",
|
|
19
19
|
"rc-virtual-list": "^3.4.13",
|
|
20
20
|
"rc-align": "^4.0.0",
|
|
21
|
-
"lodash": "~4.17.21"
|
|
21
|
+
"lodash": "~4.17.21",
|
|
22
|
+
"color-alpha": "~1.1.3"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
24
25
|
"@react-types/shared": "^3.10.1",
|
|
@@ -64,7 +65,6 @@
|
|
|
64
65
|
"files": [
|
|
65
66
|
"lib",
|
|
66
67
|
"es",
|
|
67
|
-
"codemod",
|
|
68
68
|
"themes"
|
|
69
69
|
],
|
|
70
70
|
"main": "lib/index.js",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"_phase:build": "heft build --clean",
|
|
82
82
|
"_phase:test": "heft test --no-build",
|
|
83
83
|
"svgr": "npx svgr ./svg --out-dir ./src/svg-components",
|
|
84
|
-
"test": "
|
|
85
|
-
"test:watch": "
|
|
84
|
+
"test": "heft test",
|
|
85
|
+
"test:watch": "heft test --watch --clean"
|
|
86
86
|
}
|
|
87
87
|
}
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji',
|
|
46
46
|
'Segoe UI Emoji', 'Segoe UI Symbol';
|
|
47
47
|
@code-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
|
|
48
|
-
@text-color: #17233d
|
|
49
|
-
@text-color-secondary: fade(@text-color, 80%)
|
|
48
|
+
@text-color: #17233d; //fade(@black, 65%);
|
|
49
|
+
@text-color-secondary: fade(@text-color, 80%); //fade(@black, 45%);
|
|
50
50
|
@text-color-inverse: @white;
|
|
51
51
|
@icon-color: inherit;
|
|
52
52
|
@icon-color-hover: fade(@black, 75%);
|
|
@@ -353,7 +353,7 @@
|
|
|
353
353
|
// --
|
|
354
354
|
@modal-body-padding: 20px;
|
|
355
355
|
@modal-header-bg: #fff; // component-background
|
|
356
|
-
@modal-footer-bg: #
|
|
356
|
+
@modal-footer-bg: #ffffff; //#F2F4F7;
|
|
357
357
|
@modal-mask-bg: rgba(7, 7, 8, 0.35);
|
|
358
358
|
|
|
359
359
|
// Progress
|
|
@@ -576,7 +576,6 @@
|
|
|
576
576
|
// ---
|
|
577
577
|
@message-notice-content-padding: 12px 24px; //10px 16px;
|
|
578
578
|
|
|
579
|
-
|
|
580
579
|
// Motion
|
|
581
580
|
// ---
|
|
582
581
|
@wave-animation-width: 6px;
|
|
@@ -619,4 +618,4 @@
|
|
|
619
618
|
@drawer-body-padding: 20px;
|
|
620
619
|
|
|
621
620
|
// checkbox
|
|
622
|
-
@checkbox-border: #
|
|
621
|
+
@checkbox-border: #b2becd;
|