@luck-design-biz/luckda 1.0.0-5-alpha → 1.0.0-6-alpha
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.
- package/es/components/ComplexItem/index.js +65 -49
- package/es/components/LdGridForm/index.js +2 -1
- package/es/helper/ldBuilder.js +8 -3
- package/es/locales/zh-CN.js +35 -0
- package/es/lowcode/engine/meta/fieldcomplex.props.default.json +1 -0
- package/es/lowcode/engine/meta/fieldcomplex.props.json +7 -0
- package/es/lowcode/engine/meta/form.props.json +3 -3
- package/es/lowcode/engine/meta/js-editor/auto-complete.json +18 -0
- package/es/lowcode/engine/meta/page.props.json +6 -0
- package/es/lowcode/engine/provider/ContextProvider/index.js +28 -5
- package/es/lowcode/engine/provider/ContextProvider/router.js +1 -1
- package/es/lowcode/engine/{tools → provider/ContextProvider}/usePageDataStore.js +9 -7
- package/es/lowcode/engine/{tools → provider/ContextProvider}/useTodo.js +4 -6
- package/es/lowcode/engine/provider/RemoteSourceProvider.js +1 -2
- package/es/lowcode/engine/tools/helper.js +7 -2
- package/es/lowcode/engine/tools/initDS.js +263 -0
- package/es/lowcode/engine/tools/useCombinedRefs.js +3 -2
- package/es/lowcode/painter/components/TipIcon.js +16 -0
- package/es/lowcode/painter/components/VarEditor.js +456 -0
- package/es/lowcode/painter/components/code-editor/JSEditor.js +3 -1
- package/es/lowcode/painter/components/code-editor/VisionEditor.js +81 -0
- package/es/lowcode/painter/components/field-setting/SettingUI.js +17 -3
- package/es/lowcode/painter/components/field-setting/index.js +1 -1
- package/es/lowcode/painter/index.js +1 -0
- package/es/lowcode/painter/panel-section/ComplexPop.js +241 -0
- package/es/lowcode/painter/panel-section/DataSetSelector.js +8 -0
- package/es/lowcode/painter/panel-section/FieldsSetting.js +9 -1
- package/es/lowcode/painter/panel-section/ImpExp.js +1 -27
- package/es/lowcode/painter/panel-section/PageVars.js +296 -0
- package/es/lowcode/painter/services/complexPop.js +21 -0
- package/es/lowcode/painter/style/page-vars.less +25 -0
- package/es/lowcode/preview/index.js +1 -0
- package/es/lowcode/view/Canvas.js +11 -34
- package/es/lowcode/view/Loading.js +5 -7
- package/es/lowcode/view/Page.js +37 -15
- package/es/lowcode/view/index.js +1 -0
- package/es/lowcode/view/lc-components/FieldComplex/meta.json +7 -0
- package/es/lowcode/view/lc-components/Form/index.js +11 -4
- package/es/lowcode/view/lc-components/Form/meta.json +3 -3
- package/es/lowcode/view/lc-components/Page/meta.json +6 -0
- package/es/lowcode/view/lc-components/Table/index.js +17 -3
- package/es/lowcode/view/style/loading.less +14 -0
- package/es/utils/form.js +3 -3
- package/es/utils/grid.js +1 -1
- package/lib/components/ComplexItem/index.js +62 -47
- package/lib/components/LdGridForm/index.js +2 -1
- package/lib/helper/ldBuilder.js +8 -3
- package/lib/locales/zh-CN.js +35 -0
- package/lib/lowcode/engine/meta/fieldcomplex.props.default.json +1 -0
- package/lib/lowcode/engine/meta/fieldcomplex.props.json +7 -0
- package/lib/lowcode/engine/meta/form.props.json +3 -3
- package/lib/lowcode/engine/meta/js-editor/auto-complete.json +18 -0
- package/lib/lowcode/engine/meta/page.props.json +6 -0
- package/lib/lowcode/engine/provider/ContextProvider/index.js +29 -12
- package/lib/lowcode/engine/provider/ContextProvider/router.js +1 -1
- package/lib/lowcode/engine/{tools → provider/ContextProvider}/usePageDataStore.js +9 -7
- package/lib/lowcode/engine/{tools → provider/ContextProvider}/useTodo.js +4 -6
- package/lib/lowcode/engine/provider/RemoteSourceProvider.js +2 -3
- package/lib/lowcode/engine/tools/helper.js +7 -2
- package/lib/lowcode/engine/tools/initDS.js +270 -0
- package/lib/lowcode/engine/tools/useCombinedRefs.js +2 -1
- package/lib/lowcode/painter/components/TipIcon.js +23 -0
- package/lib/lowcode/painter/components/VarEditor.js +463 -0
- package/lib/lowcode/painter/components/code-editor/JSEditor.js +3 -1
- package/lib/lowcode/painter/components/code-editor/VisionEditor.js +88 -0
- package/lib/lowcode/painter/components/field-setting/SettingUI.js +17 -3
- package/lib/lowcode/painter/components/field-setting/index.js +1 -1
- package/lib/lowcode/painter/index.js +1 -0
- package/lib/lowcode/painter/panel-section/ComplexPop.js +249 -0
- package/lib/lowcode/painter/panel-section/DataSetSelector.js +8 -0
- package/lib/lowcode/painter/panel-section/FieldsSetting.js +9 -1
- package/lib/lowcode/painter/panel-section/ImpExp.js +0 -26
- package/lib/lowcode/painter/panel-section/PageVars.js +304 -0
- package/lib/lowcode/painter/services/complexPop.js +28 -0
- package/lib/lowcode/painter/style/page-vars.less +25 -0
- package/lib/lowcode/preview/index.js +1 -0
- package/lib/lowcode/view/Canvas.js +12 -35
- package/lib/lowcode/view/Loading.js +5 -7
- package/lib/lowcode/view/Page.js +35 -13
- package/lib/lowcode/view/index.js +1 -0
- package/lib/lowcode/view/lc-components/FieldComplex/meta.json +7 -0
- package/lib/lowcode/view/lc-components/Form/index.js +11 -4
- package/lib/lowcode/view/lc-components/Form/meta.json +3 -3
- package/lib/lowcode/view/lc-components/Page/meta.json +6 -0
- package/lib/lowcode/view/lc-components/Table/index.js +18 -4
- package/lib/lowcode/view/style/loading.less +14 -0
- package/lib/utils/form.js +2 -2
- package/lib/utils/grid.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _ahooks = require("ahooks");
|
|
15
|
+
var _lodash = require("lodash");
|
|
16
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
|
+
var _antd = require("luck-design/antd");
|
|
18
|
+
var _utils = require("@luck-design-biz/base/utils");
|
|
19
|
+
var _ListEditor = require("../components/ListEditor");
|
|
20
|
+
var _Collapse = _interopRequireDefault(require("../components/Collapse"));
|
|
21
|
+
var _SortBox = require("../components/SortBox");
|
|
22
|
+
var _PanelItem = _interopRequireDefault(require("@luck-design-biz/luckda/lowcode/painter/components/PanelItem"));
|
|
23
|
+
var _complexPop = require("../services/complexPop");
|
|
24
|
+
var _excluded = ["field", "fieldName", "renderItemRight", "onChange", "sortable", "editable"];
|
|
25
|
+
var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.complexPop';
|
|
26
|
+
var DividerSpan = _styledComponents.default.span.withConfig({
|
|
27
|
+
displayName: "DividerSpan",
|
|
28
|
+
componentId: "luckda-6530__sc-lmsle1-0"
|
|
29
|
+
})(["font-size:12px;color:var(--luck-text-color);"]);
|
|
30
|
+
var FieldKey = _styledComponents.default.div.withConfig({
|
|
31
|
+
displayName: "FieldKey",
|
|
32
|
+
componentId: "luckda-6530__sc-lmsle1-1"
|
|
33
|
+
})(["width:200px;margin-left:4px;display:inline-block;white-space:nowrap;word-break:keep-all;text-overflow:ellipsis;overflow:hidden;"]);
|
|
34
|
+
var ListItem = function ListItem(_ref) {
|
|
35
|
+
var field = _ref.field,
|
|
36
|
+
fieldName = _ref.fieldName,
|
|
37
|
+
renderItemRight = _ref.renderItemRight,
|
|
38
|
+
_onChange = _ref.onChange,
|
|
39
|
+
sortable = _ref.sortable,
|
|
40
|
+
editable = _ref.editable,
|
|
41
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
42
|
+
return /*#__PURE__*/_react.default.createElement(_ListEditor.ListEditorItem, (0, _extends2.default)({
|
|
43
|
+
key: field,
|
|
44
|
+
left: /*#__PURE__*/_react.default.createElement(_antd.Tooltip, {
|
|
45
|
+
title: field
|
|
46
|
+
}, editable ? /*#__PURE__*/_react.default.createElement(_antd.Input, {
|
|
47
|
+
value: fieldName,
|
|
48
|
+
size: "small",
|
|
49
|
+
style: {
|
|
50
|
+
width: '200px'
|
|
51
|
+
},
|
|
52
|
+
onChange: function onChange(e) {
|
|
53
|
+
return _onChange(field, e.target.value);
|
|
54
|
+
}
|
|
55
|
+
}) : /*#__PURE__*/_react.default.createElement(FieldKey, null, " ", fieldName, " ")),
|
|
56
|
+
right: renderItemRight({
|
|
57
|
+
field: field,
|
|
58
|
+
title: fieldName
|
|
59
|
+
}),
|
|
60
|
+
item: field,
|
|
61
|
+
sortable: sortable
|
|
62
|
+
}, props));
|
|
63
|
+
};
|
|
64
|
+
var ComplexPop = function ComplexPop(_ref2) {
|
|
65
|
+
var nodeId = _ref2.nodeId,
|
|
66
|
+
settings = _ref2.settings,
|
|
67
|
+
defaultValue = _ref2.defaultValue,
|
|
68
|
+
onChange = _ref2.onChange;
|
|
69
|
+
var _useState = (0, _react.useState)(defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.show),
|
|
70
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
71
|
+
show = _useState2[0],
|
|
72
|
+
setShow = _useState2[1];
|
|
73
|
+
var _useState3 = (0, _react.useState)((defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.fields) || []),
|
|
74
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
75
|
+
fields = _useState4[0],
|
|
76
|
+
setFields = _useState4[1];
|
|
77
|
+
var _useState5 = (0, _react.useState)(null),
|
|
78
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
79
|
+
allFields = _useState6[0],
|
|
80
|
+
setAllFields = _useState6[1];
|
|
81
|
+
var _useCreation = (0, _ahooks.useCreation)(function () {
|
|
82
|
+
var _nodeId$split = nodeId.split('.'),
|
|
83
|
+
_nodeId$split2 = (0, _slicedToArray2.default)(_nodeId$split, 3),
|
|
84
|
+
_ = _nodeId$split2[0],
|
|
85
|
+
blockid = _nodeId$split2[1],
|
|
86
|
+
fieldid = _nodeId$split2[2];
|
|
87
|
+
var blocksObj = (0, _lodash.keyBy)(settings === null || settings === void 0 ? void 0 : settings.blocks, 'id');
|
|
88
|
+
if (blocksObj[blockid]) {
|
|
89
|
+
var _fieldObj$fieldid;
|
|
90
|
+
var fieldObj = (0, _lodash.keyBy)(blocksObj[blockid].fields, 'field');
|
|
91
|
+
return ((_fieldObj$fieldid = fieldObj[fieldid]) === null || _fieldObj$fieldid === void 0 ? void 0 : _fieldObj$fieldid.complexConfig) || {};
|
|
92
|
+
}
|
|
93
|
+
return {};
|
|
94
|
+
}, [nodeId, settings === null || settings === void 0 ? void 0 : settings.blocks]),
|
|
95
|
+
isTree = _useCreation.isTree,
|
|
96
|
+
datasetKey = _useCreation.datasetKey,
|
|
97
|
+
dataModelKey = _useCreation.dataModelKey;
|
|
98
|
+
(0, _react.useEffect)(function () {
|
|
99
|
+
if (!isTree && show && datasetKey && dataModelKey && !allFields) {
|
|
100
|
+
(0, _complexPop.getFields)({
|
|
101
|
+
datasetCode: datasetKey,
|
|
102
|
+
dataModelKey: dataModelKey
|
|
103
|
+
}).then(function (res) {
|
|
104
|
+
var code = res.code,
|
|
105
|
+
data = res.data;
|
|
106
|
+
if (code === 1) {
|
|
107
|
+
var _data = (0, _lodash.reduce)(data, function (result, item) {
|
|
108
|
+
result[item.field] = item.field_name;
|
|
109
|
+
return result;
|
|
110
|
+
}, {});
|
|
111
|
+
setAllFields(_data);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}, [isTree, show, datasetKey, dataModelKey, allFields]);
|
|
116
|
+
(0, _react.useLayoutEffect)(function () {
|
|
117
|
+
onChange({
|
|
118
|
+
show: show,
|
|
119
|
+
fields: fields
|
|
120
|
+
});
|
|
121
|
+
}, [show, fields]);
|
|
122
|
+
var renderItemDeleteRight = (0, _ahooks.useMemoizedFn)(function (data) {
|
|
123
|
+
return /*#__PURE__*/_react.default.createElement(_antd.Icon, {
|
|
124
|
+
type: "delete",
|
|
125
|
+
style: {
|
|
126
|
+
margin: '0 4px',
|
|
127
|
+
cursor: 'pointer',
|
|
128
|
+
color: 'var(--luck-color-danger)'
|
|
129
|
+
},
|
|
130
|
+
onClick: function onClick() {
|
|
131
|
+
var _fields = (0, _lodash.cloneDeep)(fields);
|
|
132
|
+
(0, _lodash.remove)(_fields, function (item) {
|
|
133
|
+
return item.field === data.field;
|
|
134
|
+
});
|
|
135
|
+
setFields(_fields);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
var renderItemAddRight = (0, _ahooks.useMemoizedFn)(function (data) {
|
|
140
|
+
return /*#__PURE__*/_react.default.createElement(_antd.Icon, {
|
|
141
|
+
type: "plus-circle",
|
|
142
|
+
style: {
|
|
143
|
+
margin: '0 4px',
|
|
144
|
+
cursor: 'pointer',
|
|
145
|
+
color: 'var(--ant-primary-color)'
|
|
146
|
+
},
|
|
147
|
+
onClick: function onClick() {
|
|
148
|
+
return setFields(fields.concat(data));
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
var handleChange = (0, _ahooks.useMemoizedFn)(function (field, value) {
|
|
153
|
+
setFields(fields.map(function (item) {
|
|
154
|
+
return item.field === field ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
|
|
155
|
+
title: value
|
|
156
|
+
}) : item;
|
|
157
|
+
}));
|
|
158
|
+
});
|
|
159
|
+
var handleSortFields = (0, _ahooks.useMemoizedFn)(function (sortItems) {
|
|
160
|
+
var oldItems = (0, _lodash.cloneDeep)(fields);
|
|
161
|
+
var newItems = oldItems.sort(function (a, b) {
|
|
162
|
+
var indexA = sortItems.indexOf(a.field);
|
|
163
|
+
var indexB = sortItems.indexOf(b.field);
|
|
164
|
+
return indexA - indexB;
|
|
165
|
+
});
|
|
166
|
+
setFields(newItems);
|
|
167
|
+
});
|
|
168
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_PanelItem.default, {
|
|
169
|
+
label: (0, _utils.formatMessage)({
|
|
170
|
+
id: "".concat(_I18N_PREFIX_, ".assisted"),
|
|
171
|
+
label: "辅助选择"
|
|
172
|
+
})
|
|
173
|
+
}, /*#__PURE__*/_react.default.createElement(_antd.Switch, {
|
|
174
|
+
size: "small",
|
|
175
|
+
defaultChecked: defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.show,
|
|
176
|
+
onChange: function onChange(val) {
|
|
177
|
+
setShow(val);
|
|
178
|
+
if (!val) setFields([]);
|
|
179
|
+
}
|
|
180
|
+
})), !isTree && show && /*#__PURE__*/_react.default.createElement(_Collapse.default, {
|
|
181
|
+
label: (0, _utils.formatMessage)({
|
|
182
|
+
id: "".concat(_I18N_PREFIX_, ".assistedGrid"),
|
|
183
|
+
label: '辅助弹窗显示字段'
|
|
184
|
+
})
|
|
185
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
186
|
+
style: {
|
|
187
|
+
height: 'auto',
|
|
188
|
+
padding: '0 16px'
|
|
189
|
+
}
|
|
190
|
+
}, /*#__PURE__*/_react.default.createElement(_antd.Spin, {
|
|
191
|
+
spinning: !allFields
|
|
192
|
+
}, /*#__PURE__*/_react.default.createElement(_antd.Divider, {
|
|
193
|
+
orientation: "left",
|
|
194
|
+
style: {
|
|
195
|
+
marginTop: 0
|
|
196
|
+
}
|
|
197
|
+
}, /*#__PURE__*/_react.default.createElement(DividerSpan, null, (0, _utils.formatMessage)({
|
|
198
|
+
id: "".concat(_I18N_PREFIX_, ".assistedGridFields"),
|
|
199
|
+
label: '展示区'
|
|
200
|
+
}))), /*#__PURE__*/_react.default.createElement(_SortBox.SortBox, {
|
|
201
|
+
datas: fields.map(function (f) {
|
|
202
|
+
return f.field;
|
|
203
|
+
}),
|
|
204
|
+
onChange: handleSortFields
|
|
205
|
+
}, /*#__PURE__*/_react.default.createElement(_ListEditor.ListEditor, {
|
|
206
|
+
style: {
|
|
207
|
+
marginTop: 8
|
|
208
|
+
},
|
|
209
|
+
suppressAdd: true
|
|
210
|
+
}, fields.map(function (_ref3) {
|
|
211
|
+
var field = _ref3.field,
|
|
212
|
+
title = _ref3.title;
|
|
213
|
+
return /*#__PURE__*/_react.default.createElement(_SortBox.SortItem, {
|
|
214
|
+
key: field,
|
|
215
|
+
id: field
|
|
216
|
+
}, /*#__PURE__*/_react.default.createElement(ListItem, {
|
|
217
|
+
field: field,
|
|
218
|
+
fieldName: title,
|
|
219
|
+
renderItemRight: renderItemDeleteRight,
|
|
220
|
+
sortable: true,
|
|
221
|
+
editable: true,
|
|
222
|
+
onChange: handleChange
|
|
223
|
+
}));
|
|
224
|
+
}))), /*#__PURE__*/_react.default.createElement(_antd.Divider, {
|
|
225
|
+
orientation: "left",
|
|
226
|
+
style: {
|
|
227
|
+
marginTop: 0
|
|
228
|
+
}
|
|
229
|
+
}, /*#__PURE__*/_react.default.createElement(DividerSpan, null, (0, _utils.formatMessage)({
|
|
230
|
+
id: "".concat(_I18N_PREFIX_, ".gridFields"),
|
|
231
|
+
label: '可选区'
|
|
232
|
+
}))), /*#__PURE__*/_react.default.createElement(_ListEditor.ListEditor, {
|
|
233
|
+
style: {
|
|
234
|
+
marginTop: 8
|
|
235
|
+
},
|
|
236
|
+
suppressAdd: true
|
|
237
|
+
}, (0, _lodash.map)((0, _lodash.omit)(allFields, fields.map(function (f) {
|
|
238
|
+
return f.field;
|
|
239
|
+
})), function (fieldName, field) {
|
|
240
|
+
return /*#__PURE__*/_react.default.createElement(ListItem, {
|
|
241
|
+
key: field,
|
|
242
|
+
field: field,
|
|
243
|
+
fieldName: fieldName,
|
|
244
|
+
renderItemRight: renderItemAddRight,
|
|
245
|
+
sortable: false
|
|
246
|
+
});
|
|
247
|
+
}))))));
|
|
248
|
+
};
|
|
249
|
+
var _default = exports.default = ComplexPop;
|
|
@@ -103,6 +103,14 @@ var DataSetSelector = function DataSetSelector(_ref) {
|
|
|
103
103
|
restProps.align = alignMapping[_extra.scell_alignment];
|
|
104
104
|
restProps.headerAlign = alignMapping[_extra.sheading_alignment];
|
|
105
105
|
}
|
|
106
|
+
if (f.property === "complex") {
|
|
107
|
+
var _extra2 = JSON.parse(f.extra || '{}');
|
|
108
|
+
restProps.complexConfig = {
|
|
109
|
+
isTree: _extra2.opt_show_tree,
|
|
110
|
+
datasetKey: _extra2.opt_dataset,
|
|
111
|
+
dataModelKey: _extra2.opt_data_model
|
|
112
|
+
};
|
|
113
|
+
}
|
|
106
114
|
return (0, _objectSpread2.default)({
|
|
107
115
|
uid: f.uid,
|
|
108
116
|
field: f.field
|
|
@@ -24,7 +24,7 @@ var _apiUrl = require("../../constants/api-url");
|
|
|
24
24
|
var _helper = require("../../engine/tools/helper");
|
|
25
25
|
var _fieldsSetting = _interopRequireDefault(require("../style/fields-setting.less"));
|
|
26
26
|
var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.fieldsSetting';
|
|
27
|
-
var _PICK_KEYS_ = ['id', 'uid', 'field', 'width', 'align', 'headerAlign', 'pinned', 'tip', 'col', 'row', 'note', 'placeholder', 'fieldAliasName'];
|
|
27
|
+
var _PICK_KEYS_ = ['id', 'uid', 'field', 'width', 'align', 'headerAlign', 'pinned', 'tip', 'render', 'col', 'row', 'note', 'placeholder', 'fieldAliasName', 'complexConfig'];
|
|
28
28
|
var Header = _styledComponents.default.div.withConfig({
|
|
29
29
|
displayName: "Header",
|
|
30
30
|
componentId: "luckda-6530__sc-gcwvp1-0"
|
|
@@ -108,6 +108,14 @@ var FieldsSetting = function FieldsSetting(_ref) {
|
|
|
108
108
|
restProps.align = alignMapping[extra.scell_alignment];
|
|
109
109
|
restProps.headerAlign = alignMapping[extra.sheading_alignment];
|
|
110
110
|
}
|
|
111
|
+
if (_fieldData.property === "complex") {
|
|
112
|
+
var _extra = JSON.parse(_fieldData.extra || '{}');
|
|
113
|
+
restProps.complexConfig = {
|
|
114
|
+
isTree: _extra.opt_show_tree,
|
|
115
|
+
datasetKey: _extra.opt_dataset,
|
|
116
|
+
dataModelKey: _extra.opt_data_model
|
|
117
|
+
};
|
|
118
|
+
}
|
|
111
119
|
return (0, _objectSpread2.default)({
|
|
112
120
|
uid: id,
|
|
113
121
|
field: detail[id].field
|
|
@@ -14,7 +14,6 @@ var _utils = require("@luck-design-biz/base/utils");
|
|
|
14
14
|
var _lodash = require("lodash");
|
|
15
15
|
var _ContextProvider = require("../../engine/provider/ContextProvider");
|
|
16
16
|
var _PanelItem = _interopRequireDefault(require("../components/PanelItem"));
|
|
17
|
-
var _impexp = _interopRequireDefault(require("../style/impexp.less"));
|
|
18
17
|
var _I18N_PREFIX_ = 'luckda.lowcode.painter.panel-section.impexp';
|
|
19
18
|
var ImpExp = function ImpExp(_ref) {
|
|
20
19
|
var defaultValue = _ref.defaultValue,
|
|
@@ -34,17 +33,6 @@ var ImpExp = function ImpExp(_ref) {
|
|
|
34
33
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
35
34
|
onChange(state);
|
|
36
35
|
}, [state]);
|
|
37
|
-
var handleCheckboxChange = (0, _ahooks.useMemoizedFn)(function (e) {
|
|
38
|
-
if (e.target.value === 'import') {
|
|
39
|
-
setState({
|
|
40
|
-
import: e.target.checked
|
|
41
|
-
});
|
|
42
|
-
} else if (e.target.value === 'export') {
|
|
43
|
-
setState({
|
|
44
|
-
export: e.target.checked
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
36
|
var handleInputChange = (0, _ahooks.useMemoizedFn)(function (field, e) {
|
|
49
37
|
var value = e.target.value.trim();
|
|
50
38
|
var _val = value === '' ? true : value;
|
|
@@ -59,20 +47,6 @@ var ImpExp = function ImpExp(_ref) {
|
|
|
59
47
|
});
|
|
60
48
|
}
|
|
61
49
|
});
|
|
62
|
-
var handleSwitchChangeExport = (0, _ahooks.useMemoizedFn)(function (field, e) {
|
|
63
|
-
var _value = field;
|
|
64
|
-
setState({
|
|
65
|
-
exportType: _value,
|
|
66
|
-
export: true
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
var handleSwitchChangeImport = (0, _ahooks.useMemoizedFn)(function (field, e) {
|
|
70
|
-
var _value = field;
|
|
71
|
-
setState({
|
|
72
|
-
importType: _value,
|
|
73
|
-
import: true
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
50
|
var handleRadioChangeExport = (0, _ahooks.useMemoizedFn)(function (value, _ref2) {
|
|
77
51
|
var key = _ref2.key;
|
|
78
52
|
var _value = value;
|
|
@@ -0,0 +1,304 @@
|
|
|
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _ahooks = require("ahooks");
|
|
13
|
+
var _antd = require("luck-design/antd");
|
|
14
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
+
var _lodash = require("lodash");
|
|
16
|
+
var _utils = require("@luck-design-biz/base/utils");
|
|
17
|
+
var _SortBox = require("../components/SortBox");
|
|
18
|
+
var _ListEditor = require("../components/ListEditor");
|
|
19
|
+
var _helper = require("../../engine/tools/helper");
|
|
20
|
+
var _VarEditor = _interopRequireDefault(require("../components/VarEditor"));
|
|
21
|
+
var _TipIcon = _interopRequireDefault(require("../components/TipIcon"));
|
|
22
|
+
var _pageVars = _interopRequireDefault(require("../style/page-vars.less"));
|
|
23
|
+
var _I18N_PREFIX_ = 'luckda.lowcode.painter.pageVars';
|
|
24
|
+
var Wrapper = _styledComponents.default.div.withConfig({
|
|
25
|
+
displayName: "Wrapper",
|
|
26
|
+
componentId: "luckda-6530__sc-1qdz6c5-0"
|
|
27
|
+
})(["padding:0 12px;"]);
|
|
28
|
+
var SearchBar = _styledComponents.default.div.withConfig({
|
|
29
|
+
displayName: "SearchBar",
|
|
30
|
+
componentId: "luckda-6530__sc-1qdz6c5-1"
|
|
31
|
+
})(["display:flex;margin-bottom:8px;"]);
|
|
32
|
+
var ItemWrapper = _styledComponents.default.div.withConfig({
|
|
33
|
+
displayName: "ItemWrapper",
|
|
34
|
+
componentId: "luckda-6530__sc-1qdz6c5-2"
|
|
35
|
+
})(["display:flex;align-items:center;"]);
|
|
36
|
+
var _TYPES_ = {
|
|
37
|
+
var: {
|
|
38
|
+
name: (0, _utils.formatMessage)({
|
|
39
|
+
id: "".concat(_I18N_PREFIX_, ".var"),
|
|
40
|
+
label: '变量'
|
|
41
|
+
}),
|
|
42
|
+
color: '#87d068'
|
|
43
|
+
},
|
|
44
|
+
api: {
|
|
45
|
+
name: (0, _utils.formatMessage)({
|
|
46
|
+
id: "".concat(_I18N_PREFIX_, ".api"),
|
|
47
|
+
label: '远程 API'
|
|
48
|
+
}),
|
|
49
|
+
color: '#108ee9'
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var _TYPE_KEYS_ = Object.keys(_TYPES_);
|
|
53
|
+
var PageVars = function PageVars(_ref) {
|
|
54
|
+
var _ref$defaultValue = _ref.defaultValue,
|
|
55
|
+
defaultValue = _ref$defaultValue === void 0 ? [] : _ref$defaultValue,
|
|
56
|
+
onChange = _ref.onChange;
|
|
57
|
+
var _useReducer = (0, _react.useReducer)(_helper.listReducer, defaultValue),
|
|
58
|
+
_useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
|
|
59
|
+
vars = _useReducer2[0],
|
|
60
|
+
dispatch = _useReducer2[1];
|
|
61
|
+
var _useSetState = (0, _ahooks.useSetState)({}),
|
|
62
|
+
_useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
|
|
63
|
+
filter = _useSetState2[0],
|
|
64
|
+
setFilter = _useSetState2[1];
|
|
65
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
66
|
+
onChange(vars);
|
|
67
|
+
}, [vars]);
|
|
68
|
+
var _useState = (0, _react.useState)(null),
|
|
69
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
70
|
+
currentItem = _useState2[0],
|
|
71
|
+
setCurrentItem = _useState2[1];
|
|
72
|
+
var handleSortChange = (0, _ahooks.useMemoizedFn)(function (sortItems) {
|
|
73
|
+
dispatch({
|
|
74
|
+
type: 'sort',
|
|
75
|
+
payload: sortItems
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
var handleAdd = (0, _ahooks.useMemoizedFn)(function (_item) {
|
|
79
|
+
dispatch({
|
|
80
|
+
type: 'add',
|
|
81
|
+
payload: _item
|
|
82
|
+
});
|
|
83
|
+
setCurrentItem(_item);
|
|
84
|
+
});
|
|
85
|
+
var _useDebounceFn = (0, _ahooks.useDebounceFn)(function (keyword) {
|
|
86
|
+
return setFilter({
|
|
87
|
+
keyword: (0, _lodash.isNil)(keyword) || keyword === '' ? void 0 : keyword
|
|
88
|
+
});
|
|
89
|
+
}, {
|
|
90
|
+
wait: 400
|
|
91
|
+
}),
|
|
92
|
+
handleSearch = _useDebounceFn.run;
|
|
93
|
+
var renderItemLeft = (0, _ahooks.useMemoizedFn)(function (item) {
|
|
94
|
+
var _TYPES_$item$type = _TYPES_[item.type],
|
|
95
|
+
name = _TYPES_$item$type.name,
|
|
96
|
+
color = _TYPES_$item$type.color;
|
|
97
|
+
return /*#__PURE__*/_react.default.createElement(ItemWrapper, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
98
|
+
style: {
|
|
99
|
+
color: color
|
|
100
|
+
}
|
|
101
|
+
}, name.substring(0, 2)), /*#__PURE__*/_react.default.createElement("span", {
|
|
102
|
+
style: {
|
|
103
|
+
marginLeft: 4,
|
|
104
|
+
fontWeight: 'bold'
|
|
105
|
+
}
|
|
106
|
+
}, item.name));
|
|
107
|
+
});
|
|
108
|
+
var renderItemRight = (0, _ahooks.useMemoizedFn)(function (item) {
|
|
109
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_TipIcon.default, {
|
|
110
|
+
type: "edit",
|
|
111
|
+
onClick: function onClick() {
|
|
112
|
+
return setCurrentItem(item);
|
|
113
|
+
},
|
|
114
|
+
style: {
|
|
115
|
+
marginRight: 4,
|
|
116
|
+
cursor: 'pointer'
|
|
117
|
+
},
|
|
118
|
+
title: (0, _utils.formatMessage)({
|
|
119
|
+
id: "".concat(_I18N_PREFIX_, ".edit"),
|
|
120
|
+
label: '编辑'
|
|
121
|
+
})
|
|
122
|
+
}), /*#__PURE__*/_react.default.createElement(_TipIcon.default, {
|
|
123
|
+
type: "copy",
|
|
124
|
+
onClick: function onClick() {
|
|
125
|
+
return handleAdd((0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
|
|
126
|
+
id: (0, _utils.suid)(),
|
|
127
|
+
name: "".concat(item.name, "_copy")
|
|
128
|
+
}));
|
|
129
|
+
},
|
|
130
|
+
style: {
|
|
131
|
+
marginRight: 4,
|
|
132
|
+
cursor: 'pointer'
|
|
133
|
+
},
|
|
134
|
+
title: (0, _utils.formatMessage)({
|
|
135
|
+
id: "".concat(_I18N_PREFIX_, ".copy"),
|
|
136
|
+
label: '拷贝'
|
|
137
|
+
})
|
|
138
|
+
}), /*#__PURE__*/_react.default.createElement(_TipIcon.default, {
|
|
139
|
+
type: "delete",
|
|
140
|
+
onClick: function onClick() {
|
|
141
|
+
return _antd.Modal.confirm({
|
|
142
|
+
title: (0, _utils.formatMessage)({
|
|
143
|
+
id: "".concat(_I18N_PREFIX_, ".confirm.delete"),
|
|
144
|
+
label: "\u786E\u8BA4\u5220\u9664\u5417\uFF1F"
|
|
145
|
+
}),
|
|
146
|
+
onOk: function onOk() {
|
|
147
|
+
if (currentItem.id === item.id) {
|
|
148
|
+
setCurrentItem(null);
|
|
149
|
+
}
|
|
150
|
+
dispatch({
|
|
151
|
+
type: 'delete',
|
|
152
|
+
payload: item.id
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
},
|
|
157
|
+
style: {
|
|
158
|
+
marginRight: 4,
|
|
159
|
+
cursor: 'pointer'
|
|
160
|
+
},
|
|
161
|
+
title: (0, _utils.formatMessage)({
|
|
162
|
+
id: "".concat(_I18N_PREFIX_, ".delete"),
|
|
163
|
+
label: '删除'
|
|
164
|
+
})
|
|
165
|
+
}));
|
|
166
|
+
});
|
|
167
|
+
var menu = (0, _ahooks.useCreation)(function () {
|
|
168
|
+
return /*#__PURE__*/_react.default.createElement(_antd.Menu, {
|
|
169
|
+
onClick: function onClick(_ref2) {
|
|
170
|
+
var key = _ref2.key;
|
|
171
|
+
var id = (0, _utils.suid)();
|
|
172
|
+
handleAdd({
|
|
173
|
+
id: id,
|
|
174
|
+
type: key,
|
|
175
|
+
name: id,
|
|
176
|
+
data: (0, _objectSpread2.default)({}, {
|
|
177
|
+
api: {
|
|
178
|
+
auto: true,
|
|
179
|
+
taskType: 'parallel',
|
|
180
|
+
method: 'get'
|
|
181
|
+
}
|
|
182
|
+
}[key])
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}, _TYPE_KEYS_.map(function (key) {
|
|
186
|
+
return /*#__PURE__*/_react.default.createElement(_antd.Menu.Item, {
|
|
187
|
+
key: key
|
|
188
|
+
}, _TYPES_[key].name);
|
|
189
|
+
}));
|
|
190
|
+
}, []);
|
|
191
|
+
var _vars = (0, _ahooks.useCreation)(function () {
|
|
192
|
+
var keyword = filter.keyword,
|
|
193
|
+
type = filter.type;
|
|
194
|
+
var _vars = (0, _lodash.isNil)(type) ? vars : vars.filter(function (_item) {
|
|
195
|
+
return _item.type === type;
|
|
196
|
+
});
|
|
197
|
+
if ((0, _lodash.isNil)(keyword) || keyword === '') {
|
|
198
|
+
return _vars;
|
|
199
|
+
}
|
|
200
|
+
return (0, _lodash.reduce)(_vars, function (ret, _item) {
|
|
201
|
+
if (JSON.stringify(_item).includes(keyword)) {
|
|
202
|
+
ret.push(_item);
|
|
203
|
+
}
|
|
204
|
+
return ret;
|
|
205
|
+
}, []);
|
|
206
|
+
}, [filter, vars]);
|
|
207
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Wrapper, null, /*#__PURE__*/_react.default.createElement(SearchBar, null, /*#__PURE__*/_react.default.createElement(_antd.Select, {
|
|
208
|
+
size: "small",
|
|
209
|
+
defaultValue: "all",
|
|
210
|
+
style: {
|
|
211
|
+
width: 100,
|
|
212
|
+
marginRight: 8
|
|
213
|
+
},
|
|
214
|
+
onSelect: function onSelect(key) {
|
|
215
|
+
return setFilter({
|
|
216
|
+
type: key === 'all' ? void 0 : key
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
}, /*#__PURE__*/_react.default.createElement(_antd.Select.Option, {
|
|
220
|
+
value: "all"
|
|
221
|
+
}, (0, _utils.formatMessage)({
|
|
222
|
+
id: "".concat(_I18N_PREFIX_, ".all"),
|
|
223
|
+
label: '全部'
|
|
224
|
+
})), _TYPE_KEYS_.map(function (key) {
|
|
225
|
+
return /*#__PURE__*/_react.default.createElement(_antd.Select.Option, {
|
|
226
|
+
key: key,
|
|
227
|
+
value: key
|
|
228
|
+
}, _TYPES_[key].name);
|
|
229
|
+
})), /*#__PURE__*/_react.default.createElement(_antd.Input.Search, {
|
|
230
|
+
size: "small",
|
|
231
|
+
allowClear: true,
|
|
232
|
+
style: {
|
|
233
|
+
flex: 1
|
|
234
|
+
},
|
|
235
|
+
placeholder: (0, _utils.formatMessage)({
|
|
236
|
+
id: "".concat(_I18N_PREFIX_, ".placeholder.search"),
|
|
237
|
+
label: '请输入'
|
|
238
|
+
}),
|
|
239
|
+
onChange: function onChange(e) {
|
|
240
|
+
return handleSearch(e.target.value);
|
|
241
|
+
},
|
|
242
|
+
onSearch: handleSearch
|
|
243
|
+
})), /*#__PURE__*/_react.default.createElement(_antd.Dropdown, {
|
|
244
|
+
overlay: menu,
|
|
245
|
+
trigger: ['click'],
|
|
246
|
+
getPopupContainer: function getPopupContainer() {
|
|
247
|
+
return document.getElementById('lc-design-workspace');
|
|
248
|
+
}
|
|
249
|
+
}, /*#__PURE__*/_react.default.createElement(_antd.Button, {
|
|
250
|
+
size: "small",
|
|
251
|
+
type: "primary"
|
|
252
|
+
}, (0, _utils.formatMessage)({
|
|
253
|
+
id: "".concat(_I18N_PREFIX_, ".add"),
|
|
254
|
+
label: '添加'
|
|
255
|
+
}))), /*#__PURE__*/_react.default.createElement(_SortBox.SortBox, {
|
|
256
|
+
datas: vars.map(function (_ref3) {
|
|
257
|
+
var id = _ref3.id;
|
|
258
|
+
return id;
|
|
259
|
+
}),
|
|
260
|
+
onChange: handleSortChange
|
|
261
|
+
}, /*#__PURE__*/_react.default.createElement(_ListEditor.ListEditor, {
|
|
262
|
+
style: {
|
|
263
|
+
marginTop: 8
|
|
264
|
+
},
|
|
265
|
+
suppressAdd: true
|
|
266
|
+
}, _vars.map(function (item) {
|
|
267
|
+
return /*#__PURE__*/_react.default.createElement(_SortBox.SortItem, {
|
|
268
|
+
key: item.id,
|
|
269
|
+
id: item.id
|
|
270
|
+
}, /*#__PURE__*/_react.default.createElement(_ListEditor.ListEditorItem, {
|
|
271
|
+
sortable: (0, _lodash.isNil)(filter.keyword) && (0, _lodash.isNil)(filter.type),
|
|
272
|
+
left: renderItemLeft(item),
|
|
273
|
+
right: renderItemRight(item),
|
|
274
|
+
item: item,
|
|
275
|
+
dispatch: dispatch
|
|
276
|
+
}));
|
|
277
|
+
})))), currentItem ? /*#__PURE__*/_react.default.createElement(_antd.Drawer, {
|
|
278
|
+
visible: true,
|
|
279
|
+
width: 420,
|
|
280
|
+
mask: false,
|
|
281
|
+
onClose: function onClose() {
|
|
282
|
+
return setCurrentItem(null);
|
|
283
|
+
},
|
|
284
|
+
title: (0, _utils.formatMessage)({
|
|
285
|
+
id: "".concat(_I18N_PREFIX_, ".edit"),
|
|
286
|
+
label: '编辑数据源'
|
|
287
|
+
}),
|
|
288
|
+
getContainer: function getContainer() {
|
|
289
|
+
return document.getElementById('lc-design-workspace');
|
|
290
|
+
},
|
|
291
|
+
destroyOnClose: true,
|
|
292
|
+
className: _pageVars.default['lc-painter-panel-page-vars-drawer'],
|
|
293
|
+
style: {
|
|
294
|
+
position: 'absolute',
|
|
295
|
+
transform: 'none',
|
|
296
|
+
right: 320
|
|
297
|
+
}
|
|
298
|
+
}, /*#__PURE__*/_react.default.createElement(_VarEditor.default, {
|
|
299
|
+
key: currentItem.id,
|
|
300
|
+
item: currentItem,
|
|
301
|
+
dispatch: dispatch
|
|
302
|
+
})) : null);
|
|
303
|
+
};
|
|
304
|
+
var _default = exports.default = PageVars;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getFields = void 0;
|
|
8
|
+
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _qs = require("qs");
|
|
11
|
+
var _utils = require("@luck-design-biz/base/utils");
|
|
12
|
+
var _ApiConfig = _interopRequireDefault(require("@/services/ApiConfig"));
|
|
13
|
+
var getFields = exports.getFields = /*#__PURE__*/function () {
|
|
14
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(get) {
|
|
15
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
16
|
+
while (1) switch (_context.prev = _context.next) {
|
|
17
|
+
case 0:
|
|
18
|
+
return _context.abrupt("return", (0, _utils.request)("".concat(_ApiConfig.default.BASE_HOST, "/logic/field/noAuthGetFields?").concat((0, _qs.stringify)(get))));
|
|
19
|
+
case 1:
|
|
20
|
+
case "end":
|
|
21
|
+
return _context.stop();
|
|
22
|
+
}
|
|
23
|
+
}, _callee);
|
|
24
|
+
}));
|
|
25
|
+
return function getFields(_x) {
|
|
26
|
+
return _ref.apply(this, arguments);
|
|
27
|
+
};
|
|
28
|
+
}();
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
.lc-painter-panel-page-vars-drawer {
|
|
2
|
+
:global {
|
|
3
|
+
.ant-drawer-header {
|
|
4
|
+
height: 38px;
|
|
5
|
+
padding: 8px 16px;
|
|
6
|
+
.ant-drawer-close {
|
|
7
|
+
width: 38px !important;
|
|
8
|
+
height: 38px !important;
|
|
9
|
+
line-height: 38px !important;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
.ant-drawer-body {
|
|
13
|
+
height: calc(100% - 38px);
|
|
14
|
+
overflow-y: auto;
|
|
15
|
+
padding: 8px 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
input,
|
|
19
|
+
button,
|
|
20
|
+
.ant-radio-wrapper,
|
|
21
|
+
.ant-select-sm {
|
|
22
|
+
font-size: 12px;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|