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.
- package/README.md +1 -1
- package/dist/assets/GoogleIcon.d.ts +3 -0
- package/dist/assets/GoogleIcon.js +22 -0
- package/dist/assets/GoogleIcon.js.map +1 -0
- package/dist/assets/icons/Alert.d.ts +2 -0
- package/dist/assets/icons/Alert.js +9 -0
- package/dist/assets/icons/Alert.js.map +1 -0
- package/dist/assets/icons/Cavatica.d.ts +3 -0
- package/dist/assets/icons/Cavatica.js +17 -0
- package/dist/assets/icons/Cavatica.js.map +1 -0
- package/dist/assets/icons/columns.d.ts +3 -0
- package/dist/assets/icons/columns.js +9 -0
- package/dist/assets/icons/columns.js.map +1 -0
- package/dist/assets/icons/columnsDarkTheme.d.ts +3 -0
- package/dist/assets/icons/columnsDarkTheme.js +9 -0
- package/dist/assets/icons/columnsDarkTheme.js.map +1 -0
- package/dist/assets/themed_icons/Active.d.ts +2 -0
- package/dist/assets/themed_icons/Active.js +10 -0
- package/dist/assets/themed_icons/Active.js.map +1 -0
- package/dist/components/styled/LeftRightPanel.js +10 -7
- package/dist/components/styled/LeftRightPanel.js.map +1 -1
- package/dist/containers/EntityForm.js.map +1 -1
- package/dist/containers/FileUpload.d.ts +2 -1
- package/dist/containers/FileUpload.js +4 -4
- package/dist/containers/FileUpload.js.map +1 -1
- package/dist/containers/GenericCard.js +9 -9
- package/dist/containers/GenericCard.js.map +1 -1
- package/dist/containers/GoogleMap/GoogleMap.d.ts +15 -0
- package/dist/containers/GoogleMap/GoogleMap.js +58 -0
- package/dist/containers/GoogleMap/GoogleMap.js.map +1 -0
- package/dist/containers/GoogleMap/SynapseUserMarker.d.ts +19 -0
- package/dist/containers/GoogleMap/SynapseUserMarker.js +41 -0
- package/dist/containers/GoogleMap/SynapseUserMarker.js.map +1 -0
- package/dist/containers/ModalDownload.js.map +1 -1
- package/dist/containers/StatisticsPlot.js.map +1 -1
- package/dist/containers/StorybookComponentWrapper.d.ts +16 -0
- package/dist/containers/StorybookComponentWrapper.js +131 -0
- package/dist/containers/StorybookComponentWrapper.js.map +1 -0
- package/dist/containers/SynapseNavDrawer.js +9 -15
- package/dist/containers/SynapseNavDrawer.js.map +1 -1
- package/dist/containers/TemplateComponent.d.ts +6 -0
- package/dist/containers/TemplateComponent.js +20 -0
- package/dist/containers/TemplateComponent.js.map +1 -0
- package/dist/containers/TermsAndConditions.js +6 -7
- package/dist/containers/TermsAndConditions.js.map +1 -1
- package/dist/containers/access_requirement_list/ManagedACTAccessRequirement.d.ts +4 -0
- package/dist/containers/access_requirement_list/ManagedACTAccessRequirement.js +38 -0
- package/dist/containers/access_requirement_list/ManagedACTAccessRequirement.js.map +1 -0
- package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.js +3 -3
- package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.js.map +1 -1
- package/dist/containers/auth/AuthenticationMethodSelection.js +4 -2
- package/dist/containers/auth/AuthenticationMethodSelection.js.map +1 -1
- package/dist/containers/auth/LoginFlowBackButton.js +2 -1
- package/dist/containers/auth/LoginFlowBackButton.js.map +1 -1
- package/dist/containers/auth/LoginForm.js +1 -1
- package/dist/containers/auth/LoginForm.js.map +1 -1
- package/dist/containers/auth/Logout.d.ts +5 -0
- package/dist/containers/auth/Logout.js +15 -0
- package/dist/containers/auth/Logout.js.map +1 -0
- package/dist/containers/auth/TOTPForm.js +1 -1
- package/dist/containers/auth/TOTPForm.js.map +1 -1
- package/dist/containers/auth/TwoFactorEnrollmentForm.d.ts +1 -0
- package/dist/containers/auth/TwoFactorEnrollmentForm.js +11 -1
- package/dist/containers/auth/TwoFactorEnrollmentForm.js.map +1 -1
- package/dist/containers/discussion_forum/DiscussionReply.d.ts +7 -0
- package/dist/containers/discussion_forum/DiscussionReply.js +63 -0
- package/dist/containers/discussion_forum/DiscussionReply.js.map +1 -0
- package/dist/containers/discussion_forum/DiscussionThread.d.ts +6 -0
- package/dist/containers/discussion_forum/DiscussionThread.js +126 -0
- package/dist/containers/discussion_forum/DiscussionThread.js.map +1 -0
- package/dist/containers/discussion_forum/ForumPage.d.ts +7 -0
- package/dist/containers/discussion_forum/ForumPage.js +70 -0
- package/dist/containers/discussion_forum/ForumPage.js.map +1 -0
- package/dist/containers/discussion_forum/ForumTable.d.ts +9 -0
- package/dist/containers/discussion_forum/ForumTable.js +93 -0
- package/dist/containers/discussion_forum/ForumTable.js.map +1 -0
- package/dist/containers/discussion_forum/ForumThreadEditor.d.ts +9 -0
- package/dist/containers/discussion_forum/ForumThreadEditor.js +82 -0
- package/dist/containers/discussion_forum/ForumThreadEditor.js.map +1 -0
- package/dist/containers/discussion_forum/SubscribersModal.d.ts +9 -0
- package/dist/containers/discussion_forum/SubscribersModal.js +25 -0
- package/dist/containers/discussion_forum/SubscribersModal.js.map +1 -0
- package/dist/containers/entity/annotations/CustomAdditionalPropertiesFieldTemplate.d.ts +1 -1
- package/dist/containers/markdown/MarkdownEditor.d.ts +11 -0
- package/dist/containers/markdown/MarkdownEditor.js +112 -0
- package/dist/containers/markdown/MarkdownEditor.js.map +1 -0
- package/dist/containers/markdown/UserMentionModal.d.ts +7 -0
- package/dist/containers/markdown/UserMentionModal.js +25 -0
- package/dist/containers/markdown/UserMentionModal.js.map +1 -0
- package/dist/containers/menu/DropdownMenu.js +1 -1
- package/dist/containers/menu/DropdownMenu.js.map +1 -1
- package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.d.ts +1 -0
- package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.js +2 -2
- package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/containers/synapse_form_wrapper/SynapseFormSubmissionsGrid.js.map +1 -1
- package/dist/containers/synapse_table_functions/SynapseTableCell.js +4 -3
- package/dist/containers/synapse_table_functions/SynapseTableCell.js.map +1 -1
- package/dist/containers/table/TopLevelControls.d.ts +1 -0
- package/dist/containers/table/TopLevelControls.js +12 -3
- package/dist/containers/table/TopLevelControls.js.map +1 -1
- package/dist/containers/widgets/facet-nav/FacetNav.js +1 -1
- package/dist/containers/widgets/facet-nav/FacetNav.js.map +1 -1
- package/dist/style/components/_synapse-nav-drawer.scss +2 -2
- package/dist/style/components/_terms-and-conditions.scss +1 -0
- package/dist/umd/synapse-react-client.development.css +6 -5
- package/dist/umd/synapse-react-client.development.css.map +3 -3
- package/dist/umd/synapse-react-client.development.js +15697 -14464
- package/dist/umd/synapse-react-client.development.js.map +4 -4
- package/dist/umd/synapse-react-client.production.min.css +1 -1
- package/dist/umd/synapse-react-client.production.min.js +92 -92
- package/dist/umd.index.d.ts +2 -0
- package/dist/umd.index.js +2 -0
- package/dist/umd.index.js.map +1 -1
- package/dist/utils/AppUtils.d.ts +4 -0
- package/dist/utils/AppUtils.js +30 -0
- package/dist/utils/AppUtils.js.map +1 -0
- package/dist/utils/FullContextProvider.d.ts +19 -0
- package/dist/utils/FullContextProvider.js +35 -0
- package/dist/utils/FullContextProvider.js.map +1 -0
- package/dist/utils/SynapseConstants.d.ts +4 -0
- package/dist/utils/SynapseConstants.js +5 -1
- package/dist/utils/SynapseConstants.js.map +1 -1
- package/dist/utils/SynapseContext.d.ts +5 -9
- package/dist/utils/SynapseContext.js +6 -19
- package/dist/utils/SynapseContext.js.map +1 -1
- package/dist/utils/apputils/session/ApplicationSessionContext.d.ts +18 -0
- package/dist/utils/apputils/session/ApplicationSessionContext.js +25 -0
- package/dist/utils/apputils/session/ApplicationSessionContext.js.map +1 -0
- package/dist/utils/apputils/session/ApplicationSessionManager.d.ts +22 -0
- package/dist/utils/apputils/session/ApplicationSessionManager.js +162 -0
- package/dist/utils/apputils/session/ApplicationSessionManager.js.map +1 -0
- package/dist/utils/functions/ObjectUtils.d.ts +1 -1
- package/dist/utils/functions/index.d.ts +9 -0
- package/dist/utils/functions/index.js +9 -0
- package/dist/utils/functions/index.js.map +1 -0
- package/dist/utils/functions/sqlFunctions.d.ts +2 -2
- package/dist/utils/functions/sqlFunctions.js +56 -33
- package/dist/utils/functions/sqlFunctions.js.map +1 -1
- package/dist/utils/hooks/SynapseAPI/entity/useExportToCavatica.d.ts +2 -0
- package/dist/utils/hooks/SynapseAPI/entity/useExportToCavatica.js +55 -0
- package/dist/utils/hooks/SynapseAPI/entity/useExportToCavatica.js.map +1 -0
- package/dist/utils/hooks/SynapseAPI/forum/useForum.d.ts +7 -0
- package/dist/utils/hooks/SynapseAPI/forum/useForum.js +31 -0
- package/dist/utils/hooks/SynapseAPI/forum/useForum.js.map +1 -0
- package/dist/utils/hooks/SynapseAPI/forum/useReply.d.ts +10 -0
- package/dist/utils/hooks/SynapseAPI/forum/useReply.js +120 -0
- package/dist/utils/hooks/SynapseAPI/forum/useReply.js.map +1 -0
- package/dist/utils/hooks/SynapseAPI/forum/useThread.d.ts +18 -0
- package/dist/utils/hooks/SynapseAPI/forum/useThread.js +236 -0
- package/dist/utils/hooks/SynapseAPI/forum/useThread.js.map +1 -0
- package/dist/utils/hooks/SynapseAPI/provenance/useGetActivityForEntity.d.ts +4 -0
- package/dist/utils/hooks/SynapseAPI/provenance/useGetActivityForEntity.js +14 -0
- package/dist/utils/hooks/SynapseAPI/provenance/useGetActivityForEntity.js.map +1 -0
- package/dist/utils/hooks/SynapseAPI/subscription/useSubscription.d.ts +13 -0
- package/dist/utils/hooks/SynapseAPI/subscription/useSubscription.js +107 -0
- package/dist/utils/hooks/SynapseAPI/subscription/useSubscription.js.map +1 -0
- package/dist/utils/hooks/useDetectSSOCode.d.ts +7 -4
- package/dist/utils/hooks/useDetectSSOCode.js +25 -27
- package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
- package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.d.ts +4 -0
- package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.js +3 -0
- package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.js.map +1 -0
- package/dist/utils/synapseTypes/MarkdownCommands.d.ts +8 -0
- package/dist/utils/synapseTypes/MarkdownCommands.js +58 -0
- package/dist/utils/synapseTypes/MarkdownCommands.js.map +1 -0
- package/dist/utils/synapseTypes/Table/QueryFilter.d.ts +3 -1
- package/dist/utils/synapseTypes/Table/QueryFilter.js +7 -0
- package/dist/utils/synapseTypes/Table/QueryFilter.js.map +1 -1
- package/dist/utils/theme/DefaultTheme.d.ts +2 -2
- package/dist/utils/theme/DefaultTheme.js +31 -13
- package/dist/utils/theme/DefaultTheme.js.map +1 -1
- package/dist/utils/theme/ThemeTypes.d.ts +6 -0
- package/dist/utils/theme/index.d.ts +3 -0
- package/dist/utils/theme/index.js +7 -0
- package/dist/utils/theme/index.js.map +1 -0
- package/dist/utils/theme/palette/Palettes.js +1 -1
- package/dist/utils/theme/useTheme.d.ts +2 -1
- package/dist/utils/theme/useTheme.js +2 -2
- package/dist/utils/theme/useTheme.js.map +1 -1
- package/dist/utils/types/DeepPartial.d.ts +9 -0
- package/dist/utils/types/DeepPartial.js +3 -0
- package/dist/utils/types/DeepPartial.js.map +1 -0
- 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
|
|
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,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":";;;;AAAA,qDAAoC;AACpC,0CAesB;AACtB,+DAA0C;AAuC1C;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAwB;IAEjD,IAAA,aAAa,GAMX,KAAK,cANM,EACb,kBAAkB,GAKhB,KAAK,mBALW,EAClB,KAIE,KAAK,MAJ2B,EAAlC,KAAK,mBAAG,EAA0B,KAAA,EAClC,KAGE,KAAK,0BAHyB,EAAhC,yBAAyB,mBAAG,IAAI,KAAA,EAChC,KAEE,KAAK,oBAFoB,EAA3B,mBAAmB,mBAAG,KAAK,KAAA,EAC3B,KACE,KAAK,YADS,EAAhB,WAAW,mBAAG,EAAE,KAAA,CACT;IAET,IAAM,cAAc,GAAG,IAAA,aAAK,GAAE,CAAA;IACxB,IAAA,KAAkB,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAtC,IAAI,QAAA,EAAE,OAAO,QAAyB,CAAA;IAC7C,IAAM,SAAS,GAAG,eAAK,CAAC,MAAM,CAAoB,IAAI,CAAC,CAAA;IAEvD,IAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAA;IAE7C,IAAI,CAAC,mBAAmB,IAAI,iBAAiB,KAAK,CAAC,EAAE;QACnD,8CAA8C;QAC9C,OAAO,IAAI,CAAA;KACZ;IAED,IAAI,yBAAyB,IAAI,iBAAiB,KAAK,CAAC,EAAE;QACxD,oDAAoD;QACpD,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAChC,OAAO,CACL,8BAAC,iBAAM,IACL,SAAS,EAAE,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAC9C,KAAK,EAAE,QAAQ,CAAC,WAAW,EAC3B,OAAO,EAAC,UAAU,EAClB,IAAI,EAAE,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACpD,GAAG,EAAE,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAC3D,OAAO,EAAE,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAC7D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAE3B,8BAAC,qBAAU,IAAC,OAAO,EAAE,YAAY,IAAG,QAAQ,CAAC,IAAI,CAAc,CACxD,CACV,CAAA;KACF;IAED,IAAM,YAAY,GAAG;QACnB,OAAO,CAAC,UAAA,QAAQ,IAAI,OAAA,CAAC,QAAQ,EAAT,CAAS,CAAC,CAAA;IAChC,CAAC,CAAA;IAED,IAAM,WAAW,GAAG,UAAC,KAAmC;QACtD,IACE,SAAS,CAAC,OAAO;YACjB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAqB,CAAC,EACvD;YACA,OAAM;SACP;QAED,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC,CAAA;IAED,SAAS,iBAAiB,CAAC,KAA0B;QACnD,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;YACvB,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,OAAO,CAAC,KAAK,CAAC,CAAA;SACf;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;YACjC,OAAO,CAAC,KAAK,CAAC,CAAA;SACf;IACH,CAAC;IAED,OAAO,CACL,8BAAC,eAAK,CAAC,QAAQ;QACb,8BAAC,kBAAO,
|
|
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 }),
|