parsec-libs 0.0.76 → 0.0.77

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/index.js CHANGED
@@ -2092,7 +2092,7 @@ var renderOptionsItem = function renderOptionsItem(_ref) {
2092
2092
  }))));
2093
2093
  }));
2094
2094
  };
2095
- var QuestionFormItem = parsecHooks.ContainerUseWrap(QuestionSettingStore, function (_ref4) {
2095
+ var QuestionFormItem = /*#__PURE__*/React.memo(parsecHooks.ContainerUseWrap(QuestionSettingStore, function (_ref4) {
2096
2096
  var value = _ref4.value,
2097
2097
  index = _ref4.index,
2098
2098
  onRemove = _ref4.onRemove,
@@ -2102,6 +2102,7 @@ var QuestionFormItem = parsecHooks.ContainerUseWrap(QuestionSettingStore, functi
2102
2102
  list = _ref4.list,
2103
2103
  moveUpDisabled = _ref4.moveUpDisabled,
2104
2104
  moveDownDisabled = _ref4.moveDownDisabled;
2105
+ console.log('item render');
2105
2106
 
2106
2107
  var _ref5 = value || {},
2107
2108
  questionType = _ref5.questionType;
@@ -2152,73 +2153,22 @@ var QuestionFormItem = parsecHooks.ContainerUseWrap(QuestionSettingStore, functi
2152
2153
  onValuesChange: function onValuesChange(_, values) {
2153
2154
  return run(values);
2154
2155
  }
2155
- }, /*#__PURE__*/React__default['default'].createElement(parsecAdmin.Form.Item, {
2156
+ }, questionVisible ? /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(parsecAdmin.Form.Item, {
2156
2157
  noStyle: true,
2157
2158
  shouldUpdate: true
2158
2159
  }, function (_ref7) {
2159
2160
  var getFieldValue = _ref7.getFieldValue;
2160
2161
  return setFormItemsDisabled(!!getFieldValue('baseQuestionId'));
2161
- }), /*#__PURE__*/React__default['default'].createElement(SettingDrawer, null), /*#__PURE__*/React__default['default'].createElement(_Card__default['default'], {
2162
- title: /*#__PURE__*/React__default['default'].createElement(parsecAdmin.Form.Item, {
2163
- shouldUpdate: true,
2164
- noStyle: true
2165
- }, function (_ref8) {
2166
- var getFieldValue = _ref8.getFieldValue;
2167
- var questionType = getFieldValue('questionType');
2168
- var score = getFieldValue('score');
2169
- var parentGroupsSize = list.filter(function (_, i) {
2170
- return i <= index;
2171
- }).map(function (_ref9) {
2172
- var _ref9$groupSize = _ref9.groupSize,
2173
- groupSize = _ref9$groupSize === void 0 ? 0 : _ref9$groupSize;
2174
- return groupSize;
2175
- }).reduce(function (a, b) {
2176
- return a + b;
2177
- }, 0);
2178
-
2179
- var _ref10 = list.map(function (item, index) {
2180
- return _objectSpread2({
2181
- index: index
2182
- }, item);
2183
- }).filter(function (_ref11) {
2184
- var questionType = _ref11.questionType;
2185
- return questionType === QuestionType.组;
2186
- }).reverse().find(function (_ref12) {
2187
- var itemIndex = _ref12.index,
2188
- groupSize = _ref12.groupSize;
2189
- return itemIndex < index && itemIndex + groupSize >= index;
2190
- }) || {},
2191
- groupIndex = _ref10.index,
2192
- groupSize = _ref10.groupSize;
2193
-
2194
- var count = groupSize && questionType !== QuestionType.组 ? "".concat(groupIndex + 1 - parentGroupsSize + groupSize, ".").concat(index - groupIndex) : index + 1 - parentGroupsSize + (value.groupSize || 0);
2195
- return "".concat(getFieldValue('isMustAnswer') ? '* ' : '', "\u9898\u76EE").concat(count, " \uFF08").concat(questionType === QuestionType.组 ? '题目分组' : questionType ? "".concat(QuestionTypeObj[questionType], "\u9898") : '', "\uFF09").concat(score ? "\uFF08".concat(score, "\u5206\uFF09") : '');
2196
- }),
2197
- type: "inner",
2198
- extra: /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(_Tooltip__default['default'], {
2199
- title: "\u4E0A\u79FB"
2200
- }, /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
2201
- type: "link",
2202
- icon: /*#__PURE__*/React__default['default'].createElement(icons.ArrowUpOutlined, null),
2203
- onClick: onMoveUp,
2204
- disabled: moveUpDisabled
2205
- })), /*#__PURE__*/React__default['default'].createElement(_Tooltip__default['default'], {
2206
- title: "\u4E0B\u79FB"
2207
- }, /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
2208
- type: "link",
2209
- icon: /*#__PURE__*/React__default['default'].createElement(icons.ArrowDownOutlined, null),
2210
- onClick: onMoveDown,
2211
- disabled: moveDownDisabled
2212
- })), /*#__PURE__*/React__default['default'].createElement(_Divider__default['default'], {
2213
- type: "vertical"
2214
- }), /*#__PURE__*/React__default['default'].createElement(_Tooltip__default['default'], {
2215
- title: "\u5220\u9664\u95EE\u9898"
2216
- }, /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
2217
- type: "link",
2218
- icon: /*#__PURE__*/React__default['default'].createElement(icons.DeleteOutlined, null),
2219
- danger: true,
2220
- onClick: onRemove
2221
- })))
2162
+ }), /*#__PURE__*/React__default['default'].createElement(SettingDrawer, null), /*#__PURE__*/React__default['default'].createElement(CardItem, {
2163
+ value: value,
2164
+ index: index,
2165
+ onRemove: onRemove,
2166
+ onChange: onChange,
2167
+ onMoveDown: onMoveDown,
2168
+ onMoveUp: onMoveUp,
2169
+ list: list,
2170
+ moveUpDisabled: moveUpDisabled,
2171
+ moveDownDisabled: moveDownDisabled
2222
2172
  }, /*#__PURE__*/React__default['default'].createElement(parsecAdmin.FormDescriptions, _extends({}, formDescriptionsProps, {
2223
2173
  column: 1,
2224
2174
  items: [{
@@ -2297,13 +2247,103 @@ var QuestionFormItem = parsecHooks.ContainerUseWrap(QuestionSettingStore, functi
2297
2247
  questionType: questionType,
2298
2248
  form: form,
2299
2249
  disabled: formItemsDisabled
2300
- })));
2250
+ }))) : /*#__PURE__*/React__default['default'].createElement(CardItem, {
2251
+ value: value,
2252
+ index: index,
2253
+ onRemove: onRemove,
2254
+ onChange: onChange,
2255
+ onMoveDown: onMoveDown,
2256
+ onMoveUp: onMoveUp,
2257
+ list: list,
2258
+ moveUpDisabled: moveUpDisabled,
2259
+ moveDownDisabled: moveDownDisabled
2260
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
2261
+ className: "to-edit"
2262
+ }, "\u70B9\u51FB\u7F16\u8F91")));
2263
+ }), function (oldProps, newProps) {
2264
+ return JSON.stringify(oldProps) !== JSON.stringify(newProps);
2301
2265
  });
2302
- var QuestionFormItem$1 = styled__default['default'](parsecAdmin.OldForm)(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n cursor: pointer;\n > .", "-card {\n ", "\n }\n"])), function (_ref13) {
2303
- var prefixCls = _ref13.theme.prefixCls;
2266
+
2267
+ var CardItem = function CardItem(_ref8) {
2268
+ var value = _ref8.value,
2269
+ index = _ref8.index,
2270
+ onRemove = _ref8.onRemove,
2271
+ onChange = _ref8.onChange,
2272
+ onMoveDown = _ref8.onMoveDown,
2273
+ onMoveUp = _ref8.onMoveUp,
2274
+ children = _ref8.children,
2275
+ list = _ref8.list,
2276
+ moveUpDisabled = _ref8.moveUpDisabled,
2277
+ moveDownDisabled = _ref8.moveDownDisabled;
2278
+ return /*#__PURE__*/React__default['default'].createElement(_Card__default['default'], {
2279
+ title: /*#__PURE__*/React__default['default'].createElement(parsecAdmin.Form.Item, {
2280
+ shouldUpdate: true,
2281
+ noStyle: true
2282
+ }, function (_ref9) {
2283
+ var getFieldValue = _ref9.getFieldValue;
2284
+ var questionType = getFieldValue('questionType');
2285
+ var score = getFieldValue('score');
2286
+ var parentGroupsSize = list.filter(function (_, i) {
2287
+ return i <= index;
2288
+ }).map(function (_ref10) {
2289
+ var _ref10$groupSize = _ref10.groupSize,
2290
+ groupSize = _ref10$groupSize === void 0 ? 0 : _ref10$groupSize;
2291
+ return groupSize;
2292
+ }).reduce(function (a, b) {
2293
+ return a + b;
2294
+ }, 0);
2295
+
2296
+ var _ref11 = list.map(function (item, index) {
2297
+ return _objectSpread2({
2298
+ index: index
2299
+ }, item);
2300
+ }).filter(function (_ref12) {
2301
+ var questionType = _ref12.questionType;
2302
+ return questionType === QuestionType.组;
2303
+ }).reverse().find(function (_ref13) {
2304
+ var itemIndex = _ref13.index,
2305
+ groupSize = _ref13.groupSize;
2306
+ return itemIndex < index && itemIndex + groupSize >= index;
2307
+ }) || {},
2308
+ groupIndex = _ref11.index,
2309
+ groupSize = _ref11.groupSize;
2310
+
2311
+ var count = groupSize && questionType !== QuestionType.组 ? "".concat(groupIndex + 1 - parentGroupsSize + groupSize, ".").concat(index - groupIndex) : index + 1 - parentGroupsSize + (value.groupSize || 0);
2312
+ return "".concat(getFieldValue('isMustAnswer') ? '* ' : '', "\u9898\u76EE").concat(count, " \uFF08").concat(questionType === QuestionType.组 ? '题目分组' : questionType ? "".concat(QuestionTypeObj[questionType], "\u9898") : '', "\uFF09").concat(score ? "\uFF08".concat(score, "\u5206\uFF09") : '');
2313
+ }),
2314
+ type: "inner",
2315
+ extra: /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(_Tooltip__default['default'], {
2316
+ title: "\u4E0A\u79FB"
2317
+ }, /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
2318
+ type: "link",
2319
+ icon: /*#__PURE__*/React__default['default'].createElement(icons.ArrowUpOutlined, null),
2320
+ onClick: onMoveUp,
2321
+ disabled: moveUpDisabled
2322
+ })), /*#__PURE__*/React__default['default'].createElement(_Tooltip__default['default'], {
2323
+ title: "\u4E0B\u79FB"
2324
+ }, /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
2325
+ type: "link",
2326
+ icon: /*#__PURE__*/React__default['default'].createElement(icons.ArrowDownOutlined, null),
2327
+ onClick: onMoveDown,
2328
+ disabled: moveDownDisabled
2329
+ })), /*#__PURE__*/React__default['default'].createElement(_Divider__default['default'], {
2330
+ type: "vertical"
2331
+ }), /*#__PURE__*/React__default['default'].createElement(_Tooltip__default['default'], {
2332
+ title: "\u5220\u9664\u95EE\u9898"
2333
+ }, /*#__PURE__*/React__default['default'].createElement(_Button__default['default'], {
2334
+ type: "link",
2335
+ icon: /*#__PURE__*/React__default['default'].createElement(icons.DeleteOutlined, null),
2336
+ danger: true,
2337
+ onClick: onRemove
2338
+ })))
2339
+ }, children);
2340
+ };
2341
+
2342
+ var QuestionFormItem$1 = styled__default['default'](parsecAdmin.OldForm)(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n cursor: pointer;\n > .", "-card {\n ", "\n }\n .to-edit {\n text-align: center;\n }\n"])), function (_ref14) {
2343
+ var prefixCls = _ref14.theme.prefixCls;
2304
2344
  return prefixCls;
2305
- }, function (_ref14) {
2306
- var selected = _ref14.selected;
2345
+ }, function (_ref15) {
2346
+ var selected = _ref15.selected;
2307
2347
  return selected && styled.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n border-color: #4e9fe6;\n box-shadow: 0 0 0 2px rgba(39, 128, 218, 0.2);\n "])));
2308
2348
  });
2309
2349
 
@@ -2317,9 +2357,13 @@ var QuestionList = (function (_ref) {
2317
2357
  form = _Form$useForm2[0];
2318
2358
 
2319
2359
  React.useEffect(function () {
2320
- form.setFieldsValue({
2321
- questionList: value
2322
- });
2360
+ var formValue = form.getFieldValue('questionList');
2361
+
2362
+ if (JSON.stringify(formValue) !== JSON.stringify(value)) {
2363
+ form.setFieldsValue({
2364
+ questionList: value
2365
+ });
2366
+ }
2323
2367
  }, [form, value]);
2324
2368
  useAddForm(form);
2325
2369
  return /*#__PURE__*/React__default['default'].createElement(_Form__default['default'], {
@@ -2338,7 +2382,7 @@ var QuestionList = (function (_ref) {
2338
2382
  move = _ref2.move;
2339
2383
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, fields.map(function (field, index) {
2340
2384
  return /*#__PURE__*/React__default['default'].createElement(React.Fragment, {
2341
- key: index
2385
+ key: field.key
2342
2386
  }, /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _extends({}, field, {
2343
2387
  noStyle: true
2344
2388
  }), /*#__PURE__*/React__default['default'].createElement(QuestionFormItem, {
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { QuestionItem, QuestionType } from '../api';
2
3
  import { FormInstance } from 'antd/lib/form';
3
4
  import { ColProps } from 'antd/lib/grid';
@@ -9,7 +10,7 @@ export declare const renderOptionsItem: ({ questionType, form, wrapperCol, label
9
10
  labelCol?: ColProps;
10
11
  disabled?: boolean;
11
12
  }) => JSX.Element;
12
- declare const _default: (props: {
13
+ declare const _default: React.MemoExoticComponent<(props: {
13
14
  index: number;
14
15
  value?: QuestionItem;
15
16
  onChange?: (value: QuestionItem) => void;
@@ -19,5 +20,5 @@ declare const _default: (props: {
19
20
  moveUpDisabled: boolean;
20
21
  list: QuestionItem[];
21
22
  moveDownDisabled: boolean;
22
- }) => JSX.Element;
23
+ }) => JSX.Element>;
23
24
  export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parsec-libs",
3
- "version": "0.0.76",
3
+ "version": "0.0.77",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",
@@ -29,6 +29,7 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@babel/runtime": "^7.10.4",
32
+ "@types/react": "^16.0.0",
32
33
  "clipboard": "^2.0.8",
33
34
  "create-api-hooks": "^0.0.27",
34
35
  "file-saver": "^2.0.2",