wargerm 0.2.8 → 0.2.12

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.
@@ -47,9 +47,11 @@ export interface WFormProps extends FormProps {
47
47
  className?: string;
48
48
  style?: React.CSSProperties;
49
49
  columns: ColumnProps[];
50
+ extraColumns?: ColumnProps[];
50
51
  disabled?: boolean;
51
52
  disabledHideInSearch?: boolean;
52
53
  onSubmit?: (params: Record<string, any>) => void;
54
+ onFormChange?: (changedValues: Record<string, any>, allValues: Record<string, any>, form: any) => void;
53
55
  onReset?: () => void;
54
56
  formRef?: MutableRefObject<FormInstance>;
55
57
  search?: Isearch | false;
package/dist/index.esm.js CHANGED
@@ -7532,16 +7532,18 @@ Table.defaultProps = {
7532
7532
  rowKey: 'key'
7533
7533
  };
7534
7534
 
7535
- var _excluded$5 = ["columns", "className", "style", "search", "disabled", "disabledHideInSearch", "onSubmit", "onReset"];
7535
+ var _excluded$5 = ["columns", "extraColumns", "className", "style", "search", "disabled", "disabledHideInSearch", "onFormChange", "onSubmit", "onReset"];
7536
7536
  var RangePicker$2 = Index$2.RangePicker;
7537
7537
 
7538
7538
  var WForm = function WForm(props, ref) {
7539
7539
  var columns = props.columns,
7540
+ extraColumns = props.extraColumns,
7540
7541
  className = props.className,
7541
7542
  style = props.style,
7542
7543
  search = props.search,
7543
7544
  disabled = props.disabled,
7544
7545
  disabledHideInSearch = props.disabledHideInSearch,
7546
+ onFormChange = props.onFormChange,
7545
7547
  onSubmit = props.onSubmit,
7546
7548
  onReset = props.onReset,
7547
7549
  extraProps = _objectWithoutProperties(props, _excluded$5);
@@ -7560,11 +7562,18 @@ var WForm = function WForm(props, ref) {
7560
7562
  columnsFields = _useState4[0],
7561
7563
  setColumnsFields = _useState4[1];
7562
7564
 
7563
- var filterFormColumns = columns.filter(function (c) {
7565
+ var filterFormColumns = _toConsumableArray(columns).filter(function (c) {
7564
7566
  return !c.hideInSearch || disabledHideInSearch;
7565
7567
  }).sort(function (a, b) {
7566
7568
  return (b.order || 0) - (a.order || 0);
7567
7569
  });
7570
+
7571
+ var filterExtraFormColumns = _toConsumableArray(extraColumns || []).filter(function (c) {
7572
+ return !c.hideInSearch || disabledHideInSearch;
7573
+ }).sort(function (a, b) {
7574
+ return (b.order || 0) - (a.order || 0);
7575
+ });
7576
+
7568
7577
  var filterForm = useMemo(function () {
7569
7578
  return filterFormColumns.map(function (c) {
7570
7579
  var colProps = {};
@@ -7916,7 +7925,8 @@ var WForm = function WForm(props, ref) {
7916
7925
 
7917
7926
  var baseitem = c.renderFormItem(c, _objectSpread2(_objectSpread2({}, c), {}, {
7918
7927
  formItemProps: c.formItemProps,
7919
- fieldProps: c.fieldProps
7928
+ fieldProps: c.fieldProps,
7929
+ columnsFields: columnsFields
7920
7930
  }), form);
7921
7931
  return baseitem ? /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
7922
7932
  style: {
@@ -8013,7 +8023,457 @@ var WForm = function WForm(props, ref) {
8013
8023
  }, c.fieldProps))));
8014
8024
  }
8015
8025
  });
8016
- }, [changedValues, disabled, JSON.stringify(form.getFieldsValue())]);
8026
+ }, [changedValues, columns, disabled, JSON.stringify(form.getFieldsValue())]);
8027
+ var filterExtraColumnsForm = useMemo(function () {
8028
+ return filterExtraFormColumns.map(function (c) {
8029
+ var colProps = {};
8030
+
8031
+ if (search && search.span) {
8032
+ colProps.span = typeof search.span == 'number' ? (c.colSize || 1) * search.span : {
8033
+ xs: 24,
8034
+ sm: 24,
8035
+ md: 12,
8036
+ lg: 12,
8037
+ xl: 8,
8038
+ xxl: 6
8039
+ };
8040
+ }
8041
+
8042
+ if (c.valueType == 'select') {
8043
+ var _extraProps3 = {};
8044
+
8045
+ if (c.request) {
8046
+ _extraProps3.request = c.request;
8047
+ } else if (c.valueEnum) {
8048
+ _extraProps3.valueEnum = c.valueEnum;
8049
+ }
8050
+
8051
+ var labelCol = {};
8052
+
8053
+ if (search && search.labelWidth) {
8054
+ labelCol.style = {
8055
+ width: search.labelWidth
8056
+ };
8057
+ }
8058
+
8059
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8060
+ style: {
8061
+ paddingLeft: '12px',
8062
+ paddingRight: '12px'
8063
+ }
8064
+ }, colProps), {}, {
8065
+ key: c.dataIndex
8066
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8067
+ initialValue: c.initialValue
8068
+ }, c.formItemProps), {}, {
8069
+ name: c.dataIndex,
8070
+ label: c.title,
8071
+ labelCol: labelCol
8072
+ }), /*#__PURE__*/React.createElement(Index$1, _objectSpread2(_objectSpread2({
8073
+ placeholder: "\u8BF7\u9009\u62E9",
8074
+ disabled: disabled,
8075
+ onLoad: function onLoad(opt) {
8076
+ setColumnsFields(function (preColumnsFields) {
8077
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, opt));
8078
+ });
8079
+ }
8080
+ }, c.fieldProps), _extraProps3))));
8081
+ } else if (c.valueType == 'treeSelect') {
8082
+ var _extraProps4 = {};
8083
+
8084
+ if (c.request) {
8085
+ _extraProps4.request = c.request;
8086
+ }
8087
+
8088
+ var _labelCol12 = {};
8089
+
8090
+ if (search && search.labelWidth) {
8091
+ _labelCol12.style = {
8092
+ width: search.labelWidth
8093
+ };
8094
+ }
8095
+
8096
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8097
+ style: {
8098
+ paddingLeft: '12px',
8099
+ paddingRight: '12px'
8100
+ }
8101
+ }, colProps), {}, {
8102
+ key: c.dataIndex
8103
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8104
+ initialValue: c.initialValue
8105
+ }, c.formItemProps), {}, {
8106
+ name: c.dataIndex,
8107
+ label: c.title,
8108
+ labelCol: _labelCol12
8109
+ }), /*#__PURE__*/React.createElement(Index$5, _objectSpread2(_objectSpread2({
8110
+ disabled: disabled,
8111
+ placeholder: "\u8BF7\u9009\u62E9",
8112
+ onLoad: function onLoad(opt) {}
8113
+ }, c.fieldProps), _extraProps4))));
8114
+ } else if (c.valueType && ['date', 'dateTime', 'dateMonth', 'dateYear'].includes(c.valueType)) {
8115
+ var _labelCol13 = {};
8116
+
8117
+ if (search && search.labelWidth) {
8118
+ _labelCol13.style = {
8119
+ width: search.labelWidth
8120
+ };
8121
+ }
8122
+
8123
+ var showTime = {};
8124
+ var picker = {};
8125
+
8126
+ if (c.valueType == 'dateTime') {
8127
+ showTime = {
8128
+ showTime: {
8129
+ format: 'HH:mm'
8130
+ }
8131
+ };
8132
+ }
8133
+
8134
+ if (c.valueType == 'dateMonth') {
8135
+ picker = {
8136
+ picker: 'month'
8137
+ };
8138
+ }
8139
+
8140
+ if (c.valueType == 'dateYear') {
8141
+ picker = {
8142
+ picker: 'year'
8143
+ };
8144
+ }
8145
+
8146
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8147
+ style: {
8148
+ paddingLeft: '12px',
8149
+ paddingRight: '12px'
8150
+ }
8151
+ }, colProps), {}, {
8152
+ key: c.dataIndex
8153
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8154
+ initialValue: c.initialValue
8155
+ }, c.formItemProps), {}, {
8156
+ name: c.dataIndex,
8157
+ label: c.title,
8158
+ labelCol: _labelCol13
8159
+ }), /*#__PURE__*/React.createElement(Index$2, _objectSpread2(_objectSpread2(_objectSpread2({
8160
+ disabled: disabled,
8161
+ placeholder: "\u8BF7\u8F93\u5165"
8162
+ }, picker), showTime), c.fieldProps))));
8163
+ } else if (c.valueType === 'dateRange' || c.valueType === 'dateTimeRange') {
8164
+ var _labelCol14 = {};
8165
+
8166
+ if (search && search.labelWidth) {
8167
+ _labelCol14.style = {
8168
+ width: search.labelWidth
8169
+ };
8170
+ }
8171
+
8172
+ var _showTime2 = {};
8173
+
8174
+ if (c.valueType == 'dateTimeRange') {
8175
+ _showTime2 = {
8176
+ showTime: {
8177
+ format: 'HH:mm'
8178
+ }
8179
+ };
8180
+ }
8181
+
8182
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8183
+ style: {
8184
+ paddingLeft: '12px',
8185
+ paddingRight: '12px'
8186
+ }
8187
+ }, colProps), {}, {
8188
+ key: c.dataIndex
8189
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8190
+ initialValue: c.initialValue
8191
+ }, c.formItemProps), {}, {
8192
+ name: c.dataIndex,
8193
+ label: c.title,
8194
+ labelCol: _labelCol14
8195
+ }), /*#__PURE__*/React.createElement(RangePicker$2, _objectSpread2(_objectSpread2({
8196
+ disabled: disabled
8197
+ }, _showTime2), c.fieldProps))));
8198
+ } else if (c.valueType === 'checkbox') {
8199
+ var options = [];
8200
+
8201
+ if (c.valueEnum) {
8202
+ for (var key in c.valueEnum) {
8203
+ var text = c.valueEnum[key].text;
8204
+ options.push({
8205
+ label: text,
8206
+ value: key
8207
+ });
8208
+ }
8209
+ }
8210
+
8211
+ if (c.options) {
8212
+ options = c.options;
8213
+ }
8214
+
8215
+ setColumnsFields(function (preColumnsFields) {
8216
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, options));
8217
+ });
8218
+ var _labelCol15 = {};
8219
+
8220
+ if (search && search.labelWidth) {
8221
+ _labelCol15.style = {
8222
+ width: search.labelWidth
8223
+ };
8224
+ }
8225
+
8226
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8227
+ style: {
8228
+ paddingLeft: '12px',
8229
+ paddingRight: '12px'
8230
+ }
8231
+ }, colProps), {}, {
8232
+ key: c.dataIndex
8233
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8234
+ initialValue: c.initialValue
8235
+ }, c.formItemProps), {}, {
8236
+ name: c.dataIndex,
8237
+ label: c.title,
8238
+ labelCol: _labelCol15
8239
+ }), /*#__PURE__*/React.createElement(Index$4.Group, _objectSpread2({
8240
+ disabled: disabled,
8241
+ options: options
8242
+ }, c.fieldProps))));
8243
+ } else if (c.valueType === 'radio' || c.valueType === 'radioButton') {
8244
+ var _options3 = [];
8245
+
8246
+ if (c.options) {
8247
+ _options3 = c.options;
8248
+ }
8249
+
8250
+ if (c.valueEnum) {
8251
+ for (var _key3 in c.valueEnum) {
8252
+ var _text3 = c.valueEnum[_key3].text;
8253
+
8254
+ _options3.push({
8255
+ label: _text3,
8256
+ value: _key3
8257
+ });
8258
+ }
8259
+ }
8260
+
8261
+ setColumnsFields(function (preColumnsFields) {
8262
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, _options3));
8263
+ });
8264
+ var _labelCol16 = {};
8265
+
8266
+ if (search && search.labelWidth) {
8267
+ _labelCol16.style = {
8268
+ width: search.labelWidth
8269
+ };
8270
+ }
8271
+
8272
+ var radioButtonProps = {};
8273
+
8274
+ if (c.valueType === 'radioButton') {
8275
+ radioButtonProps = {
8276
+ optionType: 'button',
8277
+ buttonStyle: 'solid'
8278
+ };
8279
+ }
8280
+
8281
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8282
+ style: {
8283
+ paddingLeft: '12px',
8284
+ paddingRight: '12px'
8285
+ }
8286
+ }, colProps), {}, {
8287
+ key: c.dataIndex
8288
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8289
+ initialValue: c.initialValue
8290
+ }, c.formItemProps), {}, {
8291
+ name: c.dataIndex,
8292
+ label: c.title,
8293
+ labelCol: _labelCol16
8294
+ }), /*#__PURE__*/React.createElement(Index$3.Group, _objectSpread2(_objectSpread2({
8295
+ disabled: disabled
8296
+ }, radioButtonProps), {}, {
8297
+ options: _options3
8298
+ }, c.fieldProps))));
8299
+ } else if (c.valueType === 'switch') {
8300
+ var _options4 = [];
8301
+
8302
+ if (c.valueEnum) {
8303
+ for (var _key4 in c.valueEnum) {
8304
+ var _text4 = c.valueEnum[_key4].text;
8305
+
8306
+ _options4.push({
8307
+ label: _text4,
8308
+ value: _key4
8309
+ });
8310
+ }
8311
+ }
8312
+
8313
+ var _labelCol17 = {};
8314
+
8315
+ if (search && search.labelWidth) {
8316
+ _labelCol17.style = {
8317
+ width: search.labelWidth
8318
+ };
8319
+ }
8320
+
8321
+ setColumnsFields(function (preColumnsFields) {
8322
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, _options4));
8323
+ });
8324
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8325
+ style: {
8326
+ paddingLeft: '12px',
8327
+ paddingRight: '12px'
8328
+ }
8329
+ }, colProps), {}, {
8330
+ key: c.dataIndex
8331
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8332
+ initialValue: c.initialValue,
8333
+ valuePropName: "checked"
8334
+ }, c.formItemProps), {}, {
8335
+ name: c.dataIndex,
8336
+ label: c.title,
8337
+ labelCol: _labelCol17
8338
+ }), /*#__PURE__*/React.createElement(WSwitch, _objectSpread2({
8339
+ disabled: disabled
8340
+ }, c.fieldProps))));
8341
+ } else if (c.valueType === 'digit') {
8342
+ var _labelCol18 = {};
8343
+
8344
+ if (search && search.labelWidth) {
8345
+ _labelCol18.style = {
8346
+ width: search.labelWidth
8347
+ };
8348
+ }
8349
+
8350
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8351
+ style: {
8352
+ paddingLeft: '12px',
8353
+ paddingRight: '12px'
8354
+ }
8355
+ }, colProps), {}, {
8356
+ key: c.dataIndex
8357
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8358
+ initialValue: c.initialValue
8359
+ }, c.formItemProps), {}, {
8360
+ name: c.dataIndex,
8361
+ label: c.title,
8362
+ labelCol: _labelCol18
8363
+ }), /*#__PURE__*/React.createElement(NumericInput, _objectSpread2({
8364
+ disabled: disabled,
8365
+ placeholder: "\u8BF7\u8F93\u5165\u53C2\u6570(double/int)"
8366
+ }, c.fieldProps))));
8367
+ } else if (c.renderFormItem) {
8368
+ var _labelCol19 = {};
8369
+
8370
+ if (search && search.labelWidth) {
8371
+ _labelCol19.style = {
8372
+ width: search.labelWidth
8373
+ };
8374
+ }
8375
+
8376
+ var baseitem = c.renderFormItem(c, _objectSpread2(_objectSpread2({}, c), {}, {
8377
+ formItemProps: c.formItemProps,
8378
+ fieldProps: c.fieldProps,
8379
+ columnsFields: columnsFields
8380
+ }), form);
8381
+ return baseitem ? /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8382
+ style: {
8383
+ paddingLeft: '12px',
8384
+ paddingRight: '12px'
8385
+ }
8386
+ }, colProps), {}, {
8387
+ key: c.dataIndex
8388
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8389
+ initialValue: c.initialValue
8390
+ }, c.formItemProps), {}, {
8391
+ name: c.dataIndex,
8392
+ label: c.title,
8393
+ labelCol: _labelCol19
8394
+ }), baseitem)) : null;
8395
+ } else if (c.valueType === 'textarea') {
8396
+ var _labelCol20 = {};
8397
+
8398
+ if (search && search.labelWidth) {
8399
+ _labelCol20.style = {
8400
+ width: search.labelWidth
8401
+ };
8402
+ }
8403
+
8404
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8405
+ style: {
8406
+ paddingLeft: '12px',
8407
+ paddingRight: '12px'
8408
+ }
8409
+ }, colProps), {}, {
8410
+ key: c.dataIndex
8411
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8412
+ initialValue: c.initialValue
8413
+ }, c.formItemProps), {}, {
8414
+ name: c.dataIndex,
8415
+ label: c.title,
8416
+ labelCol: _labelCol20
8417
+ }), /*#__PURE__*/React.createElement(Index.TextArea, _objectSpread2({
8418
+ rows: 4,
8419
+ disabled: disabled,
8420
+ placeholder: "\u8BF7\u8F93\u5165"
8421
+ }, c.fieldProps))));
8422
+ } else if (c.valueType === 'inputNumber') {
8423
+ var _labelCol21 = {};
8424
+
8425
+ if (search && search.labelWidth) {
8426
+ _labelCol21.style = {
8427
+ width: search.labelWidth
8428
+ };
8429
+ }
8430
+
8431
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8432
+ style: {
8433
+ paddingLeft: '12px',
8434
+ paddingRight: '12px'
8435
+ }
8436
+ }, colProps), {}, {
8437
+ key: c.dataIndex
8438
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8439
+ initialValue: c.initialValue
8440
+ }, c.formItemProps), {}, {
8441
+ name: c.dataIndex,
8442
+ label: c.title,
8443
+ labelCol: _labelCol21
8444
+ }), /*#__PURE__*/React.createElement(WInputNumber, _objectSpread2({
8445
+ disabled: disabled,
8446
+ placeholder: "\u8BF7\u8F93\u5165"
8447
+ }, c.fieldProps))));
8448
+ } else {
8449
+ var _labelCol22 = {};
8450
+
8451
+ if (search && search.labelWidth) {
8452
+ _labelCol22.style = {
8453
+ width: search.labelWidth
8454
+ };
8455
+ }
8456
+
8457
+ return /*#__PURE__*/React.createElement(_Col, _objectSpread2(_objectSpread2({
8458
+ style: {
8459
+ paddingLeft: '12px',
8460
+ paddingRight: '12px'
8461
+ }
8462
+ }, colProps), {}, {
8463
+ key: c.dataIndex
8464
+ }), /*#__PURE__*/React.createElement(_Form.Item, _objectSpread2(_objectSpread2({
8465
+ initialValue: c.initialValue
8466
+ }, c.formItemProps), {}, {
8467
+ name: c.dataIndex,
8468
+ label: c.title,
8469
+ labelCol: _labelCol22
8470
+ }), /*#__PURE__*/React.createElement(Index, _objectSpread2({
8471
+ disabled: disabled,
8472
+ placeholder: "\u8BF7\u8F93\u5165"
8473
+ }, c.fieldProps))));
8474
+ }
8475
+ });
8476
+ }, [changedValues, extraColumns, disabled, JSON.stringify(form.getFieldsValue())]);
8017
8477
 
8018
8478
  var handleSearch = function handleSearch(v) {
8019
8479
  var searchForm = form.getFieldsValue();
@@ -8082,10 +8542,11 @@ var WForm = function WForm(props, ref) {
8082
8542
  },
8083
8543
  onFinish: handleSearch,
8084
8544
  onValuesChange: function onValuesChange(changedValues, allValues) {
8545
+ onFormChange && onFormChange(changedValues, allValues, form);
8085
8546
  setchangedValues(changedValues);
8086
8547
  },
8087
8548
  form: form
8088
- }, extraProps), /*#__PURE__*/React.createElement(_Row, null, filterForm), search && search.hideSubmit ? null : /*#__PURE__*/React.createElement(_Row, {
8549
+ }, extraProps), /*#__PURE__*/React.createElement(_Row, null, filterForm), /*#__PURE__*/React.createElement(_Row, null, filterExtraColumnsForm), search && search.hideSubmit ? null : /*#__PURE__*/React.createElement(_Row, {
8089
8550
  justify: "end"
8090
8551
  }, /*#__PURE__*/React.createElement(_Col, {
8091
8552
  style: {
@@ -9413,10 +9874,11 @@ Modal.hidden = function () {
9413
9874
  ModalContainer[modelSysbol] && ModalContainer[modelSysbol].hidden();
9414
9875
  };
9415
9876
 
9416
- var _excluded$d = ["columns", "search", "visible", "setVisible", "disabled", "submitMethod", "onSubmitSuccess", "title", "record"];
9877
+ var _excluded$d = ["columns", "extraColumns", "search", "visible", "setVisible", "disabled", "submitMethod", "onSubmitSuccess", "title", "record", "onFormChange"];
9417
9878
 
9418
9879
  var ModalForm = function ModalForm(props, ref) {
9419
9880
  var columns = props.columns,
9881
+ extraColumns = props.extraColumns,
9420
9882
  search = props.search,
9421
9883
  visible = props.visible,
9422
9884
  setVisible = props.setVisible,
@@ -9425,6 +9887,7 @@ var ModalForm = function ModalForm(props, ref) {
9425
9887
  onSubmitSuccess = props.onSubmitSuccess,
9426
9888
  title = props.title,
9427
9889
  record = props.record,
9890
+ onFormChange = props.onFormChange,
9428
9891
  extraProps = _objectWithoutProperties(props, _excluded$d);
9429
9892
 
9430
9893
  var formRef = useRef(null);
@@ -9546,24 +10009,28 @@ var ModalForm = function ModalForm(props, ref) {
9546
10009
  ref: formRef,
9547
10010
  disabled: disabled,
9548
10011
  onSubmit: onSubmit,
10012
+ onFormChange: onFormChange,
9549
10013
  disabledHideInSearch: true,
9550
10014
  search: search,
9551
- columns: columns
10015
+ columns: columns,
10016
+ extraColumns: extraColumns
9552
10017
  }));
9553
10018
  };
9554
10019
 
9555
10020
  var ModalForm$1 = /*#__PURE__*/React.forwardRef(ModalForm);
9556
10021
 
9557
- var _excluded$e = ["columns", "request", "modalFormSearch", "tableAction", "renderTableBar", "className", "style", "modalConfig", "optionColumnConfig"];
10022
+ var _excluded$e = ["columns", "extraColumns", "request", "modalFormSearch", "tableAction", "renderTableBar", "className", "style", "onFormChange", "modalConfig", "optionColumnConfig"];
9558
10023
 
9559
10024
  var TabelCard = function TabelCard(props, ref) {
9560
10025
  var columns = props.columns,
10026
+ extraColumns = props.extraColumns,
9561
10027
  request = props.request,
9562
10028
  modalFormSearch = props.modalFormSearch,
9563
10029
  tableAction = props.tableAction,
9564
10030
  renderTableBar = props.renderTableBar,
9565
10031
  className = props.className,
9566
10032
  style = props.style,
10033
+ onFormChange = props.onFormChange,
9567
10034
  modalConfig = props.modalConfig,
9568
10035
  optionColumnConfig = props.optionColumnConfig,
9569
10036
  extraProps = _objectWithoutProperties(props, _excluded$e);
@@ -9582,7 +10049,10 @@ var TabelCard = function TabelCard(props, ref) {
9582
10049
  setModalFormConfig = _useState4[1];
9583
10050
 
9584
10051
  useImperativeHandle(ref, function () {
9585
- return {};
10052
+ return {
10053
+ actionRef: actionRef.current,
10054
+ formRef: formRef.current
10055
+ };
9586
10056
  });
9587
10057
 
9588
10058
  var openFormModel = function openFormModel(options) {
@@ -9850,6 +10320,8 @@ var TabelCard = function TabelCard(props, ref) {
9850
10320
  }(),
9851
10321
  search: modalFormSearch
9852
10322
  }, modalConfig), {}, {
10323
+ onFormChange: onFormChange,
10324
+ extraColumns: extraColumns || [],
9853
10325
  columns: (columns || []).filter(function (item) {
9854
10326
  return !item.hiddenInModalForm;
9855
10327
  })
package/dist/index.js CHANGED
@@ -7565,16 +7565,18 @@ Table.defaultProps = {
7565
7565
  rowKey: 'key'
7566
7566
  };
7567
7567
 
7568
- var _excluded$5 = ["columns", "className", "style", "search", "disabled", "disabledHideInSearch", "onSubmit", "onReset"];
7568
+ var _excluded$5 = ["columns", "extraColumns", "className", "style", "search", "disabled", "disabledHideInSearch", "onFormChange", "onSubmit", "onReset"];
7569
7569
  var RangePicker$2 = Index$2.RangePicker;
7570
7570
 
7571
7571
  var WForm = function WForm(props, ref) {
7572
7572
  var columns = props.columns,
7573
+ extraColumns = props.extraColumns,
7573
7574
  className = props.className,
7574
7575
  style = props.style,
7575
7576
  search = props.search,
7576
7577
  disabled = props.disabled,
7577
7578
  disabledHideInSearch = props.disabledHideInSearch,
7579
+ onFormChange = props.onFormChange,
7578
7580
  onSubmit = props.onSubmit,
7579
7581
  onReset = props.onReset,
7580
7582
  extraProps = _objectWithoutProperties(props, _excluded$5);
@@ -7593,11 +7595,18 @@ var WForm = function WForm(props, ref) {
7593
7595
  columnsFields = _useState4[0],
7594
7596
  setColumnsFields = _useState4[1];
7595
7597
 
7596
- var filterFormColumns = columns.filter(function (c) {
7598
+ var filterFormColumns = _toConsumableArray(columns).filter(function (c) {
7597
7599
  return !c.hideInSearch || disabledHideInSearch;
7598
7600
  }).sort(function (a, b) {
7599
7601
  return (b.order || 0) - (a.order || 0);
7600
7602
  });
7603
+
7604
+ var filterExtraFormColumns = _toConsumableArray(extraColumns || []).filter(function (c) {
7605
+ return !c.hideInSearch || disabledHideInSearch;
7606
+ }).sort(function (a, b) {
7607
+ return (b.order || 0) - (a.order || 0);
7608
+ });
7609
+
7601
7610
  var filterForm = React.useMemo(function () {
7602
7611
  return filterFormColumns.map(function (c) {
7603
7612
  var colProps = {};
@@ -7949,7 +7958,8 @@ var WForm = function WForm(props, ref) {
7949
7958
 
7950
7959
  var baseitem = c.renderFormItem(c, _objectSpread2(_objectSpread2({}, c), {}, {
7951
7960
  formItemProps: c.formItemProps,
7952
- fieldProps: c.fieldProps
7961
+ fieldProps: c.fieldProps,
7962
+ columnsFields: columnsFields
7953
7963
  }), form);
7954
7964
  return baseitem ? /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
7955
7965
  style: {
@@ -8046,7 +8056,457 @@ var WForm = function WForm(props, ref) {
8046
8056
  }, c.fieldProps))));
8047
8057
  }
8048
8058
  });
8049
- }, [changedValues, disabled, JSON.stringify(form.getFieldsValue())]);
8059
+ }, [changedValues, columns, disabled, JSON.stringify(form.getFieldsValue())]);
8060
+ var filterExtraColumnsForm = React.useMemo(function () {
8061
+ return filterExtraFormColumns.map(function (c) {
8062
+ var colProps = {};
8063
+
8064
+ if (search && search.span) {
8065
+ colProps.span = typeof search.span == 'number' ? (c.colSize || 1) * search.span : {
8066
+ xs: 24,
8067
+ sm: 24,
8068
+ md: 12,
8069
+ lg: 12,
8070
+ xl: 8,
8071
+ xxl: 6
8072
+ };
8073
+ }
8074
+
8075
+ if (c.valueType == 'select') {
8076
+ var _extraProps3 = {};
8077
+
8078
+ if (c.request) {
8079
+ _extraProps3.request = c.request;
8080
+ } else if (c.valueEnum) {
8081
+ _extraProps3.valueEnum = c.valueEnum;
8082
+ }
8083
+
8084
+ var labelCol = {};
8085
+
8086
+ if (search && search.labelWidth) {
8087
+ labelCol.style = {
8088
+ width: search.labelWidth
8089
+ };
8090
+ }
8091
+
8092
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8093
+ style: {
8094
+ paddingLeft: '12px',
8095
+ paddingRight: '12px'
8096
+ }
8097
+ }, colProps), {}, {
8098
+ key: c.dataIndex
8099
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8100
+ initialValue: c.initialValue
8101
+ }, c.formItemProps), {}, {
8102
+ name: c.dataIndex,
8103
+ label: c.title,
8104
+ labelCol: labelCol
8105
+ }), /*#__PURE__*/React__default['default'].createElement(Index$1, _objectSpread2(_objectSpread2({
8106
+ placeholder: "\u8BF7\u9009\u62E9",
8107
+ disabled: disabled,
8108
+ onLoad: function onLoad(opt) {
8109
+ setColumnsFields(function (preColumnsFields) {
8110
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, opt));
8111
+ });
8112
+ }
8113
+ }, c.fieldProps), _extraProps3))));
8114
+ } else if (c.valueType == 'treeSelect') {
8115
+ var _extraProps4 = {};
8116
+
8117
+ if (c.request) {
8118
+ _extraProps4.request = c.request;
8119
+ }
8120
+
8121
+ var _labelCol12 = {};
8122
+
8123
+ if (search && search.labelWidth) {
8124
+ _labelCol12.style = {
8125
+ width: search.labelWidth
8126
+ };
8127
+ }
8128
+
8129
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8130
+ style: {
8131
+ paddingLeft: '12px',
8132
+ paddingRight: '12px'
8133
+ }
8134
+ }, colProps), {}, {
8135
+ key: c.dataIndex
8136
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8137
+ initialValue: c.initialValue
8138
+ }, c.formItemProps), {}, {
8139
+ name: c.dataIndex,
8140
+ label: c.title,
8141
+ labelCol: _labelCol12
8142
+ }), /*#__PURE__*/React__default['default'].createElement(Index$5, _objectSpread2(_objectSpread2({
8143
+ disabled: disabled,
8144
+ placeholder: "\u8BF7\u9009\u62E9",
8145
+ onLoad: function onLoad(opt) {}
8146
+ }, c.fieldProps), _extraProps4))));
8147
+ } else if (c.valueType && ['date', 'dateTime', 'dateMonth', 'dateYear'].includes(c.valueType)) {
8148
+ var _labelCol13 = {};
8149
+
8150
+ if (search && search.labelWidth) {
8151
+ _labelCol13.style = {
8152
+ width: search.labelWidth
8153
+ };
8154
+ }
8155
+
8156
+ var showTime = {};
8157
+ var picker = {};
8158
+
8159
+ if (c.valueType == 'dateTime') {
8160
+ showTime = {
8161
+ showTime: {
8162
+ format: 'HH:mm'
8163
+ }
8164
+ };
8165
+ }
8166
+
8167
+ if (c.valueType == 'dateMonth') {
8168
+ picker = {
8169
+ picker: 'month'
8170
+ };
8171
+ }
8172
+
8173
+ if (c.valueType == 'dateYear') {
8174
+ picker = {
8175
+ picker: 'year'
8176
+ };
8177
+ }
8178
+
8179
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8180
+ style: {
8181
+ paddingLeft: '12px',
8182
+ paddingRight: '12px'
8183
+ }
8184
+ }, colProps), {}, {
8185
+ key: c.dataIndex
8186
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8187
+ initialValue: c.initialValue
8188
+ }, c.formItemProps), {}, {
8189
+ name: c.dataIndex,
8190
+ label: c.title,
8191
+ labelCol: _labelCol13
8192
+ }), /*#__PURE__*/React__default['default'].createElement(Index$2, _objectSpread2(_objectSpread2(_objectSpread2({
8193
+ disabled: disabled,
8194
+ placeholder: "\u8BF7\u8F93\u5165"
8195
+ }, picker), showTime), c.fieldProps))));
8196
+ } else if (c.valueType === 'dateRange' || c.valueType === 'dateTimeRange') {
8197
+ var _labelCol14 = {};
8198
+
8199
+ if (search && search.labelWidth) {
8200
+ _labelCol14.style = {
8201
+ width: search.labelWidth
8202
+ };
8203
+ }
8204
+
8205
+ var _showTime2 = {};
8206
+
8207
+ if (c.valueType == 'dateTimeRange') {
8208
+ _showTime2 = {
8209
+ showTime: {
8210
+ format: 'HH:mm'
8211
+ }
8212
+ };
8213
+ }
8214
+
8215
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8216
+ style: {
8217
+ paddingLeft: '12px',
8218
+ paddingRight: '12px'
8219
+ }
8220
+ }, colProps), {}, {
8221
+ key: c.dataIndex
8222
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8223
+ initialValue: c.initialValue
8224
+ }, c.formItemProps), {}, {
8225
+ name: c.dataIndex,
8226
+ label: c.title,
8227
+ labelCol: _labelCol14
8228
+ }), /*#__PURE__*/React__default['default'].createElement(RangePicker$2, _objectSpread2(_objectSpread2({
8229
+ disabled: disabled
8230
+ }, _showTime2), c.fieldProps))));
8231
+ } else if (c.valueType === 'checkbox') {
8232
+ var options = [];
8233
+
8234
+ if (c.valueEnum) {
8235
+ for (var key in c.valueEnum) {
8236
+ var text = c.valueEnum[key].text;
8237
+ options.push({
8238
+ label: text,
8239
+ value: key
8240
+ });
8241
+ }
8242
+ }
8243
+
8244
+ if (c.options) {
8245
+ options = c.options;
8246
+ }
8247
+
8248
+ setColumnsFields(function (preColumnsFields) {
8249
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, options));
8250
+ });
8251
+ var _labelCol15 = {};
8252
+
8253
+ if (search && search.labelWidth) {
8254
+ _labelCol15.style = {
8255
+ width: search.labelWidth
8256
+ };
8257
+ }
8258
+
8259
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8260
+ style: {
8261
+ paddingLeft: '12px',
8262
+ paddingRight: '12px'
8263
+ }
8264
+ }, colProps), {}, {
8265
+ key: c.dataIndex
8266
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8267
+ initialValue: c.initialValue
8268
+ }, c.formItemProps), {}, {
8269
+ name: c.dataIndex,
8270
+ label: c.title,
8271
+ labelCol: _labelCol15
8272
+ }), /*#__PURE__*/React__default['default'].createElement(Index$4.Group, _objectSpread2({
8273
+ disabled: disabled,
8274
+ options: options
8275
+ }, c.fieldProps))));
8276
+ } else if (c.valueType === 'radio' || c.valueType === 'radioButton') {
8277
+ var _options3 = [];
8278
+
8279
+ if (c.options) {
8280
+ _options3 = c.options;
8281
+ }
8282
+
8283
+ if (c.valueEnum) {
8284
+ for (var _key3 in c.valueEnum) {
8285
+ var _text3 = c.valueEnum[_key3].text;
8286
+
8287
+ _options3.push({
8288
+ label: _text3,
8289
+ value: _key3
8290
+ });
8291
+ }
8292
+ }
8293
+
8294
+ setColumnsFields(function (preColumnsFields) {
8295
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, _options3));
8296
+ });
8297
+ var _labelCol16 = {};
8298
+
8299
+ if (search && search.labelWidth) {
8300
+ _labelCol16.style = {
8301
+ width: search.labelWidth
8302
+ };
8303
+ }
8304
+
8305
+ var radioButtonProps = {};
8306
+
8307
+ if (c.valueType === 'radioButton') {
8308
+ radioButtonProps = {
8309
+ optionType: 'button',
8310
+ buttonStyle: 'solid'
8311
+ };
8312
+ }
8313
+
8314
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8315
+ style: {
8316
+ paddingLeft: '12px',
8317
+ paddingRight: '12px'
8318
+ }
8319
+ }, colProps), {}, {
8320
+ key: c.dataIndex
8321
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8322
+ initialValue: c.initialValue
8323
+ }, c.formItemProps), {}, {
8324
+ name: c.dataIndex,
8325
+ label: c.title,
8326
+ labelCol: _labelCol16
8327
+ }), /*#__PURE__*/React__default['default'].createElement(Index$3.Group, _objectSpread2(_objectSpread2({
8328
+ disabled: disabled
8329
+ }, radioButtonProps), {}, {
8330
+ options: _options3
8331
+ }, c.fieldProps))));
8332
+ } else if (c.valueType === 'switch') {
8333
+ var _options4 = [];
8334
+
8335
+ if (c.valueEnum) {
8336
+ for (var _key4 in c.valueEnum) {
8337
+ var _text4 = c.valueEnum[_key4].text;
8338
+
8339
+ _options4.push({
8340
+ label: _text4,
8341
+ value: _key4
8342
+ });
8343
+ }
8344
+ }
8345
+
8346
+ var _labelCol17 = {};
8347
+
8348
+ if (search && search.labelWidth) {
8349
+ _labelCol17.style = {
8350
+ width: search.labelWidth
8351
+ };
8352
+ }
8353
+
8354
+ setColumnsFields(function (preColumnsFields) {
8355
+ return _objectSpread2(_objectSpread2({}, preColumnsFields), {}, _defineProperty({}, c.dataIndex, _options4));
8356
+ });
8357
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8358
+ style: {
8359
+ paddingLeft: '12px',
8360
+ paddingRight: '12px'
8361
+ }
8362
+ }, colProps), {}, {
8363
+ key: c.dataIndex
8364
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8365
+ initialValue: c.initialValue,
8366
+ valuePropName: "checked"
8367
+ }, c.formItemProps), {}, {
8368
+ name: c.dataIndex,
8369
+ label: c.title,
8370
+ labelCol: _labelCol17
8371
+ }), /*#__PURE__*/React__default['default'].createElement(WSwitch, _objectSpread2({
8372
+ disabled: disabled
8373
+ }, c.fieldProps))));
8374
+ } else if (c.valueType === 'digit') {
8375
+ var _labelCol18 = {};
8376
+
8377
+ if (search && search.labelWidth) {
8378
+ _labelCol18.style = {
8379
+ width: search.labelWidth
8380
+ };
8381
+ }
8382
+
8383
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8384
+ style: {
8385
+ paddingLeft: '12px',
8386
+ paddingRight: '12px'
8387
+ }
8388
+ }, colProps), {}, {
8389
+ key: c.dataIndex
8390
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8391
+ initialValue: c.initialValue
8392
+ }, c.formItemProps), {}, {
8393
+ name: c.dataIndex,
8394
+ label: c.title,
8395
+ labelCol: _labelCol18
8396
+ }), /*#__PURE__*/React__default['default'].createElement(NumericInput, _objectSpread2({
8397
+ disabled: disabled,
8398
+ placeholder: "\u8BF7\u8F93\u5165\u53C2\u6570(double/int)"
8399
+ }, c.fieldProps))));
8400
+ } else if (c.renderFormItem) {
8401
+ var _labelCol19 = {};
8402
+
8403
+ if (search && search.labelWidth) {
8404
+ _labelCol19.style = {
8405
+ width: search.labelWidth
8406
+ };
8407
+ }
8408
+
8409
+ var baseitem = c.renderFormItem(c, _objectSpread2(_objectSpread2({}, c), {}, {
8410
+ formItemProps: c.formItemProps,
8411
+ fieldProps: c.fieldProps,
8412
+ columnsFields: columnsFields
8413
+ }), form);
8414
+ return baseitem ? /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8415
+ style: {
8416
+ paddingLeft: '12px',
8417
+ paddingRight: '12px'
8418
+ }
8419
+ }, colProps), {}, {
8420
+ key: c.dataIndex
8421
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8422
+ initialValue: c.initialValue
8423
+ }, c.formItemProps), {}, {
8424
+ name: c.dataIndex,
8425
+ label: c.title,
8426
+ labelCol: _labelCol19
8427
+ }), baseitem)) : null;
8428
+ } else if (c.valueType === 'textarea') {
8429
+ var _labelCol20 = {};
8430
+
8431
+ if (search && search.labelWidth) {
8432
+ _labelCol20.style = {
8433
+ width: search.labelWidth
8434
+ };
8435
+ }
8436
+
8437
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8438
+ style: {
8439
+ paddingLeft: '12px',
8440
+ paddingRight: '12px'
8441
+ }
8442
+ }, colProps), {}, {
8443
+ key: c.dataIndex
8444
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8445
+ initialValue: c.initialValue
8446
+ }, c.formItemProps), {}, {
8447
+ name: c.dataIndex,
8448
+ label: c.title,
8449
+ labelCol: _labelCol20
8450
+ }), /*#__PURE__*/React__default['default'].createElement(Index.TextArea, _objectSpread2({
8451
+ rows: 4,
8452
+ disabled: disabled,
8453
+ placeholder: "\u8BF7\u8F93\u5165"
8454
+ }, c.fieldProps))));
8455
+ } else if (c.valueType === 'inputNumber') {
8456
+ var _labelCol21 = {};
8457
+
8458
+ if (search && search.labelWidth) {
8459
+ _labelCol21.style = {
8460
+ width: search.labelWidth
8461
+ };
8462
+ }
8463
+
8464
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8465
+ style: {
8466
+ paddingLeft: '12px',
8467
+ paddingRight: '12px'
8468
+ }
8469
+ }, colProps), {}, {
8470
+ key: c.dataIndex
8471
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8472
+ initialValue: c.initialValue
8473
+ }, c.formItemProps), {}, {
8474
+ name: c.dataIndex,
8475
+ label: c.title,
8476
+ labelCol: _labelCol21
8477
+ }), /*#__PURE__*/React__default['default'].createElement(WInputNumber, _objectSpread2({
8478
+ disabled: disabled,
8479
+ placeholder: "\u8BF7\u8F93\u5165"
8480
+ }, c.fieldProps))));
8481
+ } else {
8482
+ var _labelCol22 = {};
8483
+
8484
+ if (search && search.labelWidth) {
8485
+ _labelCol22.style = {
8486
+ width: search.labelWidth
8487
+ };
8488
+ }
8489
+
8490
+ return /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], _objectSpread2(_objectSpread2({
8491
+ style: {
8492
+ paddingLeft: '12px',
8493
+ paddingRight: '12px'
8494
+ }
8495
+ }, colProps), {}, {
8496
+ key: c.dataIndex
8497
+ }), /*#__PURE__*/React__default['default'].createElement(_Form__default['default'].Item, _objectSpread2(_objectSpread2({
8498
+ initialValue: c.initialValue
8499
+ }, c.formItemProps), {}, {
8500
+ name: c.dataIndex,
8501
+ label: c.title,
8502
+ labelCol: _labelCol22
8503
+ }), /*#__PURE__*/React__default['default'].createElement(Index, _objectSpread2({
8504
+ disabled: disabled,
8505
+ placeholder: "\u8BF7\u8F93\u5165"
8506
+ }, c.fieldProps))));
8507
+ }
8508
+ });
8509
+ }, [changedValues, extraColumns, disabled, JSON.stringify(form.getFieldsValue())]);
8050
8510
 
8051
8511
  var handleSearch = function handleSearch(v) {
8052
8512
  var searchForm = form.getFieldsValue();
@@ -8115,10 +8575,11 @@ var WForm = function WForm(props, ref) {
8115
8575
  },
8116
8576
  onFinish: handleSearch,
8117
8577
  onValuesChange: function onValuesChange(changedValues, allValues) {
8578
+ onFormChange && onFormChange(changedValues, allValues, form);
8118
8579
  setchangedValues(changedValues);
8119
8580
  },
8120
8581
  form: form
8121
- }, extraProps), /*#__PURE__*/React__default['default'].createElement(_Row__default['default'], null, filterForm), search && search.hideSubmit ? null : /*#__PURE__*/React__default['default'].createElement(_Row__default['default'], {
8582
+ }, extraProps), /*#__PURE__*/React__default['default'].createElement(_Row__default['default'], null, filterForm), /*#__PURE__*/React__default['default'].createElement(_Row__default['default'], null, filterExtraColumnsForm), search && search.hideSubmit ? null : /*#__PURE__*/React__default['default'].createElement(_Row__default['default'], {
8122
8583
  justify: "end"
8123
8584
  }, /*#__PURE__*/React__default['default'].createElement(_Col__default['default'], {
8124
8585
  style: {
@@ -9446,10 +9907,11 @@ Modal.hidden = function () {
9446
9907
  ModalContainer[modelSysbol] && ModalContainer[modelSysbol].hidden();
9447
9908
  };
9448
9909
 
9449
- var _excluded$d = ["columns", "search", "visible", "setVisible", "disabled", "submitMethod", "onSubmitSuccess", "title", "record"];
9910
+ var _excluded$d = ["columns", "extraColumns", "search", "visible", "setVisible", "disabled", "submitMethod", "onSubmitSuccess", "title", "record", "onFormChange"];
9450
9911
 
9451
9912
  var ModalForm = function ModalForm(props, ref) {
9452
9913
  var columns = props.columns,
9914
+ extraColumns = props.extraColumns,
9453
9915
  search = props.search,
9454
9916
  visible = props.visible,
9455
9917
  setVisible = props.setVisible,
@@ -9458,6 +9920,7 @@ var ModalForm = function ModalForm(props, ref) {
9458
9920
  onSubmitSuccess = props.onSubmitSuccess,
9459
9921
  title = props.title,
9460
9922
  record = props.record,
9923
+ onFormChange = props.onFormChange,
9461
9924
  extraProps = _objectWithoutProperties(props, _excluded$d);
9462
9925
 
9463
9926
  var formRef = React.useRef(null);
@@ -9579,24 +10042,28 @@ var ModalForm = function ModalForm(props, ref) {
9579
10042
  ref: formRef,
9580
10043
  disabled: disabled,
9581
10044
  onSubmit: onSubmit,
10045
+ onFormChange: onFormChange,
9582
10046
  disabledHideInSearch: true,
9583
10047
  search: search,
9584
- columns: columns
10048
+ columns: columns,
10049
+ extraColumns: extraColumns
9585
10050
  }));
9586
10051
  };
9587
10052
 
9588
10053
  var ModalForm$1 = /*#__PURE__*/React__default['default'].forwardRef(ModalForm);
9589
10054
 
9590
- var _excluded$e = ["columns", "request", "modalFormSearch", "tableAction", "renderTableBar", "className", "style", "modalConfig", "optionColumnConfig"];
10055
+ var _excluded$e = ["columns", "extraColumns", "request", "modalFormSearch", "tableAction", "renderTableBar", "className", "style", "onFormChange", "modalConfig", "optionColumnConfig"];
9591
10056
 
9592
10057
  var TabelCard = function TabelCard(props, ref) {
9593
10058
  var columns = props.columns,
10059
+ extraColumns = props.extraColumns,
9594
10060
  request = props.request,
9595
10061
  modalFormSearch = props.modalFormSearch,
9596
10062
  tableAction = props.tableAction,
9597
10063
  renderTableBar = props.renderTableBar,
9598
10064
  className = props.className,
9599
10065
  style = props.style,
10066
+ onFormChange = props.onFormChange,
9600
10067
  modalConfig = props.modalConfig,
9601
10068
  optionColumnConfig = props.optionColumnConfig,
9602
10069
  extraProps = _objectWithoutProperties(props, _excluded$e);
@@ -9615,7 +10082,10 @@ var TabelCard = function TabelCard(props, ref) {
9615
10082
  setModalFormConfig = _useState4[1];
9616
10083
 
9617
10084
  React.useImperativeHandle(ref, function () {
9618
- return {};
10085
+ return {
10086
+ actionRef: actionRef.current,
10087
+ formRef: formRef.current
10088
+ };
9619
10089
  });
9620
10090
 
9621
10091
  var openFormModel = function openFormModel(options) {
@@ -9883,6 +10353,8 @@ var TabelCard = function TabelCard(props, ref) {
9883
10353
  }(),
9884
10354
  search: modalFormSearch
9885
10355
  }, modalConfig), {}, {
10356
+ onFormChange: onFormChange,
10357
+ extraColumns: extraColumns || [],
9886
10358
  columns: (columns || []).filter(function (item) {
9887
10359
  return !item.hiddenInModalForm;
9888
10360
  })
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "wargerm",
4
- "version": "0.2.8",
4
+ "version": "0.2.12",
5
5
  "scripts": {
6
6
  "dev": "dumi dev",
7
7
  "docs:build": "dumi build",