synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
26 lines • 2.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProjectListDetails = 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 useProjects_1 = require("../../../../utils/hooks/SynapseAPI/useProjects");
var DetailsView_1 = require("../view/DetailsView");
var useGetIsAllSelectedInfiniteList_1 = (0, tslib_1.__importDefault)(require("../../../../utils/hooks/useGetIsAllSelectedInfiniteList"));
var ProjectListDetails = function (_a) {
var _b;
var projectsParams = _a.projectsParams, sharedProps = (0, tslib_1.__rest)(_a, ["projectsParams"]);
var _c = (0, useProjects_1.useGetProjectsInfinite)(projectsParams), data = _c.data, isLoading = _c.isLoading, isFetchingNextPage = _c.isFetchingNextPage, hasNextPage = _c.hasNextPage, fetchNextPage = _c.fetchNextPage, isError = _c.isError, error = _c.error;
var handleError = (0, react_error_boundary_1.useErrorHandler)();
var projects = (_b = data === null || data === void 0 ? void 0 : data.pages.flatMap(function (page) { return page.results; })) !== null && _b !== void 0 ? _b : [];
var selectAllCheckboxState = (0, useGetIsAllSelectedInfiniteList_1.default)(projects, 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: projects, isLoading: isLoading, hasNextPage: hasNextPage, fetchNextPage: fetchNextPage, isFetchingNextPage: isFetchingNextPage, selectAllIsChecked: selectAllCheckboxState }, sharedProps)));
};
exports.ProjectListDetails = ProjectListDetails;
//# sourceMappingURL=ProjectListDetails.js.map