@zgfe/business-lib 1.0.0-beta.1

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