synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
54 lines • 2.82 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Resources = void 0;
var tslib_1 = require("tslib");
var react_1 = (0, tslib_1.__importDefault)(require("react"));
var utils_1 = require("../../../utils");
var ErrorBanner_1 = require("../../ErrorBanner");
var useGetQueryResultBundle_1 = (0, tslib_1.__importDefault)(require("../../../utils/hooks/SynapseAPI/useGetQueryResultBundle"));
var Resources_Desktop_1 = (0, tslib_1.__importDefault)(require("./Resources.Desktop"));
var Resources_Mobile_1 = (0, tslib_1.__importDefault)(require("./Resources.Mobile"));
var useShowDesktop_1 = (0, tslib_1.__importDefault)(require("../../../utils/hooks/useShowDesktop"));
var queryUtils_1 = require("../../../utils/functions/queryUtils");
var ExpectedColumns;
(function (ExpectedColumns) {
ExpectedColumns["NAME"] = "Name";
ExpectedColumns["WIKI"] = "Wiki";
})(ExpectedColumns || (ExpectedColumns = {}));
var Resources = function (props) {
var _a;
var entityId = props.entityId;
var showDesktop = (0, useShowDesktop_1.default)();
var queryBundleRequest = {
concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',
entityId: entityId,
partMask: utils_1.SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |
utils_1.SynapseConstants.BUNDLE_MASK_QUERY_RESULTS,
query: {
sql: "SELECT Name, Wiki FROM " + entityId + " ORDER BY ItemOrder",
},
};
var _b = (0, useGetQueryResultBundle_1.default)(queryBundleRequest), queryResultBundle = _b.data, error = _b.error;
var nameIndex = (0, queryUtils_1.getFieldIndex)(ExpectedColumns.NAME, queryResultBundle);
var wikiIndex = (0, queryUtils_1.getFieldIndex)(ExpectedColumns.WIKI, queryResultBundle);
var data = (_a = queryResultBundle === null || queryResultBundle === void 0 ? void 0 : queryResultBundle.queryResult.queryResults.rows.map(function (el) {
var _a;
var values = el.values;
var name = values[nameIndex];
var wikiValue = (_a = values[wikiIndex]) !== null && _a !== void 0 ? _a : '';
var split = wikiValue.split('/');
var ownerId = split[0];
var wikiId = split[2];
return {
name: name,
ownerId: ownerId,
wikiId: wikiId,
};
})) !== null && _a !== void 0 ? _a : [];
return (react_1.default.createElement("div", { className: "Resources" },
react_1.default.createElement(ErrorBanner_1.ErrorBanner, { error: error }),
showDesktop ? (react_1.default.createElement(Resources_Desktop_1.default, { data: data })) : (react_1.default.createElement(Resources_Mobile_1.default, { data: data }))));
};
exports.Resources = Resources;
exports.default = exports.Resources;
//# sourceMappingURL=Resources.js.map