synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
40 lines • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = (0, tslib_1.__importStar)(require("react"));
var react_intersection_observer_1 = require("react-intersection-observer");
var SynapseClient_1 = require("../utils/SynapseClient");
var SynapseContext_1 = require("../utils/SynapseContext");
var EntityIdList = function (props) {
var accessToken = (0, SynapseContext_1.useSynapseContext)().accessToken;
var entityIdList = props.entityIdList;
var _a = (0, react_1.useState)(''), entityNameList = _a[0], setEntityNameList = _a[1];
var _b = (0, react_intersection_observer_1.useInView)(), ref = _b.ref, inView = _b.inView;
var mounted = true;
(0, react_1.useEffect)(function () {
if (mounted && inView) {
getEntityTypes();
}
return function () {
mounted = false;
};
}, [entityIdList, inView]);
var getEntityTypes = function () { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
return (0, tslib_1.__generator)(this, function (_a) {
if (!entityIdList.length)
return [2 /*return*/];
(0, SynapseClient_1.getEntityHeadersByIds)(entityIdList, accessToken)
.then(function (entity) {
var list = entity.results.map(function (el) { return el.name; }).join(', ');
setEntityNameList(list);
})
.catch(function (e) {
console.log('EntityIdList: Error getting entity header names', e);
});
return [2 /*return*/];
});
}); };
return react_1.default.createElement("span", { ref: ref }, entityNameList);
};
exports.default = EntityIdList;
//# sourceMappingURL=EntityIdList.js.map