Commit a79b7dc919972106143ac990b0ba88862d2f573c

Authored by 乔启韬
1 parent d55b08c9

升级

... ... @@ -73,7 +73,8 @@ var ListForMobile = function ListForMobile(_ref) {
73 73 getFieldsProps = _ref.getFieldsProps;
74 74 var _schema$props = schema.props,
75 75 props = _schema$props === void 0 ? {} : _schema$props,
76   - itemProps = schema.itemProps;
  76 + itemProps = schema.itemProps,
  77 + handleAddDefault = schema.handleAddDefault;
77 78
78 79 var _useState = useState([]),
79 80 _useState2 = _slicedToArray(_useState, 2),
... ... @@ -157,7 +158,7 @@ var ListForMobile = function ListForMobile(_ref) {
157 158 }))), /*#__PURE__*/React.createElement("a", {
158 159 className: 'add-button',
159 160 onClick: function onClick() {
160   - addItem();
  161 + addItem(handleAddDefault);
161 162 }
162 163 }, /*#__PURE__*/React.createElement(_PlusCircleFilled, {
163 164 style: {
... ...
... ... @@ -149,7 +149,8 @@ var VirtualList = function VirtualList(_ref) {
149 149 qxProps = _schema$qxProps === void 0 ? {} : _schema$qxProps,
150 150 subformMode = schema.subformMode,
151 151 subReadOnly = schema.subReadOnly,
152   - isLoading = schema.isLoading;
  152 + isLoading = schema.isLoading,
  153 + handleAddDefault = schema.handleAddDefault;
153 154
154 155 var _props$scrollY = props.scrollY,
155 156 scrollY = _props$scrollY === void 0 ? 300 : _props$scrollY,
... ... @@ -1093,7 +1094,9 @@ var VirtualList = function VirtualList(_ref) {
1093 1094 }, rest)), !props.hideAdd && props.originWidget === 'subform' && !subReadOnly && /*#__PURE__*/React.createElement(_Button, {
1094 1095 type: "link",
1095 1096 icon: /*#__PURE__*/React.createElement(_PlusOutlined, null),
1096   - onClick: addItem
  1097 + onClick: function onClick() {
  1098 + addItem(handleAddDefault);
  1099 + }
1097 1100 }, "\u65B0\u589E"));
1098 1101 };
1099 1102 /**
... ...
1   -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2   -
3   -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4   -
5   -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6   -
7 1 function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8 2
9 3 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."); }
... ... @@ -16,6 +10,12 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
16 10
17 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; }
18 12
  13 +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
  14 +
  15 +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
  16 +
  17 +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  18 +
19 19 /* eslint-disable jsx-a11y/anchor-is-valid */
20 20 import React from 'react';
21 21 import { get } from 'lodash-es';
... ... @@ -68,23 +68,37 @@ var RenderList = function RenderList(_ref) {
68 68 listData = get(formData, dataPath);
69 69 }
70 70
71   - var displayList = Array.isArray(listData) ? listData : [];
  71 + var displayList = Array.isArray(listData) && JSON.stringify(listData) !== '[{}]' ? listData : [];
72 72
73 73 var changeList = function changeList(newList) {
74 74 onItemChange(dataPath, newList);
75 75 };
76 76
77   - var addItem = function addItem() {
  77 + var addItem = function addItem(handleAddDefault) {
78 78 // const newList = [...displayList, {_active: true}];
79 79 var _schema = getSchemaFromFlatten(flatten, parentId);
80 80
81   - var newItem = generateDataSkeleton(_schema.items) || {};
82   - var newList = [].concat(_toConsumableArray(displayList), [_objectSpread(_objectSpread({}, newItem), {}, {
  81 + var _newItem = generateDataSkeleton(_schema.items) || {};
  82 +
  83 + var newItem = _objectSpread(_objectSpread({}, _newItem), {}, {
83 84 _active: true
84   - })]);
85   - var newIndex = newList.length - 1;
86   - onItemChange(dataPath, newList);
87   - return newIndex;
  85 + });
  86 +
  87 + var callback = function callback() {
  88 + var _new = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : newItem;
  89 +
  90 + onItemChange(dataPath, [].concat(_toConsumableArray(displayList), [_objectSpread(_objectSpread({}, _new), {}, {
  91 + _active: true
  92 + })]));
  93 + };
  94 +
  95 + if (_.isFunction(handleAddDefault)) {
  96 + handleAddDefault(newItem, callback);
  97 + } else {
  98 + callback();
  99 + }
  100 +
  101 + return displayList.length;
88 102 };
89 103
90 104 var copyItem = function copyItem(idx) {
... ...
... ... @@ -295,6 +295,10 @@
295 295 cursor: pointer;
296 296 position: relative;
297 297 }
  298 +.fr-container .fr-tooltip-toggle:hover .fr-tooltip-container {
  299 + opacity: 1;
  300 + visibility: visible;
  301 +}
298 302 .fr-container .fr-tooltip-icon {
299 303 height: 14px;
300 304 width: 14px;
... ... @@ -303,6 +307,28 @@
303 307 display: block;
304 308 margin: 4px 0 0 4px;
305 309 }
  310 +.fr-container .fr-tooltip-container {
  311 + position: absolute;
  312 + width: 160px;
  313 + white-space: initial !important;
  314 + top: -4px;
  315 + left: 0;
  316 + bottom: unset;
  317 + transform: translateY(-100%);
  318 + text-align: left;
  319 + background: #2b222a;
  320 + padding: 4px;
  321 + margin-left: -69px;
  322 + border-radius: 4px;
  323 + color: #efefef;
  324 + font-size: 13px;
  325 + cursor: auto;
  326 + z-index: 99999;
  327 + transition: all 0.5s ease;
  328 + opacity: 0;
  329 + visibility: hidden;
  330 + word-wrap: break-word;
  331 +}
306 332 .fr-container .fr-slider {
307 333 display: flex;
308 334 width: 100%;
... ...
... ... @@ -89,7 +89,8 @@ var ListForMobile = function ListForMobile(_ref) {
89 89 getFieldsProps = _ref.getFieldsProps;
90 90 var _schema$props = schema.props,
91 91 props = _schema$props === void 0 ? {} : _schema$props,
92   - itemProps = schema.itemProps;
  92 + itemProps = schema.itemProps,
  93 + handleAddDefault = schema.handleAddDefault;
93 94
94 95 var _useState = (0, _react.useState)([]),
95 96 _useState2 = _slicedToArray(_useState, 2),
... ... @@ -173,7 +174,7 @@ var ListForMobile = function ListForMobile(_ref) {
173 174 }))), /*#__PURE__*/_react.default.createElement("a", {
174 175 className: 'add-button',
175 176 onClick: function onClick() {
176   - addItem();
  177 + addItem(handleAddDefault);
177 178 }
178 179 }, /*#__PURE__*/_react.default.createElement(_PlusCircleFilled2.default, {
179 180 style: {
... ...
... ... @@ -209,7 +209,8 @@ var VirtualList = function VirtualList(_ref) {
209 209 qxProps = _schema$qxProps === void 0 ? {} : _schema$qxProps,
210 210 subformMode = schema.subformMode,
211 211 subReadOnly = schema.subReadOnly,
212   - isLoading = schema.isLoading;
  212 + isLoading = schema.isLoading,
  213 + handleAddDefault = schema.handleAddDefault;
213 214
214 215 var _props$scrollY = props.scrollY,
215 216 scrollY = _props$scrollY === void 0 ? 300 : _props$scrollY,
... ... @@ -1155,7 +1156,9 @@ var VirtualList = function VirtualList(_ref) {
1155 1156 }, rest)), !props.hideAdd && props.originWidget === 'subform' && !subReadOnly && /*#__PURE__*/_react.default.createElement(_button.default, {
1156 1157 type: "link",
1157 1158 icon: /*#__PURE__*/_react.default.createElement(_PlusOutlined2.default, null),
1158   - onClick: addItem
  1159 + onClick: function onClick() {
  1160 + addItem(handleAddDefault);
  1161 + }
1159 1162 }, "\u65B0\u589E"));
1160 1163 };
1161 1164 /**
... ...
... ... @@ -31,12 +31,6 @@ var _ListForMobile = _interopRequireDefault(require("./ListForMobile"));
31 31
32 32 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33 33
34   -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35   -
36   -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37   -
38   -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39   -
40 34 function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
41 35
42 36 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."); }
... ... @@ -49,6 +43,12 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
49 43
50 44 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; }
51 45
  46 +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
  47 +
  48 +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
  49 +
  50 +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  51 +
52 52 var RenderList = function RenderList(_ref) {
53 53 var parentId = _ref.parentId,
54 54 _ref$schema = _ref.schema,
... ... @@ -87,23 +87,37 @@ var RenderList = function RenderList(_ref) {
87 87 listData = (0, _lodashEs.get)(formData, dataPath);
88 88 }
89 89
90   - var displayList = Array.isArray(listData) ? listData : [];
  90 + var displayList = Array.isArray(listData) && JSON.stringify(listData) !== '[{}]' ? listData : [];
91 91
92 92 var changeList = function changeList(newList) {
93 93 onItemChange(dataPath, newList);
94 94 };
95 95
96   - var addItem = function addItem() {
  96 + var addItem = function addItem(handleAddDefault) {
97 97 // const newList = [...displayList, {_active: true}];
98 98 var _schema = (0, _utils.getSchemaFromFlatten)(flatten, parentId);
99 99
100   - var newItem = (0, _utils.generateDataSkeleton)(_schema.items) || {};
101   - var newList = [].concat(_toConsumableArray(displayList), [_objectSpread(_objectSpread({}, newItem), {}, {
  100 + var _newItem = (0, _utils.generateDataSkeleton)(_schema.items) || {};
  101 +
  102 + var newItem = _objectSpread(_objectSpread({}, _newItem), {}, {
102 103 _active: true
103   - })]);
104   - var newIndex = newList.length - 1;
105   - onItemChange(dataPath, newList);
106   - return newIndex;
  104 + });
  105 +
  106 + var callback = function callback() {
  107 + var _new = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : newItem;
  108 +
  109 + onItemChange(dataPath, [].concat(_toConsumableArray(displayList), [_objectSpread(_objectSpread({}, _new), {}, {
  110 + _active: true
  111 + })]));
  112 + };
  113 +
  114 + if (_.isFunction(handleAddDefault)) {
  115 + handleAddDefault(newItem, callback);
  116 + } else {
  117 + callback();
  118 + }
  119 +
  120 + return displayList.length;
107 121 };
108 122
109 123 var copyItem = function copyItem(idx) {
... ...
... ... @@ -295,6 +295,10 @@
295 295 cursor: pointer;
296 296 position: relative;
297 297 }
  298 +.fr-container .fr-tooltip-toggle:hover .fr-tooltip-container {
  299 + opacity: 1;
  300 + visibility: visible;
  301 +}
298 302 .fr-container .fr-tooltip-icon {
299 303 height: 14px;
300 304 width: 14px;
... ... @@ -303,6 +307,28 @@
303 307 display: block;
304 308 margin: 4px 0 0 4px;
305 309 }
  310 +.fr-container .fr-tooltip-container {
  311 + position: absolute;
  312 + width: 160px;
  313 + white-space: initial !important;
  314 + top: -4px;
  315 + left: 0;
  316 + bottom: unset;
  317 + transform: translateY(-100%);
  318 + text-align: left;
  319 + background: #2b222a;
  320 + padding: 4px;
  321 + margin-left: -69px;
  322 + border-radius: 4px;
  323 + color: #efefef;
  324 + font-size: 13px;
  325 + cursor: auto;
  326 + z-index: 99999;
  327 + transition: all 0.5s ease;
  328 + opacity: 0;
  329 + visibility: hidden;
  330 + word-wrap: break-word;
  331 +}
306 332 .fr-container .fr-slider {
307 333 display: flex;
308 334 width: 100%;
... ...
1 1 {
2 2 "name": "@qx/form-render",
3   - "version": "0.1.2",
  3 + "version": "0.1.3",
4 4 "description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成",
5 5 "repository": {
6 6 "type": "git",
... ...