@luck-design-biz/luckda 1.0.2-9 → 1.0.3-13tl

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 (95) hide show
  1. package/es/components/LDActions/index.js +1 -0
  2. package/es/components/LdFormList/index.js +6 -4
  3. package/es/components/LdGrid/index.js +1 -4
  4. package/es/helper/action.js +2 -0
  5. package/es/locales/zh-CN.js +18 -1
  6. package/es/lowcode/constants/api-url.js +329 -187
  7. package/es/lowcode/engine/meta/box.props.default.json +1 -1
  8. package/es/lowcode/engine/meta/box.props.json +1 -1
  9. package/es/lowcode/engine/meta/button.api.json +0 -0
  10. package/es/lowcode/engine/meta/dialog.props.default.json +4 -1
  11. package/es/lowcode/engine/meta/dialog.props.json +24 -4
  12. package/es/lowcode/engine/meta/drawer.props.json +1 -1
  13. package/es/lowcode/engine/meta/form.props.json +1 -1
  14. package/es/lowcode/engine/provider/ContextProvider/router.js +21 -1
  15. package/es/lowcode/painter/DesignOperator.js +4 -3
  16. package/es/lowcode/painter/History.js +300 -0
  17. package/es/lowcode/painter/Ribbon.js +37 -1
  18. package/es/lowcode/painter/components/AdvancePanel.js +1 -1
  19. package/es/lowcode/painter/components/code-editor/DiffEditor.js +41 -0
  20. package/es/lowcode/painter/components/field-setting/FieldAttrs.js +2 -2
  21. package/es/lowcode/painter/components/field-setting/SettingUI.js +0 -1
  22. package/es/lowcode/painter/panel-section/ConditionCheck.js +71 -0
  23. package/es/lowcode/painter/panel-section/DialogSize.js +76 -0
  24. package/es/lowcode/painter/panel-section/DialogWidthHeight.js +60 -0
  25. package/es/lowcode/painter/panel-section/JSEditor/ToolBar.js +61 -6
  26. package/es/lowcode/painter/panel-section/JSEditor/index.js +37 -5
  27. package/es/lowcode/painter/panel-section/PageLayoutDisplay.js +7 -2
  28. package/es/lowcode/painter/style/action-bind-modal.less +1 -1
  29. package/es/lowcode/painter/style/history.less +46 -0
  30. package/es/lowcode/painter/style/outline.less +1 -1
  31. package/es/lowcode/view/lc-components/Box/meta.json +1 -1
  32. package/es/lowcode/view/lc-components/Dialog/index.js +12 -5
  33. package/es/lowcode/view/lc-components/Dialog/meta.json +24 -4
  34. package/es/lowcode/view/lc-components/Drawer/index.js +3 -3
  35. package/es/lowcode/view/lc-components/Drawer/meta.json +1 -1
  36. package/es/lowcode/view/lc-components/Form/index.js +12 -19
  37. package/es/lowcode/view/lc-components/Form/meta.json +1 -1
  38. package/es/lowcode/view/lc-components/PageLayout/index.js +1 -1
  39. package/es/lowcode/view/lc-components/Table/components/TopImex.js +33 -16
  40. package/es/lowcode/view/lc-components/Table/index.js +5 -4
  41. package/es/upload/FilesWall/index.js +16 -6
  42. package/es/upload/Form/gridForm.js +16 -6
  43. package/es/upload/FormItem/index.js +16 -4
  44. package/es/utils/form.js +4 -3
  45. package/es/utils/grid.js +10 -2
  46. package/lib/components/LDActions/index.js +1 -0
  47. package/lib/components/LdFormList/index.js +6 -4
  48. package/lib/components/LdGrid/index.js +1 -4
  49. package/lib/helper/action.js +2 -0
  50. package/lib/locales/zh-CN.js +18 -1
  51. package/lib/lowcode/constants/api-url.js +329 -188
  52. package/lib/lowcode/engine/meta/box.props.default.json +1 -1
  53. package/lib/lowcode/engine/meta/box.props.json +1 -1
  54. package/lib/lowcode/engine/meta/button.api.json +0 -0
  55. package/lib/lowcode/engine/meta/dialog.props.default.json +4 -1
  56. package/lib/lowcode/engine/meta/dialog.props.json +24 -4
  57. package/lib/lowcode/engine/meta/drawer.props.json +1 -1
  58. package/lib/lowcode/engine/meta/form.props.json +1 -1
  59. package/lib/lowcode/engine/provider/ContextProvider/router.js +22 -1
  60. package/lib/lowcode/painter/DesignOperator.js +4 -3
  61. package/lib/lowcode/painter/History.js +308 -0
  62. package/lib/lowcode/painter/Ribbon.js +37 -1
  63. package/lib/lowcode/painter/components/AdvancePanel.js +1 -1
  64. package/lib/lowcode/painter/components/code-editor/DiffEditor.js +49 -0
  65. package/lib/lowcode/painter/components/field-setting/FieldAttrs.js +2 -2
  66. package/lib/lowcode/painter/components/field-setting/SettingUI.js +0 -1
  67. package/lib/lowcode/painter/panel-section/ConditionCheck.js +79 -0
  68. package/lib/lowcode/painter/panel-section/DialogSize.js +83 -0
  69. package/lib/lowcode/painter/panel-section/DialogWidthHeight.js +67 -0
  70. package/lib/lowcode/painter/panel-section/JSEditor/ToolBar.js +61 -6
  71. package/lib/lowcode/painter/panel-section/JSEditor/index.js +36 -4
  72. package/lib/lowcode/painter/panel-section/PageLayoutDisplay.js +7 -2
  73. package/lib/lowcode/painter/style/action-bind-modal.less +1 -1
  74. package/lib/lowcode/painter/style/history.less +46 -0
  75. package/lib/lowcode/painter/style/outline.less +1 -1
  76. package/lib/lowcode/view/lc-components/Box/meta.json +1 -1
  77. package/lib/lowcode/view/lc-components/Dialog/index.js +10 -3
  78. package/lib/lowcode/view/lc-components/Dialog/meta.json +24 -4
  79. package/lib/lowcode/view/lc-components/Drawer/index.js +1 -1
  80. package/lib/lowcode/view/lc-components/Drawer/meta.json +1 -1
  81. package/lib/lowcode/view/lc-components/Form/index.js +12 -19
  82. package/lib/lowcode/view/lc-components/Form/meta.json +1 -1
  83. package/lib/lowcode/view/lc-components/PageLayout/index.js +1 -1
  84. package/lib/lowcode/view/lc-components/Table/components/TopImex.js +32 -15
  85. package/lib/lowcode/view/lc-components/Table/index.js +5 -4
  86. package/lib/upload/FilesWall/index.js +13 -3
  87. package/lib/upload/Form/gridForm.js +13 -3
  88. package/lib/upload/FormItem/index.js +15 -3
  89. package/lib/utils/form.js +3 -2
  90. package/lib/utils/grid.js +11 -3
  91. package/package.json +1 -2
  92. package/es/lowcode/engine/meta/fielddatadic.props.default.json +0 -16
  93. package/es/lowcode/engine/meta/fielddatadic.props.json +0 -73
  94. package/lib/lowcode/engine/meta/fielddatadic.props.default.json +0 -16
  95. package/lib/lowcode/engine/meta/fielddatadic.props.json +0 -73
@@ -6,7 +6,7 @@
6
6
  "group": "container",
7
7
  "groupName": "布局",
8
8
  "order": 3,
9
- "css": "height:auto; width: auto; background-color: #fff;",
9
+ "css": "height:auto; width: auto;",
10
10
  "advance": {
11
11
  "events": {}
12
12
  }
@@ -14,7 +14,7 @@
14
14
  "disabled": true
15
15
  }
16
16
  ],
17
- "css": "height:auto; width: auto; background-color: #fff;",
17
+ "css": "height:auto; width: auto;",
18
18
  "advance": {
19
19
  "events": [
20
20
  {
File without changes
@@ -7,6 +7,7 @@
7
7
  "groupName": "基础",
8
8
  "order": 1,
9
9
  "title": "对话框",
10
+ "size": "custom",
10
11
  "width": "700px",
11
12
  "height": "50vh",
12
13
  "padding": 16,
@@ -14,7 +15,9 @@
14
15
  "mask": true,
15
16
  "closable": true,
16
17
  "destroyOnClose": true,
17
- "footer": true,
18
+ "footer": {
19
+ "checked": true
20
+ },
18
21
  "okText": "确定",
19
22
  "cancelText": "取消",
20
23
  "btnGroup": {
@@ -20,10 +20,16 @@
20
20
  "type": "_I18nInput",
21
21
  "default": "对话框"
22
22
  },
23
+ {
24
+ "key": "size",
25
+ "name": "#展现尺寸",
26
+ "type": "_DialogSize",
27
+ "default": "custom"
28
+ },
23
29
  {
24
30
  "key": "width",
25
31
  "name": "对话框宽度",
26
- "type": "_WidthHeight",
32
+ "type": "_DialogWidthHeight",
27
33
  "options": [
28
34
  {
29
35
  "label": "px",
@@ -42,12 +48,18 @@
42
48
  "value": "auto"
43
49
  }
44
50
  ],
51
+ "sizeOptions": {
52
+ "small": "540px",
53
+ "default": "700px",
54
+ "large": "1150px",
55
+ "full": "100vw"
56
+ },
45
57
  "default": "700px"
46
58
  },
47
59
  {
48
60
  "key": "height",
49
61
  "name": "内容区高度",
50
- "type": "_WidthHeight",
62
+ "type": "_DialogWidthHeight",
51
63
  "options": [
52
64
  {
53
65
  "label": "px",
@@ -62,6 +74,12 @@
62
74
  "value": "auto"
63
75
  }
64
76
  ],
77
+ "sizeOptions": {
78
+ "small": "40vh",
79
+ "default": "60vh",
80
+ "large": "85vh",
81
+ "full": "100vh"
82
+ },
65
83
  "default": "50vh"
66
84
  },
67
85
  {
@@ -142,8 +160,10 @@
142
160
  "key": "footer",
143
161
  "name": "显示footer",
144
162
  "desc": "是否显示底部按钮区域",
145
- "type": "switch",
146
- "default": true
163
+ "type": "_ConditionCheck",
164
+ "default": {
165
+ "checked": true
166
+ }
147
167
  },
148
168
  {
149
169
  "key": "okText",
@@ -180,7 +180,7 @@
180
180
  "key": "footer",
181
181
  "name": "显示footer",
182
182
  "desc": "是否显示底部按钮区域",
183
- "type": "switch",
183
+ "type": "_ConditionCheck",
184
184
  "default": true
185
185
  },
186
186
  {
@@ -661,7 +661,7 @@
661
661
  "key": "beforeSave",
662
662
  "name": "保存前置事件",
663
663
  "desc": "保存前置事件,promise,返回false取消执行",
664
- "func": "function beforeSave(values, data) {\n return values; \n}"
664
+ "func": "function beforeSave(values, data) {\n return new Promise(resolve=>resolve(values)); \n}"
665
665
  },
666
666
  {
667
667
  "key": "onSaveCallback",
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -13,8 +14,14 @@ Object.defineProperty(exports, "history", {
13
14
  exports.push = push;
14
15
  exports.replace = replace;
15
16
  exports.stringifyQuery = stringifyQuery;
17
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
20
  var _umi = require("umi");
17
21
  var _lodash = require("lodash");
22
+ var _qs = require("qs");
23
+ var _excluded = ["title", "subTitle"],
24
+ _excluded2 = ["title", "subTitle"];
18
25
  function push(path, params) {
19
26
  var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'push';
20
27
  var blank = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
@@ -27,7 +34,21 @@ function push(path, params) {
27
34
  method: 'replace'
28
35
  });
29
36
  } else if (type === 'layer') {
30
- window.openUrl("layer:".concat(path), params);
37
+ var _path$split = path.split('?'),
38
+ _path$split2 = (0, _slicedToArray2.default)(_path$split, 2),
39
+ _path = _path$split2[0],
40
+ argsStr = _path$split2[1];
41
+ var title = params.title,
42
+ subTitle = params.subTitle,
43
+ _params = (0, _objectWithoutProperties2.default)(params, _excluded);
44
+ var _parse = (0, _qs.parse)(argsStr),
45
+ _title = _parse.title,
46
+ _subTitle = _parse.subTitle,
47
+ args = (0, _objectWithoutProperties2.default)(_parse, _excluded2);
48
+ window.openUrl("layer:".concat(_path, "?").concat((0, _qs.stringify)((0, _objectSpread2.default)({
49
+ title: title || _title,
50
+ subTitle: subTitle || _subTitle
51
+ }, args))), _params);
31
52
  } else if (type === 'iframe') {
32
53
  window.openUrl("iframe:".concat(path));
33
54
  } else if (type === 'sso') {
@@ -272,15 +272,16 @@ var DesignOperator = function DesignOperator(_ref) {
272
272
  var toggle = _ref6.toggle,
273
273
  id = _ref6.id;
274
274
  if (toggle && id !== currentModal.current) {
275
- canvas.current.style.setProperty('overflow', 'hidden');
275
+ var _canvas$current2;
276
+ (_canvas$current2 = canvas.current) === null || _canvas$current2 === void 0 || _canvas$current2.style.setProperty('overflow', 'hidden');
276
277
  var _modal = context.componentMap.get(id);
277
278
  var _prevModal = currentModal.current ? context.componentMap.get(currentModal.current) : null;
278
279
  _prevModal === null || _prevModal === void 0 || _prevModal.api.doClose();
279
280
  _modal.api.doOpen();
280
281
  currentModal.current = id;
281
282
  } else if (!toggle) {
282
- var _canvas$current2;
283
- (_canvas$current2 = canvas.current) === null || _canvas$current2 === void 0 || _canvas$current2.style.removeProperty('overflow');
283
+ var _canvas$current3;
284
+ (_canvas$current3 = canvas.current) === null || _canvas$current3 === void 0 || _canvas$current3.style.removeProperty('overflow');
284
285
  var _id = id || currentModal.current;
285
286
  if (_id) {
286
287
  var _modal2 = context.componentMap.get(_id);
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _ahooks = require("ahooks");
12
+ var _antd = require("luck-design/antd");
13
+ var _luckDesign = require("luck-design");
14
+ var _moment = _interopRequireDefault(require("moment"));
15
+ var _lodash = require("lodash");
16
+ var _base = require("@luck-design-biz/base");
17
+ var _ContextProvider = require("../engine/provider/ContextProvider");
18
+ var _TipIcon = _interopRequireDefault(require("./components/TipIcon"));
19
+ var _DiffEditor = _interopRequireDefault(require("./components/code-editor/DiffEditor"));
20
+ var _utils = require("@luck-design-biz/base/utils");
21
+ var _helper = require("../engine/tools/helper");
22
+ var _dataProcess = require("../engine/tools/dataProcess");
23
+ var _history = _interopRequireDefault(require("./style/history.less"));
24
+ var _apiUrl = require("../constants/api-url");
25
+ var History = function History(_ref) {
26
+ var form = _ref.form;
27
+ var ref = (0, _react.useRef)();
28
+ var editorRef = (0, _react.useRef)();
29
+ var versionListRef = (0, _react.useRef)(null);
30
+ var ctx = (0, _ContextProvider.useContext)();
31
+ var _useState = (0, _react.useState)([]),
32
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
33
+ versionList = _useState2[0],
34
+ setVersionList = _useState2[1];
35
+ var _useState3 = (0, _react.useState)(null),
36
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
37
+ version = _useState4[0],
38
+ setVersion = _useState4[1];
39
+ var _useState5 = (0, _react.useState)(false),
40
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
41
+ visible = _useState6[0],
42
+ setVisible = _useState6[1];
43
+ var _useInViewport = (0, _ahooks.useInViewport)(ref),
44
+ _useInViewport2 = (0, _slicedToArray2.default)(_useInViewport, 1),
45
+ inViewport = _useInViewport2[0];
46
+ var pageData = (0, _ContextProvider.useGet)();
47
+ var _useRequest = (0, _ahooks.useRequest)(_apiUrl.fetchHistoryVersionList, {
48
+ manual: true,
49
+ onSuccess: function onSuccess(_ref2) {
50
+ var code = _ref2.code,
51
+ list = _ref2.list,
52
+ detail = _ref2.detail;
53
+ if (code === 1) {
54
+ versionListRef.current = list.map(function (id) {
55
+ return detail[id];
56
+ });
57
+ setVersionList(versionListRef.current);
58
+ }
59
+ }
60
+ }),
61
+ loading = _useRequest.loading,
62
+ runFetchHistoryVersionList = _useRequest.run;
63
+ var _useRequest2 = (0, _ahooks.useRequest)(_apiUrl.fetchAddHistoryVersion, {
64
+ manual: true,
65
+ onSuccess: function onSuccess(_ref3) {
66
+ var code = _ref3.code;
67
+ if (code === 1) {
68
+ setVisible(false);
69
+ runFetchHistoryVersionList({
70
+ pageCode: (0, _helper.getLDMetaAttr)('pageCode')
71
+ });
72
+ }
73
+ }
74
+ }),
75
+ addLoading = _useRequest2.loading,
76
+ runFetchAddHistoryVersion = _useRequest2.run;
77
+ var _useRequest3 = (0, _ahooks.useRequest)(_apiUrl.fetchDelHistoryVersion, {
78
+ manual: true,
79
+ onSuccess: function onSuccess(_ref4) {
80
+ var code = _ref4.code;
81
+ if (code === 1) {
82
+ runFetchHistoryVersionList({
83
+ pageCode: (0, _helper.getLDMetaAttr)('pageCode')
84
+ });
85
+ }
86
+ }
87
+ }),
88
+ deleteLoading = _useRequest3.loading,
89
+ runFetchDelHistoryVersion = _useRequest3.run;
90
+ var _useRequest4 = (0, _ahooks.useRequest)(_apiUrl.fetchRecoverHistoryVersion, {
91
+ manual: true,
92
+ onSuccess: function onSuccess(_ref5) {
93
+ var code = _ref5.code;
94
+ return code === 1 && window.location.reload();
95
+ }
96
+ }),
97
+ runFetchRecoverHistoryVersion = _useRequest4.run;
98
+ var handleSearch = (0, _ahooks.useMemoizedFn)(function (value) {
99
+ if ((0, _lodash.isNil)(value)) {
100
+ setVersionList(versionListRef.current);
101
+ } else {
102
+ setVersionList(versionListRef.current.filter(function (item) {
103
+ return JSON.stringify(item).includes(value);
104
+ }));
105
+ }
106
+ });
107
+ var handleAddVersion = (0, _ahooks.useMemoizedFn)(function () {
108
+ form.validateFields(function (err, values) {
109
+ if (!err) {
110
+ runFetchAddHistoryVersion({
111
+ pageCode: (0, _helper.getLDMetaAttr)('pageCode'),
112
+ backupName: values.title,
113
+ backupNote: values.note
114
+ });
115
+ }
116
+ });
117
+ });
118
+ var handleDeleteVersion = (0, _ahooks.useMemoizedFn)(function (item) {
119
+ (0, _base.recheck)({
120
+ title: "".concat((0, _utils.formatMessage)({
121
+ id: 'luckda.lowcode.version.delete',
122
+ label: '你确定要删除该历史版本吗?'
123
+ })),
124
+ checkWords: "".concat(item.backupName, "(").concat(item.backupUserName, ")"),
125
+ cancelText: (0, _utils.formatMessage)({
126
+ id: 'app.base.operate.cancel'
127
+ }),
128
+ okText: (0, _utils.formatMessage)({
129
+ id: 'app.base.operate.ok'
130
+ }),
131
+ onOk: function onOk() {
132
+ runFetchDelHistoryVersion({
133
+ uid: item.id
134
+ });
135
+ }
136
+ });
137
+ });
138
+ var handleRecoverVersion = (0, _ahooks.useMemoizedFn)(function () {
139
+ (0, _base.recheck)({
140
+ title: "".concat((0, _utils.formatMessage)({
141
+ id: 'luckda.lowcode.version.confirm.recover',
142
+ label: '你确定要还原到该历史版本吗?'
143
+ })),
144
+ checkWords: "".concat(version.backupName, "(").concat(version.backupUserName, ")"),
145
+ cancelText: (0, _utils.formatMessage)({
146
+ id: 'app.base.operate.cancel'
147
+ }),
148
+ okText: (0, _utils.formatMessage)({
149
+ id: 'luckda.lowcode.version.recover',
150
+ label: '还原版本'
151
+ }),
152
+ onOk: function onOk() {
153
+ return runFetchRecoverHistoryVersion({
154
+ uid: version.id
155
+ });
156
+ }
157
+ });
158
+ });
159
+ var handleUseVersion = (0, _ahooks.useMemoizedFn)(function () {
160
+ var code = editorRef.current.getModel().modified.getValue();
161
+ try {
162
+ var data = JSON.parse(code);
163
+ (0, _ContextProvider.resetPageData)(data);
164
+ setVersion(null);
165
+ } catch (e) {
166
+ console.error(e);
167
+ message.warning((0, _utils.formatMessage)({
168
+ id: 'luckda.lowcode.error.pagedata',
169
+ label: '页面数据错误'
170
+ }));
171
+ }
172
+ });
173
+ (0, _react.useEffect)(function () {
174
+ if (inViewport) {
175
+ runFetchHistoryVersionList({
176
+ pageCode: (0, _helper.getLDMetaAttr)('pageCode')
177
+ });
178
+ }
179
+ }, [inViewport]);
180
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
181
+ ref: ref,
182
+ className: _history.default['lc-painter-history']
183
+ }, /*#__PURE__*/_react.default.createElement("div", {
184
+ className: _history.default.historyToolbar
185
+ }, /*#__PURE__*/_react.default.createElement(_antd.Input.Search, {
186
+ placeholder: (0, _utils.formatMessage)({
187
+ id: 'luckda.lowcode.version.placeholder.search',
188
+ label: '请输入查询内容'
189
+ }),
190
+ size: "small",
191
+ onSearch: handleSearch
192
+ }), /*#__PURE__*/_react.default.createElement(_antd.Button, {
193
+ type: "primary",
194
+ icon: "plus",
195
+ size: "small",
196
+ style: {
197
+ marginLeft: '8px',
198
+ flexShrink: 0
199
+ },
200
+ onClick: function onClick() {
201
+ return setVisible(true);
202
+ }
203
+ })), /*#__PURE__*/_react.default.createElement(_antd.Spin, {
204
+ spinning: loading || deleteLoading
205
+ }, /*#__PURE__*/_react.default.createElement(_antd.Timeline, null, versionList.map(function (item) {
206
+ return /*#__PURE__*/_react.default.createElement(_antd.Timeline.Item, {
207
+ className: _history.default.timelineItem
208
+ }, /*#__PURE__*/_react.default.createElement("div", {
209
+ className: _history.default.timelineItemHeader
210
+ }, /*#__PURE__*/_react.default.createElement("div", null, item.backupName), /*#__PURE__*/_react.default.createElement("div", {
211
+ className: _history.default.timelineItemActions
212
+ }, /*#__PURE__*/_react.default.createElement(_TipIcon.default, {
213
+ title: (0, _utils.formatMessage)({
214
+ id: 'app.base.operate.delete',
215
+ label: '删除'
216
+ }),
217
+ type: "delete",
218
+ style: {
219
+ color: 'var(--luck-color-danger)',
220
+ marginRight: 8
221
+ },
222
+ onClick: function onClick() {
223
+ return handleDeleteVersion(item);
224
+ }
225
+ }), /*#__PURE__*/_react.default.createElement(_TipIcon.default, {
226
+ title: (0, _utils.formatMessage)({
227
+ id: 'luckda.lowcode.version.diff',
228
+ label: '差异比对'
229
+ }),
230
+ type: "swap",
231
+ onClick: function onClick() {
232
+ ctx.$publisher(ctx.topics.COMPONENT_ACTIVE, null);
233
+ setVersion(item);
234
+ }
235
+ }))), /*#__PURE__*/_react.default.createElement("div", {
236
+ className: _history.default.timelineItemUser
237
+ }, /*#__PURE__*/_react.default.createElement(_antd.Avatar, {
238
+ style: {
239
+ backgroundColor: 'var(--luck-ant-colorful-primary)',
240
+ verticalAlign: 'middle',
241
+ marginRight: '8px'
242
+ }
243
+ }, item.backupUserName.slice(-1)), item.backupUserName), /*#__PURE__*/_react.default.createElement("div", {
244
+ className: _history.default.timelineItemTime
245
+ }, (0, _moment.default)(item.backupTime).fromNow()));
246
+ })))), /*#__PURE__*/_react.default.createElement(_luckDesign.LuckModal, {
247
+ title: "".concat(version === null || version === void 0 ? void 0 : version.backupName, "(").concat(version === null || version === void 0 ? void 0 : version.backupUserName, ") \u21CB \u5F53\u524D\u7248\u672C"),
248
+ width: "80vw",
249
+ height: "80vh",
250
+ visible: !(0, _lodash.isNil)(version),
251
+ fullScreen: true,
252
+ getContainer: function getContainer() {
253
+ return document.getElementById('lc-design-workspace');
254
+ },
255
+ okText: (0, _utils.formatMessage)({
256
+ id: 'luckda.lowcode.version.recover',
257
+ label: '还原版本'
258
+ }),
259
+ cancelText: (0, _utils.formatMessage)({
260
+ id: 'luckda.lowcode.version.use',
261
+ label: '使用'
262
+ }),
263
+ cancelButtonProps: {
264
+ onClick: handleUseVersion
265
+ },
266
+ onOk: handleRecoverVersion,
267
+ onClose: function onClose() {
268
+ return setVersion(null);
269
+ }
270
+ }, /*#__PURE__*/_react.default.createElement(_DiffEditor.default, {
271
+ ref: editorRef,
272
+ language: "json",
273
+ originalCode: version ? JSON.stringify((0, _dataProcess.decompress)(version === null || version === void 0 ? void 0 : version.pageData), null, '\t') : '',
274
+ modifiedCode: JSON.stringify(pageData, null, '\t')
275
+ })), /*#__PURE__*/_react.default.createElement(_luckDesign.LuckModal, {
276
+ title: (0, _utils.formatMessage)({
277
+ id: 'luckda.lowcode.version.add',
278
+ label: '添加到历史版本'
279
+ }),
280
+ size: "small",
281
+ visible: visible,
282
+ okButtonProps: {
283
+ loading: addLoading
284
+ },
285
+ onOk: handleAddVersion,
286
+ onClose: function onClose() {
287
+ return setVisible(false);
288
+ }
289
+ }, /*#__PURE__*/_react.default.createElement(_antd.Form, null, /*#__PURE__*/_react.default.createElement(_antd.Form.Item, null, form.getFieldDecorator('title', {
290
+ rules: [{
291
+ required: true
292
+ }]
293
+ })( /*#__PURE__*/_react.default.createElement(_antd.Input, {
294
+ placeholder: (0, _utils.formatMessage)({
295
+ id: 'luckda.lowcode.version.placeholder.title',
296
+ label: '请输入版本标题'
297
+ })
298
+ }))), /*#__PURE__*/_react.default.createElement(_antd.Form.Item, null, form.getFieldDecorator('note')( /*#__PURE__*/_react.default.createElement(_antd.Input.TextArea, {
299
+ rows: 6,
300
+ placeholder: (0, _utils.formatMessage)({
301
+ id: 'luckda.lowcode.version.placeholder.note',
302
+ label: '请输入版本描述'
303
+ })
304
+ }))))));
305
+ };
306
+ var _default = exports.default = _antd.Form.create({
307
+ name: 'version_form'
308
+ })(History);
@@ -15,6 +15,7 @@ var _antd = require("luck-design/antd");
15
15
  var _Outline = _interopRequireDefault(require("./Outline"));
16
16
  var _Components = _interopRequireDefault(require("./Components"));
17
17
  var _I18n = _interopRequireDefault(require("./I18n"));
18
+ var _History = _interopRequireDefault(require("./History"));
18
19
  var _utils = require("@luck-design-biz/base/utils");
19
20
  var _expect = _interopRequireDefault(require("./expect"));
20
21
  var _ribbon = _interopRequireDefault(require("./style/ribbon.less"));
@@ -55,6 +56,12 @@ var _DRAWER_I18N_ = {
55
56
  title: '多语言文案管理',
56
57
  fix: false
57
58
  };
59
+ var _DRAWER_HISTORY_ = {
60
+ width: 240,
61
+ key: 'history',
62
+ title: '版本历史',
63
+ fix: false
64
+ };
58
65
  var Ribbon = function Ribbon() {
59
66
  var _useState = (0, _react.useState)(null),
60
67
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -114,6 +121,21 @@ var Ribbon = function Ribbon() {
114
121
  onClick: function onClick() {
115
122
  return setDrawer((drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_I18N_.key ? null : _DRAWER_I18N_);
116
123
  }
124
+ })), /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
125
+ placement: "right",
126
+ title: (0, _utils.formatMessage)({
127
+ id: 'luckda.lowcode.history',
128
+ label: _DRAWER_HISTORY_.title
129
+ })
130
+ }, /*#__PURE__*/_react.default.createElement(_antd.Icon, {
131
+ type: "history",
132
+ style: {
133
+ color: (drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_HISTORY_.key && '#1d79f2',
134
+ fontSize: 20
135
+ },
136
+ onClick: function onClick() {
137
+ return setDrawer((drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_HISTORY_.key ? null : _DRAWER_HISTORY_);
138
+ }
117
139
  }))), /*#__PURE__*/_react.default.createElement(_antd.Drawer, (0, _extends2.default)({
118
140
  title: drawer ? (0, _utils.formatMessage)({
119
141
  id: "luckda.lowcode.".concat(drawer.key),
@@ -158,6 +180,20 @@ var Ribbon = function Ribbon() {
158
180
  style: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _DRAWER_PROPS.style), {}, {
159
181
  display: (drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_I18N_.key ? 'block' : 'none'
160
182
  })
161
- }), /*#__PURE__*/_react.default.createElement(_expect.default, null)));
183
+ }), /*#__PURE__*/_react.default.createElement(_expect.default, null)), /*#__PURE__*/_react.default.createElement(_antd.Drawer, (0, _extends2.default)({
184
+ title: drawer ? (0, _utils.formatMessage)({
185
+ id: "luckda.lowcode.".concat(drawer.key),
186
+ label: drawer.title
187
+ }) : '',
188
+ width: (drawer === null || drawer === void 0 ? void 0 : drawer.width) || 0,
189
+ visible: (drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_HISTORY_.key,
190
+ onClose: function onClose() {
191
+ return setDrawer(null);
192
+ }
193
+ }, _DRAWER_PROPS, {
194
+ style: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _DRAWER_PROPS.style), {}, {
195
+ display: (drawer === null || drawer === void 0 ? void 0 : drawer.key) === _DRAWER_HISTORY_.key ? 'block' : 'none'
196
+ })
197
+ }), /*#__PURE__*/_react.default.createElement(_History.default, null)));
162
198
  };
163
199
  var _default = exports.default = Ribbon;
@@ -28,7 +28,7 @@ var _I18N_PREFIX_ = 'luckda.lowcode.painter.advancePanel';
28
28
  var EventItem = _styledComponents.default.div.withConfig({
29
29
  displayName: "EventItem",
30
30
  componentId: "luckda-6530__sc-6426fo-0"
31
- })(["display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border:1px solid #e5e6e8;border-radius:6px;margin-bottom:6px;font-size:12px;i{color:rgba(0,0,0,0.4);cursor:pointer;}i:not(:last-child){margin-right:6px;}"]);
31
+ })(["display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border:1px solid #e5e6e8;border-radius:6px;margin-bottom:6px;font-size:12px;i{color:var(--ant-text-color);cursor:pointer;}i:not(:last-child){margin-right:6px;}"]);
32
32
  var _DEFAULT_FUNC_ = 'function isTrue() {\n return true; \n}';
33
33
  var AdvancePanel = function AdvancePanel(_ref) {
34
34
  var _value$render2, _Map$get;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var monaco = _interopRequireWildcard(require("monaco-editor"));
12
+ var _useCombinedRefs = _interopRequireDefault(require("../../../engine/tools/useCombinedRefs"));
13
+ var DiffEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
14
+ var originalCode = _ref.originalCode,
15
+ modifiedCode = _ref.modifiedCode,
16
+ _ref$language = _ref.language,
17
+ language = _ref$language === void 0 ? 'javascript' : _ref$language,
18
+ _ref$options = _ref.options,
19
+ options = _ref$options === void 0 ? {} : _ref$options;
20
+ var containerRef = (0, _react.useRef)(null);
21
+ var editorRef = (0, _useCombinedRefs.default)(ref);
22
+ (0, _react.useEffect)(function () {
23
+ if (containerRef.current) {
24
+ editorRef.current = monaco.editor.createDiffEditor(containerRef.current, (0, _objectSpread2.default)({
25
+ language: language,
26
+ automaticLayout: true,
27
+ autoIndent: true,
28
+ tabSize: 2
29
+ }, options));
30
+ editorRef.current.setModel({
31
+ original: monaco.editor.createModel(originalCode, language),
32
+ modified: monaco.editor.createModel(modifiedCode, language)
33
+ });
34
+ }
35
+ return function () {
36
+ if (editorRef.current) {
37
+ editorRef.current.dispose();
38
+ }
39
+ };
40
+ }, []);
41
+ return /*#__PURE__*/_react.default.createElement("div", {
42
+ ref: containerRef,
43
+ style: {
44
+ width: '100%',
45
+ height: '100%'
46
+ }
47
+ });
48
+ });
49
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(DiffEditor);
@@ -28,11 +28,11 @@ var Wrapper = _styledComponents.default.div.withConfig({
28
28
  var Title = _styledComponents.default.p.withConfig({
29
29
  displayName: "Title",
30
30
  componentId: "luckda-6530__sc-rwt684-1"
31
- })(["font-weight:700;margin-bottom:8px;color:rgba(0,0,0,0.8);display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;justify-content:space-between;"]);
31
+ })(["font-weight:700;margin-bottom:8px;color:var(--ant-text-color);display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;justify-content:space-between;"]);
32
32
  var LeftBox = _styledComponents.default.div.withConfig({
33
33
  displayName: "LeftBox",
34
34
  componentId: "luckda-6530__sc-rwt684-2"
35
- })(["width:100%;flex:1;border:1px solid #e5e6e8;border-radius:6px;"]);
35
+ })(["width:100%;flex:1;border:1px solid #e5e6e8;border-radius:6px;overflow:hidden;"]);
36
36
  var Option = _styledComponents.default.div.withConfig({
37
37
  displayName: "Option",
38
38
  componentId: "luckda-6530__sc-rwt684-3"
@@ -417,7 +417,6 @@ var SettingUI = function SettingUI(_ref) {
417
417
  onChange: function onChange(val) {
418
418
  return run('render', val);
419
419
  },
420
- isjsx: true,
421
420
  defaultCode: _DEFAULT_RENDER_CODE
422
421
  })) : null, /*#__PURE__*/_react.default.createElement(_Collapse.default, {
423
422
  label: (0, _utils.formatMessage)({