@luck-design-biz/luckda 0.0.25-8 → 0.0.25-9

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 (225) hide show
  1. package/es/components/ComplexItem/index.js +92 -0
  2. package/es/components/ComplexItem/service.js +21 -0
  3. package/es/components/LdAutoForm/index.js +11 -6
  4. package/es/components/LdFormList/index.js +2 -1
  5. package/es/components/LdGrid/index.js +8 -1
  6. package/es/components/LdGridForm/index.js +16 -7
  7. package/es/helper/FromItems.js +177 -94
  8. package/es/helper/form.js +41 -7
  9. package/es/helper/props_config.js +17 -0
  10. package/es/locales/zh-CN.js +3 -3
  11. package/es/lowcode/constants/api-url.js +110 -32
  12. package/es/lowcode/constants/index.js +2 -1
  13. package/es/lowcode/engine/meta/cardlist.props.json +13 -3
  14. package/es/lowcode/engine/meta/components-list.json +102 -0
  15. package/es/lowcode/engine/meta/dialog.props.default.json +1 -0
  16. package/es/lowcode/engine/meta/dialog.props.json +7 -0
  17. package/es/lowcode/engine/meta/fieldcolor.props.default.json +14 -0
  18. package/es/lowcode/engine/meta/fieldcolor.props.json +63 -0
  19. package/es/lowcode/engine/meta/fieldcomplex.props.default.json +13 -0
  20. package/es/lowcode/engine/meta/fieldcomplex.props.json +39 -0
  21. package/es/lowcode/engine/meta/fielddate.props.default.json +12 -0
  22. package/es/lowcode/engine/meta/fielddate.props.json +47 -0
  23. package/es/lowcode/engine/meta/fielddict.props.default.json +14 -0
  24. package/es/lowcode/engine/meta/fielddict.props.json +44 -0
  25. package/es/lowcode/engine/meta/fieldeditor.props.default.json +13 -0
  26. package/es/lowcode/engine/meta/fieldeditor.props.json +44 -0
  27. package/es/lowcode/engine/meta/fieldgroup.props.default.json +15 -0
  28. package/es/lowcode/engine/meta/fieldgroup.props.json +73 -0
  29. package/es/lowcode/engine/meta/fieldnumber.props.default.json +14 -0
  30. package/es/lowcode/engine/meta/fieldnumber.props.json +48 -0
  31. package/es/lowcode/engine/meta/fieldradio.props.default.json +12 -0
  32. package/es/lowcode/engine/meta/fieldradio.props.json +20 -0
  33. package/es/lowcode/engine/meta/fieldregion.props.default.json +12 -0
  34. package/es/lowcode/engine/meta/fieldregion.props.json +26 -0
  35. package/es/lowcode/engine/meta/fieldselect.props.default.json +14 -0
  36. package/es/lowcode/engine/meta/fieldselect.props.json +58 -0
  37. package/es/lowcode/engine/meta/fieldstring.props.default.json +16 -0
  38. package/es/lowcode/engine/meta/fieldstring.props.json +62 -0
  39. package/es/lowcode/engine/meta/fieldswitch.props.default.json +12 -0
  40. package/es/lowcode/engine/meta/fieldswitch.props.json +31 -0
  41. package/es/lowcode/engine/meta/fieldtextarea.props.default.json +13 -0
  42. package/es/lowcode/engine/meta/fieldtextarea.props.json +49 -0
  43. package/es/lowcode/engine/meta/fieldupload.props.default.json +15 -0
  44. package/es/lowcode/engine/meta/fieldupload.props.json +71 -0
  45. package/es/lowcode/engine/meta/fielduser.props.default.json +16 -0
  46. package/es/lowcode/engine/meta/fielduser.props.json +82 -0
  47. package/es/lowcode/engine/meta/fieldyear.props.default.json +12 -0
  48. package/es/lowcode/engine/meta/fieldyear.props.json +20 -0
  49. package/es/lowcode/engine/meta/form.props.json +3 -3
  50. package/es/lowcode/engine/meta/imex.props.default.json +1 -1
  51. package/es/lowcode/engine/meta/imex.props.json +1 -1
  52. package/es/lowcode/engine/meta/table.props.json +3 -3
  53. package/es/lowcode/engine/meta/tree.props.json +9 -2
  54. package/es/lowcode/engine/provider/ContextProvider/index.js +1 -0
  55. package/es/lowcode/engine/provider/RemoteSourceProvider.js +12 -18
  56. package/es/lowcode/engine/tools/helper.js +24 -2
  57. package/es/lowcode/painter/Design.js +4 -4
  58. package/es/lowcode/painter/DesignOperator.js +103 -66
  59. package/es/lowcode/painter/DesignToolbar.js +13 -15
  60. package/es/lowcode/painter/Outline.js +10 -6
  61. package/es/lowcode/painter/Panel.js +57 -19
  62. package/es/lowcode/painter/components/ActionBindModal.js +13 -8
  63. package/es/lowcode/painter/components/AdvancePanel.js +32 -21
  64. package/es/lowcode/painter/components/AttrsPanel.js +5 -3
  65. package/es/lowcode/painter/components/FieldSelector.js +26 -13
  66. package/es/lowcode/painter/components/code-editor/JSEditor.js +5 -9
  67. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +4 -7
  68. package/es/lowcode/painter/panel-section/DataSetSelector.js +29 -9
  69. package/es/lowcode/painter/panel-section/FieldsSetting.js +24 -21
  70. package/es/lowcode/painter/panel-section/ImpExp.js +19 -21
  71. package/es/lowcode/painter/panel-section/ImpExpAlone.js +6 -7
  72. package/es/lowcode/painter/panel-section/TableTopFilter.js +23 -13
  73. package/es/lowcode/view/Page.js +4 -4
  74. package/es/lowcode/view/lc-components/CardList/meta.json +13 -3
  75. package/es/lowcode/view/lc-components/Dialog/index.js +3 -1
  76. package/es/lowcode/view/lc-components/Dialog/meta.json +7 -0
  77. package/es/lowcode/view/lc-components/FieldColor/meta.json +63 -0
  78. package/es/lowcode/view/lc-components/FieldComplex/meta.json +39 -0
  79. package/es/lowcode/view/lc-components/FieldDate/meta.json +45 -0
  80. package/es/lowcode/view/lc-components/FieldDict/meta.json +44 -0
  81. package/es/lowcode/view/lc-components/FieldEditor/meta.json +44 -0
  82. package/es/lowcode/view/lc-components/FieldGroup/meta.json +73 -0
  83. package/es/lowcode/view/lc-components/FieldNumber/meta.json +48 -0
  84. package/es/lowcode/view/lc-components/FieldRadio/meta.json +20 -0
  85. package/es/lowcode/view/lc-components/FieldRegion/meta.json +26 -0
  86. package/es/lowcode/view/lc-components/FieldSelect/meta.json +58 -0
  87. package/es/lowcode/view/lc-components/FieldString/meta.json +62 -0
  88. package/es/lowcode/view/lc-components/FieldSwitch/meta.json +31 -0
  89. package/es/lowcode/view/lc-components/FieldTextarea/meta.json +49 -0
  90. package/es/lowcode/view/lc-components/FieldUpload/meta.json +71 -0
  91. package/es/lowcode/view/lc-components/FieldUser/meta.json +82 -0
  92. package/es/lowcode/view/lc-components/FieldYear/meta.json +20 -0
  93. package/es/lowcode/view/lc-components/Form/index.js +90 -18
  94. package/es/lowcode/view/lc-components/Form/meta.json +3 -3
  95. package/es/lowcode/view/lc-components/ImEx/index.js +297 -88
  96. package/es/lowcode/view/lc-components/ImEx/meta.json +1 -1
  97. package/es/lowcode/view/lc-components/Table/components/TopFilter.js +78 -57
  98. package/es/lowcode/view/lc-components/Table/components/TopImex.js +345 -63
  99. package/es/lowcode/view/lc-components/Table/index.js +179 -18
  100. package/es/lowcode/view/lc-components/Table/meta.json +3 -3
  101. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +1 -1
  102. package/es/lowcode/view/lc-components/Tabs/index.js +1 -1
  103. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +0 -2
  104. package/es/lowcode/view/lc-components/Tree/index.js +38 -13
  105. package/es/lowcode/view/lc-components/Tree/meta.json +9 -2
  106. package/es/upload/FilesWall/index.js +13 -13
  107. package/es/upload/FilesWall/index.less +74 -74
  108. package/es/upload/Form/gridForm.js +3 -2
  109. package/es/upload/FormItem/index.js +3 -2
  110. package/es/utils/form.js +16 -3
  111. package/es/utils/grid.js +8 -5
  112. package/lib/components/ComplexItem/index.js +100 -0
  113. package/lib/components/ComplexItem/service.js +28 -0
  114. package/lib/components/LdAutoForm/index.js +10 -5
  115. package/lib/components/LdFormList/index.js +2 -1
  116. package/lib/components/LdGrid/index.js +8 -1
  117. package/lib/components/LdGridForm/index.js +15 -6
  118. package/lib/helper/FromItems.js +175 -92
  119. package/lib/helper/form.js +39 -6
  120. package/lib/helper/props_config.js +23 -0
  121. package/lib/locales/zh-CN.js +3 -3
  122. package/lib/lowcode/constants/api-url.js +110 -33
  123. package/lib/lowcode/constants/index.js +3 -2
  124. package/lib/lowcode/engine/meta/cardlist.props.json +13 -3
  125. package/lib/lowcode/engine/meta/components-list.json +102 -0
  126. package/lib/lowcode/engine/meta/dialog.props.default.json +1 -0
  127. package/lib/lowcode/engine/meta/dialog.props.json +7 -0
  128. package/lib/lowcode/engine/meta/fieldcolor.props.default.json +14 -0
  129. package/lib/lowcode/engine/meta/fieldcolor.props.json +63 -0
  130. package/lib/lowcode/engine/meta/fieldcomplex.props.default.json +13 -0
  131. package/lib/lowcode/engine/meta/fieldcomplex.props.json +39 -0
  132. package/lib/lowcode/engine/meta/fielddate.props.default.json +12 -0
  133. package/lib/lowcode/engine/meta/fielddate.props.json +47 -0
  134. package/lib/lowcode/engine/meta/fielddict.props.default.json +14 -0
  135. package/lib/lowcode/engine/meta/fielddict.props.json +44 -0
  136. package/lib/lowcode/engine/meta/fieldeditor.props.default.json +13 -0
  137. package/lib/lowcode/engine/meta/fieldeditor.props.json +44 -0
  138. package/lib/lowcode/engine/meta/fieldgroup.props.default.json +15 -0
  139. package/lib/lowcode/engine/meta/fieldgroup.props.json +73 -0
  140. package/lib/lowcode/engine/meta/fieldnumber.props.default.json +14 -0
  141. package/lib/lowcode/engine/meta/fieldnumber.props.json +48 -0
  142. package/lib/lowcode/engine/meta/fieldradio.props.default.json +12 -0
  143. package/lib/lowcode/engine/meta/fieldradio.props.json +20 -0
  144. package/lib/lowcode/engine/meta/fieldregion.props.default.json +12 -0
  145. package/lib/lowcode/engine/meta/fieldregion.props.json +26 -0
  146. package/lib/lowcode/engine/meta/fieldselect.props.default.json +14 -0
  147. package/lib/lowcode/engine/meta/fieldselect.props.json +58 -0
  148. package/lib/lowcode/engine/meta/fieldstring.props.default.json +16 -0
  149. package/lib/lowcode/engine/meta/fieldstring.props.json +62 -0
  150. package/lib/lowcode/engine/meta/fieldswitch.props.default.json +12 -0
  151. package/lib/lowcode/engine/meta/fieldswitch.props.json +31 -0
  152. package/lib/lowcode/engine/meta/fieldtextarea.props.default.json +13 -0
  153. package/lib/lowcode/engine/meta/fieldtextarea.props.json +49 -0
  154. package/lib/lowcode/engine/meta/fieldupload.props.default.json +15 -0
  155. package/lib/lowcode/engine/meta/fieldupload.props.json +71 -0
  156. package/lib/lowcode/engine/meta/fielduser.props.default.json +16 -0
  157. package/lib/lowcode/engine/meta/fielduser.props.json +82 -0
  158. package/lib/lowcode/engine/meta/fieldyear.props.default.json +12 -0
  159. package/lib/lowcode/engine/meta/fieldyear.props.json +20 -0
  160. package/lib/lowcode/engine/meta/form.props.json +3 -3
  161. package/lib/lowcode/engine/meta/imex.props.default.json +1 -1
  162. package/lib/lowcode/engine/meta/imex.props.json +1 -1
  163. package/lib/lowcode/engine/meta/table.props.json +3 -3
  164. package/lib/lowcode/engine/meta/tree.props.json +9 -2
  165. package/lib/lowcode/engine/provider/ContextProvider/index.js +1 -0
  166. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +12 -18
  167. package/lib/lowcode/engine/tools/helper.js +25 -1
  168. package/lib/lowcode/painter/Design.js +4 -4
  169. package/lib/lowcode/painter/DesignOperator.js +101 -64
  170. package/lib/lowcode/painter/DesignToolbar.js +12 -14
  171. package/lib/lowcode/painter/Outline.js +9 -5
  172. package/lib/lowcode/painter/Panel.js +56 -18
  173. package/lib/lowcode/painter/components/ActionBindModal.js +13 -8
  174. package/lib/lowcode/painter/components/AdvancePanel.js +31 -20
  175. package/lib/lowcode/painter/components/AttrsPanel.js +5 -3
  176. package/lib/lowcode/painter/components/FieldSelector.js +26 -13
  177. package/lib/lowcode/painter/components/code-editor/JSEditor.js +5 -9
  178. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +4 -7
  179. package/lib/lowcode/painter/panel-section/DataSetSelector.js +29 -9
  180. package/lib/lowcode/painter/panel-section/FieldsSetting.js +23 -20
  181. package/lib/lowcode/painter/panel-section/ImpExp.js +20 -21
  182. package/lib/lowcode/painter/panel-section/ImpExpAlone.js +6 -7
  183. package/lib/lowcode/painter/panel-section/TableTopFilter.js +22 -12
  184. package/lib/lowcode/view/Page.js +4 -4
  185. package/lib/lowcode/view/lc-components/CardList/meta.json +13 -3
  186. package/lib/lowcode/view/lc-components/Dialog/index.js +3 -1
  187. package/lib/lowcode/view/lc-components/Dialog/meta.json +7 -0
  188. package/lib/lowcode/view/lc-components/FieldColor/meta.json +63 -0
  189. package/lib/lowcode/view/lc-components/FieldComplex/meta.json +39 -0
  190. package/lib/lowcode/view/lc-components/FieldDate/meta.json +45 -0
  191. package/lib/lowcode/view/lc-components/FieldDict/meta.json +44 -0
  192. package/lib/lowcode/view/lc-components/FieldEditor/meta.json +44 -0
  193. package/lib/lowcode/view/lc-components/FieldGroup/meta.json +73 -0
  194. package/lib/lowcode/view/lc-components/FieldNumber/meta.json +48 -0
  195. package/lib/lowcode/view/lc-components/FieldRadio/meta.json +20 -0
  196. package/lib/lowcode/view/lc-components/FieldRegion/meta.json +26 -0
  197. package/lib/lowcode/view/lc-components/FieldSelect/meta.json +58 -0
  198. package/lib/lowcode/view/lc-components/FieldString/meta.json +62 -0
  199. package/lib/lowcode/view/lc-components/FieldSwitch/meta.json +31 -0
  200. package/lib/lowcode/view/lc-components/FieldTextarea/meta.json +49 -0
  201. package/lib/lowcode/view/lc-components/FieldUpload/meta.json +71 -0
  202. package/lib/lowcode/view/lc-components/FieldUser/meta.json +82 -0
  203. package/lib/lowcode/view/lc-components/FieldYear/meta.json +20 -0
  204. package/lib/lowcode/view/lc-components/Form/index.js +89 -17
  205. package/lib/lowcode/view/lc-components/Form/meta.json +3 -3
  206. package/lib/lowcode/view/lc-components/ImEx/index.js +295 -85
  207. package/lib/lowcode/view/lc-components/ImEx/meta.json +1 -1
  208. package/lib/lowcode/view/lc-components/Table/components/TopFilter.js +75 -55
  209. package/lib/lowcode/view/lc-components/Table/components/TopImex.js +343 -60
  210. package/lib/lowcode/view/lc-components/Table/index.js +178 -17
  211. package/lib/lowcode/view/lc-components/Table/meta.json +3 -3
  212. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +1 -1
  213. package/lib/lowcode/view/lc-components/Tabs/index.js +1 -1
  214. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +0 -2
  215. package/lib/lowcode/view/lc-components/Tree/index.js +36 -11
  216. package/lib/lowcode/view/lc-components/Tree/meta.json +9 -2
  217. package/lib/upload/FilesWall/index.js +13 -13
  218. package/lib/upload/FilesWall/index.less +74 -74
  219. package/lib/upload/Form/gridForm.js +3 -2
  220. package/lib/upload/FormItem/index.js +3 -2
  221. package/lib/utils/form.js +16 -3
  222. package/lib/utils/grid.js +8 -5
  223. package/package.json +3 -3
  224. package/es/lowcode/engine/meta/local/local.zh-cn.js +0 -97
  225. package/lib/lowcode/engine/meta/local/local.zh-cn.js +0 -103
@@ -16,26 +16,26 @@ var _ContextProvider = require("../engine/provider/ContextProvider");
16
16
  var _constants = require("../constants");
17
17
  var _design = _interopRequireDefault(require("./style/design.less"));
18
18
  var _MODAL_COMPONENT_ = ['Dialog', 'Drawer'];
19
- var getOperatorStyle = function getOperatorStyle(page, cellNode) {
19
+ var getOperatorStyle = function getOperatorStyle(canvas, cellNode) {
20
20
  if (!cellNode) return {};
21
- var _page$getBoundingClie = page.getBoundingClientRect(),
22
- pageLeft = _page$getBoundingClie.left,
23
- pageTop = _page$getBoundingClie.top;
21
+ var _canvas$getBoundingCl = canvas.getBoundingClientRect(),
22
+ pageLeft = _canvas$getBoundingCl.left,
23
+ pageTop = _canvas$getBoundingCl.top;
24
24
  var _cellNode$getBounding = cellNode.getBoundingClientRect(),
25
25
  cellNodeLeft = _cellNode$getBounding.left,
26
26
  cellNodeTop = _cellNode$getBounding.top;
27
27
  return {
28
28
  left: "".concat(cellNodeLeft - pageLeft, "px"),
29
- top: "".concat(cellNodeTop - pageTop, "px"),
29
+ top: "".concat(cellNode.offsetTop, "px"),
30
30
  width: "".concat(cellNode.offsetWidth, "px"),
31
31
  height: "".concat(cellNode.offsetHeight, "px")
32
32
  };
33
33
  };
34
34
  var DesignOperator = function DesignOperator(_ref) {
35
- var _getDomById, _getDomById2;
36
- var target = _ref.target;
35
+ var _getElement, _getElement2;
36
+ var canvas = _ref.canvas;
37
37
  var context = (0, _ContextProvider.useContext)();
38
- var size = (0, _ahooks.useSize)(target);
38
+ var size = (0, _ahooks.useSize)(canvas);
39
39
  var _useState = (0, _react.useState)((0, _utils.suid)()),
40
40
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
41
41
  positionKey = _useState2[0],
@@ -49,18 +49,18 @@ var DesignOperator = function DesignOperator(_ref) {
49
49
  setOperatorId = _useSetState2[1];
50
50
  var lastSelectorId = (0, _ahooks.useLatest)(operatorId.selector);
51
51
  var currentModal = (0, _react.useRef)(null);
52
- var getDomById = (0, _ahooks.useMemoizedFn)(function (id) {
52
+ var getElement = (0, _ahooks.useMemoizedFn)(function (_target) {
53
53
  var _context$componentMap;
54
- return (_context$componentMap = context.componentMap.get(id)) === null || _context$componentMap === void 0 ? void 0 : _context$componentMap.api.getSelfDom();
54
+ return (0, _lodash.isString)(_target) ? (_context$componentMap = context.componentMap.get(_target)) === null || _context$componentMap === void 0 ? void 0 : _context$componentMap.api.getSelfDom() : _target;
55
55
  });
56
- var handleSelect = (0, _ahooks.useMemoizedFn)(function (_key) {
57
- context.$publisher(context.topics.COMPONENT_ACTIVE, _key ? {
58
- id: _key
56
+ var handleSelect = (0, _ahooks.useMemoizedFn)(function (_target) {
57
+ context.$publisher(context.topics.COMPONENT_ACTIVE, _target ? {
58
+ target: _target
59
59
  } : null);
60
60
  });
61
- var handleHover = (0, _ahooks.useMemoizedFn)(function (_key) {
62
- context.$publisher(context.topics.COMPONENT_HOVER, _key ? {
63
- id: _key
61
+ var handleHover = (0, _ahooks.useMemoizedFn)(function (_target) {
62
+ context.$publisher(context.topics.COMPONENT_HOVER, _target ? {
63
+ target: _target
64
64
  } : null);
65
65
  });
66
66
  var handleDelete = (0, _ahooks.useMemoizedFn)(function (_ref2) {
@@ -76,9 +76,7 @@ var DesignOperator = function DesignOperator(_ref) {
76
76
  context.$publisher(context.topics.COMPONENT_APPEND, {
77
77
  id: _id
78
78
  });
79
- context.$publisher(context.topics.COMPONENT_ACTIVE, {
80
- id: _id
81
- });
79
+ handleSelect(_id);
82
80
  }
83
81
  }).watch();
84
82
  var json = require("../engine/meta/".concat(data.component.toLowerCase(), ".props.default.json"));
@@ -87,7 +85,17 @@ var DesignOperator = function DesignOperator(_ref) {
87
85
  });
88
86
  var acticeProps = (0, _ahooks.useCreation)(function () {
89
87
  if (!operatorId.selector) return null;
90
- var levelNodes = context.componentMap.get(operatorId.selector).api.getLevelNodes();
88
+ var _id = (0, _lodash.isNil)(operatorId.selectorTarget) ? operatorId.selector : operatorId.selectorTarget.ancestorId;
89
+ var levelNodes = context.componentMap.get(_id).api.getLevelNodes();
90
+ if (operatorId.selectorTarget) {
91
+ var _operatorId$selectorT = operatorId.selectorTarget,
92
+ id = _operatorId$selectorT.id,
93
+ label = _operatorId$selectorT.label;
94
+ levelNodes.push({
95
+ id: id,
96
+ name: label
97
+ });
98
+ }
91
99
  return {
92
100
  props: (0, _lodash.last)(levelNodes),
93
101
  menu: /*#__PURE__*/_react.default.createElement("div", {
@@ -109,50 +117,70 @@ var DesignOperator = function DesignOperator(_ref) {
109
117
  }))
110
118
  };
111
119
  }, [operatorId.selector]);
112
- var lastDetectorNode = (0, _ahooks.useCreation)(function () {
113
- return operatorId.detector ? (0, _lodash.last)(context.componentMap.get(operatorId.detector).api.getLevelNodes()) : null;
120
+ var lastDetectorName = (0, _ahooks.useCreation)(function () {
121
+ var _last;
122
+ return operatorId.detector && (0, _lodash.isString)(operatorId.detector) ? (_last = (0, _lodash.last)(context.componentMap.get(operatorId.detector).api.getLevelNodes())) === null || _last === void 0 ? void 0 : _last.name : void 0;
114
123
  }, [operatorId.detector]);
115
124
  (0, _ahooks.useEventListener)('mousemove', function (event) {
116
125
  var elem = event.target;
126
+ var targetFormItem = elem.closest("[".concat(_constants.LC_COMPONENT_UNIT_KEY, "=\"").concat(_constants.LC_FORMITEM_UNIT, "\"]"));
127
+ if (targetFormItem) {
128
+ handleHover(targetFormItem);
129
+ return;
130
+ }
117
131
  var targetCell = elem.closest("[".concat(_constants.LC_COMPONENT_UNIT_KEY, "=\"").concat(_constants.LC_COMPONENT_UNIT, "\"]"));
118
132
  var targetCellId = targetCell === null || targetCell === void 0 ? void 0 : targetCell.id;
119
133
  if (targetCellId && targetCellId !== operatorId.detector && targetCellId !== operatorId.selector) {
120
- setOperatorId({
121
- detector: targetCellId
122
- });
123
- context.$publisher(context.topics.COMPONENT_HOVER, {
124
- id: targetCellId
125
- });
134
+ handleHover(targetCellId);
126
135
  } else if (!targetCell || targetCellId === operatorId.selector) {
127
- setOperatorId({
128
- detector: null
129
- });
130
- context.$publisher(context.topics.COMPONENT_HOVER, null);
136
+ handleHover();
131
137
  }
132
138
  }, {
133
- target: target
139
+ target: canvas
134
140
  });
135
141
  (0, _ahooks.useEventListener)('mouseleave', function () {
136
142
  if (operatorId.detector) {
137
- setOperatorId({
138
- detector: null
139
- });
140
- context.$publisher(context.topics.COMPONENT_HOVER, null);
143
+ handleHover();
141
144
  }
142
145
  }, {
143
- target: target
146
+ target: canvas
144
147
  });
145
148
  (0, _ahooks.useEventListener)('click', function (event) {
146
149
  var elem = event.target;
150
+ var targetFormItem = elem.closest("[".concat(_constants.LC_COMPONENT_UNIT_KEY, "=\"").concat(_constants.LC_FORMITEM_UNIT, "\"]"));
151
+ if (targetFormItem) {
152
+ var _fieldName = targetFormItem.getAttribute('data-__field');
153
+ var _fieldLabel = targetFormItem.getAttribute('data-__label');
154
+ var _masterId = targetFormItem.getAttribute('data-__master');
155
+ var _ancestorId = targetFormItem.closest("[".concat(_constants.LC_COMPONENT_UNIT_KEY, "=\"").concat(_constants.LC_COMPONENT_UNIT, "\"]")).getAttribute('id');
156
+ var _ancestor = context.componentMap.get(_ancestorId);
157
+ var ancestorData = _ancestor.api.getSelfData();
158
+ var blockIndex = ancestorData.props.blocks.findIndex(function (b) {
159
+ return b.id === _masterId;
160
+ });
161
+ var fieldIndex = ancestorData.props.blocks[blockIndex].fields.findIndex(function (f) {
162
+ return f.field === _fieldName;
163
+ });
164
+ var _target = {
165
+ element: targetFormItem,
166
+ id: "".concat(_ancestorId, ".").concat(_masterId, ".").concat(_fieldName),
167
+ field: _fieldName,
168
+ label: _fieldLabel,
169
+ masterId: _masterId,
170
+ ancestorId: _ancestorId,
171
+ keyPath: "blocks[".concat(blockIndex, "].fields[").concat(fieldIndex, "]")
172
+ };
173
+ handleHover();
174
+ handleSelect(_target);
175
+ return;
176
+ }
147
177
  var targetCell = elem.closest("[".concat(_constants.LC_COMPONENT_UNIT_KEY, "=\"").concat(_constants.LC_COMPONENT_UNIT, "\"]"));
148
178
  var targetCellId = targetCell === null || targetCell === void 0 ? void 0 : targetCell.id;
149
179
  if (!targetCellId || targetCellId === operatorId.selector) return;
150
- context.$publisher(context.topics.COMPONENT_HOVER, null);
151
- context.$publisher(context.topics.COMPONENT_ACTIVE, {
152
- id: targetCell.id
153
- });
180
+ handleHover();
181
+ handleSelect(targetCell.id);
154
182
  }, {
155
- target: target
183
+ target: canvas
156
184
  });
157
185
  (0, _react.useEffect)(function () {
158
186
  var csid = context.$subscriber(context.topics.COMPONENT_SETTING_CLICK).on(function (_ref4) {
@@ -164,9 +192,7 @@ var DesignOperator = function DesignOperator(_ref) {
164
192
  toggle: true,
165
193
  id: compId
166
194
  });
167
- context.$publisher(context.topics.COMPONENT_ACTIVE, {
168
- id: compId
169
- });
195
+ handleSelect(compId);
170
196
  }).watch();
171
197
  addComponent(data, _constants.LC_BUILDIN_UNIT_KEY.PAGE_ROOT);
172
198
  return;
@@ -182,23 +208,34 @@ var DesignOperator = function DesignOperator(_ref) {
182
208
  addComponent(data, lastSelectorId.current);
183
209
  }).watch();
184
210
  var hcid = context.$subscriber(context.topics.COMPONENT_HOVER).on(function (payload) {
185
- if (payload.id) setOperatorId({
186
- detector: payload.id
211
+ if (payload.target) setOperatorId({
212
+ detector: payload.target
187
213
  });else setOperatorId({
188
214
  detector: null
189
215
  });
190
216
  }).watch();
191
217
  var acid = context.$subscriber(context.topics.COMPONENT_ACTIVE).on(function (payload) {
192
- if (payload.id) {
193
- var node = context.componentMap.get(payload.id).api.getSelfData();
194
- setOperatorId({
195
- selector: payload.id,
196
- deletable: !node || node.props.buildIn !== true,
197
- detector: null
198
- });
218
+ if (payload.target) {
219
+ if ((0, _lodash.isString)(payload.target)) {
220
+ var node = context.componentMap.get(payload.target).api.getSelfData();
221
+ setOperatorId({
222
+ selector: payload.target,
223
+ selectorTarget: null,
224
+ deletable: !node || node.props.buildIn !== true,
225
+ detector: null
226
+ });
227
+ } else {
228
+ setOperatorId({
229
+ selector: payload.target.id,
230
+ selectorTarget: payload.target,
231
+ deletable: false,
232
+ detector: null
233
+ });
234
+ }
199
235
  } else {
200
236
  setOperatorId({
201
- selector: null
237
+ selector: null,
238
+ selectorTarget: null
202
239
  });
203
240
  }
204
241
  }).watch();
@@ -206,14 +243,14 @@ var DesignOperator = function DesignOperator(_ref) {
206
243
  var toggle = _ref6.toggle,
207
244
  id = _ref6.id;
208
245
  if (toggle && id !== currentModal.current) {
209
- target.current.style.setProperty('overflow', 'hidden');
246
+ canvas.current.style.setProperty('overflow', 'hidden');
210
247
  var _modal = context.componentMap.get(id);
211
248
  var _prevModal = currentModal.current ? context.componentMap.get(currentModal.current) : null;
212
249
  _prevModal === null || _prevModal === void 0 || _prevModal.api.doClose();
213
250
  _modal.api.doOpen();
214
251
  currentModal.current = id;
215
252
  } else if (!toggle) {
216
- target.current.style.removeProperty('overflow');
253
+ canvas.current.style.removeProperty('overflow');
217
254
  var _id = id || currentModal.current;
218
255
  if (_id) {
219
256
  var _modal2 = context.componentMap.get(_id);
@@ -225,7 +262,7 @@ var DesignOperator = function DesignOperator(_ref) {
225
262
  var cdid = context.$subscriber(context.topics.COMPONENT_DELETE).on(function (_ref7) {
226
263
  var id = _ref7.id;
227
264
  if (lastSelectorId.current === id) {
228
- context.$publisher(context.topics.COMPONENT_ACTIVE, null);
265
+ handleSelect();
229
266
  }
230
267
  (0, _ContextProvider.deleteNode)(id);
231
268
  });
@@ -248,22 +285,22 @@ var DesignOperator = function DesignOperator(_ref) {
248
285
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, operatorId.detector && /*#__PURE__*/_react.default.createElement("div", {
249
286
  id: "lc-detector",
250
287
  className: _design.default['lc-painter-design-detector'],
251
- style: getOperatorStyle(target.current, getDomById(operatorId.detector), 'detector', operatorId.detector)
288
+ style: getOperatorStyle(canvas.current, getElement(operatorId.detector))
252
289
  }, /*#__PURE__*/_react.default.createElement("span", {
253
290
  className: _design.default['lc-painter-design-detector-name'],
254
291
  style: {
255
- top: ((_getDomById = getDomById(operatorId.detector)) === null || _getDomById === void 0 ? void 0 : _getDomById.offsetTop) < 23 ? 0 : '-23px'
292
+ top: ((_getElement = getElement(operatorId.detector)) === null || _getElement === void 0 ? void 0 : _getElement.offsetTop) < 23 ? 0 : '-23px'
256
293
  }
257
- }, lastDetectorNode ? "".concat(lastDetectorNode.name, "(").concat(operatorId.detector, ")") : null)), operatorId.selector && /*#__PURE__*/_react.default.createElement("div", {
294
+ }, lastDetectorName ? "".concat(lastDetectorName, "(").concat(operatorId.detector, ")") : null)), operatorId.selector && /*#__PURE__*/_react.default.createElement("div", {
258
295
  id: "lc-selector",
259
296
  key: "".concat((size === null || size === void 0 ? void 0 : size.width) || 0, "-").concat((size === null || size === void 0 ? void 0 : size.height) || 0, "-").concat(positionKey),
260
297
  className: _design.default['lc-painter-design-selector'],
261
- style: getOperatorStyle(target.current, getDomById(operatorId.selector), 'selector', operatorId.selector)
298
+ style: getOperatorStyle(canvas.current, getElement((0, _lodash.isNil)(operatorId.selectorTarget) ? operatorId.selector : operatorId.selectorTarget.element))
262
299
  }, acticeProps && /*#__PURE__*/_react.default.createElement("div", {
263
300
  className: _design.default['lc-borders-actions'],
264
301
  style: acticeProps.props.id === _constants.LC_BUILDIN_UNIT_KEY.PAGE_ROOT ? {
265
302
  top: 0
266
- } : ((_getDomById2 = getDomById(operatorId.selector)) === null || _getDomById2 === void 0 ? void 0 : _getDomById2.offsetTop) < 23 ? {
303
+ } : ((_getElement2 = getElement((0, _lodash.isNil)(operatorId.selectorTarget) ? operatorId.selector : operatorId.selectorTarget.element)) === null || _getElement2 === void 0 ? void 0 : _getElement2.offsetTop) < 23 ? {
267
304
  bottom: '-23px'
268
305
  } : {
269
306
  top: '-23px'
@@ -25,6 +25,7 @@ var _preview = _interopRequireDefault(require("../preview"));
25
25
  var _constants = require("../constants");
26
26
  var _design = _interopRequireDefault(require("./style/design.less"));
27
27
  var _apiUrl = require("../constants/api-url");
28
+ var _helper = require("../engine/tools/helper");
28
29
  var _services = require("@luck-design-biz/base/lib/sys/services");
29
30
  var _excluded = ["key", "label"];
30
31
  var DesignToolbar = function DesignToolbar(_ref) {
@@ -34,8 +35,6 @@ var DesignToolbar = function DesignToolbar(_ref) {
34
35
  var editorRef = (0, _react.useRef)();
35
36
  var context = (0, _ContextProvider.useContext)();
36
37
  var pageData = (0, _ContextProvider.useGet)();
37
- var _ref2 = (0, _ContextProvider.useRemoteSource)() || {},
38
- pageinfo = _ref2.pageinfo;
39
38
  var _useState = (0, _react.useState)(null),
40
39
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
41
40
  langList = _useState2[0],
@@ -72,8 +71,8 @@ var DesignToolbar = function DesignToolbar(_ref) {
72
71
  updatePageDataLoading = _useRequest2.loading,
73
72
  runAsync = _useRequest2.runAsync;
74
73
  (0, _react.useEffect)(function () {
75
- var topicId = context.$subscriber(context.topics.LANG_SETTING_SELECT).on(function (_ref3) {
76
- var _langList = _ref3.langList;
74
+ var topicId = context.$subscriber(context.topics.LANG_SETTING_SELECT).on(function (_ref2) {
75
+ var _langList = _ref2.langList;
77
76
  return setLangList(_langList);
78
77
  }).watch();
79
78
  return function () {
@@ -86,7 +85,6 @@ var DesignToolbar = function DesignToolbar(_ref) {
86
85
  }
87
86
  }, [showPreview]);
88
87
  var handleSave = (0, _ahooks.useMemoizedFn)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
89
- var _pageinfo$relationshi;
90
88
  var _yield$runAsync, code;
91
89
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
92
90
  while (1) switch (_context.prev = _context.next) {
@@ -94,7 +92,7 @@ var DesignToolbar = function DesignToolbar(_ref) {
94
92
  _context.next = 2;
95
93
  return runAsync({
96
94
  pageData: JSON.stringify(pageData),
97
- pageCode: pageinfo === null || pageinfo === void 0 || (_pageinfo$relationshi = pageinfo.relationship) === null || _pageinfo$relationshi === void 0 ? void 0 : _pageinfo$relationshi.pageCode
95
+ pageCode: (0, _helper.getLDMetaAttr)('pageCode')
98
96
  });
99
97
  case 2:
100
98
  _yield$runAsync = _context.sent;
@@ -126,7 +124,7 @@ var DesignToolbar = function DesignToolbar(_ref) {
126
124
  zIndex: 3000,
127
125
  onOk: function onOk() {
128
126
  return runClearCache({
129
- moduleCode: pageinfo.relationship.moduleCode
127
+ moduleCode: (0, _helper.getLDMetaAttr)('moduleCode')
130
128
  });
131
129
  }
132
130
  });
@@ -146,7 +144,7 @@ var DesignToolbar = function DesignToolbar(_ref) {
146
144
  }
147
145
  });
148
146
  var _useDebounceFn = (0, _ahooks.useDebounceFn)( /*#__PURE__*/function () {
149
- var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(value) {
147
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(value) {
150
148
  var _yield$readAllUser, code, list, detail;
151
149
  return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
152
150
  while (1) switch (_context2.prev = _context2.next) {
@@ -176,7 +174,7 @@ var DesignToolbar = function DesignToolbar(_ref) {
176
174
  }, _callee2);
177
175
  }));
178
176
  return function (_x) {
179
- return _ref5.apply(this, arguments);
177
+ return _ref4.apply(this, arguments);
180
178
  };
181
179
  }(), {
182
180
  wait: 500
@@ -221,7 +219,7 @@ var DesignToolbar = function DesignToolbar(_ref) {
221
219
  className: _design.default['toolbar-item'],
222
220
  onClick: function onClick() {
223
221
  context.$publisher(context.topics.COMPONENT_ACTIVE, {
224
- id: _constants.LC_BUILDIN_UNIT_KEY.PAGE_ROOT
222
+ target: _constants.LC_BUILDIN_UNIT_KEY.PAGE_ROOT
225
223
  });
226
224
  }
227
225
  }, (0, _utils.formatMessage)({
@@ -335,10 +333,10 @@ var DesignToolbar = function DesignToolbar(_ref) {
335
333
  setUserId(void 0);
336
334
  }
337
335
  }
338
- }, userOptions.map(function (_ref6) {
339
- var key = _ref6.key,
340
- label = _ref6.label,
341
- rest = (0, _objectWithoutProperties2.default)(_ref6, _excluded);
336
+ }, userOptions.map(function (_ref5) {
337
+ var key = _ref5.key,
338
+ label = _ref5.label,
339
+ rest = (0, _objectWithoutProperties2.default)(_ref5, _excluded);
342
340
  return /*#__PURE__*/_react.default.createElement(_antd.Select.Option, (0, _extends2.default)({
343
341
  key: key,
344
342
  value: key
@@ -48,18 +48,22 @@ var Outline = function Outline(_ref) {
48
48
  var lastPageExpandedKeysRef = (0, _ahooks.useLatest)(pageExpandedKeys);
49
49
  (0, _react.useEffect)(function () {
50
50
  var _id = ctx.$subscriber(ctx.topics.COMPONENT_ACTIVE).on(function (payload) {
51
- setSelectedKey(payload.id);
51
+ if (!(0, _lodash.isString)(payload.target)) {
52
+ setSelectedKey(null);
53
+ return;
54
+ }
55
+ setSelectedKey(payload.target);
52
56
  if (clickBySelf.current) {
53
57
  clickBySelf.current = false;
54
58
  return;
55
59
  }
56
- var _split = (0, _lodash.split)((0, _dataProcess.getPathById)(pageData, payload.id), '/'),
60
+ var _split = (0, _lodash.split)((0, _dataProcess.getPathById)(pageData, payload.target), '/'),
57
61
  _split2 = (0, _slicedToArray2.default)(_split, 1),
58
62
  _root = _split2[0];
59
63
  if (!_constants.LC_BUILDIN_UNIT_KEY_LIST.includes(_root)) {
60
- setModalExpandedKeys((0, _lodash.uniq)([].concat((0, _toConsumableArray2.default)(latestModalExpandedKeysRef.current), (0, _toConsumableArray2.default)((0, _lodash.split)((0, _dataProcess.getPathById)(pageData, payload.id), '/')))));
64
+ setModalExpandedKeys((0, _lodash.uniq)([].concat((0, _toConsumableArray2.default)(latestModalExpandedKeysRef.current), (0, _toConsumableArray2.default)((0, _lodash.split)((0, _dataProcess.getPathById)(pageData, payload.target), '/')))));
61
65
  } else {
62
- setPageExpandedKeys((0, _lodash.uniq)([].concat((0, _toConsumableArray2.default)(lastPageExpandedKeysRef.current), (0, _toConsumableArray2.default)((0, _lodash.split)((0, _dataProcess.getPathById)(pageData, payload.id), '/')))));
66
+ setPageExpandedKeys((0, _lodash.uniq)([].concat((0, _toConsumableArray2.default)(lastPageExpandedKeysRef.current), (0, _toConsumableArray2.default)((0, _lodash.split)((0, _dataProcess.getPathById)(pageData, payload.target), '/')))));
63
67
  }
64
68
  }).watch();
65
69
  return function () {
@@ -69,7 +73,7 @@ var Outline = function Outline(_ref) {
69
73
  var handleSelect = (0, _ahooks.useMemoizedFn)(function (_key) {
70
74
  clickBySelf.current = true;
71
75
  ctx.$publisher(ctx.topics.COMPONENT_ACTIVE, _key ? {
72
- id: _key
76
+ target: _key
73
77
  } : null);
74
78
  });
75
79
  var render = (0, _ahooks.useMemoizedFn)(function (_ref2) {
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
11
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -42,6 +43,7 @@ var _TAB_LIST_ = [{
42
43
  key: 'advance'
43
44
  }];
44
45
  var Panel = function Panel() {
46
+ var _activeNode$$target;
45
47
  var activeTabRef = (0, _react.useRef)(null);
46
48
  var underLineRef = (0, _react.useRef)(null);
47
49
  var _useState = (0, _react.useState)(null),
@@ -55,8 +57,24 @@ var Panel = function Panel() {
55
57
  var context = (0, _ContextProvider.useContext)();
56
58
  var task = (0, _ContextProvider.useTask)('modify');
57
59
  var meta = (0, _ahooks.useCreation)(function () {
60
+ if ((0, _lodash.isNil)(activeNode)) return null;
58
61
  try {
59
- return (0, _lodash.isNil)(activeNode) ? null : require("../engine/meta/".concat(activeNode.node.component.toLowerCase(), ".props.json"));
62
+ var _meta = require("../engine/meta/".concat(activeNode.node.component.toLowerCase(), ".props.json"));
63
+ if (!(0, _lodash.isNil)(activeNode === null || activeNode === void 0 ? void 0 : activeNode.$target)) {
64
+ var setValueKey = function setValueKey(items) {
65
+ items.forEach(function (item) {
66
+ if (item.next) {
67
+ setValueKey(item.next.props);
68
+ } else if (item.props) {
69
+ setValueKey(item.props);
70
+ } else {
71
+ item.valueKey = "".concat(activeNode.$target.keyPath, ".").concat(item.key);
72
+ }
73
+ });
74
+ };
75
+ setValueKey(_meta.props);
76
+ }
77
+ return _meta;
60
78
  } catch (e) {
61
79
  return null;
62
80
  }
@@ -84,41 +102,59 @@ var Panel = function Panel() {
84
102
  (0, _ContextProvider.deleteNode)(_constants.LC_BUILDIN_UNIT_KEY.PAGE_FOOTER);
85
103
  }
86
104
  }
87
- var component = context.componentMap.get(activeNode.node.id);
105
+ var targetId = (0, _lodash.isNil)(activeNode.$target) ? activeNode.node.id : activeNode.$target.ancestorId;
106
+ var component = context.componentMap.get(targetId);
88
107
  var node = component.api.getSelfData();
89
108
  var oldValue = (0, _defineProperty2.default)({}, field, (0, _lodash.get)(node.props, field));
90
109
  var newValue = (0, _defineProperty2.default)({}, field, value);
91
110
  if (before) {
92
111
  before(handleChange);
93
112
  }
94
- task(activeNode.node.id, newValue).then(function (a, b) {
113
+ task(targetId, newValue).then(function () {
95
114
  context.$publisher(context.topics.COMPONENT_MODIFY, {
96
- id: activeNode.node.id,
115
+ id: targetId,
97
116
  oldValue: oldValue,
98
117
  newValue: newValue
99
118
  });
100
119
  if (repositioning) context.$publisher(context.topics.COMPONENT_REPOSITIONING, {
101
- id: activeNode.node.id
120
+ id: targetId
102
121
  });
103
122
  });
104
123
  });
105
124
  (0, _react.useEffect)(function () {
106
- var _id = context.$subscriber(context.topics.COMPONENT_ACTIVE).on(function (payload) {
125
+ var tid = context.$subscriber(context.topics.COMPONENT_ACTIVE).on(function (payload) {
107
126
  setActiveTabKey('attrs');
108
- if (!payload.id) {
127
+ if (!payload.target) {
109
128
  setActiveNode(null);
110
129
  return;
111
130
  }
112
- var component = context.componentMap.get(payload.id);
113
- var node = component.api.getSelfData();
114
- var levelNodes = (0, _lodash.takeRight)(component.api.getLevelNodes(), 4);
115
- setActiveNode({
116
- node: node.props,
117
- level: levelNodes
118
- });
131
+ if ((0, _lodash.isString)(payload.target)) {
132
+ var component = context.componentMap.get(payload.target);
133
+ var node = component.api.getSelfData();
134
+ var levelNodes = (0, _lodash.takeRight)(component.api.getLevelNodes(), 4);
135
+ setActiveNode({
136
+ node: node.props,
137
+ level: levelNodes
138
+ });
139
+ } else {
140
+ var _component = payload.target.element.getAttribute('data-__component');
141
+ var ancestor = context.componentMap.get(payload.target.ancestorId);
142
+ var _levelNodes = (0, _lodash.takeRight)(ancestor.api.getLevelNodes(), 3);
143
+ setActiveNode({
144
+ node: {
145
+ id: payload.target.id,
146
+ component: _component
147
+ },
148
+ level: [].concat((0, _toConsumableArray2.default)(_levelNodes), [{
149
+ id: payload.target.id,
150
+ name: payload.target.label
151
+ }]),
152
+ $target: payload.target
153
+ });
154
+ }
119
155
  }).watch();
120
156
  return function () {
121
- return context.$unsubscriber(context.topics.COMPONENT_ACTIVE, _id);
157
+ return context.$unsubscriber(context.topics.COMPONENT_ACTIVE, tid);
122
158
  };
123
159
  }, []);
124
160
  (0, _react.useLayoutEffect)(function () {
@@ -142,7 +178,7 @@ var Panel = function Panel() {
142
178
  onMouseEnter: function onMouseEnter() {
143
179
  if (id === activeNode.node.id) return;
144
180
  context.$publisher(context.topics.COMPONENT_HOVER, {
145
- id: id
181
+ target: id
146
182
  });
147
183
  },
148
184
  onMouseLeave: function onMouseLeave() {
@@ -152,7 +188,7 @@ var Panel = function Panel() {
152
188
  onClick: function onClick() {
153
189
  if (id === activeNode.node.id) return;
154
190
  context.$publisher(context.topics.COMPONENT_ACTIVE, {
155
- id: id
191
+ target: id
156
192
  });
157
193
  }
158
194
  }, name);
@@ -184,6 +220,7 @@ var Panel = function Panel() {
184
220
  })), activeTabKey === _TAB_LIST_[0].key && /*#__PURE__*/_react.default.createElement(_AttrsPanel.default, {
185
221
  key: activeNode === null || activeNode === void 0 ? void 0 : activeNode.node.id,
186
222
  nodeId: activeNode === null || activeNode === void 0 ? void 0 : activeNode.node.id,
223
+ ancestorId: activeNode === null || activeNode === void 0 || (_activeNode$$target = activeNode.$target) === null || _activeNode$$target === void 0 ? void 0 : _activeNode$$target.ancestorId,
187
224
  meta: meta,
188
225
  onChange: function onChange(field, value, params) {
189
226
  return handleChange(field, value, params);
@@ -197,9 +234,10 @@ var Panel = function Panel() {
197
234
  }), activeTabKey === _TAB_LIST_[2].key && /*#__PURE__*/_react.default.createElement(_AdvancePanel.default, {
198
235
  key: activeNode === null || activeNode === void 0 ? void 0 : activeNode.node.id,
199
236
  nodeId: activeNode === null || activeNode === void 0 ? void 0 : activeNode.node.id,
237
+ target: activeNode === null || activeNode === void 0 ? void 0 : activeNode.$target,
200
238
  meta: meta,
201
239
  onChange: function onChange(val) {
202
- return handleChange('advance', val);
240
+ return handleChange((0, _lodash.isNil)(activeNode.$target) ? 'advance' : "".concat(activeNode.$target.keyPath, ".advance"), val);
203
241
  }
204
242
  }), /*#__PURE__*/_react.default.createElement("div", {
205
243
  className: (0, _classnames.default)(_panel.default['lc-painter-panel-empty'], (0, _defineProperty2.default)({}, _panel.default.hidden, !!activeNode))
@@ -40,7 +40,8 @@ var _ACTION_CATEGORY_ = [{
40
40
  var _DEFAULT_JSON_CODE_ = '{"params":{},"data":{}}';
41
41
  var _DEFAULT_JS_CODE_ = 'function todo() {\n\n}';
42
42
  var ActionBindModal = function ActionBindModal(_ref) {
43
- var event = _ref.event,
43
+ var nodeId = _ref.nodeId,
44
+ event = _ref.event,
44
45
  _ref$defaultCode = _ref.defaultCode,
45
46
  defaultCode = _ref$defaultCode === void 0 ? _DEFAULT_JS_CODE_ : _ref$defaultCode,
46
47
  onComfirm = _ref.onComfirm,
@@ -104,10 +105,11 @@ var ActionBindModal = function ActionBindModal(_ref) {
104
105
  }, [category]);
105
106
  (0, _ahooks.useUpdateEffect)(function () {
106
107
  if (activeKey) {
108
+ var _editorRef$current;
107
109
  var action = get(activeKey);
108
- (action === null || action === void 0 ? void 0 : action.code) && editorRef.current.editor.setValue(action.code);
110
+ (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 || _editorRef$current.editor.setValue(action === null || action === void 0 ? void 0 : action.code);
109
111
  }
110
- }, [activeKey]);
112
+ }, [category, activeKey]);
111
113
  (0, _ahooks.useUpdateEffect)(function () {
112
114
  setAll(event === null || event === void 0 ? void 0 : event.actionPool);
113
115
  }, [event]);
@@ -170,7 +172,7 @@ var ActionBindModal = function ActionBindModal(_ref) {
170
172
  marginTop: 0,
171
173
  padding: '4px 24px'
172
174
  },
173
- title: event === null || event === void 0 ? void 0 : event.name,
175
+ title: "".concat(event === null || event === void 0 ? void 0 : event.name, "(").concat(nodeId, ")"),
174
176
  visible: !!event,
175
177
  width: "70vw",
176
178
  closable: false,
@@ -201,14 +203,17 @@ var ActionBindModal = function ActionBindModal(_ref) {
201
203
  onClick: function onClick() {
202
204
  setCategory(key);
203
205
  if ('custom' === key) {
204
- setActiveKey('coding');
205
- if (!actionPool.has(key)) {
206
- set('coding', {
206
+ var _activeKey = 'coding';
207
+ setActiveKey(_activeKey);
208
+ if (!actionPool.has(_activeKey)) {
209
+ set(_activeKey, {
207
210
  category: key,
208
- key: 'coding',
211
+ key: _activeKey,
209
212
  code: event.func || defaultCode
210
213
  });
211
214
  }
215
+ } else {
216
+ setActiveKey(void 0);
212
217
  }
213
218
  }
214
219
  }, label, key === category && /*#__PURE__*/_react.default.createElement(_antd.Icon, {