@luck-design-biz/luckda 0.0.25-7 → 0.0.25-8
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/LDActions/index.js +8 -10
- package/es/components/LDActions/index.less +7 -4
- package/es/components/LdAutoForm/index.js +8 -6
- package/es/components/LdFormList/index.js +12 -4
- package/es/components/LdGrid/index.js +11 -5
- package/es/components/LdGridForm/index.js +4 -2
- package/es/components/LdTree/index.js +30 -13
- package/es/helper/form.js +9 -5
- package/es/locales/zh-CN.js +15 -10
- package/es/lowcode/constants/api-url.js +112 -26
- package/es/lowcode/constants/event-topics.js +2 -0
- package/es/lowcode/engine/meta/box.props.json +3 -3
- package/es/lowcode/engine/meta/button.props.json +3 -3
- package/es/lowcode/engine/meta/components-list.json +6 -0
- package/es/lowcode/engine/meta/dialog.props.json +5 -5
- package/es/lowcode/engine/meta/drawer.props.json +8 -20
- package/es/lowcode/engine/meta/form.props.json +13 -7
- package/es/lowcode/engine/meta/imex.props.default.json +8 -1
- package/es/lowcode/engine/meta/imex.props.json +54 -22
- package/es/lowcode/engine/meta/js-editor/auto-complete.json +53 -3
- package/es/lowcode/engine/meta/layout.props.json +2 -2
- package/es/lowcode/engine/meta/page.props.json +2 -2
- package/es/lowcode/engine/meta/pagelayout.props.default.json +14 -0
- package/es/lowcode/engine/meta/pagelayout.props.json +47 -0
- package/es/lowcode/engine/meta/section.props.json +2 -2
- package/es/lowcode/engine/meta/split.props.default.json +1 -1
- package/es/lowcode/engine/meta/split.props.json +4 -4
- package/es/lowcode/engine/meta/table.props.json +15 -9
- package/es/lowcode/engine/meta/tabs.props.json +3 -3
- package/es/lowcode/engine/meta/tree.props.default.json +1 -0
- package/es/lowcode/engine/meta/tree.props.json +55 -6
- package/es/lowcode/engine/provider/ContextProvider/index.js +12 -3
- package/es/lowcode/engine/provider/RemoteSourceProvider.js +55 -6
- package/es/lowcode/engine/tools/dataProcess.js +4 -0
- package/es/lowcode/engine/tools/usePageDataStore.js +4 -2
- package/es/lowcode/painter/DesignOperator.js +1 -1
- package/es/lowcode/painter/DesignToolbar.js +2 -1
- package/es/lowcode/painter/Panel.js +3 -3
- package/es/lowcode/painter/components/ActionBindModal.js +25 -13
- package/es/lowcode/painter/components/AdvancePanel.js +6 -1
- package/es/lowcode/painter/components/AttrsPanel.js +13 -11
- package/es/lowcode/painter/components/field-setting/CheckFrontRules.js +108 -0
- package/es/lowcode/painter/components/field-setting/CheckRules.js +1 -26
- package/es/lowcode/painter/components/field-setting/FieldRulesModal.js +33 -13
- package/es/lowcode/painter/components/field-setting/SettingUI.js +156 -24
- package/es/lowcode/painter/components/field-setting/index.js +32 -63
- package/es/lowcode/painter/components/field-setting/meta/frontRules.js +53 -0
- package/es/lowcode/painter/panel-section/BlocksEditor/index.js +6 -9
- package/es/lowcode/painter/panel-section/FieldsSetting.js +53 -12
- package/es/lowcode/painter/panel-section/ImpExp.js +93 -6
- package/es/lowcode/painter/panel-section/ImpExpAlone.js +109 -0
- package/es/lowcode/painter/panel-section/PageLayoutDisplay.js +95 -0
- package/es/lowcode/painter/panel-section/SplitDisplay.js +25 -110
- package/es/lowcode/painter/panel-section/StylePanel/index.js +10 -4
- package/es/lowcode/painter/style/action-bind-modal.less +3 -3
- package/es/lowcode/painter/style/page-layout-display.less +28 -0
- package/es/lowcode/painter/style/split-display.less +0 -9
- package/es/lowcode/preview/index.js +4 -2
- package/es/lowcode/view/lc-components/Box/FunctionDesign.js +3 -2
- package/es/lowcode/view/lc-components/Box/meta.json +3 -3
- package/es/lowcode/view/lc-components/Button/index.js +2 -6
- package/es/lowcode/view/lc-components/Button/meta.json +3 -3
- package/es/lowcode/view/lc-components/Dialog/index.js +27 -2
- package/es/lowcode/view/lc-components/Dialog/meta.json +5 -5
- package/es/lowcode/view/lc-components/Drawer/meta.json +8 -20
- package/es/lowcode/view/lc-components/Form/FunctionPreview.js +8 -1
- package/es/lowcode/view/lc-components/Form/index.js +99 -21
- package/es/lowcode/view/lc-components/Form/meta.json +13 -7
- package/es/lowcode/view/lc-components/ImEx/FunctionDesign.js +8 -3
- package/es/lowcode/view/lc-components/ImEx/index.js +260 -10
- package/es/lowcode/view/lc-components/ImEx/index.less +7 -0
- package/es/lowcode/view/lc-components/ImEx/meta.json +55 -23
- package/es/lowcode/view/lc-components/Layout/meta.json +2 -2
- package/es/lowcode/view/lc-components/Page/meta.json +2 -2
- package/es/lowcode/view/lc-components/PageLayout/FunctionDesign.js +63 -0
- package/es/lowcode/view/lc-components/PageLayout/FunctionLive.js +10 -0
- package/es/lowcode/view/lc-components/PageLayout/FunctionPreview.js +10 -0
- package/es/lowcode/view/lc-components/PageLayout/index.js +32 -0
- package/es/lowcode/view/lc-components/PageLayout/meta.json +47 -0
- package/es/lowcode/view/lc-components/Section/meta.json +2 -2
- package/es/lowcode/view/lc-components/Split/FunctionDesign.js +11 -5
- package/es/lowcode/view/lc-components/Split/index.js +5 -9
- package/es/lowcode/view/lc-components/Split/meta.json +4 -4
- package/es/lowcode/view/lc-components/Table/components/TopImex.js +138 -0
- package/es/lowcode/view/lc-components/Table/index.js +60 -17
- package/es/lowcode/view/lc-components/Table/meta.json +15 -9
- package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +1 -0
- package/es/lowcode/view/lc-components/Tabs/index.js +3 -1
- package/es/lowcode/view/lc-components/Tabs/meta.json +3 -3
- package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +2 -1
- package/es/lowcode/view/lc-components/Tree/index.js +60 -18
- package/es/lowcode/view/lc-components/Tree/meta.json +55 -7
- package/es/upload/FormItem/index.js +1 -4
- package/lib/components/LDActions/index.js +7 -9
- package/lib/components/LDActions/index.less +7 -4
- package/lib/components/LdAutoForm/index.js +7 -5
- package/lib/components/LdFormList/index.js +11 -3
- package/lib/components/LdGrid/index.js +11 -5
- package/lib/components/LdGridForm/index.js +4 -2
- package/lib/components/LdTree/index.js +30 -13
- package/lib/helper/form.js +8 -4
- package/lib/locales/zh-CN.js +15 -10
- package/lib/lowcode/constants/api-url.js +113 -26
- package/lib/lowcode/constants/event-topics.js +3 -1
- package/lib/lowcode/engine/meta/box.props.json +3 -3
- package/lib/lowcode/engine/meta/button.props.json +3 -3
- package/lib/lowcode/engine/meta/components-list.json +6 -0
- package/lib/lowcode/engine/meta/dialog.props.json +5 -5
- package/lib/lowcode/engine/meta/drawer.props.json +8 -20
- package/lib/lowcode/engine/meta/form.props.json +13 -7
- package/lib/lowcode/engine/meta/imex.props.default.json +8 -1
- package/lib/lowcode/engine/meta/imex.props.json +54 -22
- package/lib/lowcode/engine/meta/js-editor/auto-complete.json +53 -3
- package/lib/lowcode/engine/meta/layout.props.json +2 -2
- package/lib/lowcode/engine/meta/page.props.json +2 -2
- package/lib/lowcode/engine/meta/pagelayout.props.default.json +14 -0
- package/lib/lowcode/engine/meta/pagelayout.props.json +47 -0
- package/lib/lowcode/engine/meta/section.props.json +2 -2
- package/lib/lowcode/engine/meta/split.props.default.json +1 -1
- package/lib/lowcode/engine/meta/split.props.json +4 -4
- package/lib/lowcode/engine/meta/table.props.json +15 -9
- package/lib/lowcode/engine/meta/tabs.props.json +3 -3
- package/lib/lowcode/engine/meta/tree.props.default.json +1 -0
- package/lib/lowcode/engine/meta/tree.props.json +55 -6
- package/lib/lowcode/engine/provider/ContextProvider/index.js +11 -2
- package/lib/lowcode/engine/provider/RemoteSourceProvider.js +54 -5
- package/lib/lowcode/engine/tools/dataProcess.js +4 -0
- package/lib/lowcode/engine/tools/usePageDataStore.js +4 -2
- package/lib/lowcode/painter/DesignOperator.js +1 -1
- package/lib/lowcode/painter/DesignToolbar.js +2 -1
- package/lib/lowcode/painter/Panel.js +3 -3
- package/lib/lowcode/painter/components/ActionBindModal.js +23 -11
- package/lib/lowcode/painter/components/AdvancePanel.js +6 -1
- package/lib/lowcode/painter/components/AttrsPanel.js +12 -10
- package/lib/lowcode/painter/components/field-setting/CheckFrontRules.js +116 -0
- package/lib/lowcode/painter/components/field-setting/CheckRules.js +1 -26
- package/lib/lowcode/painter/components/field-setting/FieldRulesModal.js +34 -13
- package/lib/lowcode/painter/components/field-setting/SettingUI.js +153 -21
- package/lib/lowcode/painter/components/field-setting/index.js +32 -63
- package/lib/lowcode/painter/components/field-setting/meta/frontRules.js +59 -0
- package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +6 -9
- package/lib/lowcode/painter/panel-section/FieldsSetting.js +53 -12
- package/lib/lowcode/painter/panel-section/ImpExp.js +92 -5
- package/lib/lowcode/painter/panel-section/ImpExpAlone.js +115 -0
- package/lib/lowcode/painter/panel-section/PageLayoutDisplay.js +103 -0
- package/lib/lowcode/painter/panel-section/SplitDisplay.js +24 -109
- package/lib/lowcode/painter/panel-section/StylePanel/index.js +10 -4
- package/lib/lowcode/painter/style/action-bind-modal.less +3 -3
- package/lib/lowcode/painter/style/page-layout-display.less +28 -0
- package/lib/lowcode/painter/style/split-display.less +0 -9
- package/lib/lowcode/preview/index.js +4 -2
- package/lib/lowcode/view/lc-components/Box/FunctionDesign.js +3 -2
- package/lib/lowcode/view/lc-components/Box/meta.json +3 -3
- package/lib/lowcode/view/lc-components/Button/index.js +2 -6
- package/lib/lowcode/view/lc-components/Button/meta.json +3 -3
- package/lib/lowcode/view/lc-components/Dialog/index.js +29 -4
- package/lib/lowcode/view/lc-components/Dialog/meta.json +5 -5
- package/lib/lowcode/view/lc-components/Drawer/meta.json +8 -20
- package/lib/lowcode/view/lc-components/Form/FunctionPreview.js +8 -1
- package/lib/lowcode/view/lc-components/Form/index.js +96 -18
- package/lib/lowcode/view/lc-components/Form/meta.json +13 -7
- package/lib/lowcode/view/lc-components/ImEx/FunctionDesign.js +8 -3
- package/lib/lowcode/view/lc-components/ImEx/index.js +257 -8
- package/lib/lowcode/view/lc-components/ImEx/index.less +7 -0
- package/lib/lowcode/view/lc-components/ImEx/meta.json +55 -23
- package/lib/lowcode/view/lc-components/Layout/meta.json +2 -2
- package/lib/lowcode/view/lc-components/Page/meta.json +2 -2
- package/lib/lowcode/view/lc-components/PageLayout/FunctionDesign.js +71 -0
- package/lib/lowcode/view/lc-components/PageLayout/FunctionLive.js +17 -0
- package/lib/lowcode/view/lc-components/PageLayout/FunctionPreview.js +17 -0
- package/lib/lowcode/view/lc-components/PageLayout/index.js +40 -0
- package/lib/lowcode/view/lc-components/PageLayout/meta.json +47 -0
- package/lib/lowcode/view/lc-components/Section/meta.json +2 -2
- package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +12 -6
- package/lib/lowcode/view/lc-components/Split/index.js +2 -6
- package/lib/lowcode/view/lc-components/Split/meta.json +4 -4
- package/lib/lowcode/view/lc-components/Table/components/TopImex.js +145 -0
- package/lib/lowcode/view/lc-components/Table/index.js +59 -16
- package/lib/lowcode/view/lc-components/Table/meta.json +15 -9
- package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +3 -2
- package/lib/lowcode/view/lc-components/Tabs/index.js +3 -1
- package/lib/lowcode/view/lc-components/Tabs/meta.json +3 -3
- package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +2 -1
- package/lib/lowcode/view/lc-components/Tree/index.js +58 -16
- package/lib/lowcode/view/lc-components/Tree/meta.json +55 -7
- package/lib/upload/FormItem/index.js +1 -4
- package/package.json +2 -2
|
@@ -6,24 +6,273 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
|
+
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
13
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
15
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
18
|
var _ahooks = require("ahooks");
|
|
19
|
+
var _antd = require("luck-design/antd");
|
|
20
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
21
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
22
|
+
var _index = _interopRequireDefault(require("./index.less"));
|
|
23
|
+
var _ContextProvider = require("../../../engine/provider/ContextProvider");
|
|
12
24
|
var _Wrapper = _interopRequireDefault(require("../Wrapper"));
|
|
13
|
-
var
|
|
14
|
-
var
|
|
25
|
+
var _LdCom = require("../../../../components/LdCom");
|
|
26
|
+
var _IconFont = _interopRequireDefault(require("../../../../components/IconFont"));
|
|
27
|
+
var _utils = require("@luck-design-biz/base/utils");
|
|
28
|
+
var _helper = require("../../../engine/tools/helper");
|
|
29
|
+
var _apiUrl = require("../../../constants/api-url");
|
|
30
|
+
var _imexPropsDefault = _interopRequireDefault(require("../../../engine/meta/imex.props.default.json"));
|
|
31
|
+
var _excluded = ["id", "title", "type", "size", "iconFont", "block", "ghost", "css", "className", "onClick", "advance", "impexpSetting"];
|
|
32
|
+
var StyledButton = (0, _styledComponents.default)(_LdCom.LdButton).withConfig({
|
|
33
|
+
displayName: "StyledButton",
|
|
34
|
+
componentId: "luckda-6530__sc-mil6cj-0"
|
|
35
|
+
})(["", ""], function (props) {
|
|
36
|
+
return props.$css;
|
|
37
|
+
});
|
|
38
|
+
var LCButton = function LCButton(_ref) {
|
|
15
39
|
var id = _ref.id,
|
|
16
|
-
|
|
40
|
+
title = _ref.title,
|
|
41
|
+
type = _ref.type,
|
|
42
|
+
size = _ref.size,
|
|
43
|
+
iconFont = _ref.iconFont,
|
|
44
|
+
block = _ref.block,
|
|
45
|
+
ghost = _ref.ghost,
|
|
46
|
+
css = _ref.css,
|
|
47
|
+
className = _ref.className,
|
|
48
|
+
onClick = _ref.onClick,
|
|
49
|
+
advance = _ref.advance,
|
|
50
|
+
impexpSetting = _ref.impexpSetting,
|
|
51
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
17
52
|
var ref = (0, _react.useRef)();
|
|
53
|
+
var uploadRef = (0, _react.useRef)();
|
|
54
|
+
var _useRemoteSource = (0, _ContextProvider.useRemoteSource)(),
|
|
55
|
+
module = _useRemoteSource.module,
|
|
56
|
+
moduleCode = _useRemoteSource.moduleCode;
|
|
57
|
+
var _useState = (0, _react.useState)(false),
|
|
58
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
59
|
+
uploadLoading = _useState2[0],
|
|
60
|
+
setUploadLoading = _useState2[1];
|
|
61
|
+
var _useRequest = (0, _ahooks.useRequest)(_apiUrl.exportExcel, {
|
|
62
|
+
manual: true
|
|
63
|
+
}),
|
|
64
|
+
_loading = _useRequest.loading,
|
|
65
|
+
runAsync = _useRequest.runAsync,
|
|
66
|
+
data = _useRequest.data;
|
|
67
|
+
var fecthExcelState = function fecthExcelState(payload, procress, resolve, reject) {
|
|
68
|
+
// 查询进度
|
|
69
|
+
(0, _apiUrl.readExportExcelState)(payload).then(function (ret) {
|
|
70
|
+
var cpage = ret.cpage,
|
|
71
|
+
total = ret.total,
|
|
72
|
+
downloadUrl = ret.downloadUrl;
|
|
73
|
+
if (cpage >= total) {
|
|
74
|
+
resolve("".concat(window.location.origin, "/api").concat(downloadUrl));
|
|
75
|
+
} else {
|
|
76
|
+
procress(cpage / total * 100);
|
|
77
|
+
fecthExcelState(payload, procress, resolve, reject);
|
|
78
|
+
}
|
|
79
|
+
}).catch(function () {
|
|
80
|
+
reject();
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
var handleExportAll = function handleExportAll(procress) {
|
|
84
|
+
return new Promise( /*#__PURE__*/function () {
|
|
85
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(resolve, reject) {
|
|
86
|
+
var joiner, payload;
|
|
87
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
88
|
+
while (1) switch (_context.prev = _context.next) {
|
|
89
|
+
case 0:
|
|
90
|
+
joiner = 'apiUrl'.indexOf('?') !== -1 ? '&' : '?';
|
|
91
|
+
_context.next = 3;
|
|
92
|
+
return runAsync({
|
|
93
|
+
apiUrl: "apiurl".concat(joiner, "token=").concat(window.cookie.get(window.appConfig.authSaveKey)),
|
|
94
|
+
code: impexpSetting.customParam
|
|
95
|
+
});
|
|
96
|
+
case 3:
|
|
97
|
+
payload = _context.sent;
|
|
98
|
+
if (payload && typeof payload === 'string') {
|
|
99
|
+
fecthExcelState(payload, procress, resolve, reject);
|
|
100
|
+
} else {
|
|
101
|
+
reject();
|
|
102
|
+
}
|
|
103
|
+
case 5:
|
|
104
|
+
case "end":
|
|
105
|
+
return _context.stop();
|
|
106
|
+
}
|
|
107
|
+
}, _callee);
|
|
108
|
+
}));
|
|
109
|
+
return function (_x, _x2) {
|
|
110
|
+
return _ref2.apply(this, arguments);
|
|
111
|
+
};
|
|
112
|
+
}());
|
|
113
|
+
};
|
|
114
|
+
var doExportAll = function doExportAll(onExportAll) {
|
|
115
|
+
var key = 'exportAll';
|
|
116
|
+
var notificationConfig = {
|
|
117
|
+
key: key,
|
|
118
|
+
duration: null,
|
|
119
|
+
message: '正在导出数据...',
|
|
120
|
+
placement: 'bottomRight',
|
|
121
|
+
closeIcon: /*#__PURE__*/_react.default.createElement("div", null),
|
|
122
|
+
icon: /*#__PURE__*/_react.default.createElement(_antd.Icon, {
|
|
123
|
+
type: "cloud-download",
|
|
124
|
+
className: _index.default.exportTheme
|
|
125
|
+
})
|
|
126
|
+
};
|
|
127
|
+
var process = function process(i) {
|
|
128
|
+
_antd.notification.open((0, _objectSpread2.default)((0, _objectSpread2.default)({}, notificationConfig), {}, {
|
|
129
|
+
description: /*#__PURE__*/_react.default.createElement(_antd.Progress, {
|
|
130
|
+
percent: i
|
|
131
|
+
})
|
|
132
|
+
}));
|
|
133
|
+
};
|
|
134
|
+
_antd.notification.open((0, _objectSpread2.default)((0, _objectSpread2.default)({}, notificationConfig), {}, {
|
|
135
|
+
description: /*#__PURE__*/_react.default.createElement(_antd.Progress, {
|
|
136
|
+
percent: 0
|
|
137
|
+
})
|
|
138
|
+
}));
|
|
139
|
+
onExportAll(process).then(function (ret) {
|
|
140
|
+
if (ret) {
|
|
141
|
+
window.location.href = ret;
|
|
142
|
+
}
|
|
143
|
+
_antd.notification.close(key);
|
|
144
|
+
}).catch(function () {
|
|
145
|
+
return _antd.notification.open((0, _objectSpread2.default)((0, _objectSpread2.default)({}, notificationConfig), {}, {
|
|
146
|
+
icon: /*#__PURE__*/_react.default.createElement(_antd.Icon, {
|
|
147
|
+
type: "cloud-download",
|
|
148
|
+
className: _index.default.exportErrorTheme
|
|
149
|
+
}),
|
|
150
|
+
message: '导出失败',
|
|
151
|
+
duration: 4
|
|
152
|
+
}));
|
|
153
|
+
});
|
|
154
|
+
};
|
|
18
155
|
var getTargetDom = (0, _ahooks.useMemoizedFn)(function () {
|
|
19
|
-
|
|
156
|
+
var _ref$current;
|
|
157
|
+
return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.buttonNode;
|
|
20
158
|
});
|
|
159
|
+
var getActionUrl = function getActionUrl() {
|
|
160
|
+
var caturl = impexpSetting.customType ? "selectKey=".concat(impexpSetting.customParam) : "inputKey=".concat(impexpSetting.customParam);
|
|
161
|
+
return caturl;
|
|
162
|
+
};
|
|
163
|
+
var formItemProps = {
|
|
164
|
+
action: getActionUrl(),
|
|
165
|
+
// 上传地址
|
|
166
|
+
headers: {
|
|
167
|
+
Authorization: "Bearer ".concat(window.cookie.get(window.appConfig.authSaveKey))
|
|
168
|
+
},
|
|
169
|
+
name: 'files',
|
|
170
|
+
showUploadList: false,
|
|
171
|
+
beforeUpload: function beforeUpload(file, fileList) {
|
|
172
|
+
setUploadLoading(true);
|
|
173
|
+
return file;
|
|
174
|
+
},
|
|
175
|
+
onChange: function onChange(e) {
|
|
176
|
+
setUploadLoading(false);
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
var handleClick = (0, _ahooks.useMemoizedFn)( /*#__PURE__*/function () {
|
|
180
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(e) {
|
|
181
|
+
var _uploadRef$current;
|
|
182
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
|
|
183
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
184
|
+
case 0:
|
|
185
|
+
if (!onClick) {
|
|
186
|
+
_context2.next = 3;
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
onClick(e);
|
|
190
|
+
return _context2.abrupt("return");
|
|
191
|
+
case 3:
|
|
192
|
+
if (impexpSetting.type === 'export') {
|
|
193
|
+
doExportAll(handleExportAll);
|
|
194
|
+
} else {
|
|
195
|
+
if (uploadRef.current) {
|
|
196
|
+
(_uploadRef$current = uploadRef.current) === null || _uploadRef$current === void 0 || (_uploadRef$current = _uploadRef$current.upload) === null || _uploadRef$current === void 0 || (_uploadRef$current = _uploadRef$current.uploader) === null || _uploadRef$current === void 0 || _uploadRef$current.onClick();
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
case 4:
|
|
200
|
+
case "end":
|
|
201
|
+
return _context2.stop();
|
|
202
|
+
}
|
|
203
|
+
}, _callee2);
|
|
204
|
+
}));
|
|
205
|
+
return function (_x3) {
|
|
206
|
+
return _ref3.apply(this, arguments);
|
|
207
|
+
};
|
|
208
|
+
}());
|
|
209
|
+
// console.log(formItemProps, module, moduleCode)
|
|
210
|
+
|
|
21
211
|
return /*#__PURE__*/_react.default.createElement(_Wrapper.default, {
|
|
22
212
|
id: id,
|
|
23
|
-
displayName: "
|
|
213
|
+
displayName: "Imex",
|
|
24
214
|
getTargetDom: getTargetDom
|
|
215
|
+
}, /*#__PURE__*/_react.default.createElement(StyledButton, {
|
|
216
|
+
ref: ref,
|
|
217
|
+
type: type,
|
|
218
|
+
size: size,
|
|
219
|
+
block: block,
|
|
220
|
+
ghost: ghost,
|
|
221
|
+
$css: css,
|
|
222
|
+
className: (0, _classnames.default)((0, _defineProperty2.default)({}, className, !!className)),
|
|
223
|
+
onClick: handleClick,
|
|
224
|
+
loading: !!_loading || !!uploadLoading
|
|
25
225
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
26
|
-
|
|
27
|
-
|
|
226
|
+
style: {
|
|
227
|
+
display: 'none'
|
|
228
|
+
}
|
|
229
|
+
}, /*#__PURE__*/_react.default.createElement(_antd.Upload, (0, _extends2.default)({}, formItemProps, {
|
|
230
|
+
ref: uploadRef
|
|
231
|
+
}))), iconFont ? /*#__PURE__*/_react.default.createElement(_IconFont.default, {
|
|
232
|
+
type: iconFont
|
|
233
|
+
}) : null, title || (0, _utils.formatMessage)({
|
|
234
|
+
id: 'luckda.lowcode.painter.import',
|
|
235
|
+
label: '导入'
|
|
236
|
+
})));
|
|
237
|
+
};
|
|
238
|
+
LCButton.propTypes = {
|
|
239
|
+
/**
|
|
240
|
+
* @name 唯一标识
|
|
241
|
+
* @type string
|
|
242
|
+
* @disabled true
|
|
243
|
+
*/
|
|
244
|
+
id: _propTypes.default.string.isRequired,
|
|
245
|
+
/**
|
|
246
|
+
* @name 按钮标题
|
|
247
|
+
* @type string
|
|
248
|
+
* @default 12:3:9
|
|
249
|
+
*/
|
|
250
|
+
title: _propTypes.default.string,
|
|
251
|
+
/**
|
|
252
|
+
* @name 按钮类型
|
|
253
|
+
* @type _ButtonType
|
|
254
|
+
* @default 'default'
|
|
255
|
+
*/
|
|
256
|
+
type: _propTypes.default.oneOf(['default', 'primary', 'dashed', 'danger']),
|
|
257
|
+
/**
|
|
258
|
+
* @name impexpSetting
|
|
259
|
+
* @type _ImpExpAlone
|
|
260
|
+
* @default { "customType": false, "customParam": false, "type": "export" }
|
|
261
|
+
*/
|
|
262
|
+
impexpSetting: _propTypes.default.object,
|
|
263
|
+
/**
|
|
264
|
+
* @name 按钮大小
|
|
265
|
+
* @type segmented
|
|
266
|
+
* @options [{ "label": "小", "value": "small"}, { "label": "中", "value": "middle" }, { "label": "大", "value": "large" }]
|
|
267
|
+
* @default 'default'
|
|
268
|
+
*/
|
|
269
|
+
size: _propTypes.default.oneOf(['small', 'default', 'large']),
|
|
270
|
+
/**
|
|
271
|
+
* @name 将按钮宽度调整为其父宽度的选项
|
|
272
|
+
* @type boolean
|
|
273
|
+
* @default false
|
|
274
|
+
*/
|
|
275
|
+
block: _propTypes.default.bool
|
|
28
276
|
};
|
|
29
|
-
|
|
277
|
+
LCButton.defaultProps = (0, _helper.omitBadProps)(_imexPropsDefault.default);
|
|
278
|
+
var _default = exports.default = LCButton;
|
|
@@ -14,40 +14,72 @@
|
|
|
14
14
|
"disabled": true
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
|
-
"key": "
|
|
18
|
-
"name": "
|
|
19
|
-
"desc": "
|
|
20
|
-
"type": "
|
|
17
|
+
"key": "title",
|
|
18
|
+
"name": "标题",
|
|
19
|
+
"desc": "按钮上显示的文字",
|
|
20
|
+
"type": "_I18nInput",
|
|
21
|
+
"default": "导入|导出"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"key": "impexpSetting",
|
|
25
|
+
"type": "_ImpExpAlone",
|
|
26
|
+
"default": {
|
|
27
|
+
"customType": false,
|
|
28
|
+
"customParam": false,
|
|
29
|
+
"type": "export"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"key": "size",
|
|
34
|
+
"name": "按钮",
|
|
35
|
+
"type": "segmented",
|
|
36
|
+
"repositioning": true,
|
|
21
37
|
"options": [
|
|
22
38
|
{
|
|
23
|
-
"label": "
|
|
24
|
-
"value": "
|
|
39
|
+
"label": "小",
|
|
40
|
+
"value": "small"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"label": "中",
|
|
44
|
+
"value": "middle"
|
|
25
45
|
},
|
|
26
46
|
{
|
|
27
|
-
"label": "
|
|
28
|
-
"value": "
|
|
47
|
+
"label": "大",
|
|
48
|
+
"value": "large"
|
|
29
49
|
}
|
|
30
50
|
],
|
|
31
|
-
"default": "
|
|
51
|
+
"default": "middle"
|
|
32
52
|
},
|
|
33
53
|
{
|
|
34
|
-
"key": "
|
|
35
|
-
"name": "
|
|
36
|
-
"desc": "
|
|
37
|
-
"type": "
|
|
38
|
-
"
|
|
54
|
+
"key": "block",
|
|
55
|
+
"name": "块级",
|
|
56
|
+
"desc": "将按钮宽度调整为其父宽度的选项",
|
|
57
|
+
"type": "switch",
|
|
58
|
+
"repositioning": true,
|
|
59
|
+
"default": false
|
|
39
60
|
},
|
|
40
61
|
{
|
|
41
|
-
"key": "
|
|
42
|
-
"name": "
|
|
43
|
-
"
|
|
44
|
-
"
|
|
62
|
+
"key": "type",
|
|
63
|
+
"name": "按钮类型",
|
|
64
|
+
"type": "_ButtonType",
|
|
65
|
+
"default": "primary"
|
|
45
66
|
},
|
|
46
67
|
{
|
|
47
|
-
"key": "
|
|
48
|
-
"name": "
|
|
49
|
-
"
|
|
50
|
-
"
|
|
68
|
+
"key": "iconFont",
|
|
69
|
+
"name": "图标",
|
|
70
|
+
"type": "_Icon",
|
|
71
|
+
"next": {
|
|
72
|
+
"name": "选择图标",
|
|
73
|
+
"autoClose": true,
|
|
74
|
+
"props": [
|
|
75
|
+
{
|
|
76
|
+
"key": "iconFont",
|
|
77
|
+
"name": "#图标选择器",
|
|
78
|
+
"type": "_IconSelector"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"repositioning": true
|
|
51
83
|
}
|
|
52
84
|
],
|
|
53
85
|
"css": {},
|
|
@@ -79,4 +111,4 @@
|
|
|
79
111
|
}
|
|
80
112
|
]
|
|
81
113
|
}
|
|
82
|
-
}
|
|
114
|
+
}
|
|
@@ -94,13 +94,13 @@
|
|
|
94
94
|
"key": "onMount",
|
|
95
95
|
"name": "组件首次渲染时",
|
|
96
96
|
"desc": "在组件首次渲染时,执行方法",
|
|
97
|
-
"func": "(params)
|
|
97
|
+
"func": "function onMount(params) {\n\t\n}"
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
100
|
"key": "onUnmount",
|
|
101
101
|
"name": "组件卸载时",
|
|
102
102
|
"desc": "在组件卸载时,执行方法。",
|
|
103
|
-
"func": "(params)
|
|
103
|
+
"func": "function onUnmount(params) {\n\t\n}"
|
|
104
104
|
}
|
|
105
105
|
]
|
|
106
106
|
}
|
|
@@ -36,13 +36,13 @@
|
|
|
36
36
|
"key": "onPageMount",
|
|
37
37
|
"name": "组件首次渲染时",
|
|
38
38
|
"desc": "在组件首次渲染时,执行方法",
|
|
39
|
-
"func": "(
|
|
39
|
+
"func": "function onPageMount()=>{\n\t\n}"
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"key": "onPageUnmount",
|
|
43
43
|
"name": "组件卸载时",
|
|
44
44
|
"desc": "在组件卸载时,执行方法。",
|
|
45
|
-
"func": "(
|
|
45
|
+
"func": "function onPageUnmount()=>{\n\t\n}"
|
|
46
46
|
}
|
|
47
47
|
]
|
|
48
48
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _ahooks = require("ahooks");
|
|
14
|
+
var _utils = require("@luck-design-biz/base/utils");
|
|
15
|
+
var _lodash = require("lodash");
|
|
16
|
+
var _ContextProvider = require("../../../engine/provider/ContextProvider");
|
|
17
|
+
var _index = _interopRequireDefault(require("./index"));
|
|
18
|
+
var _boxPropsDefault = _interopRequireDefault(require("../../../engine/meta/box.props.default.json"));
|
|
19
|
+
var _excluded = ["children", "id", "display"];
|
|
20
|
+
var FunctionDesign = function FunctionDesign(_ref) {
|
|
21
|
+
var children = _ref.children,
|
|
22
|
+
id = _ref.id,
|
|
23
|
+
display = _ref.display,
|
|
24
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
25
|
+
var ctx = (0, _ContextProvider.useContext)();
|
|
26
|
+
var current = (0, _ContextProvider.useGet)({
|
|
27
|
+
id: id
|
|
28
|
+
});
|
|
29
|
+
var refreshChild = (0, _ahooks.useMemoizedFn)(function () {
|
|
30
|
+
var _current$children;
|
|
31
|
+
var ratioArr = display.split('');
|
|
32
|
+
if (ratioArr.length === ((_current$children = current.children) === null || _current$children === void 0 ? void 0 : _current$children.length)) return;
|
|
33
|
+
(0, _lodash.drop)(current.children, ratioArr.length).forEach(function (boxId) {
|
|
34
|
+
(0, _ContextProvider.deleteNode)(boxId);
|
|
35
|
+
});
|
|
36
|
+
ratioArr.forEach(function (_, index) {
|
|
37
|
+
var _current$children2;
|
|
38
|
+
if (!((_current$children2 = current.children) !== null && _current$children2 !== void 0 && _current$children2[index])) {
|
|
39
|
+
(0, _ContextProvider.addNode)(id, "box_".concat((0, _utils.suid)()), (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _boxPropsDefault.default), {}, {
|
|
40
|
+
buildIn: true
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
(0, _ahooks.useCreation)(function () {
|
|
46
|
+
if (children !== null && children !== void 0 && children.length) return;
|
|
47
|
+
ctx.$subscriber(ctx.topics.COMPONENT_APPEND).once(function (_ref2) {
|
|
48
|
+
var compId = _ref2.id;
|
|
49
|
+
if (compId !== id) return;
|
|
50
|
+
refreshChild();
|
|
51
|
+
}).watch();
|
|
52
|
+
}, []);
|
|
53
|
+
(0, _react.useEffect)(function () {
|
|
54
|
+
var cmid = ctx.$subscriber(ctx.topics.COMPONENT_MODIFY).on(function (_ref3) {
|
|
55
|
+
var compId = _ref3.id,
|
|
56
|
+
newValue = _ref3.newValue;
|
|
57
|
+
if (compId !== id) return;
|
|
58
|
+
if (newValue.hasOwnProperty('display')) {
|
|
59
|
+
refreshChild();
|
|
60
|
+
}
|
|
61
|
+
}).watch();
|
|
62
|
+
return function () {
|
|
63
|
+
return ctx.$unsubscriber(ctx.topics.COMPONENT_MODIFY, cmid);
|
|
64
|
+
};
|
|
65
|
+
}, []);
|
|
66
|
+
return /*#__PURE__*/_react.default.createElement(_index.default, (0, _extends2.default)({
|
|
67
|
+
id: id,
|
|
68
|
+
display: display
|
|
69
|
+
}, props), children);
|
|
70
|
+
};
|
|
71
|
+
var _default = exports.default = FunctionDesign;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _index = _interopRequireDefault(require("./index"));
|
|
11
|
+
var _excluded = ["children"];
|
|
12
|
+
var FunctionLive = function FunctionLive(_ref) {
|
|
13
|
+
var children = _ref.children,
|
|
14
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
15
|
+
return /*#__PURE__*/_react.default.createElement(_index.default, props, children);
|
|
16
|
+
};
|
|
17
|
+
var _default = exports.default = FunctionLive;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _index = _interopRequireDefault(require("./index"));
|
|
11
|
+
var _excluded = ["children"];
|
|
12
|
+
var FunctionPreview = function FunctionPreview(_ref) {
|
|
13
|
+
var children = _ref.children,
|
|
14
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
15
|
+
return /*#__PURE__*/_react.default.createElement(_index.default, props, children);
|
|
16
|
+
};
|
|
17
|
+
var _default = exports.default = FunctionPreview;
|
|
@@ -0,0 +1,40 @@
|
|
|
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 _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _ahooks = require("ahooks");
|
|
11
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
12
|
+
var _base = require("@luck-design-biz/base");
|
|
13
|
+
var _Wrapper = _interopRequireDefault(require("../Wrapper"));
|
|
14
|
+
var StyledLayout = (0, _styledComponents.default)(_base.Layout).withConfig({
|
|
15
|
+
displayName: "StyledLayout",
|
|
16
|
+
componentId: "luckda-6530__sc-1igjuug-0"
|
|
17
|
+
})(["", ""], function (props) {
|
|
18
|
+
return props.$css;
|
|
19
|
+
});
|
|
20
|
+
var LCPageLayout = function LCPageLayout(_ref) {
|
|
21
|
+
var id = _ref.id,
|
|
22
|
+
children = _ref.children,
|
|
23
|
+
css = _ref.css,
|
|
24
|
+
display = _ref.display;
|
|
25
|
+
var ref = (0, _react.useRef)();
|
|
26
|
+
var getTargetDom = (0, _ahooks.useMemoizedFn)(function () {
|
|
27
|
+
return ref.current;
|
|
28
|
+
});
|
|
29
|
+
return /*#__PURE__*/_react.default.createElement(_Wrapper.default, {
|
|
30
|
+
id: id,
|
|
31
|
+
displayName: "PageLayout",
|
|
32
|
+
getTargetDom: getTargetDom
|
|
33
|
+
}, /*#__PURE__*/_react.default.createElement(StyledLayout, {
|
|
34
|
+
wrapperRef: ref,
|
|
35
|
+
$css: css
|
|
36
|
+
}, /*#__PURE__*/_react.default.createElement(_base.Layout.Sider, null, children === null || children === void 0 ? void 0 : children[0]), /*#__PURE__*/_react.default.createElement(_base.Layout.Main, null, (children === null || children === void 0 ? void 0 : children.length) === display.split('').length ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, display === 'lr' ? children === null || children === void 0 ? void 0 : children[1] : /*#__PURE__*/_react.default.createElement(_base.MemorySplit, {
|
|
37
|
+
split: display === 'ltb' ? 'horizontal' : 'vertical'
|
|
38
|
+
}, children === null || children === void 0 ? void 0 : children[1], children === null || children === void 0 ? void 0 : children[2])) : null)));
|
|
39
|
+
};
|
|
40
|
+
var _default = exports.default = LCPageLayout;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"component": "PageLayout",
|
|
3
|
+
"name": "页面布局容器",
|
|
4
|
+
"icon": "icon-pagelayout",
|
|
5
|
+
"group": "container",
|
|
6
|
+
"groupName": "布局",
|
|
7
|
+
"desc": "页面布局容器一般用于构建页面时根节点的基础布局,分为左右布局、左上下布局以及左中右布局。",
|
|
8
|
+
"order": 1,
|
|
9
|
+
"props": [
|
|
10
|
+
{
|
|
11
|
+
"key": "id",
|
|
12
|
+
"name": "唯一标识",
|
|
13
|
+
"type": "string",
|
|
14
|
+
"disabled": true
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"key": "displaySetting",
|
|
18
|
+
"name": "展现形式",
|
|
19
|
+
"type": "group",
|
|
20
|
+
"props": [
|
|
21
|
+
{
|
|
22
|
+
"key": "display",
|
|
23
|
+
"name": "#展现形式",
|
|
24
|
+
"type": "_PageLayoutDisplay",
|
|
25
|
+
"default": "lr"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"css": "width: 100%, height: 100%, background-color: transparent",
|
|
31
|
+
"advance": {
|
|
32
|
+
"events": [
|
|
33
|
+
{
|
|
34
|
+
"key": "onMount",
|
|
35
|
+
"name": "组件首次渲染时",
|
|
36
|
+
"desc": "在组件首次渲染时,执行方法",
|
|
37
|
+
"func": "function onMount() {\n\t\n}"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"key": "onUnmount",
|
|
41
|
+
"name": "组件卸载时",
|
|
42
|
+
"desc": "在组件卸载时,执行方法。",
|
|
43
|
+
"func": "function onUnmount() {\n\t\n}"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -94,13 +94,13 @@
|
|
|
94
94
|
"key": "onMount",
|
|
95
95
|
"name": "组件首次渲染时",
|
|
96
96
|
"desc": "在组件首次渲染时,执行方法",
|
|
97
|
-
"func": "(
|
|
97
|
+
"func": "function onMount(){\n\t\n}"
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
100
|
"key": "onUnmount",
|
|
101
101
|
"name": "组件卸载时",
|
|
102
102
|
"desc": "在组件卸载时,执行方法。",
|
|
103
|
-
"func": "(
|
|
103
|
+
"func": "function onUnmount()=>{\n\t\n}"
|
|
104
104
|
}
|
|
105
105
|
]
|
|
106
106
|
}
|