@zgfe/modules-event 1.0.7 → 1.0.29-zhongyuan-event.2

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 (50) hide show
  1. package/README.md +35 -35
  2. package/es/components/eventFilter/index.js +107 -53
  3. package/es/components/eventFilter/setCascade.d.ts +3 -0
  4. package/es/components/eventFilter/setCascade.js +286 -0
  5. package/es/components/eventFilter/styles/index.less +148 -36
  6. package/es/components/eventFilter/types.d.ts +1 -0
  7. package/es/components/renderContent/index.js +16 -27
  8. package/es/components/renderContent/styles/index.less +19 -19
  9. package/es/components/renderContent/types.d.ts +0 -1
  10. package/es/components/searchPanel/index.js +35 -17
  11. package/es/components/searchPanel/styles/index.less +22 -18
  12. package/es/components/searchPanel/types.d.ts +2 -2
  13. package/es/components/table/index.js +107 -36
  14. package/es/components/table/styles/index.css +236 -0
  15. package/es/components/table/styles/index.less +249 -193
  16. package/es/components/table/types.d.ts +0 -1
  17. package/es/components/topBar/index.d.ts +6 -1
  18. package/es/components/topBar/index.js +62 -45
  19. package/es/components/topBar/styles/index.less +58 -63
  20. package/es/components/topBar/types.d.ts +0 -1
  21. package/es/constants/apis.d.ts +3 -1
  22. package/es/constants/apis.js +4 -2
  23. package/es/constants/fields.d.ts +0 -14
  24. package/es/constants/fields.js +1 -45
  25. package/es/index.d.ts +2 -1
  26. package/es/index.js +2 -1
  27. package/es/modules/chart/demo/index.js +5 -5
  28. package/es/modules/chart/demo/panel.js +7 -2
  29. package/es/modules/chart/index.js +123 -48
  30. package/es/modules/chart/types.d.ts +3 -0
  31. package/es/modules/content/index.d.ts +1 -1
  32. package/es/modules/content/index.js +116 -75
  33. package/es/modules/content/styles/index.less +19 -7
  34. package/es/modules/content/utils.d.ts +3 -2
  35. package/es/modules/content/utils.js +63 -34
  36. package/es/modules/home/demo/create.js +8 -8
  37. package/es/modules/home/demo/edit.js +14 -15
  38. package/es/modules/home/demo/index.js +13 -10
  39. package/es/modules/home/demo/scene.js +8 -8
  40. package/es/modules/home/demo/styles/index.less +33 -33
  41. package/es/modules/home/index.js +59 -41
  42. package/es/modules/home/styles/index.less +49 -49
  43. package/es/modules/topPanel/index.js +51 -23
  44. package/es/modules/topPanel/styles/index.less +50 -49
  45. package/es/style/image/ring.svg +8 -8
  46. package/es/style/index.less +62 -62
  47. package/es/types.d.ts +8 -0
  48. package/es/utils/formData.d.ts +2 -1
  49. package/es/utils/formData.js +70 -21
  50. package/package.json +24 -20
package/README.md CHANGED
@@ -1,35 +1,35 @@
1
- # modules-event
2
-
3
- 事件分析
4
-
5
- ## Getting Started
6
-
7
- Install dependencies,
8
-
9
- ```bash
10
- $ npm i
11
- ```
12
-
13
- Start the dev server,
14
-
15
- ```bash
16
- $ npm start
17
- ```
18
-
19
- Build documentation,
20
-
21
- ```bash
22
- $ npm run docs:build
23
- ```
24
-
25
- Run test,
26
-
27
- ```bash
28
- $ npm test
29
- ```
30
-
31
- Build library via `father-build`,
32
-
33
- ```bash
34
- $ npm run build
35
- ```
1
+ # modules-event
2
+
3
+ 事件分析
4
+
5
+ ## Getting Started
6
+
7
+ Install dependencies,
8
+
9
+ ```bash
10
+ $ npm i
11
+ ```
12
+
13
+ Start the dev server,
14
+
15
+ ```bash
16
+ $ npm start
17
+ ```
18
+
19
+ Build documentation,
20
+
21
+ ```bash
22
+ $ npm run docs:build
23
+ ```
24
+
25
+ Run test,
26
+
27
+ ```bash
28
+ $ npm test
29
+ ```
30
+
31
+ Build library via `father-build`,
32
+
33
+ ```bash
34
+ $ npm run build
35
+ ```
@@ -1,22 +1,24 @@
1
- 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); }
2
- 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; }
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; }
4
- 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; }
5
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
- 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); }
7
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
8
8
  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."); }
9
- 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); }
10
- 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; }
11
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
12
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
10
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
13
13
  import { Tooltip } from 'antd';
14
14
  import React, { useEffect, useRef, useState, useContext } from 'react';
15
- import { BizEventSelector, BizAttributeSelector, IconFont, BizAttrConditionGroup, BizGlobalDataContext } from '@zgfe/business-lib';
15
+ import { BizEventSelector, BizAttributeSelector, IconFont, BizAttrConditionGroup, BizGlobalDataContext, ajax } from '@zgfe/business-lib';
16
16
  import { EventContext } from '../../types';
17
17
  import './styles/index.less';
18
18
  import { judgeIsCity, judgeIsArea } from '../../modules/content/utils';
19
19
  import _ from 'lodash';
20
+ import SetCascade from './setCascade';
21
+ import { Apis } from '../../constants';
20
22
  var classPrefix = 'eventfilter-box';
21
23
  var EventFilter = function EventFilter(props) {
22
24
  var _props$value, _props$value2;
@@ -25,12 +27,13 @@ var EventFilter = function EventFilter(props) {
25
27
  setEnableSelectChart = props.setEnableSelectChart,
26
28
  analysisType = props.analysisType;
27
29
  var _useContext = useContext(EventContext),
28
- selectEventData = _useContext.selectEventData,
29
30
  searchData = _useContext.searchData,
30
- setSearchData = _useContext.setSearchData;
31
+ setSearchData = _useContext.setSearchData,
32
+ currentApp = _useContext.currentApp;
31
33
  var _useContext2 = useContext(BizGlobalDataContext),
32
34
  _useContext2$eventIdM = _useContext2.eventIdMap,
33
- eventIdMap = _useContext2$eventIdM === void 0 ? {} : _useContext2$eventIdM;
35
+ eventIdMap = _useContext2$eventIdM === void 0 ? {} : _useContext2$eventIdM,
36
+ envs = _useContext2.envs;
34
37
  var _useState = useState(props.value && props.value.filters && props.value.filters.conditions ? props.value.filters.conditions.length : 0),
35
38
  _useState2 = _slicedToArray(_useState, 2),
36
39
  count = _useState2[0],
@@ -59,53 +62,80 @@ var EventFilter = function EventFilter(props) {
59
62
  event = _useState8[0],
60
63
  setEvent = _useState8[1];
61
64
  var _useState9 = useState(false),
62
- _useState10 = _slicedToArray(_useState9, 2),
63
- showDimension = _useState10[0],
64
- setShowDimension = _useState10[1];
65
+ _useState0 = _slicedToArray(_useState9, 2),
66
+ showDimension = _useState0[0],
67
+ setShowDimension = _useState0[1];
68
+ var _useState1 = useState(),
69
+ _useState10 = _slicedToArray(_useState1, 2),
70
+ filter = _useState10[0],
71
+ setFilter = _useState10[1];
65
72
  var _useState11 = useState(),
66
73
  _useState12 = _slicedToArray(_useState11, 2),
67
- filter = _useState12[0],
68
- setFilter = _useState12[1];
69
- var _useState13 = useState(),
70
- _useState14 = _slicedToArray(_useState13, 2),
71
- bizAttributeSelectorValue = _useState14[0],
72
- setBizAttributeSelectorValue = _useState14[1];
73
- var _useState15 = useState(_.isArray(props.value) ? props.value.map(function (id) {
74
+ bizAttributeSelectorValue = _useState12[0],
75
+ setBizAttributeSelectorValue = _useState12[1];
76
+ var _useState13 = useState(_.isArray(props.value) ? props.value.map(function (id) {
74
77
  return eventIdMap[id];
75
78
  }) : props.analysisType === 'eventProp' && ((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.id) ? [eventIdMap[(_props$value2 = props.value) === null || _props$value2 === void 0 ? void 0 : _props$value2.id]] : []),
79
+ _useState14 = _slicedToArray(_useState13, 2),
80
+ eventList = _useState14[0],
81
+ setEventList = _useState14[1];
82
+ var _useState15 = useState(true),
76
83
  _useState16 = _slicedToArray(_useState15, 2),
77
- eventList = _useState16[0],
78
- setEventList = _useState16[1];
84
+ isCascadeOpen = _useState16[0],
85
+ setIsCascadeOpen = _useState16[1];
86
+ var _useState17 = useState(false),
87
+ _useState18 = _slicedToArray(_useState17, 2),
88
+ isCascadeShow = _useState18[0],
89
+ setIsCascadeShow = _useState18[1];
90
+ var _useState19 = useState(),
91
+ _useState20 = _slicedToArray(_useState19, 2),
92
+ relationConfig = _useState20[0],
93
+ setRelationConfig = _useState20[1];
79
94
  useEffect(function () {
80
95
  var _data = props.value;
81
- if (selectEventData) {
82
- _data = selectEventData;
83
- setEvent({
84
- id: selectEventData.id,
85
- name: selectEventData.name
86
- });
87
- }
88
96
  if (_data) {
89
97
  if (_data && _data.id) {
90
98
  setShowDimension(true);
91
99
  }
92
- if (_data.filters) {
93
- setFilter(_data.filters);
94
- setCount(_data.filters.conditions.length);
100
+ if (_data === null || _data === void 0 ? void 0 : _data.filters) {
101
+ setFilter(_data === null || _data === void 0 ? void 0 : _data.filters);
102
+ setCount(_data === null || _data === void 0 ? void 0 : _data.filters.conditions.length);
95
103
  }
96
104
  if (_data.dimension) {
97
- var _attr = _data.dimension;
98
- setBizAttributeSelectorValue(_objectSpread(_objectSpread({}, _data.dimension), {}, {
99
- key: "".concat(_attr.propCategory, "-").concat(_attr.value)
100
- }));
105
+ setBizAttributeSelectorValue(function () {
106
+ return _objectSpread({}, _data.dimension);
107
+ });
101
108
  }
102
109
  }
103
- }, [selectEventData]);
110
+ ajax(Apis.getEventSwitch, {
111
+ method: 'post',
112
+ data: {
113
+ appId: currentApp === null || currentApp === void 0 ? void 0 : currentApp.appId
114
+ }
115
+ }).then(function (res) {
116
+ if (res === null || res === void 0 ? void 0 : res.data) {
117
+ setIsCascadeOpen(res === null || res === void 0 ? void 0 : res.data);
118
+ queryRelationConfig();
119
+ }
120
+ });
121
+ }, []);
122
+ var queryRelationConfig = function queryRelationConfig() {
123
+ ajax(Apis.queryRelationConfig, {
124
+ method: 'post',
125
+ data: {
126
+ appId: currentApp === null || currentApp === void 0 ? void 0 : currentApp.appId
127
+ }
128
+ }).then(function (res) {
129
+ if (res === null || res === void 0 ? void 0 : res.data) {
130
+ setRelationConfig(res === null || res === void 0 ? void 0 : res.data);
131
+ }
132
+ });
133
+ };
104
134
  var onAdd = function onAdd() {
105
135
  if ((event === null || event === void 0 ? void 0 : event.id) === -1) {
106
136
  return;
107
137
  }
108
- if (count >= 5) {
138
+ if (count >= 20) {
109
139
  return;
110
140
  }
111
141
  setIsAdd(true);
@@ -170,12 +200,14 @@ var EventFilter = function EventFilter(props) {
170
200
  setBizAttributeSelectorValue(undefined);
171
201
  } else {
172
202
  var _value = attr.propCategory === 'eventProp' ? attr.id : attr.name;
173
- setBizAttributeSelectorValue({
174
- propCategory: attr.propCategory,
175
- category: attr.category,
176
- value: _value,
177
- id: attr.id,
178
- key: "".concat(attr.propCategory, "-").concat(_value)
203
+ setBizAttributeSelectorValue(function () {
204
+ return _objectSpread(_objectSpread({}, attr), {}, {
205
+ propCategory: attr.propCategory,
206
+ category: attr.category,
207
+ value: _value,
208
+ id: attr.id,
209
+ encryptionType: attr.encryptionType
210
+ });
179
211
  });
180
212
  }
181
213
  };
@@ -223,7 +255,7 @@ var EventFilter = function EventFilter(props) {
223
255
  },
224
256
  onChange: onChangeEvent,
225
257
  placeholder: "\u8BF7\u9009\u62E9\u4E8B\u4EF6"
226
- }), showDimension && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(BizAttributeSelector, {
258
+ }), showDimension && (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(BizAttributeSelector, {
227
259
  enableEventProp: true,
228
260
  enableUserProp: analysisType === 'eventProp' ? false : true,
229
261
  enableEnvProp: true,
@@ -239,12 +271,24 @@ var EventFilter = function EventFilter(props) {
239
271
  placement: "top",
240
272
  title: '添加属性筛选'
241
273
  }, /*#__PURE__*/React.createElement(IconFont, {
242
- className: "".concat(count >= 5 || (event === null || event === void 0 ? void 0 : event.id) === -1 ? 'disable' : ''),
274
+ className: "".concat(count >= ((envs === null || envs === void 0 ? void 0 : envs.propertyNum) || 5) || (event === null || event === void 0 ? void 0 : event.id) === -1 ? 'disable' : ''),
243
275
  type: "shaixuan",
244
276
  onClick: function onClick() {
245
277
  return onAdd();
246
278
  }
247
- })))), (filter || isAdd) && /*#__PURE__*/React.createElement("div", {
279
+ })), isCascadeOpen ? (/*#__PURE__*/React.createElement(Tooltip, {
280
+ placement: "top",
281
+ title: '事件属性级联设置'
282
+ }, /*#__PURE__*/React.createElement(IconFont, {
283
+ style: {
284
+ marginLeft: 16
285
+ },
286
+ className: "".concat((event === null || event === void 0 ? void 0 : event.id) === -1 ? 'disable' : ''),
287
+ type: "guanli",
288
+ onClick: function onClick() {
289
+ setIsCascadeShow(true);
290
+ }
291
+ }))) : null))), event && eventIdMap && eventIdMap[event.id] && (filter || isAdd) && (/*#__PURE__*/React.createElement("div", {
248
292
  className: "".concat(count > 0 ? 'attr-box-show' : '', " top")
249
293
  }, /*#__PURE__*/React.createElement(BizAttrConditionGroup, {
250
294
  ref: conditionRef,
@@ -255,7 +299,17 @@ var EventFilter = function EventFilter(props) {
255
299
  enableUserProp: analysisType === 'eventProp' ? false : true,
256
300
  eventIdList: event ? [event.id] : [],
257
301
  onChange: onChangeFilters,
258
- onConditionsCount: setCount
302
+ onConditionsCount: setCount,
303
+ relationConfig: relationConfig
304
+ }))), isCascadeOpen && isCascadeShow && (/*#__PURE__*/React.createElement(SetCascade, {
305
+ relationConfig: relationConfig,
306
+ onCancel: function onCancel() {
307
+ setIsCascadeShow(false);
308
+ },
309
+ submit: function submit() {
310
+ queryRelationConfig();
311
+ setIsCascadeShow(false);
312
+ }
259
313
  })));
260
314
  };
261
315
  export default EventFilter;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const SelectAttributes: React.FC<any>;
3
+ export default SelectAttributes;
@@ -0,0 +1,286 @@
1
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
2
+ 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."); }
3
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
4
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
5
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
6
+ 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."); }
7
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
8
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
10
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
11
+ import { IconFont, ajax, BizDialog, BizEventSelector, BizAttributeSelector, BizGlobalDataContext } from '@zgfe/business-lib';
12
+ import { message, Button, Empty } from 'antd';
13
+ import { useContext, useEffect, useRef } from 'react';
14
+ import React, { useState } from 'react';
15
+ import _ from 'lodash';
16
+ import { Apis } from '../../constants';
17
+ var SelectAttributes = function SelectAttributes(props) {
18
+ var classPrefix = 'set-cascade';
19
+ var _useState = useState([{}]),
20
+ _useState2 = _slicedToArray(_useState, 2),
21
+ eventAttrList = _useState2[0],
22
+ setEventAttrList = _useState2[1];
23
+ var _useContext = useContext(BizGlobalDataContext),
24
+ currentApp = _useContext.currentApp;
25
+ var _useState3 = useState([]),
26
+ _useState4 = _slicedToArray(_useState3, 2),
27
+ deleteIds = _useState4[0],
28
+ setDeleteIds = _useState4[1];
29
+ var scrollContainerRef = useRef();
30
+ var scrollToBottom = function scrollToBottom() {
31
+ var _scrollContainerRef$c = scrollContainerRef.current,
32
+ scrollHeight = _scrollContainerRef$c.scrollHeight,
33
+ clientHeight = _scrollContainerRef$c.clientHeight;
34
+ scrollContainerRef.current.scrollTo({
35
+ top: scrollHeight - clientHeight,
36
+ behavior: 'smooth'
37
+ });
38
+ };
39
+ useEffect(function () {
40
+ if (props.relationConfig && props.relationConfig.length) {
41
+ setEventAttrList(props.relationConfig.map(function (item) {
42
+ return {
43
+ id: item.id,
44
+ event: {
45
+ id: item.eventId,
46
+ name: item.eventName
47
+ },
48
+ attrSup: {
49
+ id: item.eventAttrIdSup,
50
+ label: item.eventAttrNameSup,
51
+ propCategory: 'eventProp'
52
+ },
53
+ attrSub: {
54
+ id: item.eventAttrIdSub,
55
+ label: item.eventAttrNameSub,
56
+ propCategory: 'eventProp'
57
+ }
58
+ };
59
+ }));
60
+ }
61
+ }, []);
62
+ var changeItemInfo = function changeItemInfo(i, key, v) {
63
+ var dealData = _.clone(eventAttrList);
64
+ dealData[i]['isEdit'] = true;
65
+ dealData[i][key] = v;
66
+ if (key == 'event') {
67
+ dealData[i]['attrSup'] = void 0;
68
+ dealData[i]['attrSub'] = void 0;
69
+ }
70
+ setEventAttrList(dealData);
71
+ if (key === 'attrSup' && dealData[i]['attrSub'] && v && v.id === dealData[i]['attrSub'].id || key === 'attrSub' && dealData[i]['attrSup'] && v && v.id === dealData[i]['attrSup'].id) {
72
+ message.warn('事件属性不可相同');
73
+ setTimeout(function () {
74
+ return changeItemInfo(i, key, undefined);
75
+ }, 200);
76
+ return;
77
+ }
78
+ };
79
+ var dealEventAttr = function dealEventAttr(index) {
80
+ var dealData = _.clone(eventAttrList);
81
+ if (dealData[index].id) {
82
+ setDeleteIds([].concat(_toConsumableArray(deleteIds), [dealData[index].id]));
83
+ }
84
+ dealData.splice(index, 1);
85
+ setEventAttrList(dealData);
86
+ };
87
+ var submit = function submit() {
88
+ if (eventAttrList.filter(function (item) {
89
+ return !item.event || !item.event.id;
90
+ }).length) {
91
+ message.warn('设置事件不可为空');
92
+ return;
93
+ }
94
+ if (eventAttrList.filter(function (item) {
95
+ return !item.attrSup || !item.attrSup.id || !item.attrSub || !item.attrSub.id;
96
+ }).length) {
97
+ message.warn('事件属性不可为空');
98
+ return;
99
+ }
100
+ var addEventRelation = eventAttrList.filter(function (item) {
101
+ return !item.id;
102
+ }).map(function (item) {
103
+ return {
104
+ eventId: item.event.id,
105
+ eventName: item.event.name,
106
+ eventAttrIdSup: item.attrSup.id,
107
+ eventAttrNameSup: item.attrSup.label,
108
+ eventAttrIdSub: item.attrSub.id,
109
+ eventAttrNameSub: item.attrSub.label
110
+ };
111
+ });
112
+ var updateEventRelation = eventAttrList.filter(function (item) {
113
+ return item.id && item.isEdit;
114
+ }).map(function (item) {
115
+ return {
116
+ id: item.id,
117
+ eventId: item.event.id,
118
+ eventName: item.event.name,
119
+ eventAttrIdSup: item.attrSup.id,
120
+ eventAttrNameSup: item.attrSup.label,
121
+ eventAttrIdSub: item.attrSub.id,
122
+ eventAttrNameSub: item.attrSub.label
123
+ };
124
+ });
125
+ if ([].concat(_toConsumableArray(addEventRelation), _toConsumableArray(updateEventRelation), _toConsumableArray(deleteIds)).length) {
126
+ ajax(Apis.relationSaveConfig, {
127
+ method: 'post',
128
+ data: {
129
+ appId: currentApp === null || currentApp === void 0 ? void 0 : currentApp.appId,
130
+ addEventRelation: addEventRelation,
131
+ updateEventRelation: updateEventRelation,
132
+ deleteIds: deleteIds
133
+ }
134
+ }).then(function (res) {
135
+ if ((res === null || res === void 0 ? void 0 : res.code) == '100000') {
136
+ props.submit && props.submit();
137
+ message.success('保存成功');
138
+ }
139
+ });
140
+ } else {
141
+ props.onCancel && props.onCancel();
142
+ message.success('保存成功');
143
+ }
144
+ };
145
+ return /*#__PURE__*/React.createElement(BizDialog, {
146
+ wrapClassName: "".concat(classPrefix, "-modal-box"),
147
+ width: 520,
148
+ open: true,
149
+ title: "\u4E8B\u4EF6\u5C5E\u6027\u7EA7\u8054\u8BBE\u7F6E",
150
+ closable: true,
151
+ onCancel: props.onCancel,
152
+ footer: null
153
+ }, /*#__PURE__*/React.createElement("div", {
154
+ className: "".concat(classPrefix, "-modal-box-tips")
155
+ }, "\u7EA7\u8054\u5173\u7CFB\u8BBE\u7F6E\u540E\uFF0CT+1\u65E5\u5B8C\u6210\u66F4\u65B0\uFF0C\u8BF7\u4E8E\u6B21\u65E5\u524D\u6765\u67E5\u8BE2"), /*#__PURE__*/React.createElement("div", {
156
+ className: "".concat(classPrefix, "-modal-box-set"),
157
+ ref: scrollContainerRef
158
+ }, !eventAttrList.length && (/*#__PURE__*/React.createElement("div", {
159
+ className: "".concat(classPrefix, "-modal-box-set-empty")
160
+ }, /*#__PURE__*/React.createElement(Empty, {
161
+ image: Empty.PRESENTED_IMAGE_SIMPLE,
162
+ description: "\u6682\u65E0\u6570\u636E"
163
+ }))), eventAttrList.map(function (item, index) {
164
+ var _item$event, _item$event2;
165
+ return /*#__PURE__*/React.createElement("div", {
166
+ key: index,
167
+ className: "".concat(classPrefix, "-modal-box-set-item")
168
+ }, /*#__PURE__*/React.createElement("div", {
169
+ className: "".concat(classPrefix, "-modal-box-set-item-info")
170
+ }, /*#__PURE__*/React.createElement("div", {
171
+ className: "".concat(classPrefix, "-modal-box-set-item-info-item")
172
+ }, /*#__PURE__*/React.createElement("div", {
173
+ style: {
174
+ marginRight: 12
175
+ }
176
+ }, "\u8BBE\u7F6E\u4E8B\u4EF6"), /*#__PURE__*/React.createElement(BizEventSelector, {
177
+ showAllEvent: false,
178
+ showBuiltInTarget: false,
179
+ popupContainer: false,
180
+ defaultSelectAble: false,
181
+ value: {
182
+ event: item.event
183
+ },
184
+ onChange: function onChange(e) {
185
+ changeItemInfo(index, 'event', e.event);
186
+ },
187
+ placeholder: "\u8BF7\u9009\u62E9\u4E8B\u4EF6"
188
+ })), /*#__PURE__*/React.createElement("div", {
189
+ style: {
190
+ paddingLeft: 8
191
+ }
192
+ }, /*#__PURE__*/React.createElement("div", {
193
+ className: "".concat(classPrefix, "-modal-box-set-item-info-item"),
194
+ style: {
195
+ marginBottom: 16
196
+ }
197
+ }, /*#__PURE__*/React.createElement("div", {
198
+ className: "".concat(classPrefix, "-modal-box-set-item-info-item-shu")
199
+ }), /*#__PURE__*/React.createElement("div", {
200
+ className: "".concat(classPrefix, "-modal-box-set-item-info-item-heng")
201
+ }), /*#__PURE__*/React.createElement("div", {
202
+ style: {
203
+ marginRight: 12
204
+ }
205
+ }, "\u4E0A\u7EA7\u4E8B\u4EF6\u5C5E\u6027"), /*#__PURE__*/React.createElement(BizAttributeSelector, {
206
+ isString: true,
207
+ isHideYeWu: true,
208
+ enableEventProp: true,
209
+ enableUserProp: false,
210
+ enableEnvProp: false,
211
+ eventIdList: [item === null || item === void 0 ? void 0 : (_item$event = item.event) === null || _item$event === void 0 ? void 0 : _item$event.id],
212
+ value: item.attrSup,
213
+ enableDelete: true,
214
+ onChange: function onChange(e) {
215
+ changeItemInfo(index, 'attrSup', e);
216
+ },
217
+ onDelete: function onDelete() {
218
+ changeItemInfo(index, 'attrSup', undefined);
219
+ },
220
+ placeholder: "\u8BF7\u9009\u62E9\u7EC6\u5206\u5C5E\u6027"
221
+ })), /*#__PURE__*/React.createElement("div", {
222
+ className: "".concat(classPrefix, "-modal-box-set-item-info-item")
223
+ }, /*#__PURE__*/React.createElement("div", {
224
+ className: "".concat(classPrefix, "-modal-box-set-item-info-item-shu"),
225
+ style: {
226
+ marginTop: -32
227
+ }
228
+ }), /*#__PURE__*/React.createElement("div", {
229
+ className: "".concat(classPrefix, "-modal-box-set-item-info-item-heng")
230
+ }), /*#__PURE__*/React.createElement("div", {
231
+ style: {
232
+ marginRight: 12
233
+ }
234
+ }, "\u4E0B\u7EA7\u4E8B\u4EF6\u5C5E\u6027"), /*#__PURE__*/React.createElement(BizAttributeSelector, {
235
+ isString: true,
236
+ isHideYeWu: true,
237
+ enableEventProp: true,
238
+ enableUserProp: false,
239
+ enableEnvProp: false,
240
+ eventIdList: [item === null || item === void 0 ? void 0 : (_item$event2 = item.event) === null || _item$event2 === void 0 ? void 0 : _item$event2.id],
241
+ value: item.attrSub,
242
+ enableDelete: true,
243
+ onChange: function onChange(e) {
244
+ changeItemInfo(index, 'attrSub', e);
245
+ },
246
+ onDelete: function onDelete() {
247
+ changeItemInfo(index, 'attrSub', undefined);
248
+ },
249
+ placeholder: "\u8BF7\u9009\u62E9\u7EC6\u5206\u5C5E\u6027"
250
+ })))), /*#__PURE__*/React.createElement("div", {
251
+ className: "".concat(classPrefix, "-modal-box-set-item-info-item")
252
+ }, /*#__PURE__*/React.createElement(IconFont, {
253
+ size: 16,
254
+ type: "qingchu",
255
+ onClick: function onClick() {
256
+ dealEventAttr(index);
257
+ }
258
+ })));
259
+ })), /*#__PURE__*/React.createElement("div", {
260
+ className: "".concat(classPrefix, "-modal-box-footer")
261
+ }, /*#__PURE__*/React.createElement(Button, {
262
+ disabled: eventAttrList.length > 4,
263
+ shape: "round",
264
+ className: "button addEvent ".concat(eventAttrList.length > 4 ? 'disabled' : ''),
265
+ onClick: function onClick() {
266
+ setEventAttrList([].concat(_toConsumableArray(eventAttrList), [{}]));
267
+ setTimeout(function () {
268
+ return scrollToBottom();
269
+ });
270
+ }
271
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(IconFont, {
272
+ type: "tianjia3",
273
+ style: {
274
+ marginRight: 8
275
+ }
276
+ }), "\u6DFB\u52A0\u7EA7\u8054\u5173\u7CFB")), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
277
+ onClick: props.onCancel,
278
+ style: {
279
+ marginRight: 16
280
+ }
281
+ }, "\u53D6\u6D88"), /*#__PURE__*/React.createElement(Button, {
282
+ type: 'primary',
283
+ onClick: submit
284
+ }, "\u4FDD\u5B58"))));
285
+ };
286
+ export default SelectAttributes;