@zgfe/business-lib 1.0.0-beta.4 → 1.0.1-beta.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.
Files changed (248) hide show
  1. package/es/analysisLayout/demo/index.js +4 -1
  2. package/es/analysisLayout/index.d.ts +1 -28
  3. package/es/analysisLayout/index.js +32 -42
  4. package/es/analysisLayout/index.less +7 -5
  5. package/es/assets/styles/chunks.less +143 -0
  6. package/es/assets/styles/inner.less +3 -0
  7. package/es/assets/styles/resetAntd.less +398 -0
  8. package/es/assets/styles/variable.less +21 -0
  9. package/es/assets/theme.d.ts +5 -0
  10. package/es/assets/theme.js +4 -0
  11. package/es/attrConditions/components/operateList.d.ts +8 -0
  12. package/es/attrConditions/components/operateList.js +83 -0
  13. package/es/attrConditions/components/stringList.d.ts +9 -0
  14. package/es/attrConditions/components/stringList.js +167 -0
  15. package/es/attrConditions/components/valuesList.d.ts +10 -0
  16. package/es/attrConditions/components/valuesList.js +186 -0
  17. package/es/{attributeSelector/demo/multi.d.ts → attrConditions/demo/group.d.ts} +0 -0
  18. package/es/attrConditions/demo/group.js +82 -0
  19. package/es/{globalAttributes → attrConditions}/demo/index.d.ts +0 -0
  20. package/es/{datePicker/demo/form.js → attrConditions/demo/index.js} +43 -23
  21. package/es/attrConditions/group.d.ts +5 -0
  22. package/es/attrConditions/group.js +184 -0
  23. package/es/attrConditions/index.d.ts +6 -0
  24. package/es/attrConditions/index.js +160 -0
  25. package/es/attrConditions/styles/group.less +49 -0
  26. package/es/attrConditions/styles/index.less +94 -0
  27. package/es/attrConditions/types.d.ts +63 -0
  28. package/es/attrConditions/types.js +19 -0
  29. package/es/attrConditions/utils/operates.d.ts +16 -0
  30. package/es/attrConditions/utils/operates.js +67 -0
  31. package/es/{multipleSelector → attributeSelector}/demo/index.d.ts +1 -0
  32. package/es/attributeSelector/demo/{singleForm.js → index.js} +42 -44
  33. package/es/attributeSelector/index.d.ts +4 -109
  34. package/es/attributeSelector/index.js +85 -527
  35. package/es/attributeSelector/listPanel.d.ts +4 -0
  36. package/es/attributeSelector/listPanel.js +206 -0
  37. package/es/attributeSelector/option.d.ts +15 -0
  38. package/es/attributeSelector/option.js +53 -0
  39. package/es/attributeSelector/styles/index.less +100 -0
  40. package/es/attributeSelector/types.d.ts +79 -0
  41. package/es/attributeSelector/types.js +15 -0
  42. package/es/attributeSelector/util.d.ts +7 -0
  43. package/es/attributeSelector/util.js +69 -0
  44. package/es/chart/demo/bar.js +2 -1
  45. package/es/chart/demo/pie.js +1 -0
  46. package/es/chart/index.d.ts +2 -80
  47. package/es/chart/index.js +27 -24
  48. package/es/chart/styles/index.less +50 -0
  49. package/es/chart/types.d.ts +46 -0
  50. package/es/chart/{type.js → types.js} +0 -0
  51. package/es/chart/util/{chartConfig.d.ts → chartOptionConfig.d.ts} +4 -35
  52. package/es/chart/util/{chartConfig.js → chartOptionConfig.js} +46 -109
  53. package/es/chart/util/formatData.d.ts +3 -7
  54. package/es/chart/util/formatData.js +47 -26
  55. package/es/chart/util/formatOption.d.ts +2 -1
  56. package/es/chart/util/formatOption.js +22 -9
  57. package/es/chart/util/mapUtil.d.ts +3 -3
  58. package/es/chart/util/mapUtil.js +9 -19
  59. package/es/commonStyle/icon.less +130 -110
  60. package/es/commonStyle/select.less +1 -1
  61. package/es/commonStyle/theme.less +520 -470
  62. package/es/context/index.d.ts +16 -0
  63. package/es/context/index.js +3 -0
  64. package/es/datePicker/datePicker.d.ts +10 -0
  65. package/es/datePicker/datePicker.js +115 -0
  66. package/es/datePicker/demo/index.d.ts +1 -0
  67. package/es/datePicker/demo/index.js +9 -2
  68. package/es/datePicker/index.d.ts +4 -27
  69. package/es/datePicker/index.js +72 -148
  70. package/es/datePicker/styles/index.less +48 -0
  71. package/es/datePicker/types.d.ts +24 -0
  72. package/es/{eventSelector/type.js → datePicker/types.js} +0 -0
  73. package/es/datePicker/utils.d.ts +6 -0
  74. package/es/datePicker/utils.js +70 -0
  75. package/es/dialog/components/itemNode.d.ts +9 -0
  76. package/es/dialog/components/itemNode.js +107 -0
  77. package/es/dialog/components/list.d.ts +3 -13
  78. package/es/dialog/components/list.js +8 -7
  79. package/es/dialog/components/selectToInput.d.ts +4 -41
  80. package/es/dialog/components/selectToInput.js +109 -54
  81. package/es/dialog/components/styles/handle.less +39 -0
  82. package/es/dialog/components/styles/list.less +60 -0
  83. package/es/dialog/components/styles/tab.less +55 -0
  84. package/es/dialog/components/tab.d.ts +3 -7
  85. package/es/dialog/components/tab.js +57 -19
  86. package/es/dialog/data/{chart.d.ts → data.d.ts} +9 -0
  87. package/es/dialog/data/{chart.js → data.js} +11 -0
  88. package/es/dialog/demo/index.d.ts +23 -0
  89. package/es/dialog/demo/index.js +60 -22
  90. package/es/dialog/demo/index2.js +14 -2
  91. package/es/dialog/index.d.ts +4 -65
  92. package/es/dialog/index.js +124 -108
  93. package/es/dialog/styles/index.less +11 -0
  94. package/es/dialog/types.d.ts +77 -0
  95. package/es/{targetConditionGroup/type.js → dialog/types.js} +0 -0
  96. package/es/eventSelector/demo/index.js +26 -44
  97. package/es/eventSelector/index.d.ts +4 -25
  98. package/es/eventSelector/index.js +91 -338
  99. package/es/eventSelector/listPanel.d.ts +4 -0
  100. package/es/eventSelector/listPanel.js +195 -0
  101. package/es/eventSelector/option.d.ts +17 -0
  102. package/es/eventSelector/option.js +54 -0
  103. package/es/eventSelector/styles/index.less +77 -0
  104. package/es/eventSelector/types.d.ts +31 -0
  105. package/es/eventSelector/types.js +1 -0
  106. package/es/index.d.ts +12 -10
  107. package/es/index.js +7 -10
  108. package/es/{attributeSelector/data → mock}/env.d.ts +0 -0
  109. package/es/{attributeSelector/data → mock}/env.js +0 -0
  110. package/es/{attributeSelector/data → mock}/event.d.ts +0 -0
  111. package/es/{attributeSelector/data → mock}/event.js +0 -0
  112. package/es/{attributeSelector/data → mock}/user.d.ts +0 -0
  113. package/es/{attributeSelector/data → mock}/user.js +0 -0
  114. package/es/searchInput/index.d.ts +8 -0
  115. package/es/searchInput/index.js +31 -0
  116. package/es/{attributeSelector/demo/multiForm.d.ts → select/demo/group.d.ts} +0 -0
  117. package/es/{globalAttributes/demo/index.js → select/demo/group.js} +49 -31
  118. package/es/select/demo/index.js +49 -21
  119. package/es/{attributeSelector/demo/single.d.ts → select/demo/multiple.d.ts} +0 -0
  120. package/es/{multipleSelector/demo/index.js → select/demo/multiple.js} +55 -12
  121. package/es/select/handle.d.ts +5 -0
  122. package/es/select/handle.js +119 -0
  123. package/es/select/index.d.ts +4 -41
  124. package/es/select/index.js +166 -121
  125. package/es/select/option.d.ts +4 -0
  126. package/es/select/option.js +59 -0
  127. package/es/select/overlay.d.ts +4 -0
  128. package/es/select/overlay.js +154 -0
  129. package/es/select/styles/handle.less +111 -0
  130. package/es/select/styles/index.less +99 -0
  131. package/es/select/types.d.ts +65 -0
  132. package/es/select/types.js +1 -0
  133. package/es/table/demo/data/table.js +1 -1
  134. package/es/table/demo/index.d.ts +1 -1
  135. package/es/table/demo/index.js +9 -8
  136. package/es/table/demo/index2.js +45 -3
  137. package/es/{attributeSelector/demo/singleForm.d.ts → table/demo/index3.d.ts} +0 -0
  138. package/es/table/demo/index3.js +218 -0
  139. package/es/table/index.d.ts +4 -30
  140. package/es/table/index.js +19 -17
  141. package/es/table/styles/index.less +5 -0
  142. package/es/table/type.d.ts +10 -0
  143. package/es/table/type.js +1 -0
  144. package/es/targetConditionGroup/components/targetDimension.d.ts +8 -0
  145. package/es/targetConditionGroup/components/targetDimension.js +153 -0
  146. package/es/targetConditionGroup/data/operates.d.ts +8 -24
  147. package/es/targetConditionGroup/data/operates.js +26 -69
  148. package/es/targetConditionGroup/demo/group.d.ts +3 -0
  149. package/es/targetConditionGroup/demo/group.js +127 -0
  150. package/es/targetConditionGroup/demo/index.js +41 -51
  151. package/es/targetConditionGroup/demo/styles/index.less +29 -0
  152. package/es/targetConditionGroup/index.d.ts +4 -51
  153. package/es/targetConditionGroup/index.js +187 -222
  154. package/es/targetConditionGroup/styles/index.less +25 -0
  155. package/es/targetConditionGroup/types.d.ts +32 -0
  156. package/es/targetConditionGroup/types.js +1 -0
  157. package/es/targetSelector/demo/index.d.ts +1 -0
  158. package/es/targetSelector/demo/index.js +29 -71
  159. package/es/targetSelector/editBox.d.ts +8 -0
  160. package/es/targetSelector/{components/BizEventNameEditBox.js → editBox.js} +49 -24
  161. package/es/targetSelector/index.d.ts +5 -39
  162. package/es/targetSelector/index.js +102 -169
  163. package/es/targetSelector/optionIcon.d.ts +9 -0
  164. package/es/targetSelector/optionIcon.js +24 -0
  165. package/es/targetSelector/optionMenu.d.ts +7 -0
  166. package/es/targetSelector/optionMenu.js +38 -0
  167. package/es/targetSelector/styles/index.less +88 -0
  168. package/es/targetSelector/types.d.ts +18 -0
  169. package/es/targetSelector/types.js +1 -0
  170. package/es/{datePicker/demo/form.d.ts → userGroup/demo/group.d.ts} +0 -0
  171. package/es/{targetConditionGroup/demo/form.js → userGroup/demo/group.js} +68 -72
  172. package/es/userGroup/demo/index.d.ts +0 -1
  173. package/es/userGroup/demo/index.js +5 -62
  174. package/es/userGroup/index.d.ts +3 -77
  175. package/es/userGroup/index.js +58 -108
  176. package/es/userGroup/styles/index.less +20 -0
  177. package/es/userGroup/types.d.ts +15 -0
  178. package/es/userGroup/types.js +1 -0
  179. package/es/utils/ajax.js +5 -20
  180. package/es/utils/type.d.ts +42 -44
  181. package/es/utils/util.d.ts +1 -35
  182. package/es/utils/util.js +27 -57
  183. package/package.json +11 -4
  184. package/es/attributeSelector/demo/multi.js +0 -39
  185. package/es/attributeSelector/demo/multiForm.js +0 -64
  186. package/es/attributeSelector/demo/single.js +0 -43
  187. package/es/attributeSelector/group.d.ts +0 -31
  188. package/es/attributeSelector/group.js +0 -225
  189. package/es/attributeSelector/index.less +0 -172
  190. package/es/chart/index.less +0 -38
  191. package/es/chart/style/circle.svg +0 -4
  192. package/es/chart/type.d.ts +0 -22
  193. package/es/datePicker/data.d.ts +0 -9
  194. package/es/datePicker/data.js +0 -65
  195. package/es/datePicker/index.less +0 -364
  196. package/es/dialog/components/style/list.less +0 -59
  197. package/es/dialog/components/style/tab.less +0 -61
  198. package/es/dialog/style/index.less +0 -76
  199. package/es/eventSelector/demo/form.d.ts +0 -2
  200. package/es/eventSelector/demo/form.js +0 -89
  201. package/es/eventSelector/demo/nodata.d.ts +0 -2
  202. package/es/eventSelector/demo/nodata.js +0 -13
  203. package/es/eventSelector/index.less +0 -121
  204. package/es/eventSelector/type.d.ts +0 -41
  205. package/es/globalAttributes/demo/data/env.d.ts +0 -11
  206. package/es/globalAttributes/demo/data/env.js +0 -181
  207. package/es/globalAttributes/demo/data/event.d.ts +0 -237
  208. package/es/globalAttributes/demo/data/event.js +0 -3483
  209. package/es/globalAttributes/demo/data/user.d.ts +0 -22
  210. package/es/globalAttributes/demo/data/user.js +0 -218
  211. package/es/globalAttributes/index.d.ts +0 -46
  212. package/es/globalAttributes/index.js +0 -117
  213. package/es/multipleSelector/index.d.ts +0 -36
  214. package/es/multipleSelector/index.js +0 -103
  215. package/es/multipleSelector/index.less +0 -136
  216. package/es/table/demo/index.less +0 -8
  217. package/es/table/index.less +0 -139
  218. package/es/targetConditionGroup/components/conditionGroup.d.ts +0 -30
  219. package/es/targetConditionGroup/components/conditionGroup.js +0 -111
  220. package/es/targetConditionGroup/components/conditionItem.d.ts +0 -47
  221. package/es/targetConditionGroup/components/conditionItem.js +0 -259
  222. package/es/targetConditionGroup/components/style/group.less +0 -47
  223. package/es/targetConditionGroup/components/style/index.less +0 -16
  224. package/es/targetConditionGroup/demo/data/env.d.ts +0 -11
  225. package/es/targetConditionGroup/demo/data/env.js +0 -181
  226. package/es/targetConditionGroup/demo/data/event.d.ts +0 -237
  227. package/es/targetConditionGroup/demo/data/event.js +0 -3483
  228. package/es/targetConditionGroup/demo/data/user.d.ts +0 -22
  229. package/es/targetConditionGroup/demo/data/user.js +0 -218
  230. package/es/targetConditionGroup/demo/form.d.ts +0 -2
  231. package/es/targetConditionGroup/demo/item.d.ts +0 -2
  232. package/es/targetConditionGroup/demo/item.js +0 -5
  233. package/es/targetConditionGroup/index.less +0 -64
  234. package/es/targetConditionGroup/type.d.ts +0 -50
  235. package/es/targetSelector/components/BizCascadeBox.d.ts +0 -34
  236. package/es/targetSelector/components/BizCascadeBox.js +0 -213
  237. package/es/targetSelector/components/BizEventNameEditBox.d.ts +0 -20
  238. package/es/targetSelector/demo/form.d.ts +0 -2
  239. package/es/targetSelector/demo/form.js +0 -133
  240. package/es/targetSelector/demo/nodata.d.ts +0 -2
  241. package/es/targetSelector/demo/nodata.js +0 -13
  242. package/es/targetSelector/index.less +0 -28
  243. package/es/userGroup/demo/cluster.d.ts +0 -3
  244. package/es/userGroup/demo/cluster.js +0 -102
  245. package/es/userGroup/demo/index.less +0 -3
  246. package/es/userGroup/index.less +0 -2
  247. package/es/userGroup/userCluster.d.ts +0 -63
  248. package/es/userGroup/userCluster.js +0 -255
@@ -1,27 +1,9 @@
1
- var _excluded = ["children"];
2
-
3
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
-
5
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
6
-
7
- 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); }
8
-
9
1
  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; }
10
2
 
11
3
  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; }
12
4
 
13
5
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
6
 
15
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
16
-
17
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
-
19
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
20
-
21
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
22
-
23
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
24
-
25
7
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
26
8
 
27
9
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -34,546 +16,122 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
34
16
 
35
17
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
36
18
 
37
- import { Anchor, Input, Tooltip } from 'antd';
38
- import React, { useContext, useEffect, useRef, useState } from 'react';
39
- import { BizGlobalDataContext } from '..';
19
+ import React, { useContext, useEffect, useState } from 'react';
20
+ import './styles/index.less';
21
+ import { Dropdown, Tooltip } from 'antd';
22
+ import AttrListPanel from './listPanel';
40
23
  import IconFont from '../components/iconFont';
41
- import { util } from '../utils';
42
- import './index.less';
43
- var Link = Anchor.Link;
24
+ import { BizGlobalDataContext } from '..';
25
+ import SelectHandle from '../select/handle';
44
26
 
45
27
  var BizAttributeSelector = function BizAttributeSelector(props) {
46
- var defaultValue = props.defaultValue,
47
- value = props.value,
48
- eventIds = props.eventIds,
49
- _props$responseType = props.responseType,
50
- responseType = _props$responseType === void 0 ? 'id' : _props$responseType,
51
- _props$showDeleteIcon = props.showDeleteIcon,
52
- showDeleteIcon = _props$showDeleteIcon === void 0 ? false : _props$showDeleteIcon,
53
- _props$showUserProp = props.showUserProp,
54
- showUserProp = _props$showUserProp === void 0 ? true : _props$showUserProp,
55
- _props$showEventEnv = props.showEventEnv,
56
- showEventEnv = _props$showEventEnv === void 0 ? true : _props$showEventEnv,
57
- _props$showEventProp = props.showEventProp,
58
- showEventProp = _props$showEventProp === void 0 ? true : _props$showEventProp,
59
- options = props.options,
60
- onDelete = props.onDelete,
61
- onChange = props.onChange,
62
- _props$index = props.index,
63
- index = _props$index === void 0 ? 0 : _props$index,
64
- _props$disabled = props.disabled,
65
- disabled = _props$disabled === void 0 ? [] : _props$disabled,
28
+ var _props$enableDelete = props.enableDelete,
29
+ enableDelete = _props$enableDelete === void 0 ? false : _props$enableDelete,
66
30
  _props$placeholder = props.placeholder,
67
- placeholder = _props$placeholder === void 0 ? '请选择' : _props$placeholder,
68
- children = props.children;
31
+ placeholder = _props$placeholder === void 0 ? '请选择' : _props$placeholder;
69
32
 
70
- var _useContext = useContext(BizGlobalDataContext),
71
- eventMeta = _useContext.eventMeta,
72
- userProps = _useContext.userProps,
73
- eventEnv = _useContext.eventEnv;
74
-
75
- var _useState = useState([]),
33
+ var _useState = useState(),
76
34
  _useState2 = _slicedToArray(_useState, 2),
77
- attrOptions = _useState2[0],
78
- setAttrOptions = _useState2[1];
35
+ currentAttr = _useState2[0],
36
+ setCurrentAttr = _useState2[1];
79
37
 
80
- var _useState3 = useState([]),
38
+ var _useState3 = useState(false),
81
39
  _useState4 = _slicedToArray(_useState3, 2),
82
- primaryAttrOptions = _useState4[0],
83
- setPrimaryAttrOptions = _useState4[1];
84
-
85
- var _useState5 = useState(false),
86
- _useState6 = _slicedToArray(_useState5, 2),
87
- showDropdown = _useState6[0],
88
- setShowDropdown = _useState6[1];
89
-
90
- var attrsRef = useRef(null); // 锚点:{event:{id,children}, user:{id,children}}
40
+ visible = _useState4[0],
41
+ setVisible = _useState4[1];
91
42
 
92
- var _useState7 = useState({}),
93
- _useState8 = _slicedToArray(_useState7, 2),
94
- anchorList = _useState8[0],
95
- setAnchorList = _useState8[1]; // 动态id
43
+ var classPrefix = 'biz-attr-select';
96
44
 
45
+ var _useState5 = useState(String(Math.random())),
46
+ _useState6 = _slicedToArray(_useState5, 1),
47
+ id = _useState6[0];
97
48
 
98
- var _useState9 = useState('list_1}'),
99
- _useState10 = _slicedToArray(_useState9, 2),
100
- listID = _useState10[0],
101
- setListID = _useState10[1];
102
-
103
- var _useState11 = useState('list_2'),
104
- _useState12 = _slicedToArray(_useState11, 2),
105
- allID = _useState12[0],
106
- setAllID = _useState12[1]; // 搜索框是否是聚焦状态
107
-
108
-
109
- var _useState13 = useState(false),
110
- _useState14 = _slicedToArray(_useState13, 2),
111
- focused = _useState14[0],
112
- setFocused = _useState14[1]; // 搜索值
113
-
114
-
115
- var _useState15 = useState(''),
116
- _useState16 = _slicedToArray(_useState15, 2),
117
- searchValue = _useState16[0],
118
- setSearchValue = _useState16[1]; // 选中值
119
-
120
-
121
- var _useState17 = useState({
122
- value: ''
123
- }),
124
- _useState18 = _slicedToArray(_useState17, 2),
125
- attrs = _useState18[0],
126
- setAttrs = _useState18[1];
127
-
128
- var _useState19 = useState(''),
129
- _useState20 = _slicedToArray(_useState19, 2),
130
- defaultAttrValue = _useState20[0],
131
- setDefaultAttrValue = _useState20[1]; // 处理事件数据
132
- // data: 所有事件(分组+属性) eventIds: 要提取属性的事件id
133
-
134
-
135
- var formateEvent = function formateEvent(data, eventIds) {
136
- var eventList = [];
137
- var idMap = {};
138
- var nameMap = {}; // 获取事件列表
49
+ var _useContext = useContext(BizGlobalDataContext),
50
+ eventGroupList = _useContext.eventGroupList,
51
+ userPropList = _useContext.userPropList,
52
+ eventEnvList = _useContext.eventEnvList;
139
53
 
140
- data.forEach(function (group) {
141
- var eList = group.eventList || [];
142
- eList.forEach(function (event) {
143
- event.event_attrs.forEach(function (prop) {
144
- prop.id = prop.attr_id;
145
- prop.name = prop.alias_name || prop.attr_name || '';
146
- prop.value = prop.attr_name;
147
- prop.dimensionId = [prop.dimension_sub, prop.value].join(','); // 增加属性细分唯一字段,区分同名自定义属性
54
+ useEffect(function () {
55
+ if (!props.defaultValue) return;
56
+ setCurrentAttr(getValue(props.defaultValue));
57
+ }, []);
58
+ useEffect(function () {
59
+ setCurrentAttr(getValue(props.value));
60
+ }, [props.value]);
148
61
 
149
- prop.attrId = Math.random().toString();
150
- });
151
- var randomId = Math.random().toString(); // 事件(分组)添加锚点id
62
+ function getValue(param) {
63
+ var res = undefined;
152
64
 
153
- event.attrId = randomId;
154
- if (!idMap[event.event_id]) eventList.push(event);
155
- idMap[event.event_id] = event;
156
- nameMap[event.event_name] = event;
65
+ if ((param === null || param === void 0 ? void 0 : param.propCategory) === 'envProp') {
66
+ eventEnvList === null || eventEnvList === void 0 ? void 0 : eventEnvList.forEach(function (attr) {
67
+ if (attr.name === param.name) res = attr;
157
68
  });
158
- }); // 取得要展示的所有数据event
159
-
160
- var eventResult = [];
161
- var anchorList = []; // 事件属性的定位id
162
-
163
- var firstId = Math.random().toString(); // 如果没传eventid,就展示所有属性
164
-
165
- var ids = [];
166
-
167
- if (eventIds) {
168
- if (typeof eventIds === 'number') {
169
- ids = [JSON.stringify(eventIds)];
170
- } else {
171
- ids = eventIds.split(',');
172
- }
173
- }
174
-
175
- if (ids.length > 0) {
176
- ids.forEach(function (id) {
177
- var event = idMap[id.trim()];
178
-
179
- if (event) {
180
- // 要展示的属性
181
- var eventProps = event.event_attrs.filter(function (prop) {
182
- return !prop.hidden;
69
+ } else if ((param === null || param === void 0 ? void 0 : param.propCategory) === 'eventProp') {
70
+ eventGroupList === null || eventGroupList === void 0 ? void 0 : eventGroupList.forEach(function (group) {
71
+ group.eventList.forEach(function (event) {
72
+ event.attrList.forEach(function (attr) {
73
+ if (attr.id === param.id) res = attr;
183
74
  });
184
- var randomId = Math.random().toString(); // 添加锚点
185
-
186
- anchorList.push({
187
- attrId: event.attrId || randomId,
188
- name: event.alias_name || event.event_name
189
- });
190
- eventResult.push({
191
- attrId: event.attrId || randomId,
192
- name: ids.length > 1 ? "\u4E8B\u4EF6[".concat(event.alias_name || event.event_name, "]\u5C5E\u6027") : '事件属性',
193
- children: eventProps
194
- });
195
- }
75
+ });
196
76
  });
197
- }
198
-
199
- if (eventResult.length <= 0) {
200
- var _attrs = [];
201
-
202
- var _iterator = _createForOfIteratorHelper(eventList),
203
- _step;
204
-
205
- try {
206
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
207
- var _event = _step.value;
208
-
209
- var eventProps = _event.event_attrs.filter(function (prop) {
210
- return !prop.hidden;
211
- });
212
-
213
- _attrs = _attrs.concat(eventProps);
214
- }
215
- } catch (err) {
216
- _iterator.e(err);
217
- } finally {
218
- _iterator.f();
219
- }
220
-
221
- eventResult.push({
222
- attrId: firstId,
223
- name: '事件属性',
224
- children: _toConsumableArray(_attrs)
77
+ } else if ((param === null || param === void 0 ? void 0 : param.propCategory) === 'userProp') {
78
+ userPropList === null || userPropList === void 0 ? void 0 : userPropList.forEach(function (attr) {
79
+ if (attr.name === param.name && attr.category === param.category) res = attr;
225
80
  });
226
- } else {
227
- firstId = eventResult[0].attrId || firstId;
228
81
  }
229
82
 
230
- var event = {
231
- attrId: firstId,
232
- name: '事件属性',
233
- children: anchorList.length > 1 ? [].concat(anchorList) : []
234
- };
235
- return {
236
- event: event,
237
- eventResult: eventResult
238
- };
239
- };
240
-
241
- var getOptions = function getOptions() {
242
- // 所有属性 eventMeta, userProps, eventEnv
243
- var attrsList = [],
244
- anchors = {}; // 事件属性
245
-
246
- if (showEventProp) {
247
- var eventOptions = JSON.parse(JSON.stringify(options && options.event || eventMeta));
248
-
249
- var _formateEvent = formateEvent(eventOptions, eventIds),
250
- event = _formateEvent.event,
251
- eventResult = _formateEvent.eventResult;
252
-
253
- anchors = _objectSpread({
254
- event: event
255
- }, anchors);
256
- attrsList = attrsList.concat(eventResult);
257
- } // 如果展示用户属性
258
-
259
-
260
- if (showUserProp) {
261
- // 添加锚点
262
- var attrId = Math.random().toString();
263
- var user = {
264
- attrId: attrId,
265
- name: '用户属性'
266
- };
267
- var userOptions = JSON.parse(JSON.stringify(options && options.user || userProps)); // 添加属性
268
-
269
- var userList = userOptions.map(function (prop) {
270
- prop.name = prop.alias_name || prop.text;
271
- prop.value = prop.name;
272
- prop.custom = prop.category === 'custom';
273
- prop.dimensionId = [prop.dimension_sub, prop.value].join(','); // 增加属性细分唯一字段,区分同名自定义属性
274
-
275
- prop.attrId = Math.random().toString();
276
- return prop;
277
- });
278
- anchors = _objectSpread(_objectSpread({}, anchors), {}, {
279
- user: user
280
- });
281
- attrsList.push(_objectSpread(_objectSpread({}, user), {}, {
282
- children: _toConsumableArray(userList)
283
- }));
284
- } // 如果展示环境属性
83
+ return res;
84
+ }
285
85
 
86
+ function onDelete() {
87
+ if (props.onDelete) props.onDelete(currentAttr);
88
+ }
286
89
 
287
- if (showEventEnv) {
288
- var _attrId = Math.random().toString();
90
+ function onChange(val) {
91
+ setVisible(false);
92
+ setCurrentAttr(val);
93
+ if (props.onChange) props.onChange(val);
94
+ }
289
95
 
290
- var env = {
291
- attrId: _attrId,
292
- name: '触发环境'
293
- };
294
- var envOptions = JSON.parse(JSON.stringify(options && options.env || eventEnv));
295
- var envList = envOptions.map(function (prop) {
296
- prop.value = prop.name;
297
- prop.name = prop.text;
298
- prop.dimensionId = [prop.dimension_sub, prop.value].join(','); // 增加属性细分唯一字段,区分同名自定义属性
299
-
300
- prop.attrId = Math.random().toString();
301
- return prop;
302
- });
303
- anchors = _objectSpread(_objectSpread({}, anchors), {}, {
304
- env: env
305
- });
306
- attrsList.push(_objectSpread(_objectSpread({}, env), {}, {
307
- children: _toConsumableArray(envList)
308
- }));
309
- }
310
-
311
- setAnchorList(anchors);
312
- setAttrOptions(function () {
313
- return _toConsumableArray(attrsList);
314
- });
315
- setPrimaryAttrOptions(function () {
316
- return _toConsumableArray(attrsList);
317
- });
96
+ var onVisibleChange = function onVisibleChange(flag) {
97
+ setVisible(flag);
318
98
  };
319
99
 
320
- useEffect(function () {
321
- setListID(function () {
322
- var id = Math.random().toString();
323
- return "list_".concat(id);
324
- });
325
- setAllID(function () {
326
- var id = Math.random().toString();
327
- return "list_".concat(id);
328
- }); // 添加点击事件监听,隐藏下拉框
329
-
330
- var handleClick = function handleClick(e) {
331
- if (!attrsRef.current || !attrsRef.current.contains(e.target)) {
332
- setShowDropdown(false);
333
- }
334
- };
335
-
336
- document.addEventListener('click', handleClick);
337
- return function () {
338
- document.removeEventListener('click', handleClick);
339
- };
340
- }, []);
341
- useEffect(function () {
342
- var intoValue = defaultValue || value;
343
-
344
- if (intoValue) {
345
- var defaultData;
346
-
347
- if (_typeof(intoValue) === 'object') {
348
- if (intoValue.attr_id) {
349
- defaultData = intoValue.attr_name || '';
350
- } else {
351
- defaultData = intoValue.name || '';
352
- }
353
- } else {
354
- defaultData = intoValue || '';
355
- }
356
-
357
- if (util.equal(defaultAttrValue, defaultData)) return;
358
- setDefaultAttrValue(function () {
359
- return defaultData || '';
360
- });
361
- }
362
- }, [defaultValue, value]);
363
- useEffect(function () {
364
- getOptions();
365
- }, [eventIds]); // 初始内容
366
-
367
- useEffect(function () {
368
- if (defaultAttrValue === '') return;
369
-
370
- var _iterator2 = _createForOfIteratorHelper(primaryAttrOptions),
371
- _step2;
372
-
373
- try {
374
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
375
- var attr = _step2.value;
376
-
377
- var _iterator3 = _createForOfIteratorHelper(attr.children),
378
- _step3;
379
-
380
- try {
381
- var _loop = function _loop() {
382
- var data = _step3.value;
383
-
384
- if (data.value === defaultAttrValue) {
385
- setAttrs(function () {
386
- return _objectSpread({}, data);
387
- });
388
- return "break";
389
- }
390
- };
391
-
392
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
393
- var _ret = _loop();
394
-
395
- if (_ret === "break") break;
396
- }
397
- } catch (err) {
398
- _iterator3.e(err);
399
- } finally {
400
- _iterator3.f();
401
- }
402
- }
403
- } catch (err) {
404
- _iterator2.e(err);
405
- } finally {
406
- _iterator2.f();
407
- }
408
- }, [defaultAttrValue, primaryAttrOptions]); // 初始化搜索框
409
-
410
- useEffect(function () {
411
- setSearchValue(function () {
412
- return '';
413
- });
414
- }, [showDropdown]);
415
- useEffect(function () {
416
- if (!showDropdown) return;
417
- var searchOptions = [];
418
-
419
- var _iterator4 = _createForOfIteratorHelper(primaryAttrOptions),
420
- _step4;
421
-
422
- try {
423
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
424
- var attr = _step4.value;
425
-
426
- var _children = attr.children,
427
- res = _objectWithoutProperties(attr, _excluded);
428
-
429
- var child = _children.filter(function (item) {
430
- return item.name && item.name.indexOf(searchValue) > -1;
431
- });
432
-
433
- searchOptions.push(_objectSpread(_objectSpread({}, res), {}, {
434
- children: _toConsumableArray(child)
435
- }));
436
- }
437
- } catch (err) {
438
- _iterator4.e(err);
439
- } finally {
440
- _iterator4.f();
441
- }
442
-
443
- setAttrOptions(function () {
444
- return [].concat(searchOptions);
445
- });
446
- }, [searchValue, primaryAttrOptions, showDropdown]);
447
100
  return /*#__PURE__*/React.createElement("div", {
448
- className: "biz-select-cotainer biz-select-hover",
449
- ref: attrsRef
101
+ className: classPrefix
450
102
  }, /*#__PURE__*/React.createElement("div", {
451
- className: "biz-select-content",
452
- onClick: function onClick() {
453
- setShowDropdown(function (status) {
454
- return !status;
455
- });
456
- }
457
- }, /*#__PURE__*/React.createElement("div", {
458
- className: "biz-input ".concat(children && 'biz-bg-gray')
459
- }, attrs.name ? attrs.name : /*#__PURE__*/React.createElement("span", {
460
- className: "biz-placeholder"
461
- }, placeholder)), /*#__PURE__*/React.createElement(IconFont, {
462
- className: "biz-select-zhankai",
463
- type: 'icon-xiangxia'
464
- })), showDeleteIcon && /*#__PURE__*/React.createElement("div", {
465
- className: "biz-option-icon biz-option-icon-delete",
466
- onClick: onDelete
467
- }, /*#__PURE__*/React.createElement(Tooltip, {
468
- title: function title() {
469
- return '删除';
470
- },
471
- color: "#242541",
472
- key: 'delete'
473
- }, /*#__PURE__*/React.createElement(IconFont, {
474
- className: "biz-icon-delete",
475
- type: 'icon-qingchu'
476
- }))), /*#__PURE__*/React.createElement("br", null), children, showDropdown && (attrOptions.length === 0 ? /*#__PURE__*/React.createElement("div", {
477
- className: "biz-select-nodata"
478
- }, "\u6682\u65E0\u6570\u636E") : /*#__PURE__*/React.createElement("div", {
479
- className: "biz-dropdown-container"
480
- }, /*#__PURE__*/React.createElement(Input, {
481
- className: "biz-search-box",
482
- prefix: /*#__PURE__*/React.createElement(IconFont, {
483
- className: "biz-icon",
484
- type: 'icon-sousuo'
485
- }),
486
- value: searchValue,
487
- allowClear: {
488
- clearIcon: /*#__PURE__*/React.createElement(IconFont, {
489
- className: "biz-icon",
490
- type: 'icon-qingchu'
491
- })
103
+ className: "".concat(classPrefix, "-handle")
104
+ }, /*#__PURE__*/React.createElement(Dropdown, {
105
+ overlay: /*#__PURE__*/React.createElement(AttrListPanel, _objectSpread(_objectSpread({
106
+ id: id
107
+ }, props), {}, {
108
+ value: currentAttr,
109
+ onChange: onChange
110
+ })),
111
+ trigger: ['click'],
112
+ overlayStyle: {
113
+ minWidth: 0
492
114
  },
493
- placeholder: "\u641C\u7D22\u57CB\u70B9\u4E8B\u4EF6",
494
- onChange: function onChange(e) {
495
- setSearchValue(e.target.value);
496
- }
497
- }), /*#__PURE__*/React.createElement(Anchor, {
498
- className: "biz-archon biz-archon-first",
499
- affix: false,
500
- onClick: function onClick(e) {
501
- e.preventDefault();
502
- },
503
- getContainer: function getContainer() {
504
- return document.getElementById(listID) || window;
505
- }
506
- }, /*#__PURE__*/React.createElement(Link, {
507
- href: "#".concat(allID),
508
- title: '全部属性'
509
- }), anchorList.event && /*#__PURE__*/React.createElement(Link, {
510
- href: "#".concat(anchorList.event.attrId),
511
- title: anchorList.event.name
512
- }), anchorList.user && /*#__PURE__*/React.createElement(Link, {
513
- href: "#".concat(anchorList.user.attrId),
514
- title: anchorList.user.name
515
- }), anchorList.env && /*#__PURE__*/React.createElement(Link, {
516
- "data-type": 'event',
517
- href: "#".concat(anchorList.env.attrId),
518
- title: anchorList.env.name
519
- })), /*#__PURE__*/React.createElement("div", {
520
- id: listID,
521
- className: "biz-select-list-container"
115
+ visible: visible,
116
+ onVisibleChange: onVisibleChange
522
117
  }, /*#__PURE__*/React.createElement("div", {
523
- id: allID,
524
118
  style: {
525
- width: '100%',
526
- height: '5px'
119
+ width: '100%'
527
120
  }
528
- }), attrOptions.map(function (item) {
529
- var group = /*#__PURE__*/React.createElement("div", {
530
- key: item.attrId,
531
- id: item.attrId,
532
- className: "biz-drop-option biz-drop-menu"
533
- }, /*#__PURE__*/React.createElement("span", null, item.name), /*#__PURE__*/React.createElement("div", {
534
- className: "biz-menu-split"
535
- }));
536
- var childList = item.children.map(function (child) {
537
- var _item$name;
538
-
539
- return /*#__PURE__*/React.createElement("div", {
540
- key: child.attrId,
541
- className: "biz-drop-option biz-drop-index boxBg\n ".concat(child.value === attrs.value && 'box-active', "\n ").concat(child.value && attrs.value !== child.value && disabled.indexOf(child.value) > -1 && 'box-disabled'),
542
- onClick: function onClick(e) {
543
- e.stopPropagation();
544
-
545
- if (child.value && attrs.value !== child.value && disabled.indexOf(child.value) > -1) {
546
- return;
547
- }
548
-
549
- setAttrs(function () {
550
- return _objectSpread({}, child);
551
- });
552
- setShowDropdown(false);
553
-
554
- if (onChange) {
555
- var data = JSON.parse(JSON.stringify(child));
556
- delete data.attrId;
557
-
558
- if (responseType === 'id') {
559
- onChange(data.value || '', data, index);
560
- } else {
561
- onChange(data, data.value || '', index);
562
- }
563
- }
564
- }
565
- }, /*#__PURE__*/React.createElement(IconFont, {
566
- className: "biz-icon biz-icon-index",
567
- type: "".concat(item.name && item.name.indexOf('用户') > -1 ? 'icon-yonghushuxing' : item.name && ((_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name.indexOf('事件')) > -1 ? 'icon-shijianshuxing1' : 'icon-chufahuanjing')
568
- }), /*#__PURE__*/React.createElement("span", {
569
- dangerouslySetInnerHTML: {
570
- __html: util.setHighLight(child.name || '', searchValue)
571
- }
572
- }));
573
- });
574
- childList.unshift(group);
575
- return childList;
576
- })))));
121
+ }, /*#__PURE__*/React.createElement(SelectHandle, {
122
+ theme: "secondary",
123
+ border: false,
124
+ label: currentAttr === null || currentAttr === void 0 ? void 0 : currentAttr.label,
125
+ placeholder: placeholder
126
+ }))), enableDelete && /*#__PURE__*/React.createElement(Tooltip, {
127
+ title: function title() {
128
+ return '删除';
129
+ }
130
+ }, /*#__PURE__*/React.createElement(IconFont, {
131
+ className: "".concat(classPrefix, "-del-icon"),
132
+ type: 'icon-qingchu',
133
+ onClick: onDelete
134
+ }))));
577
135
  };
578
136
 
579
137
  export default BizAttributeSelector;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { AttributeSelect } from './types';
3
+ declare const AttrListPanel: React.FC<AttributeSelect.Props>;
4
+ export default AttrListPanel;