Skip to content

Commit 08ef12b

Browse files
Add _setLoadedRowsHandler in Table for call onChange after load data, Add dispatch onRowClick
1 parent 1bdfdde commit 08ef12b

File tree

3 files changed

+17
-20
lines changed

3 files changed

+17
-20
lines changed

lib/components/Base/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import moment from "moment";
1515
import { getISO, toFormat } from "../utils/datesUtils";
1616
import { withStore } from "./withStore";
1717
import { rtPrefix } from "../utils/variables";
18-
import { renderFormItemComponent, renderClassicWithLabel } from "../declarative";
18+
import { renderClassic, renderClassicWithLabel } from "../declarative";
1919

2020
/** Компонент выбора даты */
2121
var DatePicker = function DatePicker(props) {
@@ -77,7 +77,7 @@ var Custom = function Custom(props) {
7777
// console.log('childNode = props.render')
7878
childNode = props.render;
7979
childProps = _extends({}, props, { componentType: 'Custom' });
80-
return renderFormItemComponent(childNode)(childProps);
80+
return renderClassic(childNode)(childProps);
8181
} else if (React.isValidElement(children)) {
8282
// console.log('childNode = children')
8383
childProps = _extends({}, children.props, props, { componentType: 'Custom' });

lib/components/Table/Table.js

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ import React, { useRef, forwardRef, useEffect, useState } from 'react';
1212
import PropTypes from 'prop-types';
1313
import { bindActionCreators } from 'redux';
1414
import { connect } from 'react-redux';
15-
import BaseTable, { AutoResizer, callOrReturn } from 'react-base-table';
16-
// import BaseTable from "./BaseTable/BaseTable";
15+
import BaseTable, { AutoResizer } from 'react-base-table';
1716
import { empty, overlay } from './defaultSettings';
1817
import SelectionHead from './Selectable/SelectionHead';
1918
import SelectionCell, { parentAnalysis, onChangeSelectionCell } from './Selectable/SelectionCell';
@@ -181,7 +180,6 @@ var Table = forwardRef(function (props, ref) {
181180

182181
var selectedDispatchPath = dispatchPath && dispatchPath + '.selected';
183182
var rowsDispatchPath = dispatchPath && dispatchPath + '.rows';
184-
var rowDoubleClickDispatchPath = dispatchPath && dispatchPath + '.events.onRowDoubleClick';
185183

186184
useEffect(function () {
187185
// console.log("Инициализация дефолтных значений ", selectColumn, columns);
@@ -302,6 +300,10 @@ var Table = forwardRef(function (props, ref) {
302300
// }, 2000)
303301
};
304302

303+
var _setLoadedRowsHandler = function _setLoadedRowsHandler(rows) {
304+
_setRowsHandler(rows);
305+
onChange && onChange(rows);
306+
};
305307
var _setRowsHandler = function _setRowsHandler(rows) {
306308
// console.log('_setRowsHandler onChange');
307309
_setRows(rows);
@@ -333,21 +335,14 @@ var Table = forwardRef(function (props, ref) {
333335
selectedDispatchPath && props.setDateStore && props.setDateStore(selectedDispatchPath, data);
334336
};
335337

336-
var rowDoubleClickDispatch = function rowDoubleClickDispatch(value) {
337-
rowDoubleClickDispatchPath && props.setDateStore && props.setDateStore(rowDoubleClickDispatchPath, {
338-
timestamp: moment(),
339-
value: value
340-
});
341-
};
342-
343338
var onTableEventsDispatch = function onTableEventsDispatch(nameEvent, value) {
344339
var dp = dispatchPath && dispatchPath + '.events.' + nameEvent;
345340
dp && props.setDateStore && props.setDateStore(dp, {
346341
timestamp: moment(),
347342
value: value
348343
});
349344
// console.log('onTableEventsDispatch onChange');
350-
onChange && onChange(value);
345+
Array.isArray(value) && onChange && onChange(value);
351346
};
352347

353348
var setFilterHandler = function setFilterHandler(filter) {
@@ -433,7 +428,7 @@ var Table = forwardRef(function (props, ref) {
433428
child.children = [_defineProperty({}, rowKey, generateUUID())];
434429
});
435430
// _setRows(result);
436-
_setRowsHandler(result);
431+
_setLoadedRowsHandler(result);
437432
} else {
438433
var newRows = [].concat(_toConsumableArray(_rows));
439434
// (data, rowKey, rowValue)
@@ -444,16 +439,16 @@ var Table = forwardRef(function (props, ref) {
444439
node.children = result;
445440
// console.log('newRows -> ', newRows);
446441
// _setRows(newRows);
447-
_setRowsHandler(newRows);
442+
_setLoadedRowsHandler(newRows);
448443
}
449444
} else {
450445
if (result && result.length < pageSize) {
451446
setHasMore(false);
452447
} else {
453448
setHasMore(true);
454449
}
455-
pageNum === 0 ? _setRowsHandler(result) // _setRows
456-
: _setRowsHandler(_rows.concat(result)); // _setRows
450+
pageNum === 0 ? _setLoadedRowsHandler(result) // _setRows
451+
: _setLoadedRowsHandler(_rows.concat(result)); // _setRows
457452

458453
// console.log('expandDefaultAll ', expandDefaultAll, _expandedRowKeys);
459454
if (expandDefaultAll) setExpandedRowKeys(flatten(getTableRowKeys(result, rowKey)));
@@ -462,7 +457,7 @@ var Table = forwardRef(function (props, ref) {
462457
setLoading(false);
463458
}).catch(function (error) {
464459
notificationError(error, 'Ошибка загрузки данных');
465-
_setRowsHandler(_rows); // _setRows
460+
_setLoadedRowsHandler(_rows); // _setRows
466461
// setHasMore(false);
467462
setLoading(false);
468463
});
@@ -526,6 +521,7 @@ var Table = forwardRef(function (props, ref) {
526521
rowKey = _ref5.rowKey;
527522

528523
// console.log('actionSimpleClick')
524+
onTableEventsDispatch('onRowClick', rowData);
529525
_rowSelectAfterClick({ rowData: rowData, rowIndex: rowIndex, rowKey: rowKey, onClick: onRowClick });
530526
};
531527
var _onRowDoubleClick = function _onRowDoubleClick(_ref6) {
@@ -535,7 +531,8 @@ var Table = forwardRef(function (props, ref) {
535531

536532
// console.log('onDoubleClick', rowData, rowIndex, rowKey);
537533
// console.log('actionDoubleClick')
538-
rowDoubleClickDispatch(rowData);
534+
// rowDoubleClickDispatch(rowData);
535+
onTableEventsDispatch('onRowDoubleClick', rowData);
539536
_rowSelectAfterClick({ rowData: rowData, rowIndex: rowIndex, rowKey: rowKey, onClick: onRowDoubleClick });
540537
};
541538

lib/components/declarative.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ export var renderDeclarative = function renderDeclarative(Component) {
109109
};
110110
};
111111

112-
export var renderFormItemComponent = function renderFormItemComponent(Component) {
112+
var renderFormItemComponent = function renderFormItemComponent(Component) {
113113
return function (props) {
114114
var componentProps = getObjectExcludedProps(props, ['itemProps']);
115115
return renderDeclarative(_Form.Item)(_extends({}, props.itemProps, { noStyle: !(props.itemProps && props.itemProps.label) }))(renderClassic(Component)(componentProps));

0 commit comments

Comments
 (0)