synapse-react-client 3.1.28 → 3.1.30

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.
Files changed (183) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/GoogleIcon.d.ts +3 -0
  3. package/dist/assets/GoogleIcon.js +22 -0
  4. package/dist/assets/GoogleIcon.js.map +1 -0
  5. package/dist/assets/icons/Alert.d.ts +2 -0
  6. package/dist/assets/icons/Alert.js +9 -0
  7. package/dist/assets/icons/Alert.js.map +1 -0
  8. package/dist/assets/icons/Cavatica.d.ts +3 -0
  9. package/dist/assets/icons/Cavatica.js +17 -0
  10. package/dist/assets/icons/Cavatica.js.map +1 -0
  11. package/dist/assets/icons/columns.d.ts +3 -0
  12. package/dist/assets/icons/columns.js +9 -0
  13. package/dist/assets/icons/columns.js.map +1 -0
  14. package/dist/assets/icons/columnsDarkTheme.d.ts +3 -0
  15. package/dist/assets/icons/columnsDarkTheme.js +9 -0
  16. package/dist/assets/icons/columnsDarkTheme.js.map +1 -0
  17. package/dist/assets/themed_icons/Active.d.ts +2 -0
  18. package/dist/assets/themed_icons/Active.js +10 -0
  19. package/dist/assets/themed_icons/Active.js.map +1 -0
  20. package/dist/components/styled/LeftRightPanel.js +10 -7
  21. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  22. package/dist/containers/EntityForm.js.map +1 -1
  23. package/dist/containers/FileUpload.d.ts +2 -1
  24. package/dist/containers/FileUpload.js +4 -4
  25. package/dist/containers/FileUpload.js.map +1 -1
  26. package/dist/containers/GenericCard.js +9 -9
  27. package/dist/containers/GenericCard.js.map +1 -1
  28. package/dist/containers/GoogleMap/GoogleMap.d.ts +15 -0
  29. package/dist/containers/GoogleMap/GoogleMap.js +58 -0
  30. package/dist/containers/GoogleMap/GoogleMap.js.map +1 -0
  31. package/dist/containers/GoogleMap/SynapseUserMarker.d.ts +19 -0
  32. package/dist/containers/GoogleMap/SynapseUserMarker.js +41 -0
  33. package/dist/containers/GoogleMap/SynapseUserMarker.js.map +1 -0
  34. package/dist/containers/ModalDownload.js.map +1 -1
  35. package/dist/containers/StatisticsPlot.js.map +1 -1
  36. package/dist/containers/StorybookComponentWrapper.d.ts +16 -0
  37. package/dist/containers/StorybookComponentWrapper.js +131 -0
  38. package/dist/containers/StorybookComponentWrapper.js.map +1 -0
  39. package/dist/containers/SynapseNavDrawer.js +9 -15
  40. package/dist/containers/SynapseNavDrawer.js.map +1 -1
  41. package/dist/containers/TemplateComponent.d.ts +6 -0
  42. package/dist/containers/TemplateComponent.js +20 -0
  43. package/dist/containers/TemplateComponent.js.map +1 -0
  44. package/dist/containers/TermsAndConditions.js +6 -7
  45. package/dist/containers/TermsAndConditions.js.map +1 -1
  46. package/dist/containers/access_requirement_list/ManagedACTAccessRequirement.d.ts +4 -0
  47. package/dist/containers/access_requirement_list/ManagedACTAccessRequirement.js +38 -0
  48. package/dist/containers/access_requirement_list/ManagedACTAccessRequirement.js.map +1 -0
  49. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.js +3 -3
  50. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.js.map +1 -1
  51. package/dist/containers/auth/AuthenticationMethodSelection.js +4 -2
  52. package/dist/containers/auth/AuthenticationMethodSelection.js.map +1 -1
  53. package/dist/containers/auth/LoginFlowBackButton.js +2 -1
  54. package/dist/containers/auth/LoginFlowBackButton.js.map +1 -1
  55. package/dist/containers/auth/LoginForm.js +1 -1
  56. package/dist/containers/auth/LoginForm.js.map +1 -1
  57. package/dist/containers/auth/Logout.d.ts +5 -0
  58. package/dist/containers/auth/Logout.js +15 -0
  59. package/dist/containers/auth/Logout.js.map +1 -0
  60. package/dist/containers/auth/TOTPForm.js +1 -1
  61. package/dist/containers/auth/TOTPForm.js.map +1 -1
  62. package/dist/containers/auth/TwoFactorEnrollmentForm.d.ts +1 -0
  63. package/dist/containers/auth/TwoFactorEnrollmentForm.js +11 -1
  64. package/dist/containers/auth/TwoFactorEnrollmentForm.js.map +1 -1
  65. package/dist/containers/discussion_forum/DiscussionReply.d.ts +7 -0
  66. package/dist/containers/discussion_forum/DiscussionReply.js +63 -0
  67. package/dist/containers/discussion_forum/DiscussionReply.js.map +1 -0
  68. package/dist/containers/discussion_forum/DiscussionThread.d.ts +6 -0
  69. package/dist/containers/discussion_forum/DiscussionThread.js +126 -0
  70. package/dist/containers/discussion_forum/DiscussionThread.js.map +1 -0
  71. package/dist/containers/discussion_forum/ForumPage.d.ts +7 -0
  72. package/dist/containers/discussion_forum/ForumPage.js +70 -0
  73. package/dist/containers/discussion_forum/ForumPage.js.map +1 -0
  74. package/dist/containers/discussion_forum/ForumTable.d.ts +9 -0
  75. package/dist/containers/discussion_forum/ForumTable.js +93 -0
  76. package/dist/containers/discussion_forum/ForumTable.js.map +1 -0
  77. package/dist/containers/discussion_forum/ForumThreadEditor.d.ts +9 -0
  78. package/dist/containers/discussion_forum/ForumThreadEditor.js +82 -0
  79. package/dist/containers/discussion_forum/ForumThreadEditor.js.map +1 -0
  80. package/dist/containers/discussion_forum/SubscribersModal.d.ts +9 -0
  81. package/dist/containers/discussion_forum/SubscribersModal.js +25 -0
  82. package/dist/containers/discussion_forum/SubscribersModal.js.map +1 -0
  83. package/dist/containers/entity/annotations/CustomAdditionalPropertiesFieldTemplate.d.ts +1 -1
  84. package/dist/containers/markdown/MarkdownEditor.d.ts +11 -0
  85. package/dist/containers/markdown/MarkdownEditor.js +112 -0
  86. package/dist/containers/markdown/MarkdownEditor.js.map +1 -0
  87. package/dist/containers/markdown/UserMentionModal.d.ts +7 -0
  88. package/dist/containers/markdown/UserMentionModal.js +25 -0
  89. package/dist/containers/markdown/UserMentionModal.js.map +1 -0
  90. package/dist/containers/menu/DropdownMenu.js +1 -1
  91. package/dist/containers/menu/DropdownMenu.js.map +1 -1
  92. package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.d.ts +1 -0
  93. package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.js +2 -2
  94. package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.js.map +1 -1
  95. package/dist/containers/synapse_form_wrapper/SynapseFormSubmissionsGrid.js.map +1 -1
  96. package/dist/containers/synapse_table_functions/SynapseTableCell.js +4 -3
  97. package/dist/containers/synapse_table_functions/SynapseTableCell.js.map +1 -1
  98. package/dist/containers/table/TopLevelControls.d.ts +1 -0
  99. package/dist/containers/table/TopLevelControls.js +12 -3
  100. package/dist/containers/table/TopLevelControls.js.map +1 -1
  101. package/dist/containers/widgets/facet-nav/FacetNav.js +1 -1
  102. package/dist/containers/widgets/facet-nav/FacetNav.js.map +1 -1
  103. package/dist/style/components/_synapse-nav-drawer.scss +2 -2
  104. package/dist/style/components/_terms-and-conditions.scss +1 -0
  105. package/dist/umd/synapse-react-client.development.css +6 -5
  106. package/dist/umd/synapse-react-client.development.css.map +3 -3
  107. package/dist/umd/synapse-react-client.development.js +15697 -14464
  108. package/dist/umd/synapse-react-client.development.js.map +4 -4
  109. package/dist/umd/synapse-react-client.production.min.css +1 -1
  110. package/dist/umd/synapse-react-client.production.min.js +92 -92
  111. package/dist/umd.index.d.ts +2 -0
  112. package/dist/umd.index.js +2 -0
  113. package/dist/umd.index.js.map +1 -1
  114. package/dist/utils/AppUtils.d.ts +4 -0
  115. package/dist/utils/AppUtils.js +30 -0
  116. package/dist/utils/AppUtils.js.map +1 -0
  117. package/dist/utils/FullContextProvider.d.ts +19 -0
  118. package/dist/utils/FullContextProvider.js +35 -0
  119. package/dist/utils/FullContextProvider.js.map +1 -0
  120. package/dist/utils/SynapseConstants.d.ts +4 -0
  121. package/dist/utils/SynapseConstants.js +5 -1
  122. package/dist/utils/SynapseConstants.js.map +1 -1
  123. package/dist/utils/SynapseContext.d.ts +5 -9
  124. package/dist/utils/SynapseContext.js +6 -19
  125. package/dist/utils/SynapseContext.js.map +1 -1
  126. package/dist/utils/apputils/session/ApplicationSessionContext.d.ts +18 -0
  127. package/dist/utils/apputils/session/ApplicationSessionContext.js +25 -0
  128. package/dist/utils/apputils/session/ApplicationSessionContext.js.map +1 -0
  129. package/dist/utils/apputils/session/ApplicationSessionManager.d.ts +22 -0
  130. package/dist/utils/apputils/session/ApplicationSessionManager.js +162 -0
  131. package/dist/utils/apputils/session/ApplicationSessionManager.js.map +1 -0
  132. package/dist/utils/functions/ObjectUtils.d.ts +1 -1
  133. package/dist/utils/functions/index.d.ts +9 -0
  134. package/dist/utils/functions/index.js +9 -0
  135. package/dist/utils/functions/index.js.map +1 -0
  136. package/dist/utils/functions/sqlFunctions.d.ts +2 -2
  137. package/dist/utils/functions/sqlFunctions.js +56 -33
  138. package/dist/utils/functions/sqlFunctions.js.map +1 -1
  139. package/dist/utils/hooks/SynapseAPI/entity/useExportToCavatica.d.ts +2 -0
  140. package/dist/utils/hooks/SynapseAPI/entity/useExportToCavatica.js +55 -0
  141. package/dist/utils/hooks/SynapseAPI/entity/useExportToCavatica.js.map +1 -0
  142. package/dist/utils/hooks/SynapseAPI/forum/useForum.d.ts +7 -0
  143. package/dist/utils/hooks/SynapseAPI/forum/useForum.js +31 -0
  144. package/dist/utils/hooks/SynapseAPI/forum/useForum.js.map +1 -0
  145. package/dist/utils/hooks/SynapseAPI/forum/useReply.d.ts +10 -0
  146. package/dist/utils/hooks/SynapseAPI/forum/useReply.js +120 -0
  147. package/dist/utils/hooks/SynapseAPI/forum/useReply.js.map +1 -0
  148. package/dist/utils/hooks/SynapseAPI/forum/useThread.d.ts +18 -0
  149. package/dist/utils/hooks/SynapseAPI/forum/useThread.js +236 -0
  150. package/dist/utils/hooks/SynapseAPI/forum/useThread.js.map +1 -0
  151. package/dist/utils/hooks/SynapseAPI/provenance/useGetActivityForEntity.d.ts +4 -0
  152. package/dist/utils/hooks/SynapseAPI/provenance/useGetActivityForEntity.js +14 -0
  153. package/dist/utils/hooks/SynapseAPI/provenance/useGetActivityForEntity.js.map +1 -0
  154. package/dist/utils/hooks/SynapseAPI/subscription/useSubscription.d.ts +13 -0
  155. package/dist/utils/hooks/SynapseAPI/subscription/useSubscription.js +107 -0
  156. package/dist/utils/hooks/SynapseAPI/subscription/useSubscription.js.map +1 -0
  157. package/dist/utils/hooks/useDetectSSOCode.d.ts +7 -4
  158. package/dist/utils/hooks/useDetectSSOCode.js +25 -27
  159. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  160. package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.d.ts +4 -0
  161. package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.js +3 -0
  162. package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.js.map +1 -0
  163. package/dist/utils/synapseTypes/MarkdownCommands.d.ts +8 -0
  164. package/dist/utils/synapseTypes/MarkdownCommands.js +58 -0
  165. package/dist/utils/synapseTypes/MarkdownCommands.js.map +1 -0
  166. package/dist/utils/synapseTypes/Table/QueryFilter.d.ts +3 -1
  167. package/dist/utils/synapseTypes/Table/QueryFilter.js +7 -0
  168. package/dist/utils/synapseTypes/Table/QueryFilter.js.map +1 -1
  169. package/dist/utils/theme/DefaultTheme.d.ts +2 -2
  170. package/dist/utils/theme/DefaultTheme.js +31 -13
  171. package/dist/utils/theme/DefaultTheme.js.map +1 -1
  172. package/dist/utils/theme/ThemeTypes.d.ts +6 -0
  173. package/dist/utils/theme/index.d.ts +3 -0
  174. package/dist/utils/theme/index.js +7 -0
  175. package/dist/utils/theme/index.js.map +1 -0
  176. package/dist/utils/theme/palette/Palettes.js +1 -1
  177. package/dist/utils/theme/useTheme.d.ts +2 -1
  178. package/dist/utils/theme/useTheme.js +2 -2
  179. package/dist/utils/theme/useTheme.js.map +1 -1
  180. package/dist/utils/types/DeepPartial.d.ts +9 -0
  181. package/dist/utils/types/DeepPartial.js +3 -0
  182. package/dist/utils/types/DeepPartial.js.map +1 -0
  183. package/package.json +17 -23
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ForumPage = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var material_1 = require("@mui/material");
6
+ var react_1 = tslib_1.__importStar(require("react"));
7
+ var react_bootstrap_1 = require("react-bootstrap");
8
+ var SynapseAPI_1 = require("../../utils/hooks/SynapseAPI");
9
+ var useForum_1 = require("../../utils/hooks/SynapseAPI/forum/useForum");
10
+ var useSubscription_1 = require("../../utils/hooks/SynapseAPI/subscription/useSubscription");
11
+ var SynapseConstants_1 = require("../../utils/SynapseConstants");
12
+ var DiscussionBundle_1 = require("../../utils/synapseTypes/DiscussionBundle");
13
+ var Subscription_1 = require("../../utils/synapseTypes/Subscription");
14
+ var ToastMessage_1 = require("../ToastMessage");
15
+ var ForumTable_1 = require("./ForumTable");
16
+ var ForumThreadEditor_1 = require("./ForumThreadEditor");
17
+ var SubscribersModal_1 = require("./SubscribersModal");
18
+ var SIGN_IN_TEXT = 'You will need to sign in for access to that resource';
19
+ var ForumPage = function (_a) {
20
+ var _b;
21
+ var forumId = _a.forumId, limit = _a.limit, onClickLink = _a.onClickLink;
22
+ var _c = (0, react_1.useState)(false), showThreadModal = _c[0], setShowThreadModal = _c[1];
23
+ var _d = (0, react_1.useState)(false), showSignInModal = _d[0], setShowSignInModal = _d[1];
24
+ var _e = (0, react_1.useState)(false), showDeletedThread = _e[0], setShowDeletedThread = _e[1];
25
+ var _f = (0, react_1.useState)(false), showSubscriberModal = _f[0], setShowSubscriberModal = _f[1];
26
+ var _g = (0, useSubscription_1.useSubscription)(forumId, Subscription_1.SubscriptionObjectType.FORUM), subscription = _g.subscription, isLoading = _g.isLoading, toggleSubscribed = _g.toggleSubscribed;
27
+ function handleFollowBtn() {
28
+ try {
29
+ toggleSubscribed();
30
+ }
31
+ catch (err) {
32
+ (0, ToastMessage_1.displayToast)(err.reason, 'danger');
33
+ }
34
+ }
35
+ var moderatorList = (0, useForum_1.useGetModerators)(forumId).data;
36
+ var currentUserProfile = (0, SynapseAPI_1.useGetCurrentUserProfile)().data;
37
+ var isCurrentUserModerator = moderatorList === null || moderatorList === void 0 ? void 0 : moderatorList.results.includes((_b = currentUserProfile === null || currentUserProfile === void 0 ? void 0 : currentUserProfile.ownerId) !== null && _b !== void 0 ? _b : '');
38
+ var handleNewThreadBtn = function () {
39
+ if ((currentUserProfile === null || currentUserProfile === void 0 ? void 0 : currentUserProfile.userName) == 'anonymous') {
40
+ setShowSignInModal(true);
41
+ }
42
+ else {
43
+ setShowThreadModal(true);
44
+ }
45
+ };
46
+ return (react_1.default.createElement("div", { className: "ForumTable bootstrap-4-backport" },
47
+ react_1.default.createElement("div", { className: "ForumTable__top-level-control" },
48
+ react_1.default.createElement(SubscribersModal_1.SubscribersModal, { id: forumId, objectType: Subscription_1.SubscriptionObjectType.FORUM, showModal: showSubscriberModal, handleModal: setShowSubscriberModal }),
49
+ react_1.default.createElement(react_bootstrap_1.Button, { variant: subscription ? 'outline-primary' : 'primary', onClick: function () { return handleFollowBtn(); }, disabled: isLoading }, subscription ? 'Unfollow' : 'Follow'),
50
+ react_1.default.createElement(react_bootstrap_1.Button, { variant: "primary", onClick: function () { return handleNewThreadBtn(); } }, "New Thread"),
51
+ isCurrentUserModerator && (react_1.default.createElement(react_bootstrap_1.Button, { onClick: function () { return setShowDeletedThread(!showDeletedThread); } }, showDeletedThread
52
+ ? 'Hide Deleted Threads'
53
+ : 'Show Deleted Threads'))),
54
+ showDeletedThread && (react_1.default.createElement(react_1.default.Fragment, null,
55
+ react_1.default.createElement(material_1.Typography, { variant: "h4" }, "Deleted Threads"),
56
+ react_1.default.createElement(ForumTable_1.ForumTable, { onClickLink: onClickLink, forumId: forumId, limit: limit, filter: DiscussionBundle_1.DiscussionFilter.DELETED_ONLY }))),
57
+ react_1.default.createElement(ForumTable_1.ForumTable, { onClickLink: onClickLink, forumId: forumId, limit: limit, filter: DiscussionBundle_1.DiscussionFilter.EXCLUDE_DELETED }),
58
+ react_1.default.createElement(react_bootstrap_1.Modal, { size: "lg", show: showThreadModal, onHide: function () { return setShowThreadModal(false); }, animation: false },
59
+ react_1.default.createElement(react_bootstrap_1.Modal.Header, null,
60
+ react_1.default.createElement(react_bootstrap_1.Modal.Title, null, "New Thread")),
61
+ react_1.default.createElement(react_bootstrap_1.Modal.Body, null,
62
+ react_1.default.createElement(ForumThreadEditor_1.ForumThreadEditor, { isReply: false, id: forumId, onClose: function () { return setShowThreadModal(false); } }))),
63
+ react_1.default.createElement(react_bootstrap_1.Modal, { className: "bootstrap-4-backport", show: showSignInModal, onHide: function () { return setShowSignInModal(false); }, animation: false },
64
+ react_1.default.createElement(react_bootstrap_1.Modal.Header, { closeButton: true }),
65
+ react_1.default.createElement(react_bootstrap_1.Modal.Body, null, SIGN_IN_TEXT),
66
+ react_1.default.createElement(react_bootstrap_1.Modal.Footer, null,
67
+ react_1.default.createElement(react_bootstrap_1.Button, { onClick: function () { return setShowSignInModal(false); }, className: SynapseConstants_1.SRC_SIGN_IN_CLASS }, "Sign In")))));
68
+ };
69
+ exports.ForumPage = ForumPage;
70
+ //# sourceMappingURL=ForumPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForumPage.js","sourceRoot":"","sources":["../../../src/lib/containers/discussion_forum/ForumPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { DiscussionFilter } from '../../utils/synapseTypes/DiscussionBundle';
3
+ export type ForumTableProps = {
4
+ forumId: string;
5
+ limit: number;
6
+ onClickLink: () => void;
7
+ filter: DiscussionFilter;
8
+ };
9
+ export declare const ForumTable: React.FC<ForumTableProps>;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ForumTable = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var dayjs_1 = tslib_1.__importDefault(require("dayjs"));
6
+ var react_1 = tslib_1.__importStar(require("react"));
7
+ var react_bootstrap_1 = require("react-bootstrap");
8
+ var Sort_1 = tslib_1.__importDefault(require("../../assets/icons/Sort"));
9
+ var useForum_1 = require("../../utils/hooks/SynapseAPI/forum/useForum");
10
+ var SynapseConstants_1 = require("../../utils/SynapseConstants");
11
+ var synapseTypes_1 = require("../../utils/synapseTypes");
12
+ var DiscussionBundle_1 = require("../../utils/synapseTypes/DiscussionBundle");
13
+ var IconSvg_1 = tslib_1.__importDefault(require("../IconSvg"));
14
+ var UserCard_1 = tslib_1.__importDefault(require("../UserCard"));
15
+ var ForumTable = function (_a) {
16
+ var _b;
17
+ var forumId = _a.forumId, limit = _a.limit, filter = _a.filter, onClickLink = _a.onClickLink;
18
+ var _c = (0, react_1.useState)(DiscussionBundle_1.DiscussionThreadOrder.PINNED_AND_LAST_ACTIVITY), sort = _c[0], setSort = _c[1];
19
+ var _d = (0, react_1.useState)(false), isAscending = _d[0], setIsAscending = _d[1];
20
+ var _e = (0, useForum_1.useGetForumInfinite)(forumId, limit, sort, isAscending, filter), data = _e.data, hasNextPage = _e.hasNextPage, fetchNextPage = _e.fetchNextPage;
21
+ var threads = (_b = data === null || data === void 0 ? void 0 : data.pages.flatMap(function (page) { return page.results; })) !== null && _b !== void 0 ? _b : [];
22
+ var onSort = function (field) {
23
+ if (sort == field) {
24
+ setSort(field);
25
+ setIsAscending(!isAscending);
26
+ }
27
+ else {
28
+ setSort(field);
29
+ setIsAscending(false);
30
+ }
31
+ };
32
+ return (react_1.default.createElement("div", { className: "ForumTable bootstrap-4-backport" },
33
+ react_1.default.createElement(react_bootstrap_1.Table, null,
34
+ react_1.default.createElement("thead", null,
35
+ react_1.default.createElement("tr", null,
36
+ react_1.default.createElement("th", null,
37
+ react_1.default.createElement("span", { className: "SRC-split" },
38
+ react_1.default.createElement("span", null, "Topic"),
39
+ react_1.default.createElement(Sort_1.default, { role: "button", "aria-label": "Sort by Topic", active: sort === DiscussionBundle_1.DiscussionThreadOrder.THREAD_TITLE, direction: sort === 'THREAD_TITLE'
40
+ ? isAscending === false
41
+ ? synapseTypes_1.Direction.DESC
42
+ : synapseTypes_1.Direction.ASC
43
+ : synapseTypes_1.Direction.DESC, onClick: function () { return onSort(DiscussionBundle_1.DiscussionThreadOrder.THREAD_TITLE); } }))),
44
+ react_1.default.createElement("th", null, "Author"),
45
+ react_1.default.createElement("th", null, "Active Users"),
46
+ react_1.default.createElement("th", null,
47
+ react_1.default.createElement("span", { className: "SRC-split" },
48
+ react_1.default.createElement("span", null, "Replies"),
49
+ react_1.default.createElement(Sort_1.default, { role: "button", "aria-label": "Sort by Replies", active: sort === DiscussionBundle_1.DiscussionThreadOrder.NUMBER_OF_REPLIES, direction: sort === 'NUMBER_OF_REPLIES'
50
+ ? isAscending === false
51
+ ? synapseTypes_1.Direction.DESC
52
+ : synapseTypes_1.Direction.ASC
53
+ : synapseTypes_1.Direction.DESC, onClick: function () {
54
+ return onSort(DiscussionBundle_1.DiscussionThreadOrder.NUMBER_OF_REPLIES);
55
+ } }))),
56
+ react_1.default.createElement("th", null,
57
+ react_1.default.createElement("span", { className: "SRC-split" },
58
+ react_1.default.createElement("span", null, "Views"),
59
+ react_1.default.createElement(Sort_1.default, { role: "button", "aria-label": "Sort by Views", active: sort === DiscussionBundle_1.DiscussionThreadOrder.NUMBER_OF_VIEWS, direction: sort === 'NUMBER_OF_VIEWS'
60
+ ? isAscending === false
61
+ ? synapseTypes_1.Direction.DESC
62
+ : synapseTypes_1.Direction.ASC
63
+ : synapseTypes_1.Direction.DESC, onClick: function () { return onSort(DiscussionBundle_1.DiscussionThreadOrder.NUMBER_OF_VIEWS); } }))),
64
+ react_1.default.createElement("th", null,
65
+ react_1.default.createElement("span", { className: "SRC-split" },
66
+ react_1.default.createElement("span", null, "Activity"),
67
+ react_1.default.createElement(Sort_1.default, { role: "button", "aria-label": "Sort by Last Activity", active: sort === DiscussionBundle_1.DiscussionThreadOrder.PINNED_AND_LAST_ACTIVITY, direction: sort === 'PINNED_AND_LAST_ACTIVITY'
68
+ ? isAscending === false
69
+ ? synapseTypes_1.Direction.DESC
70
+ : synapseTypes_1.Direction.ASC
71
+ : synapseTypes_1.Direction.DESC, onClick: function () {
72
+ return onSort(DiscussionBundle_1.DiscussionThreadOrder.PINNED_AND_LAST_ACTIVITY);
73
+ } }))))),
74
+ react_1.default.createElement("tbody", null, threads.map(function (item) {
75
+ return (react_1.default.createElement("tr", { key: item.id },
76
+ react_1.default.createElement("td", null,
77
+ react_1.default.createElement("a", { onClick: function () { return onClickLink(); } },
78
+ item.isPinned ? react_1.default.createElement(IconSvg_1.default, { icon: "pushpin" }) : react_1.default.createElement(react_1.default.Fragment, null),
79
+ item.title)),
80
+ react_1.default.createElement("td", null,
81
+ react_1.default.createElement(UserCard_1.default, { size: SynapseConstants_1.SMALL_USER_CARD, ownerId: item.createdBy })),
82
+ react_1.default.createElement("td", null, item.activeAuthors.map(function (user) { return (react_1.default.createElement("div", { key: user, className: "avatarContainer" },
83
+ react_1.default.createElement(UserCard_1.default, { showCardOnHover: true, className: "ActiveUsers", size: SynapseConstants_1.AVATAR, avatarSize: 'MEDIUM', ownerId: user }))); })),
84
+ react_1.default.createElement("td", null, item.numberOfReplies),
85
+ react_1.default.createElement("td", null, item.numberOfViews),
86
+ react_1.default.createElement("td", null, (0, dayjs_1.default)(item.lastActivity).format('L'))));
87
+ }))),
88
+ hasNextPage && (react_1.default.createElement(react_bootstrap_1.Button, { variant: "outline-primary", onClick: function () {
89
+ fetchNextPage();
90
+ } }, "Show more results"))));
91
+ };
92
+ exports.ForumTable = ForumTable;
93
+ //# sourceMappingURL=ForumTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForumTable.js","sourceRoot":"","sources":["../../../src/lib/containers/discussion_forum/ForumTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ export type ForumThreadEditorProps = {
3
+ initialTitle?: string;
4
+ initialText?: string;
5
+ id: string;
6
+ onClose: () => void;
7
+ isReply: boolean;
8
+ };
9
+ export declare const ForumThreadEditor: React.FunctionComponent<ForumThreadEditorProps>;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ForumThreadEditor = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = tslib_1.__importStar(require("react"));
6
+ var react_bootstrap_1 = require("react-bootstrap");
7
+ var useThread_1 = require("../../utils/hooks/SynapseAPI/forum/useThread");
8
+ var useReply_1 = require("../../utils/hooks/SynapseAPI/forum/useReply");
9
+ var MarkdownEditor_1 = require("../markdown/MarkdownEditor");
10
+ var ForumThreadEditor = function (_a) {
11
+ var initialText = _a.initialText, initialTitle = _a.initialTitle, id = _a.id, onClose = _a.onClose, isReply = _a.isReply;
12
+ var _b = (0, react_1.useState)(initialTitle !== null && initialTitle !== void 0 ? initialTitle : ''), title = _b[0], setTitle = _b[1];
13
+ var _c = (0, react_1.useState)(initialText !== null && initialText !== void 0 ? initialText : ''), text = _c[0], setText = _c[1];
14
+ var _d = (0, useThread_1.useUpdateThreadTitle)({
15
+ onSuccess: function () { return onClose(); },
16
+ }), updateTitle = _d.mutate, isLoadingTitle = _d.isLoading;
17
+ var _e = (0, useThread_1.useUpdateThreadMessage)({
18
+ onSuccess: function () { return onClose(); },
19
+ }), updateMessage = _e.mutate, isLoadingMessage = _e.isLoading;
20
+ var _f = (0, useThread_1.useCreateThread)({
21
+ onSuccess: function () { return onClose(); },
22
+ }), createThread = _f.mutate, isLoadingThread = _f.isLoading;
23
+ var _g = (0, useReply_1.usePostReply)({
24
+ onSuccess: function () { return onClose(); },
25
+ }), createReply = _g.mutate, isLoadingReply = _g.isLoading;
26
+ var _h = (0, useReply_1.usePutReply)({
27
+ onSuccess: function () { return onClose(); },
28
+ }), updateReply = _h.mutate, isLoadingReplyUpdate = _h.isLoading;
29
+ var isLoading = isLoadingMessage ||
30
+ isLoadingReply ||
31
+ isLoadingThread ||
32
+ isLoadingTitle ||
33
+ isLoadingReplyUpdate;
34
+ var onSave = function (text, title) {
35
+ if (isReply) {
36
+ if (initialText) {
37
+ // updating reply
38
+ updateReply({
39
+ replyId: id,
40
+ messageMarkdown: text,
41
+ });
42
+ }
43
+ else {
44
+ // posting reply
45
+ createReply({
46
+ threadId: id,
47
+ messageMarkdown: text,
48
+ });
49
+ }
50
+ }
51
+ else {
52
+ if (initialTitle) {
53
+ // updating thread
54
+ updateTitle({
55
+ title: title,
56
+ threadId: id,
57
+ });
58
+ updateMessage({
59
+ messageMarkdown: text,
60
+ threadId: id,
61
+ });
62
+ }
63
+ else {
64
+ // posting thread
65
+ var request = {
66
+ forumId: id,
67
+ title: title,
68
+ messageMarkdown: text,
69
+ };
70
+ createThread(request);
71
+ }
72
+ }
73
+ };
74
+ return (react_1.default.createElement("div", { className: "bootstrap-4-backport" },
75
+ !isReply && (react_1.default.createElement(react_bootstrap_1.FormControl, { type: "text", placeholder: "Title", value: title, onChange: function (e) { return setTitle(e.target.value); } })),
76
+ react_1.default.createElement(MarkdownEditor_1.MarkdownEditor, { text: text, setText: setText }),
77
+ react_1.default.createElement("div", { style: { display: 'flex', justifyContent: 'flex-end' } },
78
+ react_1.default.createElement(react_bootstrap_1.Button, { onClick: onClose, variant: "light" }, "Cancel"),
79
+ react_1.default.createElement(react_bootstrap_1.Button, { disabled: isLoading, onClick: function () { return onSave(text, title); }, variant: "primary" }, isLoading ? 'Saving' : 'Save'))));
80
+ };
81
+ exports.ForumThreadEditor = ForumThreadEditor;
82
+ //# sourceMappingURL=ForumThreadEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForumThreadEditor.js","sourceRoot":"","sources":["../../../src/lib/containers/discussion_forum/ForumThreadEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { SubscriptionObjectType } from '../../utils/synapseTypes/Subscription';
3
+ export type SubscribersModalProps = {
4
+ id: string;
5
+ objectType: SubscriptionObjectType;
6
+ showModal: boolean;
7
+ handleModal: (a: boolean) => void;
8
+ };
9
+ export declare const SubscribersModal: React.FC<SubscribersModalProps>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubscribersModal = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = tslib_1.__importDefault(require("react"));
6
+ var react_bootstrap_1 = require("react-bootstrap");
7
+ var useSubscription_1 = require("../../utils/hooks/SynapseAPI/subscription/useSubscription");
8
+ var material_1 = require("@mui/material");
9
+ var UserCard_1 = tslib_1.__importDefault(require("../UserCard"));
10
+ var SynapseConstants_1 = require("../../utils/SynapseConstants");
11
+ var SubscribersModal = function (_a) {
12
+ var id = _a.id, objectType = _a.objectType, showModal = _a.showModal, handleModal = _a.handleModal;
13
+ var subscribers = (0, useSubscription_1.useSubscription)(id, objectType).subscribers;
14
+ return (react_1.default.createElement("div", { className: "SubscribersModal" },
15
+ subscribers && subscribers.subscribers.length > 0 && (react_1.default.createElement("a", { onClick: function () { return handleModal(true); } }, "Followers (".concat(subscribers.subscribers.length, ")"))),
16
+ react_1.default.createElement(react_bootstrap_1.Modal, { className: "bootstrap-4-backport", show: showModal, onHide: function () { return handleModal(false); }, animation: false },
17
+ react_1.default.createElement(react_bootstrap_1.Modal.Header, { closeButton: true },
18
+ react_1.default.createElement(react_bootstrap_1.Modal.Title, null, "Followers")),
19
+ react_1.default.createElement(react_bootstrap_1.Modal.Body, null, subscribers &&
20
+ subscribers.subscribers.map(function (user) { return (react_1.default.createElement(UserCard_1.default, { key: user, ownerId: user, size: SynapseConstants_1.SMALL_USER_CARD, showCardOnHover: true })); })),
21
+ react_1.default.createElement(react_bootstrap_1.Modal.Footer, null,
22
+ react_1.default.createElement(material_1.Button, { variant: "contained", onClick: function () { return handleModal(false); } }, "Ok")))));
23
+ };
24
+ exports.SubscribersModal = SubscribersModal;
25
+ //# sourceMappingURL=SubscribersModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubscribersModal.js","sourceRoot":"","sources":["../../../src/lib/containers/discussion_forum/SubscribersModal.tsx"],"names":[],"mappings":";;;;AAAA,wDAAyB;AACzB,mDAAuC;AACvC,6FAA2F;AAE3F,0CAAsC;AACtC,iEAAkC;AAClC,iEAA8D;AASvD,IAAM,gBAAgB,GAAoC,UAAC,EAKjE;QAJC,EAAE,QAAA,EACF,UAAU,gBAAA,EACV,SAAS,eAAA,EACT,WAAW,iBAAA;IAEH,IAAA,WAAW,GAAK,IAAA,iCAAe,EAAC,EAAE,EAAE,UAAU,CAAC,YAApC,CAAoC;IAEvD,OAAO,CACL,uCAAK,SAAS,EAAC,kBAAkB;QAC9B,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CACpD,qCACE,OAAO,EAAE,cAAM,OAAA,WAAW,CAAC,IAAI,CAAC,EAAjB,CAAiB,IAChC,qBAAc,WAAW,CAAC,WAAW,CAAC,MAAM,MAAG,CAAK,CACvD;QACD,8BAAC,uBAAK,IACJ,SAAS,EAAC,sBAAsB,EAChC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,cAAM,OAAA,WAAW,CAAC,KAAK,CAAC,EAAlB,CAAkB,EAChC,SAAS,EAAE,KAAK;YAEhB,8BAAC,uBAAK,CAAC,MAAM,IAAC,WAAW;gBACvB,8BAAC,uBAAK,CAAC,KAAK,oBAAwB,CACvB;YACf,8BAAC,uBAAK,CAAC,IAAI,QACR,WAAW;gBACV,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,CAClC,8BAAC,kBAAQ,IACP,GAAG,EAAE,IAAI,EACT,OAAO,EAAE,IAAI,EACb,IAAI,EAAE,kCAAe,EACrB,eAAe,EAAE,IAAI,GACrB,CACH,EAPmC,CAOnC,CAAC,CACO;YACb,8BAAC,uBAAK,CAAC,MAAM;gBACX,8BAAC,iBAAM,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,cAAM,OAAA,WAAW,CAAC,KAAK,CAAC,EAAlB,CAAkB,SAEpD,CACI,CACT,CACJ,CACP,CAAA;AACH,CAAC,CAAA;AA3CY,QAAA,gBAAgB,oBA2C5B"}
@@ -7,6 +7,6 @@ import { FieldTemplateProps } from '@sage-bionetworks/rjsf-core';
7
7
  * @param props
8
8
  * @returns
9
9
  */
10
- export declare const CustomAdditionalPropertiesFieldTemplate: (props: FieldTemplateProps<any> & {
10
+ export declare const CustomAdditionalPropertiesFieldTemplate: (props: FieldTemplateProps & {
11
11
  onKeyChange: (newKey: string) => void;
12
12
  }) => JSX.Element;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export declare enum MarkdownEditorTabs {
3
+ WRITE = "WRITE",
4
+ PREVIEW = "PREVIEW"
5
+ }
6
+ export type MarkdownEditorProps = {
7
+ placeholder?: string;
8
+ text: string;
9
+ setText: (text: string) => void;
10
+ };
11
+ export declare const MarkdownEditor: React.FunctionComponent<MarkdownEditorProps>;
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MarkdownEditor = exports.MarkdownEditorTabs = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = tslib_1.__importStar(require("react"));
6
+ var MarkdownCommands_1 = require("../../utils/synapseTypes/MarkdownCommands");
7
+ var IconSvg_1 = tslib_1.__importDefault(require("../IconSvg"));
8
+ var MarkdownSynapse_1 = tslib_1.__importDefault(require("./MarkdownSynapse"));
9
+ var UserMentionModal_1 = require("./UserMentionModal");
10
+ var lodash_es_1 = require("lodash-es");
11
+ var MarkdownEditorTabs;
12
+ (function (MarkdownEditorTabs) {
13
+ MarkdownEditorTabs["WRITE"] = "WRITE";
14
+ MarkdownEditorTabs["PREVIEW"] = "PREVIEW";
15
+ })(MarkdownEditorTabs = exports.MarkdownEditorTabs || (exports.MarkdownEditorTabs = {}));
16
+ var MarkdownEditor = function (_a) {
17
+ var placeholder = _a.placeholder, text = _a.text, setText = _a.setText;
18
+ var _b = (0, react_1.useState)(MarkdownEditorTabs.WRITE), currentTab = _b[0], setCurrentTab = _b[1];
19
+ var _c = (0, react_1.useState)(0), selectionStart = _c[0], setSelectionStart = _c[1];
20
+ var _d = (0, react_1.useState)(false), isShowingTagModal = _d[0], setIsShowingTagModal = _d[1];
21
+ var _e = (0, react_1.useState)(false), tagModalWithKeyboard = _e[0], setTagModalWithKeyboard = _e[1];
22
+ var textAreaRef = (0, react_1.useRef)(null);
23
+ /**
24
+ * Updates the position of the cursor. This must occur within `useEffect` because we need to ensure that the
25
+ * cursor position is updated after the state of `text` is updated.
26
+ */
27
+ (0, react_1.useEffect)(function () {
28
+ var input = textAreaRef.current;
29
+ if (input) {
30
+ input.setSelectionRange(selectionStart, selectionStart);
31
+ }
32
+ }, [textAreaRef, selectionStart]);
33
+ (0, react_1.useEffect)(function () {
34
+ var _a;
35
+ (_a = textAreaRef.current) === null || _a === void 0 ? void 0 : _a.focus();
36
+ }, [isShowingTagModal]);
37
+ var handleUserTag = function (user) {
38
+ var newText = [];
39
+ var textVal = textAreaRef.current;
40
+ if (textVal) {
41
+ var start = textVal === null || textVal === void 0 ? void 0 : textVal.selectionStart;
42
+ var textBeforeTag = text.substring(0, start);
43
+ var textAfterTag = text.substring(start, text.length);
44
+ setSelectionStart(start + user.length + 1);
45
+ newText.push(textBeforeTag, "".concat(tagModalWithKeyboard ? '' : '@').concat(user.replace(/\s/g, '')), textAfterTag);
46
+ }
47
+ setText(newText.join(''));
48
+ setTagModalWithKeyboard(false);
49
+ };
50
+ var handleTagModal = function (e) {
51
+ if (e.key == '@') {
52
+ setTagModalWithKeyboard(true);
53
+ setIsShowingTagModal(true);
54
+ }
55
+ };
56
+ var handleCommands = function (command) {
57
+ var textVal = textAreaRef.current;
58
+ if (textVal) {
59
+ var start = textVal.selectionStart;
60
+ var end = textVal.selectionEnd;
61
+ var selected = text.substring(start, end);
62
+ var textBeforeSelection = text.substring(0, start);
63
+ var textAfterSelection = text.substring(end, text.length);
64
+ var openSyntax = MarkdownCommands_1.MARKDOWN_COMMANDS_DATA[command].openSyntax;
65
+ var closeSyntax = MarkdownCommands_1.MARKDOWN_COMMANDS_DATA[command].closeSyntax;
66
+ switch (command) {
67
+ case 'code': {
68
+ var newText = [];
69
+ newText.push(textBeforeSelection, openSyntax, selected, closeSyntax, textAfterSelection);
70
+ setText(newText.join('\r\n'));
71
+ textVal.focus();
72
+ // adds 2 due to new line
73
+ setSelectionStart(start + openSyntax.length + 2);
74
+ break;
75
+ }
76
+ case 'title':
77
+ case 'bold':
78
+ case 'italic':
79
+ case 'strikethrough':
80
+ case 'latex':
81
+ case 'subscript':
82
+ case 'superscript':
83
+ case 'link':
84
+ case 'image': {
85
+ var newText = "".concat(textBeforeSelection).concat(openSyntax).concat(selected).concat(closeSyntax).concat(textAfterSelection);
86
+ textVal.focus();
87
+ setSelectionStart(start + openSyntax.length);
88
+ setText(newText);
89
+ }
90
+ }
91
+ }
92
+ };
93
+ return (react_1.default.createElement("div", { className: "bootstrap-4-backport MarkdownEditor" },
94
+ react_1.default.createElement("div", { className: "MarkdownEditorControls" },
95
+ react_1.default.createElement("div", { className: "Tabs" }, Object.keys(MarkdownEditorTabs).map(function (tabName) {
96
+ return (react_1.default.createElement("button", { className: "Tab", role: "tab", "aria-selected": tabName === currentTab, key: tabName, onClick: function (e) {
97
+ e.stopPropagation();
98
+ setCurrentTab(MarkdownEditorTabs[tabName]);
99
+ } }, tabName));
100
+ })),
101
+ currentTab === MarkdownEditorTabs.WRITE && (react_1.default.createElement("div", { className: "MarkdownEditorControlsToolbar" },
102
+ MarkdownCommands_1.commandList.map(function (type) {
103
+ return (react_1.default.createElement("button", { key: type, onClick: function () { return handleCommands(type); } },
104
+ react_1.default.createElement(IconSvg_1.default, { icon: type, label: (0, lodash_es_1.startCase)(type) })));
105
+ }),
106
+ react_1.default.createElement("button", { onClick: function () { return setIsShowingTagModal(true); } },
107
+ react_1.default.createElement(IconSvg_1.default, { icon: "tag", label: "Mention" }))))),
108
+ react_1.default.createElement("div", null, currentTab === MarkdownEditorTabs.WRITE ? (react_1.default.createElement("textarea", { onChange: function (e) { return setText(e.target.value); }, style: { width: '100%' }, rows: 6, value: text, ref: textAreaRef, placeholder: placeholder, onKeyDown: handleTagModal })) : text ? (react_1.default.createElement(MarkdownSynapse_1.default, { markdown: text })) : ('Nothing to preview')),
109
+ react_1.default.createElement(UserMentionModal_1.UserMentionModal, { show: isShowingTagModal, onClose: function () { return setIsShowingTagModal(false); }, handleUserTag: handleUserTag })));
110
+ };
111
+ exports.MarkdownEditor = MarkdownEditor;
112
+ //# sourceMappingURL=MarkdownEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownEditor.js","sourceRoot":"","sources":["../../../src/lib/containers/markdown/MarkdownEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export type UserMentionModalProps = {
3
+ show: boolean;
4
+ onClose: () => void;
5
+ handleUserTag: (user: string) => void;
6
+ };
7
+ export declare const UserMentionModal: React.FC<UserMentionModalProps>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserMentionModal = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = tslib_1.__importStar(require("react"));
6
+ var react_bootstrap_1 = require("react-bootstrap");
7
+ var synapseTypes_1 = require("../../utils/synapseTypes");
8
+ var UserSearchBoxV2_1 = tslib_1.__importDefault(require("../UserSearchBoxV2"));
9
+ var UserMentionModal = function (_a) {
10
+ var show = _a.show, onClose = _a.onClose, handleUserTag = _a.handleUserTag;
11
+ var onUserChange = (0, react_1.useCallback)(function (selected, header) {
12
+ if (selected && header) {
13
+ handleUserTag(header.userName);
14
+ }
15
+ onClose();
16
+ }, [onClose, handleUserTag]);
17
+ return (react_1.default.createElement(react_1.default.Fragment, null,
18
+ react_1.default.createElement(react_bootstrap_1.Modal, { show: show, onHide: onClose, backdrop: "static", animation: false },
19
+ react_1.default.createElement(react_bootstrap_1.Modal.Header, { closeButton: true },
20
+ react_1.default.createElement(react_bootstrap_1.Modal.Title, null, "Find User or Team")),
21
+ react_1.default.createElement(react_bootstrap_1.Modal.Body, null,
22
+ react_1.default.createElement(UserSearchBoxV2_1.default, { placeholder: "Search for a user or team name", onChange: onUserChange, typeFilter: synapseTypes_1.TYPE_FILTER.ALL, focusOnSelect: true })))));
23
+ };
24
+ exports.UserMentionModal = UserMentionModal;
25
+ //# sourceMappingURL=UserMentionModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserMentionModal.js","sourceRoot":"","sources":["../../../src/lib/containers/markdown/UserMentionModal.tsx"],"names":[],"mappings":";;;;AAAA,qDAA0C;AAC1C,mDAAuC;AACvC,yDAAuE;AACvE,+EAAgD;AAQzC,IAAM,gBAAgB,GAAoC,UAAC,EAI1C;QAHtB,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,aAAa,mBAAA;IAEb,IAAM,YAAY,GAAG,IAAA,mBAAW,EAC9B,UAAC,QAAuB,EAAE,MAA8B;QACtD,IAAI,QAAQ,IAAI,MAAM,EAAE;YACtB,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SAC/B;QACD,OAAO,EAAE,CAAA;IACX,CAAC,EACD,CAAC,OAAO,EAAE,aAAa,CAAC,CACzB,CAAA;IAED,OAAO,CACL;QACE,8BAAC,uBAAK,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAC,QAAQ,EAAC,SAAS,EAAE,KAAK;YACpE,8BAAC,uBAAK,CAAC,MAAM,IAAC,WAAW;gBACvB,8BAAC,uBAAK,CAAC,KAAK,4BAAgC,CAC/B;YACf,8BAAC,uBAAK,CAAC,IAAI;gBACT,8BAAC,yBAAe,IACd,WAAW,EAAC,gCAAgC,EAC5C,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,0BAAW,CAAC,GAAG,EAC3B,aAAa,EAAE,IAAI,GACnB,CACS,CACP,CACP,CACJ,CAAA;AACH,CAAC,CAAA;AAhCY,QAAA,gBAAgB,oBAgC5B"}
@@ -44,7 +44,7 @@ function DropdownMenu(props) {
44
44
  }
45
45
  }
46
46
  return (react_1.default.createElement(react_1.default.Fragment, null,
47
- react_1.default.createElement(material_1.Tooltip, { title: buttonTooltip, placement: 'top' },
47
+ react_1.default.createElement(material_1.Tooltip, { title: buttonTooltip ? (react_1.default.createElement("div", { style: { whiteSpace: 'pre-line' } }, buttonTooltip)) : undefined, placement: 'top' },
48
48
  react_1.default.createElement("span", null,
49
49
  react_1.default.createElement(material_1.Button, tslib_1.__assign({ variant: "outlined", ref: anchorRef, id: "composition-button-".concat(dropdownMenuId), "aria-controls": open ? "composition-menu-".concat(dropdownMenuId) : undefined, "aria-expanded": open ? 'true' : undefined, "aria-haspopup": "true", onClick: handleToggle }, buttonProps),
50
50
  react_1.default.createElement(material_1.Typography, { variant: 'buttonLink' }, dropdownButtonText)))),
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","sourceRoot":"","sources":["../../../src/lib/containers/menu/DropdownMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.js","sourceRoot":"","sources":["../../../src/lib/containers/menu/DropdownMenu.tsx"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ type OwnProps = {
25
25
  availableFacets?: FacetFilterControlsProps['availableFacets'];
26
26
  defaultColumn?: string;
27
27
  defaultShowSearchBox?: boolean;
28
+ showExportToCavatica?: boolean;
28
29
  lockedColumn?: QueryWrapperProps['lockedColumn'];
29
30
  } & Omit<TopLevelControlsProps, 'entityId'> & Pick<QueryVisualizationWrapperProps, 'defaultShowFacetVisualization' | 'visibleColumnCount' | 'columnAliases' | 'rgbIndex' | 'showLastUpdatedOn' | 'noContentPlaceholderType'>;
30
31
  type SearchParams = {
@@ -26,7 +26,7 @@ var QUERY_FILTERS_EXPANDED_CSS = 'isShowingFacetFilters';
26
26
  var QUERY_FILTERS_COLLAPSED_CSS = 'isHidingFacetFilters';
27
27
  var QueryWrapperPlotNav = function (props) {
28
28
  var _a = React.useState(false), showExportMetadata = _a[0], setShowExportMetadata = _a[1];
29
- var searchParams = props.searchParams, sql = props.sql, sqlOperator = props.sqlOperator, tableConfiguration = props.tableConfiguration, name = props.name, cardConfiguration = props.cardConfiguration, facetsToPlot = props.facetsToPlot, availableFacets = props.availableFacets, hideDownload = props.hideDownload, hideQueryCount = props.hideQueryCount, hideSqlEditorControl = props.hideSqlEditorControl, searchConfiguration = props.searchConfiguration, _b = props.limit, limit = _b === void 0 ? SynapseConstants_1.DEFAULT_PAGE_SIZE : _b, initQueryJson = props.initQueryJson, showLastUpdatedOn = props.showLastUpdatedOn;
29
+ var searchParams = props.searchParams, sql = props.sql, sqlOperator = props.sqlOperator, tableConfiguration = props.tableConfiguration, name = props.name, cardConfiguration = props.cardConfiguration, facetsToPlot = props.facetsToPlot, availableFacets = props.availableFacets, hideDownload = props.hideDownload, hideQueryCount = props.hideQueryCount, hideSqlEditorControl = props.hideSqlEditorControl, searchConfiguration = props.searchConfiguration, _b = props.limit, limit = _b === void 0 ? SynapseConstants_1.DEFAULT_PAGE_SIZE : _b, initQueryJson = props.initQueryJson, showLastUpdatedOn = props.showLastUpdatedOn, _c = props.showExportToCavatica, showExportToCavatica = _c === void 0 ? false : _c;
30
30
  var additionalFilters = (0, sqlFunctions_1.generateQueryFilterFromSearchParams)(searchParams, sqlOperator);
31
31
  // use initQuery if set, otherwise use sql
32
32
  var query = initQueryJson
@@ -78,7 +78,7 @@ var QueryWrapperPlotNav = function (props) {
78
78
  isFullTextSearchEnabled ? (React.createElement(FullTextSearch_1.default, { helpUrl: searchConfiguration === null || searchConfiguration === void 0 ? void 0 : searchConfiguration.fullTextSearchHelpURL })) : (React.createElement(SearchV2_1.default, tslib_1.__assign({}, searchConfiguration, { queryContext: queryContext, queryVisualizationContext: queryVisualizationContext }))),
79
79
  React.createElement(SqlEditor_1.default, null),
80
80
  React.createElement(download_list_1.DownloadConfirmation, { getLastQueryRequest: queryContext.getLastQueryRequest, topLevelControlsState: queryVisualizationContext.topLevelControlsState, setTopLevelControlsState: queryVisualizationContext.setTopLevelControlsState }),
81
- React.createElement(TopLevelControls_1.default, { showColumnSelection: tableConfiguration !== undefined, name: name, hideDownload: hideDownload, hideQueryCount: hideQueryCount, hideFacetFilterControl: !isFaceted, hideVisualizationsControl: !isFaceted, hideSqlEditorControl: hideSqlEditorControl }),
81
+ React.createElement(TopLevelControls_1.default, { showColumnSelection: tableConfiguration !== undefined, name: name, hideDownload: hideDownload, hideQueryCount: hideQueryCount, hideFacetFilterControl: !isFaceted, hideVisualizationsControl: !isFaceted, hideSqlEditorControl: hideSqlEditorControl, showExportToCavatica: showExportToCavatica }),
82
82
  isFaceted && (React.createElement(React.Fragment, null,
83
83
  React.createElement(FacetFilterControls_1.default, { availableFacets: availableFacets }))),
84
84
  React.createElement(FacetNav_1.default, { facetsToPlot: facetsToPlot }),