synapse-react-client 3.0.25 → 3.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/containers/AccountLevelBadge.js +6 -34
- package/dist/containers/AccountLevelBadge.js.map +1 -1
- package/dist/containers/AddToDownloadListV2.js +7 -1
- package/dist/containers/AddToDownloadListV2.js.map +1 -1
- package/dist/containers/Avatar.d.ts +1 -0
- package/dist/containers/Avatar.js +21 -14
- package/dist/containers/Avatar.js.map +1 -1
- package/dist/containers/HasAccessV2.d.ts +35 -0
- package/dist/containers/HasAccessV2.js +214 -0
- package/dist/containers/HasAccessV2.js.map +1 -0
- package/dist/containers/IconSvg.js +10 -12
- package/dist/containers/IconSvg.js.map +1 -1
- package/dist/containers/SynapseNavDrawer.js +36 -39
- package/dist/containers/SynapseNavDrawer.js.map +1 -1
- package/dist/containers/UserCard.d.ts +5 -5
- package/dist/containers/UserCard.js +40 -22
- package/dist/containers/UserCard.js.map +1 -1
- package/dist/containers/UserCardMedium.d.ts +1 -0
- package/dist/containers/UserCardMedium.js +11 -30
- package/dist/containers/UserCardMedium.js.map +1 -1
- package/dist/containers/UserCardSmall.d.ts +4 -3
- package/dist/containers/UserCardSmall.js +26 -52
- package/dist/containers/UserCardSmall.js.map +1 -1
- package/dist/containers/table/SynapseTable.js +2 -2
- package/dist/containers/table/SynapseTable.js.map +1 -1
- package/dist/containers/table/datasets/DatasetItemsEditor.js +0 -2
- package/dist/containers/table/datasets/DatasetItemsEditor.js.map +1 -1
- package/dist/containers/table/table-top/ColumnSelection.js +1 -1
- package/dist/containers/table/table-top/ColumnSelection.js.map +1 -1
- package/dist/style/base/_core.scss +12 -7
- package/dist/style/main.css +8 -4
- package/dist/template_style/_theme.scss +14 -10
- package/dist/umd/synapse-react-client.development.css +20639 -20634
- package/dist/umd/synapse-react-client.development.css.map +3 -3
- package/dist/umd/synapse-react-client.development.js +80022 -77809
- package/dist/umd/synapse-react-client.development.js.map +3 -3
- package/dist/umd/synapse-react-client.production.min.css +1 -1
- package/dist/umd/synapse-react-client.production.min.js +266 -242
- package/dist/umd.index.d.ts +12 -10
- package/dist/umd.index.js +39 -37
- package/dist/umd.index.js.map +1 -1
- package/dist/utils/APIConstants.d.ts +1 -0
- package/dist/utils/APIConstants.js +5 -1
- package/dist/utils/APIConstants.js.map +1 -1
- package/dist/utils/SynapseClient.d.ts +8 -0
- package/dist/utils/SynapseClient.js +14 -1
- package/dist/utils/SynapseClient.js.map +1 -1
- package/dist/utils/functions/getUserData.d.ts +3 -16
- package/dist/utils/functions/getUserData.js +1 -18
- package/dist/utils/functions/getUserData.js.map +1 -1
- package/dist/utils/hooks/SynapseAPI/dataaccess/useGetAccessRequirement.d.ts +2 -1
- package/dist/utils/hooks/SynapseAPI/dataaccess/useGetAccessRequirement.js +6 -1
- package/dist/utils/hooks/SynapseAPI/dataaccess/useGetAccessRequirement.js.map +1 -1
- package/dist/utils/hooks/SynapseAPI/useUserBundle.d.ts +1 -2
- package/dist/utils/hooks/SynapseAPI/useUserBundle.js +15 -12
- package/dist/utils/hooks/SynapseAPI/useUserBundle.js.map +1 -1
- package/dist/utils/hooks/useOverlay.d.ts +1 -1
- package/dist/utils/hooks/useOverlay.js +27 -14
- package/dist/utils/hooks/useOverlay.js.map +1 -1
- package/dist/utils/hooks/usePreFetchResource.d.ts +9 -0
- package/dist/utils/hooks/usePreFetchResource.js +78 -0
- package/dist/utils/hooks/usePreFetchResource.js.map +1 -0
- package/dist/utils/tooltip/Tooltip.d.ts +4 -0
- package/dist/utils/tooltip/Tooltip.js +21 -0
- package/dist/utils/tooltip/Tooltip.js.map +1 -0
- package/dist/utils/typography/Typography.styles.d.ts +1 -1
- package/package.json +1 -1
- package/dist/utils/hooks/useTraceUpdate.d.ts +0 -1
- package/dist/utils/hooks/useTraceUpdate.js +0 -22
- package/dist/utils/hooks/useTraceUpdate.js.map +0 -1
|
@@ -3,48 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AccountLevelBadge = exports.accountLevelVerifiedLabel = exports.accountLevelCertifiedLabel = exports.accountLevelRegisteredLabel = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var React = (0, tslib_1.__importStar)(require("react"));
|
|
6
|
-
var react_1 = require("react");
|
|
7
|
-
var utils_1 = require("../utils");
|
|
8
|
-
var account_registered_svg_1 = require("../assets/icons/account-registered.svg");
|
|
9
6
|
var account_certified_svg_1 = require("../assets/icons/account-certified.svg");
|
|
7
|
+
var account_registered_svg_1 = require("../assets/icons/account-registered.svg");
|
|
10
8
|
var account_validated_svg_1 = require("../assets/icons/account-validated.svg");
|
|
9
|
+
var utils_1 = require("../utils");
|
|
10
|
+
var useUserBundle_1 = require("../utils/hooks/SynapseAPI/useUserBundle");
|
|
11
11
|
var ErrorBanner_1 = require("./ErrorBanner");
|
|
12
12
|
exports.accountLevelRegisteredLabel = 'Registered';
|
|
13
13
|
exports.accountLevelCertifiedLabel = 'Certified';
|
|
14
14
|
exports.accountLevelVerifiedLabel = 'Validated';
|
|
15
|
+
var CERTIFICATION_AND_VERIFICATION_BUNDLE_MASK = utils_1.SynapseConstants.USER_BUNDLE_MASK_IS_CERTIFIED |
|
|
16
|
+
utils_1.SynapseConstants.USER_BUNDLE_MASK_IS_VERIFIED;
|
|
15
17
|
var AccountLevelBadge = function (_a) {
|
|
16
18
|
var userId = _a.userId;
|
|
17
|
-
var _b = (0,
|
|
18
|
-
var _c = (0, react_1.useState)(undefined), userBundle = _c[0], setUserBundle = _c[1];
|
|
19
|
-
var _d = (0, react_1.useState)(false), isLoading = _d[0], setIsLoading = _d[1];
|
|
20
|
-
(0, react_1.useEffect)(function () {
|
|
21
|
-
var getData = function () { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
22
|
-
var certificationOrVerification, bundle, err_1;
|
|
23
|
-
return (0, tslib_1.__generator)(this, function (_a) {
|
|
24
|
-
switch (_a.label) {
|
|
25
|
-
case 0:
|
|
26
|
-
_a.trys.push([0, 2, 3, 4]);
|
|
27
|
-
setIsLoading(true);
|
|
28
|
-
certificationOrVerification = utils_1.SynapseConstants.USER_BUNDLE_MASK_IS_CERTIFIED |
|
|
29
|
-
utils_1.SynapseConstants.USER_BUNDLE_MASK_IS_VERIFIED;
|
|
30
|
-
return [4 /*yield*/, utils_1.SynapseClient.getUserBundle(userId, certificationOrVerification, undefined)];
|
|
31
|
-
case 1:
|
|
32
|
-
bundle = _a.sent();
|
|
33
|
-
setUserBundle(bundle);
|
|
34
|
-
return [3 /*break*/, 4];
|
|
35
|
-
case 2:
|
|
36
|
-
err_1 = _a.sent();
|
|
37
|
-
setError(err_1);
|
|
38
|
-
return [3 /*break*/, 4];
|
|
39
|
-
case 3:
|
|
40
|
-
setIsLoading(false);
|
|
41
|
-
return [7 /*endfinally*/];
|
|
42
|
-
case 4: return [2 /*return*/];
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}); };
|
|
46
|
-
getData();
|
|
47
|
-
}, [userId]);
|
|
19
|
+
var _b = (0, useUserBundle_1.useGetUserBundle)(userId, CERTIFICATION_AND_VERIFICATION_BUNDLE_MASK), userBundle = _b.data, isLoading = _b.isLoading, error = _b.error;
|
|
48
20
|
if (isLoading) {
|
|
49
21
|
return React.createElement(React.Fragment, null);
|
|
50
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountLevelBadge.js","sourceRoot":"","sources":["../../src/lib/containers/AccountLevelBadge.tsx"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"AccountLevelBadge.js","sourceRoot":"","sources":["../../src/lib/containers/AccountLevelBadge.tsx"],"names":[],"mappings":";;;;AAAA,wDAA8B;AAC9B,+EAAmF;AACnF,iFAAqF;AACrF,+EAAmF;AACnF,kCAA2C;AAC3C,yEAA0E;AAC1E,6CAA2C;AAM9B,QAAA,2BAA2B,GAAW,YAAY,CAAA;AAClD,QAAA,0BAA0B,GAAW,WAAW,CAAA;AAChD,QAAA,yBAAyB,GAAW,WAAW,CAAA;AAE5D,IAAM,0CAA0C,GAC9C,wBAAgB,CAAC,6BAA6B;IAC9C,wBAAgB,CAAC,4BAA4B,CAAA;AAExC,IAAM,iBAAiB,GAE1B,UAAC,EAAkC;QAAhC,MAAM,YAAA;IACL,IAAA,KAIF,IAAA,gCAAgB,EAAC,MAAM,EAAE,0CAA0C,CAAC,EAHhE,UAAU,UAAA,EAChB,SAAS,eAAA,EACT,KAAK,WACiE,CAAA;IAExE,IAAI,SAAS,EAAE;QACb,OAAO,yCAAK,CAAA;KACb;IACD,IAAI,KAAK,EAAE;QACT,OAAO,oBAAC,yBAAW,IAAC,KAAK,EAAE,KAAK,GAAI,CAAA;KACrC;IAED,IAAI,kBAAkB,GAAW,mCAA2B,CAAA;IAC5D,IAAI,IAAI,GAAG,oBAAC,uCAAU,OAAG,CAAA;IACzB,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,EAAE;QAC3B,kBAAkB,GAAG,kCAA0B,CAAA;QAC/C,IAAI,GAAG,oBAAC,sCAAS,OAAG,CAAA;KACrB;IACD,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,EAAE;QAC1B,kBAAkB,GAAG,iCAAyB,CAAA;QAC9C,IAAI,GAAG,oBAAC,sCAAS,OAAG,CAAA;KACrB;IACD,OAAO,CACL,6BAAK,SAAS,EAAE,iCAAiC;QAC/C,6BAAK,SAAS,EAAC,kCAAkC,IAAE,IAAI,CAAO;QAC9D,6BAAK,SAAS,EAAC,yBAAyB;YACtC,2BAAG,SAAS,EAAC,2CAA2C,IACrD,kBAAkB,CACjB;YACJ,2BAAG,SAAS,EAAC,4CAA4C,4BAErD;YACJ,2BACE,SAAS,EAAC,uCAAuC,EACjD,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,IAAI,EAAC,0DAA0D,iBAG7D,CACA,CACF,CACP,CAAA;AACH,CAAC,CAAA;AA/CY,QAAA,iBAAiB,qBA+C7B"}
|
|
@@ -7,9 +7,11 @@ var IconSvg_1 = (0, tslib_1.__importDefault)(require("./IconSvg"));
|
|
|
7
7
|
var SynapseContext_1 = require("../utils/SynapseContext");
|
|
8
8
|
var ToastMessage_1 = require("./ToastMessage");
|
|
9
9
|
var react_tooltip_1 = (0, tslib_1.__importDefault)(require("react-tooltip"));
|
|
10
|
+
var react_query_1 = require("react-query");
|
|
10
11
|
var AddToDownloadListV2 = function (props) {
|
|
11
12
|
var entityId = props.entityId, entityVersionNumber = props.entityVersionNumber;
|
|
12
13
|
var accessToken = (0, SynapseContext_1.useSynapseContext)().accessToken;
|
|
14
|
+
var queryClient = (0, react_query_1.useQueryClient)();
|
|
13
15
|
if (!accessToken) {
|
|
14
16
|
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
15
17
|
}
|
|
@@ -19,9 +21,13 @@ var AddToDownloadListV2 = function (props) {
|
|
|
19
21
|
switch (_a.label) {
|
|
20
22
|
case 0:
|
|
21
23
|
_a.trys.push([0, 3, , 4]);
|
|
22
|
-
return [4 /*yield*/, (0, SynapseClient_1.addFileToDownloadListV2)(entityId, entityVersionNumber, accessToken)
|
|
24
|
+
return [4 /*yield*/, (0, SynapseClient_1.addFileToDownloadListV2)(entityId, entityVersionNumber, accessToken)
|
|
25
|
+
// PORTALS-2222: Invalidate to load the accurate results
|
|
26
|
+
];
|
|
23
27
|
case 1:
|
|
24
28
|
_a.sent();
|
|
29
|
+
// PORTALS-2222: Invalidate to load the accurate results
|
|
30
|
+
queryClient.invalidateQueries(['downloadliststatsv2']);
|
|
25
31
|
return [4 /*yield*/, (0, SynapseClient_1.getEntity)(accessToken, entityId, entityVersionNumber ? entityVersionNumber === null || entityVersionNumber === void 0 ? void 0 : entityVersionNumber.toString() : undefined)];
|
|
26
32
|
case 2:
|
|
27
33
|
entity = _a.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddToDownloadListV2.js","sourceRoot":"","sources":["../../src/lib/containers/AddToDownloadListV2.tsx"],"names":[],"mappings":";;;AAAA,6DAAyB;AACzB,wDAA2E;AAC3E,mEAA+B;AAC/B,0DAA2D;AAC3D,+CAA6C;AAC7C,6EAAwC;
|
|
1
|
+
{"version":3,"file":"AddToDownloadListV2.js","sourceRoot":"","sources":["../../src/lib/containers/AddToDownloadListV2.tsx"],"names":[],"mappings":";;;AAAA,6DAAyB;AACzB,wDAA2E;AAC3E,mEAA+B;AAC/B,0DAA2D;AAC3D,+CAA6C;AAC7C,6EAAwC;AACxC,2CAA4C;AAO5C,IAAM,mBAAmB,GAErB,UAAA,KAAK;IACC,IAAA,QAAQ,GAA0B,KAAK,SAA/B,EAAE,mBAAmB,GAAK,KAAK,oBAAV,CAAU;IACvC,IAAA,WAAW,GAAK,IAAA,kCAAiB,GAAE,YAAxB,CAAwB;IAC3C,IAAM,WAAW,GAAG,IAAA,4BAAc,GAAE,CAAA;IACpC,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,6DAAK,CAAA;KACb;IACD,IAAM,mBAAmB,GAAG;;;;;;oBAExB,qBAAM,IAAA,uCAAuB,EAAC,QAAQ,EAAE,mBAAmB,EAAE,WAAW,CAAC;wBACzE,wDAAwD;sBADiB;;oBAAzE,SAAyE,CAAA;oBACzE,wDAAwD;oBACxD,WAAW,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAA;oBACvC,qBAAM,IAAA,yBAAS,EAC5B,WAAW,EACX,QAAQ,EACR,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAClE,EAAA;;oBAJK,MAAM,GAAG,SAId;oBACD,IAAA,2BAAY,EACP,MAAM,CAAC,IAAI,mDAAgD,EAC9D,SAAS,CACV,CAAA;;;;oBAED,IAAA,2BAAY,EACV,mDAAiD,GAAG,EACpD,QAAQ,CACT,CAAA;;;;;SAEJ,CAAA;IAED,OAAO,CACL;QACE,oDACc,qBAAqB,cACxB,qCAAqC,cACjC,QAAQ,SAAI,mBAAmB,6BAA0B,EACtE,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAC,YAAY;YAEtB,8BAAC,uBAAY,IACX,SAAS,EAAE,GAAG,EACd,KAAK,EAAC,OAAO,EACb,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,OAAO,EACd,EAAE,EAAK,QAAQ,SAAI,mBAAmB,6BAA0B,GAChE;YACF,8BAAC,iBAAO,IAAC,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAI,CACzC,CACH,CACJ,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,mBAAmB,CAAA"}
|
|
@@ -6,13 +6,14 @@ var react_1 = (0, tslib_1.__importStar)(require("react"));
|
|
|
6
6
|
var getUserData_1 = require("../utils/functions/getUserData");
|
|
7
7
|
var UserCardMedium_1 = (0, tslib_1.__importDefault)(require("./UserCardMedium"));
|
|
8
8
|
var useOverlay_1 = require("../utils/hooks/useOverlay");
|
|
9
|
+
var lab_1 = require("@material-ui/lab");
|
|
9
10
|
var TIMER_DELAY_SHOW = 250; // milliseconds
|
|
10
11
|
var TIMER_DELAY_HIDE = 500;
|
|
11
12
|
var Avatar = function (_a) {
|
|
12
|
-
var userProfile = _a.userProfile, _b = _a.avatarSize, avatarSize = _b === void 0 ? 'LARGE' : _b, imageURL = _a.imageURL, _c = _a.showCardOnHover, showCardOnHover = _c === void 0 ? false : _c;
|
|
13
|
+
var userProfile = _a.userProfile, _b = _a.avatarSize, avatarSize = _b === void 0 ? 'LARGE' : _b, imageURL = _a.imageURL, _c = _a.showCardOnHover, showCardOnHover = _c === void 0 ? false : _c, _d = _a.isLoadingAvatar, isLoadingAvatar = _d === void 0 ? false : _d;
|
|
13
14
|
var target = (0, react_1.useRef)(null);
|
|
14
15
|
var mediumUserCard = (react_1.default.createElement(UserCardMedium_1.default, { userProfile: userProfile, imageURL: imageURL }));
|
|
15
|
-
var
|
|
16
|
+
var _e = (0, useOverlay_1.useOverlay)(mediumUserCard, target, TIMER_DELAY_SHOW, TIMER_DELAY_HIDE), OverlayComponent = _e.OverlayComponent, isShowingOverlay = _e.isShowing, toggleShow = _e.toggleShow, toggleHide = _e.toggleHide;
|
|
16
17
|
var sizeClass;
|
|
17
18
|
switch (avatarSize) {
|
|
18
19
|
case 'SMALL':
|
|
@@ -28,23 +29,29 @@ var Avatar = function (_a) {
|
|
|
28
29
|
break;
|
|
29
30
|
}
|
|
30
31
|
var cursorStyle = showCardOnHover ? 'pointer' : 'unset';
|
|
32
|
+
var hasProfileImage = !!imageURL;
|
|
33
|
+
var conditionalStyles = hasProfileImage
|
|
34
|
+
? {
|
|
35
|
+
backgroundImage: "url(" + imageURL + ")",
|
|
36
|
+
}
|
|
37
|
+
: { background: (0, getUserData_1.getColor)(userProfile.userName) };
|
|
38
|
+
if (isLoadingAvatar) {
|
|
39
|
+
return react_1.default.createElement(lab_1.Skeleton, { className: sizeClass, variant: "circle" });
|
|
40
|
+
}
|
|
41
|
+
var content = react_1.default.createElement(react_1.default.Fragment, null);
|
|
42
|
+
if (!hasProfileImage) {
|
|
43
|
+
content = userProfile.firstName
|
|
44
|
+
? userProfile.firstName[0]
|
|
45
|
+
: userProfile.userName[0];
|
|
46
|
+
}
|
|
31
47
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
32
|
-
showCardOnHover && OverlayComponent,
|
|
33
|
-
|
|
34
|
-
if (showCardOnHover) {
|
|
35
|
-
event.stopPropagation();
|
|
36
|
-
}
|
|
37
|
-
isShowingOverlay ? toggleHide(false) : toggleShow(false);
|
|
38
|
-
}, style: { backgroundImage: "url(" + imageURL + ")", cursor: cursorStyle }, className: sizeClass })) : (react_1.default.createElement("div", { ref: target, onMouseEnter: function () { return toggleShow(); }, onMouseLeave: function () { return toggleHide(); }, onClick: function (event) {
|
|
48
|
+
showCardOnHover && react_1.default.createElement(OverlayComponent, null),
|
|
49
|
+
react_1.default.createElement("div", { ref: target, role: "img", onMouseEnter: function () { return toggleShow(); }, onMouseLeave: function () { return toggleHide(); }, onClick: function (event) {
|
|
39
50
|
if (showCardOnHover) {
|
|
40
51
|
event.stopPropagation();
|
|
41
52
|
}
|
|
42
53
|
isShowingOverlay ? toggleHide(false) : toggleShow(false);
|
|
43
|
-
}, style: {
|
|
44
|
-
background: (0, getUserData_1.getColor)(userProfile.userName),
|
|
45
|
-
cursor: cursorStyle,
|
|
46
|
-
}, className: sizeClass + " SRC-centerContentInline" }, userProfile.firstName &&
|
|
47
|
-
(userProfile.firstName[0] || userProfile.userName[0])))));
|
|
54
|
+
}, className: sizeClass + " SRC-centerContentInline", style: (0, tslib_1.__assign)({ cursor: cursorStyle }, conditionalStyles) }, content)));
|
|
48
55
|
};
|
|
49
56
|
exports.Avatar = Avatar;
|
|
50
57
|
//# sourceMappingURL=Avatar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../src/lib/containers/Avatar.tsx"],"names":[],"mappings":";;;;AAAA,0DAAqC;AACrC,8DAAyD;AAEzD,iFAA6C;AAC7C,wDAAsD;
|
|
1
|
+
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../src/lib/containers/Avatar.tsx"],"names":[],"mappings":";;;;AAAA,0DAAqC;AACrC,8DAAyD;AAEzD,iFAA6C;AAC7C,wDAAsD;AACtD,wCAA2C;AAE3C,IAAM,gBAAgB,GAAG,GAAG,CAAA,CAAC,eAAe;AAC5C,IAAM,gBAAgB,GAAG,GAAG,CAAA;AAYrB,IAAM,MAAM,GAAyC,UAAC,EAM5D;QALC,WAAW,iBAAA,EACX,kBAAoB,EAApB,UAAU,mBAAG,OAAO,KAAA,EACpB,QAAQ,cAAA,EACR,uBAAuB,EAAvB,eAAe,mBAAG,KAAK,KAAA,EACvB,uBAAuB,EAAvB,eAAe,mBAAG,KAAK,KAAA;IAEvB,IAAM,MAAM,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAA;IAE3B,IAAM,cAAc,GAAG,CACrB,8BAAC,wBAAc,IAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACjE,CAAA;IACK,IAAA,KAKF,IAAA,uBAAU,EAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAJxE,gBAAgB,sBAAA,EACL,gBAAgB,eAAA,EAC3B,UAAU,gBAAA,EACV,UAAU,gBAC8D,CAAA;IAE1E,IAAI,SAAS,CAAA;IACb,QAAQ,UAAU,EAAE;QAClB,KAAK,OAAO;YACV,SAAS,GAAG,kBAAkB,CAAA;YAC9B,MAAK;QACP,KAAK,QAAQ;YACX,SAAS,GAAG,mBAAmB,CAAA;YAC/B,MAAK;QACP,KAAK,OAAO;YACV,SAAS,GAAG,aAAa,CAAA;YACzB,MAAK;QACP;YACE,MAAK;KACR;IAED,IAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;IAEzD,IAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,CAAA;IAElC,IAAM,iBAAiB,GAAwB,eAAe;QAC5D,CAAC,CAAC;YACE,eAAe,EAAE,SAAO,QAAQ,MAAG;SACpC;QACH,CAAC,CAAC,EAAE,UAAU,EAAE,IAAA,sBAAQ,EAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAA;IAElD,IAAI,eAAe,EAAE;QACnB,OAAO,8BAAC,cAAQ,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAC,QAAQ,GAAG,CAAA;KAC3D;IAED,IAAI,OAAO,GAAyB,6DAAK,CAAA;IAEzC,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,GAAG,WAAW,CAAC,SAAS;YAC7B,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;KAC5B;IAED,OAAO,CACL;QACG,eAAe,IAAI,8BAAC,gBAAgB,OAAG;QACxC,uCACE,GAAG,EAAE,MAAM,EACX,IAAI,EAAC,KAAK,EACV,YAAY,EAAE,cAAM,OAAA,UAAU,EAAE,EAAZ,CAAY,EAChC,YAAY,EAAE,cAAM,OAAA,UAAU,EAAE,EAAZ,CAAY,EAChC,OAAO,EAAE,UAAA,KAAK;gBACZ,IAAI,eAAe,EAAE;oBACnB,KAAK,CAAC,eAAe,EAAE,CAAA;iBACxB;gBACD,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAC1D,CAAC,EACD,SAAS,EAAK,SAAS,6BAA0B,EACjD,KAAK,0BACH,MAAM,EAAE,WAAW,IAChB,iBAAiB,KAGrB,OAAO,CACJ,CACL,CACJ,CAAA;AACH,CAAC,CAAA;AAhFY,QAAA,MAAM,UAgFlB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare type HasAccessProps = {
|
|
3
|
+
onHide?: () => void;
|
|
4
|
+
entityId: string;
|
|
5
|
+
entityVersionNumber?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const GIGABYTE_SIZE: number;
|
|
9
|
+
export declare enum FileHandleDownloadTypeEnum {
|
|
10
|
+
Accessible = "Accessible",
|
|
11
|
+
AccessBlockedByRestriction = "AccessBlockedByRestriction",
|
|
12
|
+
AccessBlockedByACL = "AccessBlockedByACL",
|
|
13
|
+
AccessBlockedToAnonymous = "AccessBlockedToAnonymous",
|
|
14
|
+
NoFileHandle = "NoFileHandle"
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Determines whether an Entity is accessible for download, or if it is blocked by the ACL or unmet Access Requirements.
|
|
18
|
+
*
|
|
19
|
+
* To make download available, and determine if the file is downloadable via the web, see {@link DirectDownload.tsx}
|
|
20
|
+
* @param entityId
|
|
21
|
+
* @param entityVersionNumber
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
export declare function useGetFileHandleDownloadType(entityId: string, entityVersionNumber?: string): FileHandleDownloadTypeEnum | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* HasAccess shows if the user has access to the file or not.
|
|
27
|
+
*
|
|
28
|
+
* The component's behavior changes whether it's passed in a FileHandle or not.
|
|
29
|
+
* If passed a file handle then it will give more detailed information about the download.
|
|
30
|
+
*
|
|
31
|
+
* @export
|
|
32
|
+
* @class HasAccess
|
|
33
|
+
* @extends {React.Component<HasAccessProps, HasAccessState>}
|
|
34
|
+
*/
|
|
35
|
+
export declare function HasAccessV2(props: HasAccessProps): JSX.Element;
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.HasAccessV2 = exports.useGetFileHandleDownloadType = exports.FileHandleDownloadTypeEnum = exports.GIGABYTE_SIZE = void 0;
|
|
5
|
+
var tslib_1 = require("tslib");
|
|
6
|
+
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
7
|
+
var utils_1 = require("../utils");
|
|
8
|
+
var getEndpoint_1 = require("../utils/functions/getEndpoint");
|
|
9
|
+
var useGetAccessRequirement_1 = require("../utils/hooks/SynapseAPI/dataaccess/useGetAccessRequirement");
|
|
10
|
+
var useEntityBundle_1 = (0, tslib_1.__importDefault)(require("../utils/hooks/SynapseAPI/entity/useEntityBundle"));
|
|
11
|
+
var useTheme_1 = require("../utils/hooks/useTheme");
|
|
12
|
+
var SynapseConstants_1 = require("../utils/SynapseConstants");
|
|
13
|
+
var SynapseContext_1 = require("../utils/SynapseContext");
|
|
14
|
+
var synapseTypes_1 = require("../utils/synapseTypes/");
|
|
15
|
+
var AccessRequirementList_1 = (0, tslib_1.__importStar)(require("./access_requirement_list/AccessRequirementList"));
|
|
16
|
+
var IconSvg_1 = (0, tslib_1.__importDefault)(require("./IconSvg"));
|
|
17
|
+
exports.GIGABYTE_SIZE = Math.pow(2, 30);
|
|
18
|
+
var FileHandleDownloadTypeEnum;
|
|
19
|
+
(function (FileHandleDownloadTypeEnum) {
|
|
20
|
+
FileHandleDownloadTypeEnum["Accessible"] = "Accessible";
|
|
21
|
+
FileHandleDownloadTypeEnum["AccessBlockedByRestriction"] = "AccessBlockedByRestriction";
|
|
22
|
+
FileHandleDownloadTypeEnum["AccessBlockedByACL"] = "AccessBlockedByACL";
|
|
23
|
+
FileHandleDownloadTypeEnum["AccessBlockedToAnonymous"] = "AccessBlockedToAnonymous";
|
|
24
|
+
FileHandleDownloadTypeEnum["NoFileHandle"] = "NoFileHandle";
|
|
25
|
+
})(FileHandleDownloadTypeEnum = exports.FileHandleDownloadTypeEnum || (exports.FileHandleDownloadTypeEnum = {}));
|
|
26
|
+
var iconConfiguration = (_a = {},
|
|
27
|
+
_a[FileHandleDownloadTypeEnum.AccessBlockedToAnonymous] = {
|
|
28
|
+
icon: 'accessClosed',
|
|
29
|
+
color: function (theme) { return theme.colors.warning; },
|
|
30
|
+
tooltipText: 'You must sign in to access this file.',
|
|
31
|
+
},
|
|
32
|
+
_a[FileHandleDownloadTypeEnum.AccessBlockedByRestriction] = {
|
|
33
|
+
icon: 'accessClosed',
|
|
34
|
+
color: function (theme) { return theme.colors.warning; },
|
|
35
|
+
tooltipText: 'You must request access to this restricted file.',
|
|
36
|
+
},
|
|
37
|
+
_a[FileHandleDownloadTypeEnum.AccessBlockedByACL] = {
|
|
38
|
+
icon: 'accessClosed',
|
|
39
|
+
color: function (theme) { return theme.colors.warning; },
|
|
40
|
+
tooltipText: 'You do not have download access for this item.',
|
|
41
|
+
},
|
|
42
|
+
_a[FileHandleDownloadTypeEnum.Accessible] = {
|
|
43
|
+
icon: 'accessOpen',
|
|
44
|
+
color: function (theme) { return theme.colors.success; },
|
|
45
|
+
tooltipText: '',
|
|
46
|
+
},
|
|
47
|
+
_a[FileHandleDownloadTypeEnum.NoFileHandle] = {
|
|
48
|
+
icon: 'accessOpen',
|
|
49
|
+
color: function (theme) { return theme.colors.success; },
|
|
50
|
+
tooltipText: '',
|
|
51
|
+
},
|
|
52
|
+
_a);
|
|
53
|
+
function AccessIcon(props) {
|
|
54
|
+
var downloadType = props.downloadType;
|
|
55
|
+
if (downloadType) {
|
|
56
|
+
var configuration_1 = iconConfiguration[downloadType];
|
|
57
|
+
return (react_1.default.createElement(useTheme_1.ThemeContext.Consumer, null, function (theme) { return (react_1.default.createElement(IconSvg_1.default, { options: {
|
|
58
|
+
icon: configuration_1.icon,
|
|
59
|
+
color: configuration_1.color(theme),
|
|
60
|
+
label: configuration_1.tooltipText,
|
|
61
|
+
} })); }));
|
|
62
|
+
}
|
|
63
|
+
// nothing is rendered until downloadType is determined
|
|
64
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Determines whether an Entity is accessible for download, or if it is blocked by the ACL or unmet Access Requirements.
|
|
68
|
+
*
|
|
69
|
+
* To make download available, and determine if the file is downloadable via the web, see {@link DirectDownload.tsx}
|
|
70
|
+
* @param entityId
|
|
71
|
+
* @param entityVersionNumber
|
|
72
|
+
* @returns
|
|
73
|
+
*/
|
|
74
|
+
function useGetFileHandleDownloadType(entityId, entityVersionNumber) {
|
|
75
|
+
var _a = react_1.default.useState(), fileHandleDownloadType = _a[0], setFileHandleDownloadType = _a[1];
|
|
76
|
+
var accessToken = (0, SynapseContext_1.useSynapseContext)().accessToken;
|
|
77
|
+
var _b = (0, useEntityBundle_1.default)(entityId, {
|
|
78
|
+
includeEntity: true,
|
|
79
|
+
includePermissions: true,
|
|
80
|
+
}, parseInt(entityVersionNumber !== null && entityVersionNumber !== void 0 ? entityVersionNumber : '')), entityBundle = _b.data, entityFetchError = _b.error;
|
|
81
|
+
var restrictionInformationRequest = react_1.default.useMemo(function () { return ({
|
|
82
|
+
restrictableObjectType: synapseTypes_1.RestrictableObjectType.ENTITY,
|
|
83
|
+
objectId: entityId,
|
|
84
|
+
}); }, [entityId]);
|
|
85
|
+
var restrictionInformation = (0, useGetAccessRequirement_1.useGetRestrictionInformation)(restrictionInformationRequest).data;
|
|
86
|
+
var entity = entityBundle === null || entityBundle === void 0 ? void 0 : entityBundle.entity;
|
|
87
|
+
var permissions = entityBundle === null || entityBundle === void 0 ? void 0 : entityBundle.permissions;
|
|
88
|
+
react_1.default.useEffect(function () {
|
|
89
|
+
if (restrictionInformation &&
|
|
90
|
+
restrictionInformation.hasUnmetAccessRequirement) {
|
|
91
|
+
setFileHandleDownloadType(FileHandleDownloadTypeEnum.AccessBlockedByRestriction);
|
|
92
|
+
}
|
|
93
|
+
else if (entity && (permissions === null || permissions === void 0 ? void 0 : permissions.canDownload)) {
|
|
94
|
+
if ((0, synapseTypes_1.isFileEntity)(entity) && entity.dataFileHandleId) {
|
|
95
|
+
setFileHandleDownloadType(FileHandleDownloadTypeEnum.Accessible);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
setFileHandleDownloadType(FileHandleDownloadTypeEnum.NoFileHandle);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else if (permissions && !permissions.canDownload) {
|
|
102
|
+
setFileHandleDownloadType(accessToken
|
|
103
|
+
? FileHandleDownloadTypeEnum.AccessBlockedByACL
|
|
104
|
+
: FileHandleDownloadTypeEnum.AccessBlockedToAnonymous);
|
|
105
|
+
}
|
|
106
|
+
}, [
|
|
107
|
+
accessToken,
|
|
108
|
+
entity,
|
|
109
|
+
entityFetchError,
|
|
110
|
+
permissions,
|
|
111
|
+
restrictionInformation,
|
|
112
|
+
]);
|
|
113
|
+
return fileHandleDownloadType;
|
|
114
|
+
}
|
|
115
|
+
exports.useGetFileHandleDownloadType = useGetFileHandleDownloadType;
|
|
116
|
+
/**
|
|
117
|
+
* HasAccess shows if the user has access to the file or not.
|
|
118
|
+
*
|
|
119
|
+
* The component's behavior changes whether it's passed in a FileHandle or not.
|
|
120
|
+
* If passed a file handle then it will give more detailed information about the download.
|
|
121
|
+
*
|
|
122
|
+
* @export
|
|
123
|
+
* @class HasAccess
|
|
124
|
+
* @extends {React.Component<HasAccessProps, HasAccessState>}
|
|
125
|
+
*/
|
|
126
|
+
function HasAccessV2(props) {
|
|
127
|
+
var _a = react_1.default.useState(false), displayAccessRequirement = _a[0], setDisplayAccessRequirement = _a[1];
|
|
128
|
+
var _b = react_1.default.useState([]), accessRequirements = _b[0], setAccessRequirements = _b[1];
|
|
129
|
+
var entityId = props.entityId, entityVersionNumber = props.entityVersionNumber;
|
|
130
|
+
var fileHandleDownloadType = useGetFileHandleDownloadType(entityId, entityVersionNumber);
|
|
131
|
+
var accessToken = (0, SynapseContext_1.useSynapseContext)().accessToken;
|
|
132
|
+
var restrictionInformationRequest = react_1.default.useMemo(function () { return ({
|
|
133
|
+
restrictableObjectType: synapseTypes_1.RestrictableObjectType.ENTITY,
|
|
134
|
+
objectId: entityId,
|
|
135
|
+
}); }, [entityId]);
|
|
136
|
+
var restrictionInformation = (0, useGetAccessRequirement_1.useGetRestrictionInformation)(restrictionInformationRequest).data;
|
|
137
|
+
var handleGetAccess = function () {
|
|
138
|
+
var entityId = props.entityId;
|
|
139
|
+
// TODO: The fetch should really happen in the AR List component.
|
|
140
|
+
// If we need to open the AR page in synapse, the logic should be in the modal and it should just close itself right away
|
|
141
|
+
utils_1.SynapseClient.getAllAccessRequirements(accessToken, entityId).then(function (requirements) {
|
|
142
|
+
if ((0, AccessRequirementList_1.checkHasUnsportedRequirement)(requirements)) {
|
|
143
|
+
window.open((0, getEndpoint_1.getEndpoint)(getEndpoint_1.BackendDestinationEnum.PORTAL_ENDPOINT) + "#!AccessRequirements:ID=" + entityId + "&TYPE=ENTITY", '_blank');
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
setAccessRequirements(requirements);
|
|
147
|
+
setDisplayAccessRequirement(true);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
// Show Access Requirements
|
|
152
|
+
var AccessRequirements = function () {
|
|
153
|
+
var entityId = props.entityId;
|
|
154
|
+
if (!restrictionInformation) {
|
|
155
|
+
// loading
|
|
156
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
157
|
+
}
|
|
158
|
+
var hasUnmetAccessRequirement = restrictionInformation === null || restrictionInformation === void 0 ? void 0 : restrictionInformation.hasUnmetAccessRequirement;
|
|
159
|
+
var restrictionLevel = restrictionInformation === null || restrictionInformation === void 0 ? void 0 : restrictionInformation.restrictionLevel;
|
|
160
|
+
var linkText = '';
|
|
161
|
+
if (hasUnmetAccessRequirement) {
|
|
162
|
+
linkText = 'Request Access';
|
|
163
|
+
}
|
|
164
|
+
else if (synapseTypes_1.RestrictionLevel.OPEN === restrictionLevel) {
|
|
165
|
+
// they need to sign in
|
|
166
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
linkText = 'View Terms';
|
|
170
|
+
}
|
|
171
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
172
|
+
react_1.default.createElement("a", { style: {
|
|
173
|
+
fontSize: '14px',
|
|
174
|
+
cursor: 'pointer',
|
|
175
|
+
marginLeft: '5px',
|
|
176
|
+
verticalAlign: 'middle',
|
|
177
|
+
}, className: props.className, onClick: handleGetAccess }, linkText),
|
|
178
|
+
displayAccessRequirement && (react_1.default.createElement(AccessRequirementList_1.default, { entityId: entityId, accessRequirementFromProps: accessRequirements, renderAsModal: true, onHide: function () {
|
|
179
|
+
setDisplayAccessRequirement(false);
|
|
180
|
+
} }))));
|
|
181
|
+
};
|
|
182
|
+
if (fileHandleDownloadType === undefined) {
|
|
183
|
+
// note, this can't be "if (!downloadType)" since DownloadTypeEnum has a 0 value (which is falsy)
|
|
184
|
+
// loading
|
|
185
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
186
|
+
}
|
|
187
|
+
var iconContainer = fileHandleDownloadType ===
|
|
188
|
+
FileHandleDownloadTypeEnum.AccessBlockedToAnonymous ? (react_1.default.createElement("button", { type: "button", className: SynapseConstants_1.SRC_SIGN_IN_CLASS, onClick: function (ev) {
|
|
189
|
+
if (ev.isTrusted) {
|
|
190
|
+
/*
|
|
191
|
+
There is a tricky problem -
|
|
192
|
+
The portals listens to click events for buttons with the class SRC_SIGN_IN_CLASS set, it listens to this event
|
|
193
|
+
so that it can display the login modal.
|
|
194
|
+
|
|
195
|
+
This button has an svg inside of it which is problematic because more often than not clicking this button will
|
|
196
|
+
instead click that svg. The event listener in the portals will break as a result.
|
|
197
|
+
|
|
198
|
+
Though the svg may get the actual click event, because of event bubbling this button will get its onClick called.
|
|
199
|
+
Once onClick is called we can manually dispatch an event off of this button. This does pose a problem, we end up in a
|
|
200
|
+
infinite loop because this button keeps disptaching click events, so we can use the isTrusted to recognize if onClick was
|
|
201
|
+
triggered programmatically or by user click. Lastly, using { bubbles: true } ensures the event bubbles up to the document level.
|
|
202
|
+
|
|
203
|
+
*/
|
|
204
|
+
var clickEvent = new MouseEvent('click', { bubbles: true });
|
|
205
|
+
ev.currentTarget.dispatchEvent(clickEvent);
|
|
206
|
+
}
|
|
207
|
+
} },
|
|
208
|
+
react_1.default.createElement(AccessIcon, { downloadType: fileHandleDownloadType }))) : (react_1.default.createElement(AccessIcon, { downloadType: fileHandleDownloadType }));
|
|
209
|
+
return (react_1.default.createElement("span", { style: { whiteSpace: 'nowrap' } },
|
|
210
|
+
iconContainer,
|
|
211
|
+
react_1.default.createElement(AccessRequirements, null)));
|
|
212
|
+
}
|
|
213
|
+
exports.HasAccessV2 = HasAccessV2;
|
|
214
|
+
//# sourceMappingURL=HasAccessV2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HasAccessV2.js","sourceRoot":"","sources":["../../src/lib/containers/HasAccessV2.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,30 +2,29 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.type2SvgIconName = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var react_1 = (0, tslib_1.__importStar)(require("react"));
|
|
6
|
-
var react_tooltip_1 = (0, tslib_1.__importDefault)(require("react-tooltip"));
|
|
7
|
-
var SynapseTableConstants_1 = require("./table/SynapseTableConstants");
|
|
8
5
|
var icons_1 = require("@material-ui/icons");
|
|
6
|
+
var react_1 = (0, tslib_1.__importStar)(require("react"));
|
|
7
|
+
var AccessManagement_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/AccessManagement"));
|
|
9
8
|
var AccountCertified_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/AccountCertified"));
|
|
10
9
|
var AccountRegistered_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/AccountRegistered"));
|
|
11
10
|
var AccountValidated_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/AccountValidated"));
|
|
12
11
|
var Chromatin_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Chromatin"));
|
|
12
|
+
var Clinical_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Clinical"));
|
|
13
13
|
var ContentCopy_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/ContentCopy"));
|
|
14
14
|
var Data_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Data"));
|
|
15
15
|
var DataLocked_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/DataLocked"));
|
|
16
|
+
var Docker_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Docker"));
|
|
16
17
|
var GeneExpression_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/GeneExpression"));
|
|
17
18
|
var GeneVariants_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/GeneVariants"));
|
|
18
|
-
var Clinical_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Clinical"));
|
|
19
19
|
var Imaging_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Imaging"));
|
|
20
|
-
var LineGraph_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/LineGraph"));
|
|
21
|
-
var Rat_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Rat"));
|
|
22
20
|
var Kinomics_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Kinomics"));
|
|
21
|
+
var LineGraph_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/LineGraph"));
|
|
23
22
|
var Login_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Login"));
|
|
24
|
-
var Proteomics_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Proteomics"));
|
|
25
23
|
var Other_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Other"));
|
|
26
24
|
var PackagableFile_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/PackagableFile"));
|
|
27
|
-
var
|
|
28
|
-
var
|
|
25
|
+
var Proteomics_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Proteomics"));
|
|
26
|
+
var Rat_1 = (0, tslib_1.__importDefault)(require("../assets/mui_components/Rat"));
|
|
27
|
+
var Tooltip_1 = (0, tslib_1.__importDefault)(require("../utils/tooltip/Tooltip"));
|
|
29
28
|
var getIcon = function (options) {
|
|
30
29
|
var icon = options.icon, color = options.color, size = options.size;
|
|
31
30
|
// Styles for svg imported from mui
|
|
@@ -237,9 +236,8 @@ var IconSvg = function (props) {
|
|
|
237
236
|
mounted = false;
|
|
238
237
|
};
|
|
239
238
|
}, [icon, color]);
|
|
240
|
-
return (react_1.default.createElement(
|
|
241
|
-
react_1.default.createElement("span", (0, tslib_1.__assign)({ "data-svg": icon, className: "styled-svg-wrapper", style: wrapperCss, id: "icon-" + icon,
|
|
242
|
-
label && (react_1.default.createElement(react_tooltip_1.default, { className: 'icon-svg-tooltip', delayShow: SynapseTableConstants_1.TOOLTIP_DELAY_SHOW, effect: "solid", id: "icon-" + icon, place: 'top' }))));
|
|
239
|
+
return (react_1.default.createElement(Tooltip_1.default, { placement: "top", title: label !== null && label !== void 0 ? label : '' },
|
|
240
|
+
react_1.default.createElement("span", (0, tslib_1.__assign)({ "data-svg": icon, className: "styled-svg-wrapper", style: wrapperCss, id: "icon-" + icon, role: 'img' }, rest), getIcon(options))));
|
|
243
241
|
};
|
|
244
242
|
/**
|
|
245
243
|
* Map entity type values to appropriate icon values supported by IconSvg.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconSvg.js","sourceRoot":"","sources":["../../src/lib/containers/IconSvg.tsx"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"IconSvg.js","sourceRoot":"","sources":["../../src/lib/containers/IconSvg.tsx"],"names":[],"mappings":"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"}
|