@nokecy/qc-ui 0.4.7 → 0.5.0
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/dist/esm/ag-grid-plus/_utils/boolSelect.js +49 -0
- package/dist/esm/ag-grid-plus/ag-grid-theme-builder.css +404 -0
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +472 -0
- package/dist/esm/ag-grid-plus/context/gridContext.js +6 -0
- package/dist/esm/ag-grid-plus/gridManager/index.js +35 -0
- package/dist/esm/ag-grid-plus/index.js +10 -0
- package/dist/esm/ag-grid-plus/index.less +7 -0
- package/dist/esm/ag-grid-plus/interface.js +9 -0
- package/dist/esm/ag-grid-plus/queryForm/index.js +175 -0
- package/dist/esm/ag-grid-plus/queryForm/index.less +48 -0
- package/dist/esm/ag-grid-plus/queryForm/queryForm.js +84 -0
- package/dist/esm/ag-grid-plus/setting/index.js +198 -0
- package/dist/esm/ag-grid-plus/settingItem/index.js +15 -0
- package/dist/esm/ag-grid-plus/toolBar/index.js +171 -0
- package/dist/esm/ag-grid-plus/utils.js +137 -0
- package/dist/esm/array-table/arrayAddBtn.js +56 -0
- package/dist/esm/array-table/arrayBase.js +217 -0
- package/dist/esm/array-table/index.js +145 -0
- package/dist/esm/array-table/interface.js +1 -0
- package/dist/esm/array-table/preview.js +49 -0
- package/dist/esm/array-table/utils.js +124 -0
- package/dist/esm/array-table-index/index.js +10 -0
- package/dist/esm/dashboard/dashboard/components/index.js +2 -0
- package/dist/esm/dashboard/dashboard/components/modal/index.js +15 -0
- package/dist/esm/dashboard/dashboard/components/toolbar/index.js +22 -0
- package/dist/esm/dashboard/dashboard/components/toolbar/style/index.js +1 -0
- package/dist/esm/dashboard/dashboard/components/toolbar/style/index.less +49 -0
- package/dist/esm/dashboard/dashboard/index.js +525 -0
- package/dist/esm/dashboard/dashboard/index.less +173 -0
- package/dist/esm/dashboard/dashboard/service.js +86 -0
- package/dist/esm/dashboard/dashboard/utils.js +89 -0
- package/dist/esm/dashboard/index.js +3 -0
- package/dist/esm/dashboard/utils.js +125 -0
- package/dist/esm/dashboard/widget/index.js +47 -0
- package/dist/esm/dashboard/widget/index.less +7 -0
- package/dist/esm/dashboard/widget/selector/index.js +234 -0
- package/dist/esm/dashboard/widget/selector/index.less +172 -0
- package/dist/esm/dashboard/widget/utils.js +89 -0
- package/dist/esm/dialogSelect/index.js +70 -0
- package/dist/esm/dialogSelect/interface.js +0 -0
- package/dist/esm/dialogSelect/selectModal.js +138 -0
- package/dist/esm/editable/index.js +241 -0
- package/dist/esm/editable/style.js +46 -0
- package/dist/esm/extensible-grid/index.js +22 -0
- package/dist/esm/extensible-grid/interface.js +1 -0
- package/dist/esm/formDesigner/FormDesigner.js +222 -0
- package/dist/esm/formDesigner/ProCard/index.js +21 -0
- package/dist/esm/formDesigner/arrayTable/arrayTableSchema.js +106 -0
- package/dist/esm/formDesigner/arrayTable/index.js +1 -0
- package/dist/esm/formDesigner/arrayTable/preview.js +390 -0
- package/dist/esm/formDesigner/arrayTable/styles.less +3 -0
- package/dist/esm/formDesigner/index.js +2 -0
- package/dist/esm/formDesigner/index.less +3 -0
- package/dist/esm/formDesigner/preWidgets/arrayTableIndex/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/arrayTableIndex/preview.js +40 -0
- package/dist/esm/formDesigner/preWidgets/card/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/card/preview.js +38 -0
- package/dist/esm/formDesigner/preWidgets/index.js +12 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty1/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty1/preview.js +44 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/index.js +1 -0
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/preview.js +43 -0
- package/dist/esm/formDesigner/preWidgets/utils.js +219 -0
- package/dist/esm/formDesigner/widgets/ActionsWidget.js +29 -0
- package/dist/esm/formDesigner/widgets/LogoWidget.js +24 -0
- package/dist/esm/formDesigner/widgets/PreviewWidget.js +33 -0
- package/dist/esm/formDesigner/widgets/SchemaEditorWidget.js +17 -0
- package/dist/esm/formDesigner/widgets/index.js +4 -0
- package/dist/esm/formPro/context/formProContext.js +5 -0
- package/dist/esm/formPro/formLayoutPro.js +41 -0
- package/dist/esm/formPro/index.js +2 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/type.d.ts +1 -0
- package/dist/umd/qc-ui.min.css +1 -0
- package/dist/umd/qc-ui.min.js +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import _get from "lodash/get";
|
|
2
|
+
import _isEmpty from "lodash/isEmpty";
|
|
3
|
+
import _cloneDeep from "lodash/cloneDeep";
|
|
4
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
5
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
6
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
7
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
8
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
12
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
+
import { AppstoreAddOutlined, PlusOutlined, SearchOutlined } from '@ant-design/icons';
|
|
15
|
+
import { Button, Drawer, Empty, Input } from 'antd';
|
|
16
|
+
import classnames from 'classnames';
|
|
17
|
+
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
18
|
+
import "./index.less";
|
|
19
|
+
var Search = Input.Search;
|
|
20
|
+
var WidgetSelector = function WidgetSelector(props) {
|
|
21
|
+
var widgets = props.widgets,
|
|
22
|
+
currentLayout = props.currentLayout,
|
|
23
|
+
addWidget = props.addWidget,
|
|
24
|
+
_props$children = props.children,
|
|
25
|
+
children = _props$children === void 0 ? /*#__PURE__*/React.createElement(Button, {
|
|
26
|
+
size: "small",
|
|
27
|
+
type: "primary",
|
|
28
|
+
icon: /*#__PURE__*/React.createElement(PlusOutlined, null),
|
|
29
|
+
style: {
|
|
30
|
+
marginLeft: '10px'
|
|
31
|
+
}
|
|
32
|
+
}, '添加') : _props$children;
|
|
33
|
+
var _useState = useState(false),
|
|
34
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
35
|
+
visible = _useState2[0],
|
|
36
|
+
setVisible = _useState2[1];
|
|
37
|
+
var _useState3 = useState(600),
|
|
38
|
+
_useState4 = _slicedToArray(_useState3, 1),
|
|
39
|
+
width = _useState4[0];
|
|
40
|
+
var _useState5 = useState([]),
|
|
41
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
42
|
+
menuData = _useState6[0],
|
|
43
|
+
setMenuData = _useState6[1];
|
|
44
|
+
var _useState7 = useState(''),
|
|
45
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
46
|
+
activeMenuKey = _useState8[0],
|
|
47
|
+
setActiveMenuKey = _useState8[1];
|
|
48
|
+
var _useState9 = useState(''),
|
|
49
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
50
|
+
keywords = _useState10[0],
|
|
51
|
+
setKeywords = _useState10[1];
|
|
52
|
+
|
|
53
|
+
//计算左侧菜单
|
|
54
|
+
var handleCalcMenuData = useCallback(function () {
|
|
55
|
+
var tags = [];
|
|
56
|
+
Object.keys(widgets).map(function (key) {
|
|
57
|
+
var item = widgets[key];
|
|
58
|
+
tags.push.apply(tags, _toConsumableArray(item['tags']));
|
|
59
|
+
});
|
|
60
|
+
var tempObj = {};
|
|
61
|
+
tags.map(function (item) {
|
|
62
|
+
if (tempObj[item]) {
|
|
63
|
+
tempObj[item]['count']++;
|
|
64
|
+
} else {
|
|
65
|
+
tempObj[item] = {
|
|
66
|
+
title: item,
|
|
67
|
+
count: 1
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
var menuData = [];
|
|
72
|
+
Object.keys(tempObj).map(function (key, index, arr) {
|
|
73
|
+
menuData.push(tempObj[key]);
|
|
74
|
+
});
|
|
75
|
+
setMenuData(menuData);
|
|
76
|
+
}, [widgets]);
|
|
77
|
+
|
|
78
|
+
//菜单变化
|
|
79
|
+
var handleMenuChange = useCallback(function (item, index) {
|
|
80
|
+
setActiveMenuKey(item.title);
|
|
81
|
+
}, []);
|
|
82
|
+
|
|
83
|
+
//查询
|
|
84
|
+
var handleSearch = useCallback(function (value) {
|
|
85
|
+
setActiveMenuKey(menuData[0].title);
|
|
86
|
+
setKeywords(value);
|
|
87
|
+
}, [menuData]);
|
|
88
|
+
useEffect(function () {
|
|
89
|
+
handleCalcMenuData();
|
|
90
|
+
}, []);
|
|
91
|
+
var finWidgets = useMemo(function () {
|
|
92
|
+
var finData = _cloneDeep(widgets);
|
|
93
|
+
Object.keys(finData).map(function (key) {
|
|
94
|
+
//初始化数据
|
|
95
|
+
finData[key].length = 0;
|
|
96
|
+
finData[key].visible = true;
|
|
97
|
+
//菜单切换
|
|
98
|
+
if (finData[key]['tags'].indexOf(activeMenuKey) < 0 && activeMenuKey) {
|
|
99
|
+
finData[key].visible = false;
|
|
100
|
+
}
|
|
101
|
+
//查询
|
|
102
|
+
if (finData[key]['name'].toLowerCase().indexOf(keywords.toLowerCase()) < 0 && finData[key]['description'].toLowerCase().indexOf(keywords.toLowerCase()) < 0) {
|
|
103
|
+
finData[key].visible = false;
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
console.log('finData', finData);
|
|
107
|
+
//已添加次数
|
|
108
|
+
currentLayout.forEach(function (item) {
|
|
109
|
+
var _finData$key;
|
|
110
|
+
var key = item.i.split('-')[0];
|
|
111
|
+
console.log('item.i', item.i);
|
|
112
|
+
console.log('finData[key]', finData[key]);
|
|
113
|
+
finData[key].length = finData[key].length ? ((_finData$key = finData[key]) === null || _finData$key === void 0 ? void 0 : _finData$key.length) + 1 : 1;
|
|
114
|
+
});
|
|
115
|
+
return finData;
|
|
116
|
+
}, [currentLayout, widgets, keywords, activeMenuKey, visible]);
|
|
117
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
118
|
+
style: {
|
|
119
|
+
display: 'inline-block'
|
|
120
|
+
},
|
|
121
|
+
onClick: function onClick() {
|
|
122
|
+
setVisible(true);
|
|
123
|
+
}
|
|
124
|
+
}, children), /*#__PURE__*/React.createElement(Drawer
|
|
125
|
+
// className="react-dashboard-widget-selector"
|
|
126
|
+
, {
|
|
127
|
+
width: width,
|
|
128
|
+
title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AppstoreAddOutlined, {
|
|
129
|
+
style: {
|
|
130
|
+
margin: '0 5px'
|
|
131
|
+
}
|
|
132
|
+
}), '选择小程序'),
|
|
133
|
+
visible: visible,
|
|
134
|
+
onClose: function onClose() {
|
|
135
|
+
setVisible(false);
|
|
136
|
+
},
|
|
137
|
+
footer: null,
|
|
138
|
+
bodyStyle: {
|
|
139
|
+
padding: 0
|
|
140
|
+
},
|
|
141
|
+
zIndex: 1006
|
|
142
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
143
|
+
className: 'react-dashboard-widget-wrap'
|
|
144
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
145
|
+
className: 'react-dashboard-widget-leftBar'
|
|
146
|
+
}, /*#__PURE__*/React.createElement(Search, {
|
|
147
|
+
placeholder: '请输入小程序名称',
|
|
148
|
+
value: keywords,
|
|
149
|
+
onSearch: handleSearch,
|
|
150
|
+
onChange: function onChange(e) {
|
|
151
|
+
return handleSearch(e.target.value);
|
|
152
|
+
},
|
|
153
|
+
prefix: /*#__PURE__*/React.createElement(SearchOutlined, {
|
|
154
|
+
className: 'react-dashboard-widget-searchIcon'
|
|
155
|
+
}),
|
|
156
|
+
allowClear: true,
|
|
157
|
+
enterButton: true
|
|
158
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
159
|
+
style: {
|
|
160
|
+
marginTop: 10
|
|
161
|
+
}
|
|
162
|
+
}, menuData.map(function (item, index) {
|
|
163
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
164
|
+
className: classnames('react-dashboard-widget-item', activeMenuKey == item.title ? 'react-dashboard-widget-active' : ''),
|
|
165
|
+
key: item.title,
|
|
166
|
+
onClick: function onClick() {
|
|
167
|
+
return handleMenuChange(item, index);
|
|
168
|
+
}
|
|
169
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
170
|
+
className: 'react-dashboard-widget-name'
|
|
171
|
+
}, item['title']), /*#__PURE__*/React.createElement("div", {
|
|
172
|
+
className: 'react-dashboard-widget-Badge'
|
|
173
|
+
}, item.count));
|
|
174
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
175
|
+
className: classnames('react-dashboard-widget-Layer'),
|
|
176
|
+
style: {
|
|
177
|
+
height: '100%',
|
|
178
|
+
overflowY: 'auto'
|
|
179
|
+
}
|
|
180
|
+
}, !_isEmpty(finWidgets) ? /*#__PURE__*/React.createElement("div", {
|
|
181
|
+
className: "react-dashboard-widget-waterfall",
|
|
182
|
+
style: {
|
|
183
|
+
columnCount: Math.ceil((width - 200) / 200)
|
|
184
|
+
}
|
|
185
|
+
}, Object.keys(finWidgets).map(function (key) {
|
|
186
|
+
var item = finWidgets[key];
|
|
187
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
188
|
+
key: key,
|
|
189
|
+
className: classnames('react-dashboard-widget-item'),
|
|
190
|
+
style: {
|
|
191
|
+
display: item.visible ? 'block' : 'none'
|
|
192
|
+
}
|
|
193
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
194
|
+
src: item['snapShot'],
|
|
195
|
+
className: 'react-dashboard-widget-shortcut'
|
|
196
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
197
|
+
className: 'react-dashboard-widget-bottombar'
|
|
198
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
199
|
+
className: 'react-dashboard-widget-iconWrap',
|
|
200
|
+
style: {
|
|
201
|
+
backgroundColor: _get(widgets, key + '.iconBackground'),
|
|
202
|
+
backgroundImage: _get(widgets, key + '.iconBackground')
|
|
203
|
+
}
|
|
204
|
+
}, item.icon), /*#__PURE__*/React.createElement("div", {
|
|
205
|
+
className: 'react-dashboard-widget-name'
|
|
206
|
+
}, item.name), /*#__PURE__*/React.createElement("div", {
|
|
207
|
+
className: 'react-dashboard-widget-description'
|
|
208
|
+
}, item.description)), /*#__PURE__*/React.createElement("div", {
|
|
209
|
+
className: 'react-dashboard-widget-mask'
|
|
210
|
+
}, item.length < item.maxLength ? /*#__PURE__*/React.createElement(Button, {
|
|
211
|
+
type: "primary",
|
|
212
|
+
shape: "circle",
|
|
213
|
+
icon: /*#__PURE__*/React.createElement(PlusOutlined, null),
|
|
214
|
+
size: "large",
|
|
215
|
+
onClick: function onClick() {
|
|
216
|
+
return addWidget(item, key);
|
|
217
|
+
}
|
|
218
|
+
}) : /*#__PURE__*/React.createElement("div", {
|
|
219
|
+
style: {
|
|
220
|
+
padding: 20,
|
|
221
|
+
color: '#fff',
|
|
222
|
+
fontWeight: 'bold'
|
|
223
|
+
}
|
|
224
|
+
}, '该小程序最多添加', item.maxLength, '个')));
|
|
225
|
+
})) : /*#__PURE__*/React.createElement("div", {
|
|
226
|
+
className: "react-dashboard-widget-emptyContent",
|
|
227
|
+
style: {
|
|
228
|
+
minHeight: 'calc(100% - 20px)'
|
|
229
|
+
}
|
|
230
|
+
}, /*#__PURE__*/React.createElement(Empty, {
|
|
231
|
+
description: /*#__PURE__*/React.createElement("span", null, '该条件下暂无小程序')
|
|
232
|
+
}))))));
|
|
233
|
+
};
|
|
234
|
+
export default WidgetSelector;
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
.react-dashboard-widget-selector{
|
|
2
|
+
position:fixed;
|
|
3
|
+
top:50%;
|
|
4
|
+
left:50%;
|
|
5
|
+
transform:translate(-50%, -50%);
|
|
6
|
+
z-index:1006;
|
|
7
|
+
width:60%;
|
|
8
|
+
height:60%;
|
|
9
|
+
max-width:800px;
|
|
10
|
+
max-height:600px;
|
|
11
|
+
background:var(--component-background);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.react-dashboard-widget-wrap {
|
|
15
|
+
display: flex;
|
|
16
|
+
height:100%;
|
|
17
|
+
|
|
18
|
+
.react-dashboard-widget-leftBar {
|
|
19
|
+
padding: 10px;
|
|
20
|
+
width: 180px;
|
|
21
|
+
border-right: 1px solid rgba(0, 0, 0, 0.1);
|
|
22
|
+
background: var(--component-background);
|
|
23
|
+
.react-dashboard-widget-searchIcon {
|
|
24
|
+
color: var(--text-color);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.react-dashboard-widget-item {
|
|
28
|
+
display: flex;
|
|
29
|
+
justify-content: space-between;
|
|
30
|
+
padding: 10px;
|
|
31
|
+
|
|
32
|
+
.react-dashboard-widget-Badge {
|
|
33
|
+
|
|
34
|
+
.ant-badge-count {
|
|
35
|
+
color: var(--text-color);
|
|
36
|
+
background-color: var(--component-background-1) !important;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
cursor: pointer;
|
|
42
|
+
|
|
43
|
+
&:hover {
|
|
44
|
+
background: var(--component-background-3);
|
|
45
|
+
font-weight: bold;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.react-dashboard-widget-active {
|
|
50
|
+
background: rgba(0, 0, 0, 0.03);
|
|
51
|
+
font-weight: bold;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.react-dashboard-widget-Layer {
|
|
56
|
+
flex: 1 1;
|
|
57
|
+
overflow-y: auto;
|
|
58
|
+
overflow-x: hidden;
|
|
59
|
+
padding: 10px;
|
|
60
|
+
background: rgba(0, 0, 0, 0.01);
|
|
61
|
+
&::-webkit-scrollbar {
|
|
62
|
+
width: 1px;
|
|
63
|
+
height: 1px;
|
|
64
|
+
overflow: auto;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
&::-webkit-scrollbar-thumb {
|
|
68
|
+
background-color: var(--primary-color);
|
|
69
|
+
min-height: 25px;
|
|
70
|
+
min-width: 25px;
|
|
71
|
+
|
|
72
|
+
&:hover {
|
|
73
|
+
background-color: #a8a8a8;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
&:active {
|
|
77
|
+
background-color: #787878;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&::-webkit-scrollbar-track {
|
|
82
|
+
background-color: #f7f7f7;
|
|
83
|
+
border: 1px solid #efefef;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.react-dashboard-widget-waterfall {
|
|
87
|
+
width: 100%;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.ant-popover-inner-content {
|
|
91
|
+
background: rgba(0, 0, 0, 0.01);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
.react-dashboard-widget-item {
|
|
96
|
+
cursor: pointer;
|
|
97
|
+
height: auto;
|
|
98
|
+
margin-bottom: 10px;
|
|
99
|
+
width: 100%;
|
|
100
|
+
height: auto;
|
|
101
|
+
border-radius: 5px;
|
|
102
|
+
overflow: hidden;
|
|
103
|
+
// box-shadow: 0 0 0px rgba(255, 255, 255, 1);
|
|
104
|
+
transition: all 0.3s;
|
|
105
|
+
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
106
|
+
-webkit-column-break-inside: avoid;
|
|
107
|
+
position: relative;
|
|
108
|
+
background: var(--component-background);
|
|
109
|
+
.react-dashboard-widget-shortcut {
|
|
110
|
+
width: 100%;
|
|
111
|
+
height: auto;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.react-dashboard-widget-mask {
|
|
115
|
+
opacity: 0;
|
|
116
|
+
position: absolute;
|
|
117
|
+
top: 0;
|
|
118
|
+
left: 0;
|
|
119
|
+
width: 100%;
|
|
120
|
+
height: 100%;
|
|
121
|
+
background: rgba(0, 0, 0, 0.5);
|
|
122
|
+
display: flex;
|
|
123
|
+
justify-content: center;
|
|
124
|
+
align-items: center;
|
|
125
|
+
transition: all 0.3s;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
&:hover {
|
|
129
|
+
transition: all 0.3s;
|
|
130
|
+
|
|
131
|
+
border: 1px solid var(--component-background-3);
|
|
132
|
+
|
|
133
|
+
.react-dashboard-widget-mask {
|
|
134
|
+
opacity: 1;
|
|
135
|
+
transition: all 0.3s;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.react-dashboard-widget-bottombar {
|
|
140
|
+
border-top: 1px solid rgba(0, 0, 0, 0.1);
|
|
141
|
+
width: 100%;
|
|
142
|
+
|
|
143
|
+
padding: 5px;
|
|
144
|
+
|
|
145
|
+
.react-dashboard-widget-iconWrap {
|
|
146
|
+
display: inline-block;
|
|
147
|
+
width: 28px;
|
|
148
|
+
height: 28px;
|
|
149
|
+
line-height: 28px;
|
|
150
|
+
text-align: center;
|
|
151
|
+
border-radius: 7px;
|
|
152
|
+
color: #fff;
|
|
153
|
+
margin-right: 5px;
|
|
154
|
+
font-size: 16px;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.react-dashboard-widget-name {
|
|
158
|
+
font-size: 16px;
|
|
159
|
+
flex: 1;
|
|
160
|
+
color: var(--text-color);
|
|
161
|
+
line-height: 28px;
|
|
162
|
+
font-weight: bold;
|
|
163
|
+
display: inline;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.react-dashboard-widget-description {
|
|
167
|
+
margin-top: 5px;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import _get from "lodash/get";
|
|
2
|
+
import { Drawer } from 'antd';
|
|
3
|
+
import React, { useCallback, useEffect, useMemo } from 'react';
|
|
4
|
+
import { DeleteOutlined, SettingOutlined } from '@ant-design/icons';
|
|
5
|
+
|
|
6
|
+
// import allWidgets from '../../widgets';
|
|
7
|
+
//获取widget的类型
|
|
8
|
+
export var getWidgetType = function getWidgetType(i, widgets) {
|
|
9
|
+
var allWidgets = widgets;
|
|
10
|
+
var widgetType = '';
|
|
11
|
+
Object.keys(allWidgets).map(function (key) {
|
|
12
|
+
if (i.indexOf(key) >= 0) {
|
|
13
|
+
widgetType = key;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
return widgetType;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//widget配置和删除按钮
|
|
20
|
+
export var ConfigBar = function ConfigBar(props) {
|
|
21
|
+
var widgetKey = props.widgetKey,
|
|
22
|
+
editMode = props.editMode,
|
|
23
|
+
onDeleteWidget = props.onDeleteWidget,
|
|
24
|
+
_props$setConfigShow = props.setConfigShow,
|
|
25
|
+
setConfigShow = _props$setConfigShow === void 0 ? function () {} : _props$setConfigShow,
|
|
26
|
+
widgets = props.widgets;
|
|
27
|
+
var widgetType = getWidgetType(widgetKey, widgets);
|
|
28
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, editMode && /*#__PURE__*/React.createElement("div", {
|
|
29
|
+
className: 'react-dashboard-mask'
|
|
30
|
+
}), editMode && _get('widgets', widgetType + '.configComponent') && /*#__PURE__*/React.createElement("div", {
|
|
31
|
+
className: 'react-dashboard-configicon',
|
|
32
|
+
onClick: function onClick() {
|
|
33
|
+
return setConfigShow(true);
|
|
34
|
+
}
|
|
35
|
+
}, /*#__PURE__*/React.createElement(SettingOutlined, null)), editMode && /*#__PURE__*/React.createElement("div", {
|
|
36
|
+
className: 'react-dashboard-deleteicon',
|
|
37
|
+
onClick: function onClick() {
|
|
38
|
+
return onDeleteWidget();
|
|
39
|
+
}
|
|
40
|
+
}, /*#__PURE__*/React.createElement(DeleteOutlined, null)));
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
//config的容器
|
|
44
|
+
export var ConfigWrap = function ConfigWrap(props, widgets) {
|
|
45
|
+
var widgetKey = props.widgetKey,
|
|
46
|
+
visible = props.visible,
|
|
47
|
+
setVisible = props.setVisible,
|
|
48
|
+
width = props.width,
|
|
49
|
+
children = props.children;
|
|
50
|
+
var afterVisibleChange = useCallback(function (visible) {
|
|
51
|
+
if (visible) {
|
|
52
|
+
var widgetConfigPanel = document.getElementsByClassName('widgetConfigPanel')[0];
|
|
53
|
+
widgetConfigPanel && widgetConfigPanel.addEventListener('mousedown', function (e) {
|
|
54
|
+
e.stopPropagation();
|
|
55
|
+
});
|
|
56
|
+
} else {
|
|
57
|
+
var _widgetConfigPanel = document.getElementsByClassName('widgetConfigPanel')[0];
|
|
58
|
+
_widgetConfigPanel && _widgetConfigPanel.removeEventListener('mousedown', function (e) {
|
|
59
|
+
e.stopPropagation();
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}, [visible]);
|
|
63
|
+
var title = useMemo(function () {
|
|
64
|
+
if (!widgetKey) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
var widgetType = getWidgetType(widgetKey, widgets);
|
|
68
|
+
return _get(widgets, widgetType + '.name') + '设置';
|
|
69
|
+
}, [widgetKey, widgets, getWidgetType]);
|
|
70
|
+
useEffect(function () {
|
|
71
|
+
afterVisibleChange(visible);
|
|
72
|
+
}, [visible]);
|
|
73
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, visible && /*#__PURE__*/React.createElement(Drawer, {
|
|
74
|
+
className: "react-dashboard-widgetConfigPanel",
|
|
75
|
+
title: title,
|
|
76
|
+
placement: "right",
|
|
77
|
+
closable: true,
|
|
78
|
+
onClose: function onClose() {
|
|
79
|
+
return setVisible(false);
|
|
80
|
+
},
|
|
81
|
+
visible: visible,
|
|
82
|
+
width: width,
|
|
83
|
+
bodyStyle: {
|
|
84
|
+
padding: '0px'
|
|
85
|
+
},
|
|
86
|
+
afterVisibleChange: afterVisibleChange,
|
|
87
|
+
zIndex: 1005
|
|
88
|
+
}, children));
|
|
89
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
var _excluded = ["useAutoComplete", "request", "columnDefs", "value", "labelField", "valueField", "onChangeItem"];
|
|
3
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
7
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
8
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
9
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
10
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
14
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
15
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
16
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
17
|
+
import { Select, AutoComplete } from "antd";
|
|
18
|
+
import { PreviewText } from "@formily/antd-v5";
|
|
19
|
+
import React from "react";
|
|
20
|
+
import { useControllableValue } from "ahooks";
|
|
21
|
+
import SelectModal from "./selectModal";
|
|
22
|
+
import { connect, mapProps, mapReadPretty } from '@formily/react';
|
|
23
|
+
var InternalDialogSelect = function InternalDialogSelect(props) {
|
|
24
|
+
var useAutoComplete = props.useAutoComplete,
|
|
25
|
+
request = props.request,
|
|
26
|
+
columnDefs = props.columnDefs,
|
|
27
|
+
value = props.value,
|
|
28
|
+
labelField = props.labelField,
|
|
29
|
+
valueField = props.valueField,
|
|
30
|
+
onChangeItem = props.onChangeItem,
|
|
31
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
32
|
+
var _useControllableValue = useControllableValue(props),
|
|
33
|
+
_useControllableValue2 = _slicedToArray(_useControllableValue, 2),
|
|
34
|
+
state = _useControllableValue2[0],
|
|
35
|
+
setState = _useControllableValue2[1];
|
|
36
|
+
var selectStyle = _objectSpread({
|
|
37
|
+
width: "100%",
|
|
38
|
+
flex: 1,
|
|
39
|
+
marginRight: 5
|
|
40
|
+
}, rest === null || rest === void 0 ? void 0 : rest.style);
|
|
41
|
+
var renderSelect = function renderSelect() {
|
|
42
|
+
if (useAutoComplete) {
|
|
43
|
+
return /*#__PURE__*/React.createElement(AutoComplete, _extends({}, rest, {
|
|
44
|
+
value: state,
|
|
45
|
+
style: _objectSpread({}, selectStyle)
|
|
46
|
+
}));
|
|
47
|
+
} else {
|
|
48
|
+
return /*#__PURE__*/React.createElement(Select, _extends({}, rest, {
|
|
49
|
+
value: state,
|
|
50
|
+
style: _objectSpread({}, selectStyle)
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
var onModalValueChange = function onModalValueChange(value, valueItems) {
|
|
55
|
+
setState(value);
|
|
56
|
+
onChangeItem && onChangeItem(valueItems);
|
|
57
|
+
};
|
|
58
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
style: {
|
|
60
|
+
display: "flex",
|
|
61
|
+
flexDirection: "row"
|
|
62
|
+
}
|
|
63
|
+
}, renderSelect(), /*#__PURE__*/React.createElement(SelectModal, {
|
|
64
|
+
onValueChange: onModalValueChange
|
|
65
|
+
})));
|
|
66
|
+
};
|
|
67
|
+
var DialogSelect = connect(InternalDialogSelect, mapProps(function (props, field) {
|
|
68
|
+
return _objectSpread({}, props);
|
|
69
|
+
}), mapReadPretty(PreviewText.Select));
|
|
70
|
+
export default DialogSelect;
|
|
File without changes
|