synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
38 lines • 2.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EntityChildrenDetails = void 0;
var tslib_1 = require("tslib");
var react_1 = (0, tslib_1.__importStar)(require("react"));
var react_error_boundary_1 = require("react-error-boundary");
var ErrorUtils_1 = require("../../../../utils/ErrorUtils");
var useGetEntityChildren_1 = require("../../../../utils/hooks/SynapseAPI/useGetEntityChildren");
var synapseTypes_1 = require("../../../../utils/synapseTypes");
var DetailsView_1 = require("../view/DetailsView");
var useGetIsAllSelectedInfiniteList_1 = (0, tslib_1.__importDefault)(require("../../../../utils/hooks/useGetIsAllSelectedInfiniteList"));
var EntityChildrenDetails = function (_a) {
var _b;
var parentContainerId = _a.parentContainerId, sharedProps = (0, tslib_1.__rest)(_a, ["parentContainerId"]);
var _c = (0, react_1.useState)(synapseTypes_1.SortBy.NAME), sortBy = _c[0], setSortBy = _c[1];
var _d = (0, react_1.useState)(synapseTypes_1.Direction.ASC), sortDirection = _d[0], setSortDirection = _d[1];
var handleError = (0, react_error_boundary_1.useErrorHandler)();
var _e = (0, useGetEntityChildren_1.useGetEntityChildrenInfinite)({
parentId: parentContainerId,
includeTotalChildCount: false,
includeTypes: sharedProps.visibleTypes,
sortBy: sortBy,
sortDirection: sortDirection,
}), data = _e.data, isLoading = _e.isLoading, isFetchingNextPage = _e.isFetchingNextPage, hasNextPage = _e.hasNextPage, fetchNextPage = _e.fetchNextPage, isError = _e.isError, error = _e.error;
var entities = (_b = data === null || data === void 0 ? void 0 : data.pages.flatMap(function (page) { return page.page; })) !== null && _b !== void 0 ? _b : [];
var selectAllCheckboxState = (0, useGetIsAllSelectedInfiniteList_1.default)(entities, sharedProps.selected, sharedProps.selectableTypes, hasNextPage, fetchNextPage, isFetchingNextPage);
(0, react_1.useEffect)(function () {
if (isError && error) {
handleError((0, ErrorUtils_1.toError)(error));
}
}, [isError, error, handleError]);
return (react_1.default.createElement(DetailsView_1.DetailsView, (0, tslib_1.__assign)({ entities: entities, isLoading: isLoading, hasNextPage: hasNextPage, fetchNextPage: fetchNextPage, isFetchingNextPage: isFetchingNextPage, sort: { sortBy: sortBy, sortDirection: sortDirection }, setSort: function (newSortBy, newSortDirection) {
setSortBy(newSortBy);
setSortDirection(newSortDirection);
}, selectAllIsChecked: selectAllCheckboxState }, sharedProps)));
};
exports.EntityChildrenDetails = EntityChildrenDetails;
//# sourceMappingURL=EntityChildrenDetails.js.map