strategy-panel 1.0.0 → 1.0.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 (58) hide show
  1. package/.fatherrc.ts +26 -26
  2. package/.umirc.ts +29 -29
  3. package/README.md +33 -33
  4. package/es/assets/rhombus.svg +3 -3
  5. package/es/common/graph-common/node-element/common-element.less +117 -117
  6. package/es/common/graph-common/node-element/condition-element.d.ts +1 -0
  7. package/es/common/graph-common/node-element/condition-element.js +28 -3
  8. package/es/common/graph-common/node-element/condition-element.less +1 -2
  9. package/es/common/graph-common/node-element/logical-element.d.ts +1 -0
  10. package/es/common/graph-common/node-element/logical-element.js +28 -3
  11. package/es/common/graph-common/node-element/node-element.d.ts +1 -0
  12. package/es/common/graph-common/node-element/node-element.js +29 -4
  13. package/es/hooks/withMode.d.ts +1 -0
  14. package/es/hooks/withMode.js +16 -0
  15. package/es/pages/component-tree-panel/category-tree/index.less +36 -35
  16. package/es/pages/config-panel/components/condition-configuration/configure-modal/data-origin.js +26 -15
  17. package/es/pages/config-panel/components/condition-configuration/configure-modal/index.js +3 -6
  18. package/es/pages/config-panel/components/condition-configuration/cross-line.d.ts +1 -0
  19. package/es/pages/config-panel/components/condition-configuration/cross-line.js +3 -1
  20. package/es/pages/config-panel/components/condition-configuration/index.d.ts +1 -1
  21. package/es/pages/config-panel/components/condition-configuration/index.js +12 -9
  22. package/es/pages/config-panel/components/condition-configuration/style.less +74 -70
  23. package/es/pages/config-panel/components/time-trigger/components/cycle-time.d.ts +1 -0
  24. package/es/pages/config-panel/components/time-trigger/components/cycle-time.js +35 -20
  25. package/es/pages/config-panel/components/time-trigger/components/time-horizon.d.ts +1 -0
  26. package/es/pages/config-panel/components/time-trigger/components/time-horizon.js +12 -9
  27. package/es/pages/config-panel/components/time-trigger/delay-time.d.ts +1 -0
  28. package/es/pages/config-panel/components/time-trigger/delay-time.js +3 -1
  29. package/es/pages/config-panel/components/time-trigger/index.d.ts +1 -1
  30. package/es/pages/config-panel/components/time-trigger/index.js +15 -10
  31. package/es/pages/config-panel/components/time-trigger/interval-time.d.ts +1 -0
  32. package/es/pages/config-panel/components/time-trigger/interval-time.js +5 -2
  33. package/es/pages/config-panel/components/time-trigger/persistent-time.d.ts +1 -0
  34. package/es/pages/config-panel/components/time-trigger/persistent-time.js +3 -1
  35. package/es/pages/config-panel/components/time-trigger/timing-time.d.ts +1 -0
  36. package/es/pages/config-panel/components/time-trigger/timing-time.js +4 -1
  37. package/es/pages/config-panel/config-common.d.ts +1 -1
  38. package/es/pages/config-panel/config-common.js +9 -5
  39. package/es/pages/config-panel/index.d.ts +1 -0
  40. package/es/pages/config-panel/index.js +4 -1
  41. package/es/pages/config-panel/node-form.d.ts +1 -0
  42. package/es/pages/config-panel/node-form.js +13 -29
  43. package/es/pages/config-panel/style.less +23 -4
  44. package/es/pages/dag-canvas/canvas-content.d.ts +1 -0
  45. package/es/pages/dag-canvas/canvas-content.js +3 -1
  46. package/es/pages/dag-canvas/index.d.ts +5 -0
  47. package/es/pages/dag-canvas/index.js +3 -1
  48. package/es/pages/dag-canvas/preview.d.ts +1 -0
  49. package/es/pages/dag-canvas/preview.js +9 -1
  50. package/es/pages/index.d.ts +6 -1
  51. package/es/pages/index.js +6 -1
  52. package/es/pages/index.less +50 -50
  53. package/es/pages/rx-models/experiment-graph.d.ts +4 -4
  54. package/es/pages/rx-models/experiment-graph.js +116 -84
  55. package/es/pages/strategy-header/index.js +16 -3
  56. package/es/pages/strategy-header/style.less +22 -22
  57. package/es/typings.d.ts +14 -6
  58. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import '../../style.less';
3
- interface Props {
3
+ interface Props extends Types.PanelComponentProps {
4
4
  value?: any;
5
5
  onChange?: (value: any) => void;
6
6
  }
@@ -26,14 +26,14 @@ import "../../style.less";
26
26
  var TimeTrigger = function TimeTrigger(props) {
27
27
  var value = props.value,
28
28
  onChange = props.onChange;
29
+ var modeType = props.mode || 'platform';
30
+ var modeDisabled = modeType === 'view';
29
31
 
30
32
  var _useState = useState(true),
31
33
  _useState2 = _slicedToArray(_useState, 2),
32
34
  isFirst = _useState2[0],
33
35
  setIsFirst = _useState2[1];
34
36
 
35
- console.log('TimeTrigger', value);
36
-
37
37
  var handleModeChange = function handleModeChange(mode) {
38
38
  if (isFirst) setIsFirst(false);
39
39
  onChange === null || onChange === void 0 ? void 0 : onChange({
@@ -42,19 +42,23 @@ var TimeTrigger = function TimeTrigger(props) {
42
42
  };
43
43
 
44
44
  var modeComponent = {
45
- '1': /*#__PURE__*/React.createElement(DelayTime, {
45
+ delay: /*#__PURE__*/React.createElement(DelayTime, {
46
+ disabled: modeDisabled,
46
47
  value: value,
47
48
  onChange: onChange
48
49
  }),
49
- '2': /*#__PURE__*/React.createElement(PersistentTime, {
50
+ duration: /*#__PURE__*/React.createElement(PersistentTime, {
51
+ disabled: modeDisabled,
50
52
  value: value,
51
53
  onChange: onChange
52
54
  }),
53
- '3': /*#__PURE__*/React.createElement(IntervalTime, {
55
+ interval: /*#__PURE__*/React.createElement(IntervalTime, {
56
+ disabled: modeDisabled,
54
57
  value: value,
55
58
  onChange: onChange
56
59
  }),
57
- '4': /*#__PURE__*/React.createElement(TimingTime, {
60
+ timing: /*#__PURE__*/React.createElement(TimingTime, {
61
+ disabled: modeDisabled,
58
62
  value: value,
59
63
  onChange: onChange
60
64
  })
@@ -67,17 +71,18 @@ var TimeTrigger = function TimeTrigger(props) {
67
71
  className: "no-margin-bottom",
68
72
  validateStatus: (value === null || value === void 0 ? void 0 : value.mode) || isFirst ? 'success' : 'error'
69
73
  }, /*#__PURE__*/React.createElement(_Select, {
74
+ disabled: modeDisabled,
70
75
  allowClear: true,
71
76
  onChange: handleModeChange,
72
77
  value: value === null || value === void 0 ? void 0 : value.mode
73
78
  }, /*#__PURE__*/React.createElement(_Select.Option, {
74
- value: "1"
79
+ value: "delay"
75
80
  }, "\u5EF6\u8FDF"), /*#__PURE__*/React.createElement(_Select.Option, {
76
- value: "2"
81
+ value: "duration"
77
82
  }, "\u6301\u7EED"), /*#__PURE__*/React.createElement(_Select.Option, {
78
- value: "3"
83
+ value: "interval"
79
84
  }, "\u95F4\u9694"), /*#__PURE__*/React.createElement(_Select.Option, {
80
- value: "4"
85
+ value: "timing"
81
86
  }, "\u5B9A\u65F6")))), (value === null || value === void 0 ? void 0 : value.mode) && modeComponent[value.mode]);
82
87
  };
83
88
 
@@ -3,6 +3,7 @@ import '../../style.less';
3
3
  interface Props {
4
4
  value?: any;
5
5
  onChange?: (value: any) => void;
6
+ disabled: boolean;
6
7
  }
7
8
  declare const IntervalTime: React.FC<Props>;
8
9
  export default IntervalTime;
@@ -16,7 +16,8 @@ import "../../style.less";
16
16
 
17
17
  var IntervalTime = function IntervalTime(props) {
18
18
  var value = props.value,
19
- onChange = props.onChange;
19
+ onChange = props.onChange,
20
+ disabled = props.disabled;
20
21
 
21
22
  var intervalTimesChange = function intervalTimesChange(intervalTimes) {
22
23
  onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, value), {}, {
@@ -27,6 +28,7 @@ var IntervalTime = function IntervalTime(props) {
27
28
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
28
29
  className: classNames('border-bottom', 'inner-bottom-box')
29
30
  }, /*#__PURE__*/React.createElement(TimeHorizon, {
31
+ disabled: disabled,
30
32
  title: "\u95F4\u9694\u65F6\u95F4",
31
33
  value: value,
32
34
  onChange: onChange
@@ -43,7 +45,8 @@ var IntervalTime = function IntervalTime(props) {
43
45
  },
44
46
  addonAfter: "\u6B21",
45
47
  value: value === null || value === void 0 ? void 0 : value.intervalTimes,
46
- onChange: intervalTimesChange
48
+ onChange: intervalTimesChange,
49
+ disabled: disabled
47
50
  }))));
48
51
  };
49
52
 
@@ -3,6 +3,7 @@ import '../../style.less';
3
3
  interface Props {
4
4
  value?: any;
5
5
  onChange?: (value: any) => void;
6
+ disabled?: boolean;
6
7
  }
7
8
  declare const PersistentTime: React.FC<Props>;
8
9
  export default PersistentTime;
@@ -5,10 +5,12 @@ import "../../style.less";
5
5
 
6
6
  var PersistentTime = function PersistentTime(props) {
7
7
  var value = props.value,
8
- onChange = props.onChange;
8
+ onChange = props.onChange,
9
+ disabled = props.disabled;
9
10
  return /*#__PURE__*/React.createElement("div", {
10
11
  className: classNames('border-bottom', 'inner-bottom-box')
11
12
  }, /*#__PURE__*/React.createElement(TimeHorizon, {
13
+ disabled: disabled,
12
14
  title: "\u6301\u7EED\u65F6\u95F4",
13
15
  value: value,
14
16
  onChange: onChange
@@ -3,6 +3,7 @@ import '../../style.less';
3
3
  interface Props {
4
4
  value?: any;
5
5
  onChange?: (value: any) => void;
6
+ disabled?: boolean;
6
7
  }
7
8
  declare const TimingTime: React.FC<Props>;
8
9
  export default TimingTime;
@@ -16,7 +16,8 @@ import "../../style.less";
16
16
 
17
17
  var TimingTime = function TimingTime(props) {
18
18
  var value = props.value,
19
- onChange = props.onChange;
19
+ onChange = props.onChange,
20
+ disabled = props.disabled;
20
21
 
21
22
  var cycleChange = function cycleChange(cycle) {
22
23
  onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, value), {}, {
@@ -34,6 +35,7 @@ var TimingTime = function TimingTime(props) {
34
35
  className: "no-margin-bottom",
35
36
  validateStatus: (value === null || value === void 0 ? void 0 : value.cycle) ? 'success' : 'error'
36
37
  }, /*#__PURE__*/React.createElement(_Select, {
38
+ disabled: disabled,
37
39
  allowClear: true,
38
40
  value: value === null || value === void 0 ? void 0 : value.cycle,
39
41
  onChange: cycleChange
@@ -44,6 +46,7 @@ var TimingTime = function TimingTime(props) {
44
46
  }, "\u5468"), /*#__PURE__*/React.createElement(_Select.Option, {
45
47
  value: "month"
46
48
  }, "\u6708")))), (value === null || value === void 0 ? void 0 : value.cycle) && /*#__PURE__*/React.createElement(CycleTime, {
49
+ disabled: disabled,
47
50
  value: value,
48
51
  onChange: onChange
49
52
  }));
@@ -34,4 +34,4 @@ export declare const getComponentConfig: (experimentId: string) => {
34
34
  }[];
35
35
  })[];
36
36
  };
37
- export declare const getFormatComponent: (data: any) => JSX.Element | undefined;
37
+ export declare const getFormatComponent: (data: any, mode: Types.ModeType) => JSX.Element | undefined;
@@ -8,6 +8,7 @@ import _Select from "antd/es/select";
8
8
  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; }
9
9
 
10
10
  import React from 'react';
11
+ import { withMode } from "../../hooks/withMode";
11
12
  import { MOTION_OPERATION, // COMPONENTS_TYPE,
12
13
  // COMMONLY_USED,
13
14
  SCENE_DISPLAY, SIGN_OPERATION // MOTION_OPERATION,
@@ -69,7 +70,7 @@ export var getComponentConfig = function getComponentConfig(experimentId) {
69
70
  }]
70
71
  }]), _ref;
71
72
  };
72
- export var getFormatComponent = function getFormatComponent(data) {
73
+ export var getFormatComponent = function getFormatComponent(data, mode) {
73
74
  var type = data.type,
74
75
  name = data.name,
75
76
  label = data.label,
@@ -81,7 +82,10 @@ export var getFormatComponent = function getFormatComponent(data) {
81
82
  var rules = [{
82
83
  required: required,
83
84
  message: "\u8BF7\u8F93\u5165/\u9009\u62E9".concat(label)
84
- }];
85
+ }]; //
86
+
87
+ var withModeComponent = withMode(component, mode); // console.log('withMode(component, mode)', withModeComponent.type)
88
+ // console.log('component', component.type)
85
89
 
86
90
  switch (type) {
87
91
  case 'input':
@@ -94,7 +98,7 @@ export var getFormatComponent = function getFormatComponent(data) {
94
98
  rules: rules,
95
99
  className: "no-margin-bottom"
96
100
  }, /*#__PURE__*/React.createElement(_Input, {
97
- disabled: disabled
101
+ disabled: mode === 'view' ? true : disabled
98
102
  })));
99
103
  break;
100
104
 
@@ -108,7 +112,7 @@ export var getFormatComponent = function getFormatComponent(data) {
108
112
  rules: rules,
109
113
  className: "no-margin-bottom"
110
114
  }, /*#__PURE__*/React.createElement(_Select, {
111
- disabled: disabled
115
+ disabled: mode === 'view' ? true : disabled
112
116
  }, selectData === null || selectData === void 0 ? void 0 : selectData.map(function (item) {
113
117
  return /*#__PURE__*/React.createElement(Option, {
114
118
  key: item.value,
@@ -127,7 +131,7 @@ export var getFormatComponent = function getFormatComponent(data) {
127
131
  name: name,
128
132
  rules: rules,
129
133
  className: "no-margin-bottom"
130
- }, component));
134
+ }, withModeComponent));
131
135
  break;
132
136
  }
133
137
 
@@ -6,6 +6,7 @@ interface Props {
6
6
  className?: string;
7
7
  extraConfigData?: configDataItem;
8
8
  activeNodeId?: string;
9
+ mode?: Types.ModeType;
9
10
  }
10
11
  declare const ConfigPanel: React.FC<Props>;
11
12
  export default ConfigPanel;
@@ -21,7 +21,9 @@ var ConfigPanel = function ConfigPanel(props) {
21
21
  var experimentId = props.experimentId,
22
22
  className = props.className,
23
23
  activeNodeId = props.activeNodeId,
24
- extraConfigData = props.extraConfigData;
24
+ extraConfigData = props.extraConfigData,
25
+ _props$mode = props.mode,
26
+ mode = _props$mode === void 0 ? 'platform' : _props$mode;
25
27
  var expGraph = useExperimentGraph(experimentId);
26
28
 
27
29
  var _useObservableState = useObservableState(function () {
@@ -41,6 +43,7 @@ var ConfigPanel = function ConfigPanel(props) {
41
43
  }, /*#__PURE__*/React.createElement("div", {
42
44
  className: "form"
43
45
  }, nodeId && /*#__PURE__*/React.createElement(NodeForm, {
46
+ mode: mode,
44
47
  nodeId: nodeId,
45
48
  experimentId: experimentId,
46
49
  extraConfigData: extraConfigData
@@ -16,6 +16,7 @@ export interface Props {
16
16
  experimentId: string;
17
17
  nodeId: string;
18
18
  extraConfigData?: configDataItem;
19
+ mode: Types.ModeType;
19
20
  }
20
21
  declare const NodeForm: React.FC<Props>;
21
22
  export default NodeForm;
@@ -3,10 +3,6 @@ import _Input from "antd/es/input";
3
3
  import "antd/es/form/style";
4
4
  import _Form from "antd/es/form";
5
5
 
6
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
7
-
8
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
9
-
10
6
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
7
 
12
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."); }
@@ -32,7 +28,8 @@ var NodeForm = function NodeForm(_ref) {
32
28
  var nodeId = _ref.nodeId,
33
29
  experimentId = _ref.experimentId,
34
30
  _ref$extraConfigData = _ref.extraConfigData,
35
- extraConfigData = _ref$extraConfigData === void 0 ? {} : _ref$extraConfigData;
31
+ extraConfigData = _ref$extraConfigData === void 0 ? {} : _ref$extraConfigData,
32
+ mode = _ref.mode;
36
33
 
37
34
  var _Form$useForm = _Form.useForm(),
38
35
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
@@ -48,39 +45,24 @@ var NodeForm = function NodeForm(_ref) {
48
45
 
49
46
  var componentConfig = getComponentConfig(experimentId);
50
47
 
51
- var onValuesChange = /*#__PURE__*/function () {
52
- var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(value, allValues) {
53
- return regeneratorRuntime.wrap(function _callee$(_context) {
54
- while (1) {
55
- switch (_context.prev = _context.next) {
56
- case 0:
57
- console.log('onValuesChange', allValues);
58
- _context.next = 3;
59
- return expGraph.updateNodeData(nodeId, allValues);
60
-
61
- case 3:
62
- case "end":
63
- return _context.stop();
64
- }
65
- }
66
- }, _callee);
67
- }));
68
-
69
- return function onValuesChange(_x, _x2) {
70
- return _ref2.apply(this, arguments);
71
- };
72
- }();
48
+ var onValuesChange = function onValuesChange(value, allValues) {
49
+ console.log('onValuesChange', allValues);
50
+ expGraph.updateNodeData(nodeId, allValues);
51
+ };
73
52
 
74
53
  var nodeType = nodeId === null || nodeId === void 0 ? void 0 : (_nodeId$split = nodeId.split('-')) === null || _nodeId$split === void 0 ? void 0 : _nodeId$split[0];
75
54
  var allConfigData = Object.assign({}, componentConfig, extraConfigData);
76
55
  var configData = allConfigData === null || allConfigData === void 0 ? void 0 : allConfigData[nodeType];
77
56
  useEffect(function () {
78
57
  if (node === null || node === void 0 ? void 0 : node.nodeData) {
79
- form.setFieldsValue(node === null || node === void 0 ? void 0 : node.nodeData);
58
+ var nodeData = typeof node.nodeData === 'string' ? JSON.parse(node === null || node === void 0 ? void 0 : node.nodeData) : node.nodeData;
59
+ console.log('NodeForm useEffect', node.nodeData);
60
+ form.setFieldsValue(nodeData);
80
61
  }
81
62
  }, [node === null || node === void 0 ? void 0 : node.nodeData]);
82
63
  return /*#__PURE__*/React.createElement(_Form, {
83
64
  form: form,
65
+ className: "config-panel-form",
84
66
  layout: "vertical",
85
67
  onValuesChange: onValuesChange
86
68
  }, /*#__PURE__*/React.createElement("div", {
@@ -91,7 +73,9 @@ var NodeForm = function NodeForm(_ref) {
91
73
  }, /*#__PURE__*/React.createElement(_Input, {
92
74
  disabled: true,
93
75
  value: node === null || node === void 0 ? void 0 : node.name
94
- }))), configData === null || configData === void 0 ? void 0 : configData.map(getFormatComponent));
76
+ }))), configData === null || configData === void 0 ? void 0 : configData.map(function (item) {
77
+ return getFormatComponent(item, mode);
78
+ }));
95
79
  };
96
80
 
97
81
  export default NodeForm;
@@ -30,6 +30,12 @@
30
30
  margin-bottom: 0 !important;
31
31
  }
32
32
 
33
+ .config-panel-form{
34
+ & > .border-bottom:last-child{
35
+ margin-bottom: 50px;
36
+ }
37
+ }
38
+
33
39
  .border-bottom {
34
40
  margin-bottom: 6px;
35
41
  padding: 0 10px 12px;
@@ -47,16 +53,29 @@
47
53
  .ant-input,
48
54
  .ant-input-number,
49
55
  .ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number,
50
- .ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:hover,
56
+ .ant-input-number-status-error:not(.ant-input-number-disabled):not(.ant-input-number-borderless).ant-input-number:hover{
57
+ border-radius: 4px;
58
+ color: @black-color !important;
59
+ background: @f2-color !important;
60
+ }
51
61
  .ant-picker,
52
62
  .ant-picker:not([disabled]):hover,
53
- .ant-picker-status-error.ant-picker, .ant-picker-status-error.ant-picker:not([disabled]):hover,
54
- .ant-select:not(.ant-select-customize-input) .ant-select-selector,
55
- .ant-form-item-has-error .ant-input-number:not([disabled]):hover, .ant-form-item-has-error .ant-picker:not([disabled]):hover,
63
+ .ant-picker-status-error.ant-picker, .ant-picker-status-error.ant-picker:not([disabled]):hover{
64
+ border-radius: 4px;
65
+ color: @black-color !important;
66
+ background: @f2-color !important;
67
+ }
68
+ .ant-form-item-has-error .ant-input-number:not([disabled]):hover,
69
+ .ant-form-item-has-error .ant-picker:not([disabled]):hover,
56
70
  .ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{
57
71
  border-radius: 4px;
58
72
  color: @black-color !important;
59
73
  background: @f2-color !important;
60
74
  }
75
+ .ant-select:not(.ant-select-customize-input) .ant-select-selector{
76
+ border-radius: 4px;
77
+ color: @black-color !important;
78
+ background: @f2-color !important;
79
+ }
61
80
  }
62
81
 
@@ -4,6 +4,7 @@ import './canvas-content.less';
4
4
  interface Props {
5
5
  experimentId: string;
6
6
  className?: string;
7
+ viewData?: any;
7
8
  }
8
9
  export declare const CanvasContent: React.FC<Props>;
9
10
  export {};
@@ -22,7 +22,8 @@ import { useExperimentGraph } from "../rx-models/experiment-graph";
22
22
  import "./canvas-content.less";
23
23
  export var CanvasContent = function CanvasContent(props) {
24
24
  var experimentId = props.experimentId,
25
- className = props.className;
25
+ className = props.className,
26
+ viewData = props.viewData;
26
27
  var containerRef = useRef(null);
27
28
  var canvasRef = useRef(null);
28
29
  var expGraph = useExperimentGraph(experimentId); // 渲染画布
@@ -30,6 +31,7 @@ export var CanvasContent = function CanvasContent(props) {
30
31
  useEffect(function () {
31
32
  window.requestIdleCallback(function () {
32
33
  expGraph.renderGraph(containerRef.current, canvasRef.current);
34
+ if (viewData) expGraph.initPreviewData(viewData).then();
33
35
  });
34
36
  }, [expGraph]);
35
37
 
@@ -8,6 +8,11 @@ interface Props {
8
8
  */
9
9
  experimentId: string;
10
10
  className?: string;
11
+ /**
12
+ * @description viewData
13
+ * @description.zh-CN 策略初始化数据
14
+ */
15
+ viewData?: any;
11
16
  }
12
17
  declare const DAGCanvas: React.FC<Props>;
13
18
  export default DAGCanvas;
@@ -6,7 +6,8 @@ import "./index.less";
6
6
 
7
7
  var DAGCanvas = function DAGCanvas(props) {
8
8
  var experimentId = props.experimentId,
9
- className = props.className;
9
+ className = props.className,
10
+ viewData = props.viewData;
10
11
  var expGraph = useExperimentGraph(experimentId); // 处理画布卸载
11
12
 
12
13
  useUnmountExperimentGraph(experimentId); // 自定义算法组件的渲染控制
@@ -20,6 +21,7 @@ var DAGCanvas = function DAGCanvas(props) {
20
21
  return /*#__PURE__*/React.createElement("div", {
21
22
  className: classNames('dag-container', className)
22
23
  }, /*#__PURE__*/React.createElement(CanvasContent, {
24
+ viewData: viewData,
23
25
  experimentId: experimentId,
24
26
  className: "canvas-content"
25
27
  }));
@@ -4,6 +4,7 @@ import './canvas-content.less';
4
4
  interface Props {
5
5
  experimentId: string;
6
6
  className?: string;
7
+ viewData?: any;
7
8
  }
8
9
  declare const CanvasContent: React.FC<Props>;
9
10
  export default CanvasContent;
@@ -6,7 +6,8 @@ import "./canvas-content.less";
6
6
 
7
7
  var CanvasContent = function CanvasContent(props) {
8
8
  var experimentId = props.experimentId,
9
- className = props.className; // 处理画布卸载
9
+ className = props.className,
10
+ viewData = props.viewData; // 处理画布卸载
10
11
 
11
12
  useUnmountExperimentGraph(experimentId);
12
13
  var containerRef = useRef(null);
@@ -14,6 +15,7 @@ var CanvasContent = function CanvasContent(props) {
14
15
  var expGraph = useExperimentGraph(experimentId); // 渲染画布
15
16
 
16
17
  useEffect(function () {
18
+ window.renderForm = expGraph.setActiveAlgoData;
17
19
  window.requestIdleCallback(function () {
18
20
  var _expGraph$graph;
19
21
 
@@ -21,7 +23,13 @@ var CanvasContent = function CanvasContent(props) {
21
23
  interacting: false
22
24
  });
23
25
  expGraph === null || expGraph === void 0 ? void 0 : (_expGraph$graph = expGraph.graph) === null || _expGraph$graph === void 0 ? void 0 : _expGraph$graph.hideGrid();
26
+ expGraph.onClearSelectNodes();
27
+ console.log('initPreviewData', viewData);
28
+ expGraph.initPreviewData(viewData).then();
24
29
  });
30
+ return function () {
31
+ delete window.renderForm;
32
+ };
25
33
  }, [expGraph]);
26
34
  return /*#__PURE__*/React.createElement("div", {
27
35
  ref: containerRef,
@@ -31,7 +31,12 @@ interface Props extends Omit<HeaderProps, 'experimentId'> {
31
31
  * @description.zh-CN 组件展示模式: 搭建平台、展示
32
32
  * @default platform
33
33
  */
34
- mode?: 'platform' | 'view';
34
+ mode?: Types.ModeType;
35
+ /**
36
+ * @description viewData
37
+ * @description.zh-CN 预览模式数据源
38
+ */
39
+ viewData?: any;
35
40
  }
36
41
  declare const StrategyCanvas: React.FC<Props>;
37
42
  export default StrategyCanvas;
package/es/pages/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var _excluded = ["experimentId", "headerVisible", "panelData", "configData", "mode"];
1
+ var _excluded = ["experimentId", "headerVisible", "panelData", "configData", "mode", "viewData"];
2
2
 
3
3
  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; }
4
4
 
@@ -30,6 +30,7 @@ var StrategyCanvas = function StrategyCanvas(props) {
30
30
  configData = props.configData,
31
31
  _props$mode = props.mode,
32
32
  mode = _props$mode === void 0 ? 'platform' : _props$mode,
33
+ viewData = props.viewData,
33
34
  rest = _objectWithoutProperties(props, _excluded);
34
35
 
35
36
  return mode === 'view' ? /*#__PURE__*/React.createElement("div", {
@@ -41,9 +42,11 @@ var StrategyCanvas = function StrategyCanvas(props) {
41
42
  }, /*#__PURE__*/React.createElement("div", {
42
43
  className: "experiment-edit-panel"
43
44
  }, /*#__PURE__*/React.createElement(CanvasPreview, {
45
+ viewData: viewData,
44
46
  experimentId: "".concat(experimentId),
45
47
  className: "panel-dag-canvas"
46
48
  })), /*#__PURE__*/React.createElement(ConfigPanel, {
49
+ mode: mode,
47
50
  experimentId: "".concat(experimentId),
48
51
  extraConfigData: configData
49
52
  })))) : /*#__PURE__*/React.createElement("div", {
@@ -62,9 +65,11 @@ var StrategyCanvas = function StrategyCanvas(props) {
62
65
  }), /*#__PURE__*/React.createElement("div", {
63
66
  className: "experiment-edit-panel"
64
67
  }, /*#__PURE__*/React.createElement(DAGCanvas, {
68
+ viewData: viewData,
65
69
  experimentId: "".concat(experimentId),
66
70
  className: "panel-dag-canvas"
67
71
  })), /*#__PURE__*/React.createElement(ConfigPanel, {
72
+ mode: mode,
68
73
  experimentId: "".concat(experimentId),
69
74
  extraConfigData: configData
70
75
  })))));
@@ -1,50 +1,50 @@
1
- @import "../style/default";
2
- @black-color: #000;
3
-
4
- .flex {
5
- display: flex;
6
- width: 100%;
7
- height: 100%;
8
- overflow: hidden;
9
- }
10
-
11
- .strategy-panel-layout {
12
- width: 100%;
13
- height: 100%;
14
- overflow: hidden;
15
- user-select: none;
16
-
17
- .strategy-panel-content {
18
- display: flex;
19
- align-items: stretch;
20
- justify-content: space-between;
21
- height: 100%;
22
- margin-top: 1px;
23
- font-size: 12px;
24
- }
25
-
26
- .experiment {
27
- .flex();
28
-
29
- .experiment-node-source-tree {
30
- flex-basis: 290px;
31
- width: 290px;
32
- max-height: 100vh;
33
- border-right: 1px solid fade(@black-color, 0.08);
34
- }
35
-
36
- .experiment-edit-panel {
37
- display: flex;
38
- flex: 1;
39
- max-height: 100vh;
40
- overflow: hidden;
41
-
42
- .panel-dag-canvas {
43
- flex-grow: 1;
44
- //border-right: @border;
45
- }
46
- }
47
- }
48
- }
49
-
50
-
1
+ @import "../style/default";
2
+ @black-color: #000;
3
+
4
+ .flex {
5
+ display: flex;
6
+ width: 100%;
7
+ height: 100%;
8
+ overflow: hidden;
9
+ }
10
+
11
+ .strategy-panel-layout {
12
+ width: 100%;
13
+ height: 100%;
14
+ overflow: hidden;
15
+ user-select: none;
16
+
17
+ .strategy-panel-content {
18
+ display: flex;
19
+ align-items: stretch;
20
+ justify-content: space-between;
21
+ height: 100%;
22
+ margin-top: 1px;
23
+ font-size: 12px;
24
+ }
25
+
26
+ .experiment {
27
+ .flex();
28
+
29
+ .experiment-node-source-tree {
30
+ flex-basis: 290px;
31
+ width: 290px;
32
+ max-height: 100vh;
33
+ border-right: 1px solid fade(@black-color, 0.08);
34
+ }
35
+
36
+ .experiment-edit-panel {
37
+ display: flex;
38
+ flex: 1;
39
+ max-height: 100vh;
40
+ overflow: hidden;
41
+
42
+ .panel-dag-canvas {
43
+ flex-grow: 1;
44
+ //border-right: @border;
45
+ }
46
+ }
47
+ }
48
+ }
49
+
50
+