coreui
Version:
Platform Core UI
118 lines (97 loc) • 3.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _ramda = require('ramda');
var handleHeaderClick = function handleHeaderClick(c, props) {
var onSort = props.onSort,
setPageIndex = props.setPageIndex,
setSortAscending = props.setSortAscending,
setSortField = props.setSortField,
sortAscending = props.sortAscending,
sortField = props.sortField;
var selectedFieldId = c.id;
if (selectedFieldId === sortField) {
setSortAscending(!sortAscending);
} else {
setSortAscending(true);
setSortField(selectedFieldId);
}
setPageIndex(0);
if ((0, _ramda.is)(Function, onSort)) {
onSort(selectedFieldId);
}
};
var handleNextPageClick = function handleNextPageClick(_ref) {
var maxPageIndex = _ref.maxPageIndex,
pageIndex = _ref.pageIndex,
setPageIndex = _ref.setPageIndex;
setPageIndex((0, _ramda.min)(maxPageIndex, (0, _ramda.inc)(pageIndex)));
};
var handlePageChange = function handlePageChange(v, _ref2) {
var pageIndex = _ref2.pageIndex,
setPageIndex = _ref2.setPageIndex,
setPrevPageIndex = _ref2.setPrevPageIndex;
setPageIndex((0, _ramda.is)(Number, v) ? (0, _ramda.dec)(v) : v);
if (!v) {
setPrevPageIndex(pageIndex);
}
};
var handlePrevPageClick = function handlePrevPageClick(_ref3) {
var pageIndex = _ref3.pageIndex,
setPageIndex = _ref3.setPageIndex;
setPageIndex((0, _ramda.max)(0, (0, _ramda.dec)(pageIndex)));
};
var handleRowClick = function handleRowClick(row, props, toggleRow) {
var onClick = props.onClick,
selectMultiple = props.selectMultiple,
selectedRows = props.selectedRows,
setSelectedRows = props.setSelectedRows,
valueField = props.valueField;
var rowId = row[valueField];
var newSelectedRows = selectMultiple === false ? new Set([rowId]) : toggleRow(selectedRows, rowId);
setSelectedRows(newSelectedRows);
if ((0, _ramda.is)(Function, onClick)) {
onClick(rowId, newSelectedRows);
}
};
var handleSearchChange = function handleSearchChange(v, _ref4) {
var setPageIndex = _ref4.setPageIndex,
setSearchValue = _ref4.setSearchValue;
setPageIndex(0);
setSearchValue(v);
};
exports.default = function (helpers) {
return {
onHeaderClick: function onHeaderClick(props) {
return function (c) {
return handleHeaderClick(c, props);
};
},
onNextPageClick: function onNextPageClick(props) {
return function () {
return handleNextPageClick(props);
};
},
onPageChange: function onPageChange(props) {
return function (v) {
return handlePageChange(v, props);
};
},
onPrevPageClick: function onPrevPageClick(props) {
return function () {
return handlePrevPageClick(props);
};
},
onRowClick: function onRowClick(props) {
return function (row) {
return handleRowClick(row, props, helpers.toggleRow);
};
},
onSearchChange: function onSearchChange(props) {
return function (v) {
return handleSearchChange(v, props);
};
}
};
};