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
package/dist/umd.index.d.ts
CHANGED
|
@@ -27,8 +27,10 @@ import { SynapseQueries } from './utils';
|
|
|
27
27
|
import TwoFactorBackupCodes from './containers/auth/TwoFactorBackupCodes';
|
|
28
28
|
import TwoFactorEnrollmentForm from './containers/auth/TwoFactorEnrollmentForm';
|
|
29
29
|
import TwoFactorAuthSettingsPanel from './containers/auth/TwoFactorAuthSettingsPanel';
|
|
30
|
+
import { FullContextProvider } from './utils/FullContextProvider';
|
|
30
31
|
import './style/main.scss';
|
|
31
32
|
declare const SynapseContext: {
|
|
33
|
+
FullContextProvider: typeof FullContextProvider;
|
|
32
34
|
SynapseContextProvider: typeof SynapseContextProvider;
|
|
33
35
|
SynapseContextConsumer: import("react").Consumer<import("./utils/SynapseContext").SynapseContextType>;
|
|
34
36
|
useSynapseContext: typeof useSynapseContext;
|
package/dist/umd.index.js
CHANGED
|
@@ -65,9 +65,11 @@ Object.defineProperty(exports, "SynapseQueries", { enumerable: true, get: functi
|
|
|
65
65
|
var TwoFactorBackupCodes_1 = tslib_1.__importDefault(require("./containers/auth/TwoFactorBackupCodes"));
|
|
66
66
|
var TwoFactorEnrollmentForm_1 = tslib_1.__importDefault(require("./containers/auth/TwoFactorEnrollmentForm"));
|
|
67
67
|
var TwoFactorAuthSettingsPanel_1 = tslib_1.__importDefault(require("./containers/auth/TwoFactorAuthSettingsPanel"));
|
|
68
|
+
var FullContextProvider_1 = require("./utils/FullContextProvider");
|
|
68
69
|
// Also include scss in the bundle
|
|
69
70
|
require("./style/main.scss");
|
|
70
71
|
var SynapseContext = {
|
|
72
|
+
FullContextProvider: FullContextProvider_1.FullContextProvider,
|
|
71
73
|
SynapseContextProvider: SynapseContext_1.SynapseContextProvider,
|
|
72
74
|
SynapseContextConsumer: SynapseContext_1.SynapseContextConsumer,
|
|
73
75
|
useSynapseContext: SynapseContext_1.useSynapseContext,
|
package/dist/umd.index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"umd.index.js","sourceRoot":"","sources":["../src/lib/umd.index.ts"],"names":[],"mappings":";;;;AAAA,uCAAoC;AACpC,oEAAkE;AAClE,oEAAkE;AAClE,uFAAwD;AACxD,+EAA6E;AAC7E,wFAAsF;AACtF,gIAAiG;AACjG,mFAAiF;AACjF,wGAAyE;AACzE,6GAA2G;AAC3G,wEAAsE;AACtE,kEAAgE;AAChE,+EAAgD;AAChD,sDAAwD;AACxD,wEAAsE;AACtE,mFAAoD;AACpD,gFAA8E;AAC9E,4FAA0F;AAC1F,+FAAgE;AAChE,iFAAkD;AAClD,uFAAwD;AACxD,4EAAuF;AACvF,wDAAsD;AACtD,iIAAkG;AAClG,yEAA0C;AAC1C,sGAAuE;AACvE,kFAAmD;AACnD,mFAAoD;AACpD,sFAAoF;AACpF,qFAAsD;AACtD,4FAA0F;AAC1F,wHAAyF;AACzF,uFAAwD;AACxD,gEAA8D;AAC9D,kEAAgE;AAChE,qFAAmF;AACnF,6GAA8E;AAC9E,iHAAwF;AACxF,+FAAgE;AAChE,0DAA+E;AAC/E,gEAA8D;AAC9D,sEAAoE;AACpE,2EAA4C;AAC5C,8GAA+E;AAC/E,6FAA8D;AAC9D,oGAAqE;AACrE,6EAA8C;AAC9C,yGAA0E;AAC1E,6HAA8F;AAC9F,mHAAoF;AACpF,qHAAsF;AACtF,oFAAkF;AAClF,iCAAyD;
|
|
1
|
+
{"version":3,"file":"umd.index.js","sourceRoot":"","sources":["../src/lib/umd.index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { useHistory } from 'react-router-dom';
|
|
2
|
+
export declare const POST_SSO_REDIRECT_URL_LOCALSTORAGE_KEY = "after-sso-login-url";
|
|
3
|
+
export declare function preparePostSSORedirect(): void;
|
|
4
|
+
export declare function redirectAfterSSO(history?: ReturnType<typeof useHistory>, fallbackRedirectUrl?: string): void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.redirectAfterSSO = exports.preparePostSSORedirect = exports.POST_SSO_REDIRECT_URL_LOCALSTORAGE_KEY = void 0;
|
|
4
|
+
exports.POST_SSO_REDIRECT_URL_LOCALSTORAGE_KEY = 'after-sso-login-url';
|
|
5
|
+
function preparePostSSORedirect() {
|
|
6
|
+
// save current route (so that we can go back here after SSO)
|
|
7
|
+
localStorage.setItem(exports.POST_SSO_REDIRECT_URL_LOCALSTORAGE_KEY, window.location.href);
|
|
8
|
+
}
|
|
9
|
+
exports.preparePostSSORedirect = preparePostSSORedirect;
|
|
10
|
+
function redirectAfterSSO(history, fallbackRedirectUrl) {
|
|
11
|
+
// go back to original route after successful SSO login
|
|
12
|
+
var originalUrl = localStorage.getItem(exports.POST_SSO_REDIRECT_URL_LOCALSTORAGE_KEY);
|
|
13
|
+
localStorage.removeItem(exports.POST_SSO_REDIRECT_URL_LOCALSTORAGE_KEY);
|
|
14
|
+
var redirectUrl = originalUrl !== null && originalUrl !== void 0 ? originalUrl : fallbackRedirectUrl;
|
|
15
|
+
if (redirectUrl) {
|
|
16
|
+
if (history) {
|
|
17
|
+
if (redirectUrl.startsWith(window.location.origin)) {
|
|
18
|
+
history.replace(redirectUrl.substring(window.location.origin.length));
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
history.replace(redirectUrl);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
window.location.replace(redirectUrl);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.redirectAfterSSO = redirectAfterSSO;
|
|
30
|
+
//# sourceMappingURL=AppUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppUtils.js","sourceRoot":"","sources":["../../src/lib/utils/AppUtils.ts"],"names":[],"mappings":";;;AAEa,QAAA,sCAAsC,GAAG,qBAAqB,CAAA;AAE3E,SAAgB,sBAAsB;IACpC,6DAA6D;IAC7D,YAAY,CAAC,OAAO,CAClB,8CAAsC,EACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,CACrB,CAAA;AACH,CAAC;AAND,wDAMC;AAED,SAAgB,gBAAgB,CAC9B,OAAuC,EACvC,mBAA4B;IAE5B,uDAAuD;IACvD,IAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CACtC,8CAAsC,CACvC,CAAA;IACD,YAAY,CAAC,UAAU,CAAC,8CAAsC,CAAC,CAAA;IAC/D,IAAM,WAAW,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,mBAAmB,CAAA;IACtD,IAAI,WAAW,EAAE;QACf,IAAI,OAAO,EAAE;YACX,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAClD,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;aACtE;iBAAM;gBACL,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;aAC7B;SACF;aAAM;YACL,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;SACrC;KACF;AACH,CAAC;AArBD,4CAqBC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { QueryClient, QueryClientConfig } from 'react-query';
|
|
3
|
+
import { ThemeOptions } from '@mui/material';
|
|
4
|
+
import { SynapseContextType } from './SynapseContext';
|
|
5
|
+
export declare const defaultQueryClientConfig: QueryClientConfig;
|
|
6
|
+
export type FullContextProviderProps = React.PropsWithChildren<{
|
|
7
|
+
synapseContext: Partial<SynapseContextType>;
|
|
8
|
+
queryClient?: QueryClient;
|
|
9
|
+
theme?: ThemeOptions;
|
|
10
|
+
}>;
|
|
11
|
+
/**
|
|
12
|
+
* Provides all context necessary for components in SRC.
|
|
13
|
+
* Contexts include
|
|
14
|
+
* - SynapseContext
|
|
15
|
+
* - QueryClientContext (react-query)
|
|
16
|
+
* - ThemeContext (@mui)
|
|
17
|
+
*/
|
|
18
|
+
export declare function FullContextProvider(props: FullContextProviderProps): JSX.Element;
|
|
19
|
+
export default FullContextProvider;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FullContextProvider = exports.defaultQueryClientConfig = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
var react_query_1 = require("react-query");
|
|
7
|
+
var useTheme_1 = require("./theme/useTheme");
|
|
8
|
+
var SynapseContext_1 = require("./SynapseContext");
|
|
9
|
+
exports.defaultQueryClientConfig = {
|
|
10
|
+
defaultOptions: {
|
|
11
|
+
queries: {
|
|
12
|
+
staleTime: 1000 * 60 * 5,
|
|
13
|
+
cacheTime: 1000 * 60 * 30,
|
|
14
|
+
retry: false,
|
|
15
|
+
refetchOnWindowFocus: false,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
var defaultQueryClient = new react_query_1.QueryClient(exports.defaultQueryClientConfig);
|
|
20
|
+
/**
|
|
21
|
+
* Provides all context necessary for components in SRC.
|
|
22
|
+
* Contexts include
|
|
23
|
+
* - SynapseContext
|
|
24
|
+
* - QueryClientContext (react-query)
|
|
25
|
+
* - ThemeContext (@mui)
|
|
26
|
+
*/
|
|
27
|
+
function FullContextProvider(props) {
|
|
28
|
+
var children = props.children, synapseContext = props.synapseContext, queryClient = props.queryClient, theme = props.theme;
|
|
29
|
+
return (react_1.default.createElement(react_query_1.QueryClientProvider, { client: queryClient !== null && queryClient !== void 0 ? queryClient : defaultQueryClient },
|
|
30
|
+
react_1.default.createElement(useTheme_1.ThemeProvider, { theme: theme },
|
|
31
|
+
react_1.default.createElement(SynapseContext_1.SynapseContextProvider, { synapseContext: synapseContext }, children))));
|
|
32
|
+
}
|
|
33
|
+
exports.FullContextProvider = FullContextProvider;
|
|
34
|
+
exports.default = FullContextProvider;
|
|
35
|
+
//# sourceMappingURL=FullContextProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FullContextProvider.js","sourceRoot":"","sources":["../../src/lib/utils/FullContextProvider.tsx"],"names":[],"mappings":";;;;AAAA,wDAAyB;AACzB,2CAIoB;AACpB,6CAAgD;AAEhD,mDAA6E;AAEhE,QAAA,wBAAwB,GAAsB;IACzD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,SAAS,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC;YACxB,SAAS,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE;YACzB,KAAK,EAAE,KAAK;YACZ,oBAAoB,EAAE,KAAK;SAC5B;KACF;CACF,CAAA;AAED,IAAM,kBAAkB,GAAG,IAAI,yBAAW,CAAC,gCAAwB,CAAC,CAAA;AAQpE;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,KAA+B;IACzD,IAAA,QAAQ,GAAyC,KAAK,SAA9C,EAAE,cAAc,GAAyB,KAAK,eAA9B,EAAE,WAAW,GAAY,KAAK,YAAjB,EAAE,KAAK,GAAK,KAAK,MAAV,CAAU;IAE9D,OAAO,CACL,8BAAC,iCAAmB,IAAC,MAAM,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,kBAAkB;QAC5D,8BAAC,wBAAa,IAAC,KAAK,EAAE,KAAK;YACzB,8BAAC,uCAAsB,IAAC,cAAc,EAAE,cAAc,IACnD,QAAQ,CACc,CACX,CACI,CACvB,CAAA;AACH,CAAC;AAZD,kDAYC;AAED,kBAAe,mBAAmB,CAAA"}
|
|
@@ -110,3 +110,7 @@ export declare const BASE = 1024, KB = 1024, MB: number, GB: number, TB: number;
|
|
|
110
110
|
export declare const NETWORK_UNAVAILABLE_MESSAGE = "This site cannot be reached. Either a connection is unavailable, or your network administrator has blocked you from accessing this site.";
|
|
111
111
|
export declare const REJECT_SUBMISSION_CANNED_RESPONSES_TABLE = "syn50683097";
|
|
112
112
|
export declare const AUTHENTICATION_RECEIPT_LOCALSTORAGE_KEY = "last_user_authentication_receipt";
|
|
113
|
+
/** URL constants */
|
|
114
|
+
export declare const URL_TERMS_CONDITIONS_AGREEMENT = "https://s3.amazonaws.com/static.synapse.org/governance/SageBionetworksSynapseTermsandConditionsofUse.pdf?v=5";
|
|
115
|
+
/** Class names */
|
|
116
|
+
export declare const LOGIN_BACK_BUTTON_CLASS_NAME = "login-flow-back-button";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SORTDOWN = exports.SORTUP = exports.CLOSE = exports.COLLAPSE = exports.EXPAND = exports.DOWNLOAD = exports.SQL_EDITOR = exports.FILTER = exports.CHART = exports.SEARCH = exports.EXPLORE = exports.MOUSE = exports.PERSON = exports.ORGANIZATION = exports.GRANT = exports.PROJECT = exports.CLINICAL = exports.EXPERIMENTAL_TOOL = exports.EXPERIMENTAL = exports.COMPUTATIONAL_TOOL = exports.COMPUTATIONAL = exports.OBSERVATION_CARD = exports.GENERIC_CARD = exports.TOOL = exports.PUBLICATION = exports.FUNDER = exports.AMP_CONSORTIUM = exports.DATASET = exports.PROGRAM = exports.DATABASE = exports.STUDY_COMPLETE = exports.STUDY_ACTIVE = exports.FRIENDLY_VALUE_NOT_SET = exports.VALUE_NOT_SET = exports.STUDY = exports.ALL_ENTITY_BUNDLE_FIELDS = exports.BUNDLE_MASK_COMBINED_SQL = exports.BUNDLE_MASK_LAST_UPDATED_ON = exports.BUNDLE_MASK_SUM_FILES_SIZE_BYTES = exports.BUNDLE_MASK_QUERY_FACETS = exports.BUNDLE_MASK_QUERY_COLUMN_MODELS = exports.BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE = exports.BUNDLE_MASK_QUERY_SELECT_COLUMNS = exports.BUNDLE_MASK_QUERY_COUNT = exports.BUNDLE_MASK_QUERY_RESULTS = exports.TRUSTED_HTML_USERS_TEAM_ID = exports.ACT_TEAM_ID = exports.ANONYMOUS_PRINCIPAL_ID = exports.PUBLIC_PRINCIPAL_ID = exports.AUTHENTICATED_PRINCIPAL_ID = void 0;
|
|
4
|
-
exports.AUTHENTICATION_RECEIPT_LOCALSTORAGE_KEY = exports.REJECT_SUBMISSION_CANNED_RESPONSES_TABLE = exports.NETWORK_UNAVAILABLE_MESSAGE = exports.TB = exports.GB = exports.MB = exports.KB = exports.BASE = exports.DATETIME_UTC_COOKIE_KEY = exports.EVALUATIONS_STORAGE_KEY = exports.ENTITY_HEADER_STORAGE_KEY = exports.USER_PROFILE_STORAGE_KEY = exports.USER_BUNDLE_MASK_IS_AR_REVIEWER = exports.USER_BUNDLE_MASK_IS_ACT_MEMBER = exports.USER_BUNDLE_MASK_IS_VERIFIED = exports.USER_BUNDLE_MASK_IS_CERTIFIED = exports.USER_BUNDLE_MASK_VERIFICATION_SUBMISSION = exports.USER_BUNDLE_MASK_ORCID = exports.USER_BUNDLE_MASK_USER_PROFILE = exports.EXPERIMENTAL_MODE_COOKIE = exports.SRC_SIGN_IN_CLASS = exports._TIME_DELAY = exports.AUTHENTICATED_USERS = exports.SEPERATOR = exports.LARGE_USER_CARD = exports.MEDIUM_USER_CARD = exports.SMALL_USER_CARD = exports.AVATAR = exports.DEFAULT_PAGE_SIZE = exports.DOWNLOAD_PERMISSION_REQUIRED = exports.VARIABLE_DIFFICULTY = exports.MEDIUM_DIFFICULTY = exports.EASY_DIFFICULTY = exports.EXTERNALLINK = exports.CHART2 = exports.FILE = exports.VERTICAL_DOTS = exports.COLUMNSDARK = exports.COLUMNS = exports.SETTINGS = void 0;
|
|
4
|
+
exports.LOGIN_BACK_BUTTON_CLASS_NAME = exports.URL_TERMS_CONDITIONS_AGREEMENT = exports.AUTHENTICATION_RECEIPT_LOCALSTORAGE_KEY = exports.REJECT_SUBMISSION_CANNED_RESPONSES_TABLE = exports.NETWORK_UNAVAILABLE_MESSAGE = exports.TB = exports.GB = exports.MB = exports.KB = exports.BASE = exports.DATETIME_UTC_COOKIE_KEY = exports.EVALUATIONS_STORAGE_KEY = exports.ENTITY_HEADER_STORAGE_KEY = exports.USER_PROFILE_STORAGE_KEY = exports.USER_BUNDLE_MASK_IS_AR_REVIEWER = exports.USER_BUNDLE_MASK_IS_ACT_MEMBER = exports.USER_BUNDLE_MASK_IS_VERIFIED = exports.USER_BUNDLE_MASK_IS_CERTIFIED = exports.USER_BUNDLE_MASK_VERIFICATION_SUBMISSION = exports.USER_BUNDLE_MASK_ORCID = exports.USER_BUNDLE_MASK_USER_PROFILE = exports.EXPERIMENTAL_MODE_COOKIE = exports.SRC_SIGN_IN_CLASS = exports._TIME_DELAY = exports.AUTHENTICATED_USERS = exports.SEPERATOR = exports.LARGE_USER_CARD = exports.MEDIUM_USER_CARD = exports.SMALL_USER_CARD = exports.AVATAR = exports.DEFAULT_PAGE_SIZE = exports.DOWNLOAD_PERMISSION_REQUIRED = exports.VARIABLE_DIFFICULTY = exports.MEDIUM_DIFFICULTY = exports.EASY_DIFFICULTY = exports.EXTERNALLINK = exports.CHART2 = exports.FILE = exports.VERTICAL_DOTS = exports.COLUMNSDARK = exports.COLUMNS = exports.SETTINGS = void 0;
|
|
5
5
|
/** Bootstrapped principals */
|
|
6
6
|
/** The group representing all users logged-in to Synapse */
|
|
7
7
|
exports.AUTHENTICATED_PRINCIPAL_ID = 273948;
|
|
@@ -119,4 +119,8 @@ exports.NETWORK_UNAVAILABLE_MESSAGE = 'This site cannot be reached. Either a con
|
|
|
119
119
|
/* The ID of the table in production that contains the canned responses for the submission rejection form. */
|
|
120
120
|
exports.REJECT_SUBMISSION_CANNED_RESPONSES_TABLE = 'syn50683097';
|
|
121
121
|
exports.AUTHENTICATION_RECEIPT_LOCALSTORAGE_KEY = 'last_user_authentication_receipt';
|
|
122
|
+
/** URL constants */
|
|
123
|
+
exports.URL_TERMS_CONDITIONS_AGREEMENT = 'https://s3.amazonaws.com/static.synapse.org/governance/SageBionetworksSynapseTermsandConditionsofUse.pdf?v=5';
|
|
124
|
+
/** Class names */
|
|
125
|
+
exports.LOGIN_BACK_BUTTON_CLASS_NAME = 'login-flow-back-button';
|
|
122
126
|
//# sourceMappingURL=SynapseConstants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynapseConstants.js","sourceRoot":"","sources":["../../src/lib/utils/SynapseConstants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SynapseConstants.js","sourceRoot":"","sources":["../../src/lib/utils/SynapseConstants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { QueryClient, QueryClientConfig } from 'react-query';
|
|
3
|
-
import { ThemeOptions } from '@mui/material';
|
|
4
2
|
import { KeyFactory } from './hooks/SynapseAPI/KeyFactory';
|
|
5
|
-
export declare const defaultQueryClientConfig: QueryClientConfig;
|
|
6
3
|
export type SynapseContextType = {
|
|
7
4
|
/** The user's access token. If undefined, the user is not logged in */
|
|
8
5
|
accessToken: string | undefined;
|
|
@@ -20,14 +17,13 @@ export type SynapseContextType = {
|
|
|
20
17
|
* This must be exported to use the context in class components.
|
|
21
18
|
*/
|
|
22
19
|
export declare const SynapseContext: React.Context<SynapseContextType>;
|
|
23
|
-
export type SynapseContextProviderProps = {
|
|
20
|
+
export type SynapseContextProviderProps = React.PropsWithChildren<{
|
|
24
21
|
synapseContext: Partial<SynapseContextType>;
|
|
25
|
-
|
|
26
|
-
theme?: ThemeOptions;
|
|
27
|
-
children?: React.ReactNode;
|
|
28
|
-
};
|
|
22
|
+
}>;
|
|
29
23
|
/**
|
|
30
|
-
* Provides context necessary for most components in SRC
|
|
24
|
+
* Provides context necessary for most components in SRC.
|
|
25
|
+
*
|
|
26
|
+
* The SynapseContextProvider must be wrapped in a react-query QueryClientProvider.
|
|
31
27
|
* @param param0
|
|
32
28
|
* @returns
|
|
33
29
|
*/
|
|
@@ -1,23 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useSynapseContext = exports.SynapseContextConsumer = exports.SynapseContextProvider = exports.SynapseContext =
|
|
3
|
+
exports.useSynapseContext = exports.SynapseContextConsumer = exports.SynapseContextProvider = exports.SynapseContext = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
-
var react_query_1 = require("react-query");
|
|
7
6
|
var ErrorBanner_1 = require("../containers/error/ErrorBanner");
|
|
8
|
-
var useTheme_1 = require("./theme/useTheme");
|
|
9
7
|
var KeyFactory_1 = require("./hooks/SynapseAPI/KeyFactory");
|
|
10
|
-
exports.defaultQueryClientConfig = {
|
|
11
|
-
defaultOptions: {
|
|
12
|
-
queries: {
|
|
13
|
-
staleTime: 1000 * 60 * 5,
|
|
14
|
-
cacheTime: 1000 * 60 * 30,
|
|
15
|
-
retry: false,
|
|
16
|
-
refetchOnWindowFocus: false,
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
var defaultQueryClient = new react_query_1.QueryClient(exports.defaultQueryClientConfig);
|
|
21
8
|
var defaultContext = {
|
|
22
9
|
accessToken: undefined,
|
|
23
10
|
isInExperimentalMode: false,
|
|
@@ -31,12 +18,14 @@ var defaultContext = {
|
|
|
31
18
|
*/
|
|
32
19
|
exports.SynapseContext = react_1.default.createContext(defaultContext);
|
|
33
20
|
/**
|
|
34
|
-
* Provides context necessary for most components in SRC
|
|
21
|
+
* Provides context necessary for most components in SRC.
|
|
22
|
+
*
|
|
23
|
+
* The SynapseContextProvider must be wrapped in a react-query QueryClientProvider.
|
|
35
24
|
* @param param0
|
|
36
25
|
* @returns
|
|
37
26
|
*/
|
|
38
27
|
function SynapseContextProvider(props) {
|
|
39
|
-
var children = props.children, providedContext = props.synapseContext
|
|
28
|
+
var children = props.children, providedContext = props.synapseContext;
|
|
40
29
|
var queryKeyFactory = (0, react_1.useMemo)(function () { return new KeyFactory_1.KeyFactory(providedContext.accessToken); }, [providedContext.accessToken]);
|
|
41
30
|
var synapseContext = (0, react_1.useMemo)(function () {
|
|
42
31
|
var _a, _b, _c, _d, _e;
|
|
@@ -57,9 +46,7 @@ function SynapseContextProvider(props) {
|
|
|
57
46
|
providedContext.withErrorBoundary,
|
|
58
47
|
queryKeyFactory,
|
|
59
48
|
]);
|
|
60
|
-
return (react_1.default.createElement(exports.SynapseContext.Provider, { value: synapseContext },
|
|
61
|
-
react_1.default.createElement(react_query_1.QueryClientProvider, { client: queryClient !== null && queryClient !== void 0 ? queryClient : defaultQueryClient },
|
|
62
|
-
react_1.default.createElement(useTheme_1.ThemeProvider, { theme: theme }, (synapseContext === null || synapseContext === void 0 ? void 0 : synapseContext.withErrorBoundary) ? (react_1.default.createElement(ErrorBanner_1.SynapseErrorBoundary, null, children)) : (children)))));
|
|
49
|
+
return (react_1.default.createElement(exports.SynapseContext.Provider, { value: synapseContext }, (synapseContext === null || synapseContext === void 0 ? void 0 : synapseContext.withErrorBoundary) ? (react_1.default.createElement(ErrorBanner_1.SynapseErrorBoundary, null, children)) : (children)));
|
|
63
50
|
}
|
|
64
51
|
exports.SynapseContextProvider = SynapseContextProvider;
|
|
65
52
|
exports.SynapseContextConsumer = exports.SynapseContext.Consumer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynapseContext.js","sourceRoot":"","sources":["../../src/lib/utils/SynapseContext.tsx"],"names":[],"mappings":";;;;AAAA,qDAAkD;AAClD
|
|
1
|
+
{"version":3,"file":"SynapseContext.js","sourceRoot":"","sources":["../../src/lib/utils/SynapseContext.tsx"],"names":[],"mappings":";;;;AAAA,qDAAkD;AAClD,+DAAsE;AACtE,4DAA0D;AAiB1D,IAAM,cAAc,GAAG;IACrB,WAAW,EAAE,SAAS;IACtB,oBAAoB,EAAE,KAAK;IAC3B,OAAO,EAAE,KAAK;IACd,iBAAiB,EAAE,KAAK;IACxB,UAAU,EAAE,IAAI,uBAAU,CAAC,SAAS,CAAC;IACrC,mBAAmB,EAAE,eAAe;CACR,CAAA;AAE9B;;GAEG;AACU,QAAA,cAAc,GACzB,eAAK,CAAC,aAAa,CAAqB,cAAc,CAAC,CAAA;AAMzD;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,KAAkC;IAC/D,IAAA,QAAQ,GAAsC,KAAK,SAA3C,EAAkB,eAAe,GAAK,KAAK,eAAV,CAAU;IAC3D,IAAM,eAAe,GAAG,IAAA,eAAO,EAC7B,cAAM,OAAA,IAAI,uBAAU,CAAC,eAAe,CAAC,WAAW,CAAC,EAA3C,CAA2C,EACjD,CAAC,eAAe,CAAC,WAAW,CAAC,CAC9B,CAAA;IAED,IAAM,cAAc,GAAuB,IAAA,eAAO,EAChD;;QAAM,OAAA,CAAC;YACL,WAAW,EAAE,eAAe,CAAC,WAAW;YACxC,oBAAoB,EAAE,MAAA,eAAe,CAAC,oBAAoB,mCAAI,KAAK;YACnE,OAAO,EAAE,MAAA,eAAe,CAAC,OAAO,mCAAI,KAAK;YACzC,iBAAiB,EAAE,MAAA,eAAe,CAAC,iBAAiB,mCAAI,KAAK;YAC7D,mBAAmB,EACjB,MAAA,eAAe,CAAC,mBAAmB,mCAAI,eAAe;YACxD,UAAU,EAAE,MAAA,eAAe,CAAC,UAAU,mCAAI,eAAe;SAC1D,CAAC,CAAA;KAAA,EACF;QACE,eAAe,CAAC,WAAW;QAC3B,eAAe,CAAC,mBAAmB;QACnC,eAAe,CAAC,oBAAoB;QACpC,eAAe,CAAC,UAAU;QAC1B,eAAe,CAAC,OAAO;QACvB,eAAe,CAAC,iBAAiB;QACjC,eAAe;KAChB,CACF,CAAA;IAED,OAAO,CACL,8BAAC,sBAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,cAAc,IAC3C,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,iBAAiB,EAAC,CAAC,CAAC,CACnC,8BAAC,kCAAoB,QAAE,QAAQ,CAAwB,CACxD,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,CACuB,CAC3B,CAAA;AACH,CAAC;AArCD,wDAqCC;AAEY,QAAA,sBAAsB,GAAG,sBAAc,CAAC,QAAQ,CAAA;AAE7D,SAAgB,iBAAiB;IAC/B,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,sBAAc,CAAC,CAAA;IAC1C,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAA;KACF;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AARD,8CAQC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { UseDetectSSOCodeReturnType } from '../../hooks';
|
|
3
|
+
import { TwoFactorAuthErrorResponse } from '../../synapseTypes/ErrorResponse';
|
|
4
|
+
export type ApplicationSessionContextType = {
|
|
5
|
+
token?: string;
|
|
6
|
+
acceptsTermsOfUse?: boolean;
|
|
7
|
+
hasInitializedSession: boolean;
|
|
8
|
+
refreshSession: () => Promise<void>;
|
|
9
|
+
twoFactorAuthSSOErrorResponse?: TwoFactorAuthErrorResponse;
|
|
10
|
+
clearSession: () => Promise<void>;
|
|
11
|
+
isLoadingSSO: UseDetectSSOCodeReturnType['isLoading'];
|
|
12
|
+
};
|
|
13
|
+
export type ApplicationSessionContextProviderProps = React.PropsWithChildren<{
|
|
14
|
+
context: ApplicationSessionContextType;
|
|
15
|
+
}>;
|
|
16
|
+
export declare function ApplicationSessionContextProvider(props: ApplicationSessionContextProviderProps): JSX.Element;
|
|
17
|
+
export declare const ApplicationSessionContextConsumer: React.Consumer<ApplicationSessionContextType | undefined>;
|
|
18
|
+
export declare function useApplicationSessionContext(): ApplicationSessionContextType;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useApplicationSessionContext = exports.ApplicationSessionContextConsumer = exports.ApplicationSessionContextProvider = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
var ApplicationSessionContext = react_1.default.createContext(undefined);
|
|
7
|
+
function ApplicationSessionContextProvider(props) {
|
|
8
|
+
var context = props.context, children = props.children;
|
|
9
|
+
return (react_1.default.createElement(ApplicationSessionContext.Provider, { value: context }, children));
|
|
10
|
+
}
|
|
11
|
+
exports.ApplicationSessionContextProvider = ApplicationSessionContextProvider;
|
|
12
|
+
exports.ApplicationSessionContextConsumer = ApplicationSessionContext.Consumer;
|
|
13
|
+
/*
|
|
14
|
+
* Retrieves the context provided by the ApplicationSessionContextProvider. The context is often created by the
|
|
15
|
+
* ApplicationSessionManager
|
|
16
|
+
*/
|
|
17
|
+
function useApplicationSessionContext() {
|
|
18
|
+
var context = (0, react_1.useContext)(ApplicationSessionContext);
|
|
19
|
+
if (context === undefined) {
|
|
20
|
+
throw new Error('useApplicationSessionContext must be used within an ApplicationSessionContextProvider');
|
|
21
|
+
}
|
|
22
|
+
return context;
|
|
23
|
+
}
|
|
24
|
+
exports.useApplicationSessionContext = useApplicationSessionContext;
|
|
25
|
+
//# sourceMappingURL=ApplicationSessionContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApplicationSessionContext.js","sourceRoot":"","sources":["../../../../src/lib/utils/apputils/session/ApplicationSessionContext.tsx"],"names":[],"mappings":";;;;AAAA,qDAAyC;AAoBzC,IAAM,yBAAyB,GAAG,eAAK,CAAC,aAAa,CAEnD,SAAS,CAAC,CAAA;AAMZ,SAAgB,iCAAiC,CAC/C,KAA6C;IAErC,IAAA,OAAO,GAAe,KAAK,QAApB,EAAE,QAAQ,GAAK,KAAK,SAAV,CAAU;IACnC,OAAO,CACL,8BAAC,yBAAyB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,IAC/C,QAAQ,CAC0B,CACtC,CAAA;AACH,CAAC;AATD,8EASC;AAEY,QAAA,iCAAiC,GAC5C,yBAAyB,CAAC,QAAQ,CAAA;AAEpC;;;GAGG;AACH,SAAgB,4BAA4B;IAC1C,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,yBAAyB,CAAC,CAAA;IACrD,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAA;KACF;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AARD,oEAQC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type ApplicationSessionManagerProps = React.PropsWithChildren<{
|
|
3
|
+
downloadCartPageUrl?: string;
|
|
4
|
+
maxAge?: number;
|
|
5
|
+
onResetSessionComplete?: () => void;
|
|
6
|
+
onError?: (e: unknown) => void;
|
|
7
|
+
}>;
|
|
8
|
+
/**
|
|
9
|
+
* The ApplicationSessionManager will manage Synapse user session in an app. The goal is that any custom app should
|
|
10
|
+
* just be able to add this component near the top of its component tree and have the full Synapse login lifecycle managed
|
|
11
|
+
* while exposing minimal complexity to the app itself.
|
|
12
|
+
*
|
|
13
|
+
* Custom per-app behavior should be customized with generalizable props to this component.
|
|
14
|
+
*
|
|
15
|
+
* The session data can be accessed with useApplicationSessionContext.
|
|
16
|
+
*
|
|
17
|
+
* This component must be called within a react-router Router. ApplicationSessionManager also wraps all of its children
|
|
18
|
+
* in a SynapseContextProvider.
|
|
19
|
+
* @param props
|
|
20
|
+
* @constructor
|
|
21
|
+
*/
|
|
22
|
+
export default function ApplicationSessionManager(props: ApplicationSessionManagerProps): JSX.Element;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var react_1 = tslib_1.__importStar(require("react"));
|
|
5
|
+
var index_1 = require("../../index");
|
|
6
|
+
var useDetectSSOCode_1 = tslib_1.__importDefault(require("../../hooks/useDetectSSOCode"));
|
|
7
|
+
var AppUtils_1 = require("../../AppUtils");
|
|
8
|
+
var react_router_dom_1 = require("react-router-dom");
|
|
9
|
+
var ApplicationSessionContext_1 = require("./ApplicationSessionContext");
|
|
10
|
+
var SynapseContext_1 = require("../../SynapseContext");
|
|
11
|
+
var dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
12
|
+
/**
|
|
13
|
+
* The ApplicationSessionManager will manage Synapse user session in an app. The goal is that any custom app should
|
|
14
|
+
* just be able to add this component near the top of its component tree and have the full Synapse login lifecycle managed
|
|
15
|
+
* while exposing minimal complexity to the app itself.
|
|
16
|
+
*
|
|
17
|
+
* Custom per-app behavior should be customized with generalizable props to this component.
|
|
18
|
+
*
|
|
19
|
+
* The session data can be accessed with useApplicationSessionContext.
|
|
20
|
+
*
|
|
21
|
+
* This component must be called within a react-router Router. ApplicationSessionManager also wraps all of its children
|
|
22
|
+
* in a SynapseContextProvider.
|
|
23
|
+
* @param props
|
|
24
|
+
* @constructor
|
|
25
|
+
*/
|
|
26
|
+
function ApplicationSessionManager(props) {
|
|
27
|
+
var _this = this;
|
|
28
|
+
var children = props.children, downloadCartPageUrl = props.downloadCartPageUrl, onResetSessionComplete = props.onResetSessionComplete, maxAge = props.maxAge, onError = props.onError;
|
|
29
|
+
var history = (0, react_router_dom_1.useHistory)();
|
|
30
|
+
var _a = (0, react_1.useState)(undefined), token = _a[0], setToken = _a[1];
|
|
31
|
+
var _b = (0, react_1.useState)(undefined), acceptsTermsOfUse = _b[0], setAcceptsTermsOfUse = _b[1];
|
|
32
|
+
var _c = (0, react_1.useState)(false), hasInitializedSession = _c[0], setHasInitializedSession = _c[1];
|
|
33
|
+
var _d = (0, react_1.useState)(undefined), twoFactorAuthSSOError = _d[0], setTwoFactorAuthSSOError = _d[1];
|
|
34
|
+
var initAnonymousUserState = (0, react_1.useCallback)(function () {
|
|
35
|
+
index_1.SynapseClient.signOut().then(function () {
|
|
36
|
+
// reset token
|
|
37
|
+
setToken(undefined);
|
|
38
|
+
setAcceptsTermsOfUse(undefined);
|
|
39
|
+
setHasInitializedSession(true);
|
|
40
|
+
});
|
|
41
|
+
}, []);
|
|
42
|
+
var refreshSession = (0, react_1.useCallback)(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
43
|
+
var token, e_1, authenticatedOnResponse, lastAuthenticatedOn, now, e_2;
|
|
44
|
+
return tslib_1.__generator(this, function (_a) {
|
|
45
|
+
switch (_a.label) {
|
|
46
|
+
case 0:
|
|
47
|
+
setTwoFactorAuthSSOError(undefined);
|
|
48
|
+
_a.label = 1;
|
|
49
|
+
case 1:
|
|
50
|
+
_a.trys.push([1, 3, , 4]);
|
|
51
|
+
return [4 /*yield*/, index_1.SynapseClient.getAccessTokenFromCookie()];
|
|
52
|
+
case 2:
|
|
53
|
+
token = _a.sent();
|
|
54
|
+
if (!token) {
|
|
55
|
+
initAnonymousUserState();
|
|
56
|
+
return [2 /*return*/];
|
|
57
|
+
}
|
|
58
|
+
return [3 /*break*/, 4];
|
|
59
|
+
case 3:
|
|
60
|
+
e_1 = _a.sent();
|
|
61
|
+
console.error('Unable to get the access token: ', e_1);
|
|
62
|
+
if (onError) {
|
|
63
|
+
onError(e_1);
|
|
64
|
+
}
|
|
65
|
+
initAnonymousUserState();
|
|
66
|
+
return [2 /*return*/];
|
|
67
|
+
case 4:
|
|
68
|
+
if (!maxAge) return [3 /*break*/, 6];
|
|
69
|
+
return [4 /*yield*/, index_1.SynapseClient.getAuthenticatedOn(token)];
|
|
70
|
+
case 5:
|
|
71
|
+
authenticatedOnResponse = _a.sent();
|
|
72
|
+
lastAuthenticatedOn = dayjs_1.default.utc(authenticatedOnResponse.authenticatedOn);
|
|
73
|
+
now = dayjs_1.default.utc();
|
|
74
|
+
if (now.diff(lastAuthenticatedOn, 'seconds') > maxAge) {
|
|
75
|
+
// Don't set the token so the user must re-authenticate to use this app
|
|
76
|
+
setHasInitializedSession(true);
|
|
77
|
+
return [2 /*return*/];
|
|
78
|
+
}
|
|
79
|
+
_a.label = 6;
|
|
80
|
+
case 6:
|
|
81
|
+
setToken(token);
|
|
82
|
+
setHasInitializedSession(true);
|
|
83
|
+
_a.label = 7;
|
|
84
|
+
case 7:
|
|
85
|
+
_a.trys.push([7, 9, , 10]);
|
|
86
|
+
// get the user profile just to check if the terms of use have been agreed to
|
|
87
|
+
// an error will be thrown if the terms of use have not been signed.
|
|
88
|
+
return [4 /*yield*/, index_1.SynapseClient.getUserProfile(token)];
|
|
89
|
+
case 8:
|
|
90
|
+
// get the user profile just to check if the terms of use have been agreed to
|
|
91
|
+
// an error will be thrown if the terms of use have not been signed.
|
|
92
|
+
_a.sent();
|
|
93
|
+
setAcceptsTermsOfUse(true);
|
|
94
|
+
return [3 /*break*/, 10];
|
|
95
|
+
case 9:
|
|
96
|
+
e_2 = _a.sent();
|
|
97
|
+
if (e_2 && e_2.reason == 'Terms of use have not been signed.') {
|
|
98
|
+
setAcceptsTermsOfUse(false);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
console.error('Error on refreshSession: ', e_2);
|
|
102
|
+
// intentionally calling sign out because the token could be stale so we want
|
|
103
|
+
// the stored session to be cleared out.
|
|
104
|
+
index_1.SynapseClient.signOut().then(function () {
|
|
105
|
+
// PORTALS-2293: if the token was invalid (caused an error), reload the app to ensure all children
|
|
106
|
+
// are loading as the anonymous user
|
|
107
|
+
window.location.reload();
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return [3 /*break*/, 10];
|
|
111
|
+
case 10: return [2 /*return*/];
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}); }, [initAnonymousUserState, maxAge, onError]);
|
|
115
|
+
var clearSession = (0, react_1.useCallback)(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
116
|
+
return tslib_1.__generator(this, function (_a) {
|
|
117
|
+
switch (_a.label) {
|
|
118
|
+
case 0: return [4 /*yield*/, index_1.SynapseClient.signOut()];
|
|
119
|
+
case 1:
|
|
120
|
+
_a.sent();
|
|
121
|
+
return [4 /*yield*/, refreshSession()];
|
|
122
|
+
case 2:
|
|
123
|
+
_a.sent();
|
|
124
|
+
if (onResetSessionComplete) {
|
|
125
|
+
onResetSessionComplete();
|
|
126
|
+
}
|
|
127
|
+
return [2 /*return*/];
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}); }, [refreshSession, onResetSessionComplete]);
|
|
131
|
+
/** Call refreshSession on mount */
|
|
132
|
+
(0, react_1.useEffect)(function () {
|
|
133
|
+
refreshSession();
|
|
134
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
135
|
+
}, []);
|
|
136
|
+
var isLoadingSSO = (0, useDetectSSOCode_1.default)({
|
|
137
|
+
onSignInComplete: function () {
|
|
138
|
+
(0, AppUtils_1.redirectAfterSSO)(history);
|
|
139
|
+
refreshSession();
|
|
140
|
+
},
|
|
141
|
+
onTwoFactorAuthRequired: function (twoFactorAuthError) {
|
|
142
|
+
setTwoFactorAuthSSOError(twoFactorAuthError);
|
|
143
|
+
},
|
|
144
|
+
}).isLoading;
|
|
145
|
+
return (react_1.default.createElement(ApplicationSessionContext_1.ApplicationSessionContextProvider, { context: {
|
|
146
|
+
token: token,
|
|
147
|
+
acceptsTermsOfUse: acceptsTermsOfUse,
|
|
148
|
+
refreshSession: refreshSession,
|
|
149
|
+
clearSession: clearSession,
|
|
150
|
+
isLoadingSSO: isLoadingSSO,
|
|
151
|
+
twoFactorAuthSSOErrorResponse: twoFactorAuthSSOError,
|
|
152
|
+
hasInitializedSession: hasInitializedSession,
|
|
153
|
+
} },
|
|
154
|
+
react_1.default.createElement(SynapseContext_1.SynapseContextProvider, { synapseContext: {
|
|
155
|
+
accessToken: token,
|
|
156
|
+
isInExperimentalMode: index_1.SynapseClient.isInSynapseExperimentalMode(),
|
|
157
|
+
utcTime: index_1.SynapseClient.getUseUtcTimeFromCookie(),
|
|
158
|
+
downloadCartPageUrl: downloadCartPageUrl,
|
|
159
|
+
} }, children)));
|
|
160
|
+
}
|
|
161
|
+
exports.default = ApplicationSessionManager;
|
|
162
|
+
//# sourceMappingURL=ApplicationSessionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApplicationSessionManager.js","sourceRoot":"","sources":["../../../../src/lib/utils/apputils/session/ApplicationSessionManager.tsx"],"names":[],"mappings":";;;AAAA,qDAA+D;AAC/D,qCAA2C;AAC3C,0FAA2D;AAC3D,2CAAiD;AACjD,qDAA6C;AAE7C,yEAA+E;AAC/E,uDAA6D;AAC7D,wDAAyB;AAWzB;;;;;;;;;;;;;GAaG;AACH,SAAwB,yBAAyB,CAC/C,KAAqC;IADvC,iBAqIC;IAjIG,IAAA,QAAQ,GAKN,KAAK,SALC,EACR,mBAAmB,GAIjB,KAAK,oBAJY,EACnB,sBAAsB,GAGpB,KAAK,uBAHe,EACtB,MAAM,GAEJ,KAAK,OAFD,EACN,OAAO,GACL,KAAK,QADA,CACA;IACT,IAAM,OAAO,GAAG,IAAA,6BAAU,GAAE,CAAA;IAEtB,IAAA,KAAoB,IAAA,gBAAQ,EAAqB,SAAS,CAAC,EAA1D,KAAK,QAAA,EAAE,QAAQ,QAA2C,CAAA;IAC3D,IAAA,KAA4C,IAAA,gBAAQ,EAExD,SAAS,CAAC,EAFL,iBAAiB,QAAA,EAAE,oBAAoB,QAElC,CAAA;IACN,IAAA,KAAoD,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAlE,qBAAqB,QAAA,EAAE,wBAAwB,QAAmB,CAAA;IACnE,IAAA,KAAoD,IAAA,gBAAQ,EAEhE,SAAS,CAAC,EAFL,qBAAqB,QAAA,EAAE,wBAAwB,QAE1C,CAAA;IACZ,IAAM,sBAAsB,GAAG,IAAA,mBAAW,EAAC;QACzC,qBAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;YAC3B,cAAc;YACd,QAAQ,CAAC,SAAS,CAAC,CAAA;YACnB,oBAAoB,CAAC,SAAS,CAAC,CAAA;YAC/B,wBAAwB,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAM,cAAc,GAAG,IAAA,mBAAW,EAAC;;;;;oBACjC,wBAAwB,CAAC,SAAS,CAAC,CAAA;;;;oBAGzB,qBAAM,qBAAa,CAAC,wBAAwB,EAAE,EAAA;;oBAAtD,KAAK,GAAG,SAA8C,CAAA;oBACtD,IAAI,CAAC,KAAK,EAAE;wBACV,sBAAsB,EAAE,CAAA;wBACxB,sBAAM;qBACP;;;;oBAED,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAC,CAAC,CAAA;oBACpD,IAAI,OAAO,EAAE;wBACX,OAAO,CAAC,GAAC,CAAC,CAAA;qBACX;oBACD,sBAAsB,EAAE,CAAA;oBACxB,sBAAM;;yBAEJ,MAAM,EAAN,wBAAM;oBAEwB,qBAAM,qBAAa,CAAC,kBAAkB,CACpE,KAAK,CACN,EAAA;;oBAFK,uBAAuB,GAAG,SAE/B;oBACK,mBAAmB,GAAG,eAAK,CAAC,GAAG,CACnC,uBAAuB,CAAC,eAAe,CACxC,CAAA;oBACK,GAAG,GAAG,eAAK,CAAC,GAAG,EAAE,CAAA;oBACvB,IAAI,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GAAG,MAAM,EAAE;wBACrD,uEAAuE;wBACvE,wBAAwB,CAAC,IAAI,CAAC,CAAA;wBAC9B,sBAAM;qBACP;;;oBAEH,QAAQ,CAAC,KAAK,CAAC,CAAA;oBACf,wBAAwB,CAAC,IAAI,CAAC,CAAA;;;;oBAG5B,6EAA6E;oBAC7E,oEAAoE;oBACpE,qBAAM,qBAAa,CAAC,cAAc,CAAC,KAAK,CAAC,EAAA;;oBAFzC,6EAA6E;oBAC7E,oEAAoE;oBACpE,SAAyC,CAAA;oBACzC,oBAAoB,CAAC,IAAI,CAAC,CAAA;;;;oBAE1B,IAAI,GAAC,IAAI,GAAC,CAAC,MAAM,IAAI,oCAAoC,EAAE;wBACzD,oBAAoB,CAAC,KAAK,CAAC,CAAA;qBAC5B;yBAAM;wBACL,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAC,CAAC,CAAA;wBAC7C,6EAA6E;wBAC7E,wCAAwC;wBACxC,qBAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;4BAC3B,kGAAkG;4BAClG,oCAAoC;4BACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;wBAC1B,CAAC,CAAC,CAAA;qBACH;;;;;SAEJ,EAAE,CAAC,sBAAsB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAE7C,IAAM,YAAY,GAAG,IAAA,mBAAW,EAAC;;;wBAC/B,qBAAM,qBAAa,CAAC,OAAO,EAAE,EAAA;;oBAA7B,SAA6B,CAAA;oBAC7B,qBAAM,cAAc,EAAE,EAAA;;oBAAtB,SAAsB,CAAA;oBACtB,IAAI,sBAAsB,EAAE;wBAC1B,sBAAsB,EAAE,CAAA;qBACzB;;;;SACF,EAAE,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC,CAAA;IAE5C,mCAAmC;IACnC,IAAA,iBAAS,EAAC;QACR,cAAc,EAAE,CAAA;QAChB,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAA;IAEE,IAAW,YAAY,GAAK,IAAA,0BAAgB,EAAC;QACnD,gBAAgB,EAAE;YAChB,IAAA,2BAAgB,EAAC,OAAO,CAAC,CAAA;YACzB,cAAc,EAAE,CAAA;QAClB,CAAC;QACD,uBAAuB,EAAE,UAAA,kBAAkB;YACzC,wBAAwB,CAAC,kBAAkB,CAAC,CAAA;QAC9C,CAAC;KACF,CAAC,UAR6B,CAQ7B;IAEF,OAAO,CACL,8BAAC,6DAAiC,IAChC,OAAO,EAAE;YACP,KAAK,OAAA;YACL,iBAAiB,mBAAA;YACjB,cAAc,gBAAA;YACd,YAAY,cAAA;YACZ,YAAY,cAAA;YACZ,6BAA6B,EAAE,qBAAqB;YACpD,qBAAqB,uBAAA;SACtB;QAED,8BAAC,uCAAsB,IACrB,cAAc,EAAE;gBACd,WAAW,EAAE,KAAK;gBAClB,oBAAoB,EAAE,qBAAa,CAAC,2BAA2B,EAAE;gBACjE,OAAO,EAAE,qBAAa,CAAC,uBAAuB,EAAE;gBAChD,mBAAmB,qBAAA;aACpB,IAEA,QAAQ,CACc,CACS,CACrC,CAAA;AACH,CAAC;AArID,4CAqIC"}
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
*
|
|
6
6
|
* See https://stackoverflow.com/questions/25421233
|
|
7
7
|
*/
|
|
8
|
-
export declare function removeUndefined(obj: Record<string, unknown>, inPlace?: boolean):
|
|
8
|
+
export declare function removeUndefined(obj: Record<string, unknown>, inPlace?: boolean): {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { getNextPageOfData } from './queryUtils';
|
|
2
|
+
export { getNextPageOfData };
|
|
3
|
+
declare const _default: {
|
|
4
|
+
getNextPageOfData: (queryRequest: import("../synapseTypes").QueryBundleRequest, data: import("../synapseTypes").QueryResultBundle, token?: string | undefined) => Promise<{
|
|
5
|
+
hasMoreData: boolean;
|
|
6
|
+
data: import("../synapseTypes").QueryResultBundle;
|
|
7
|
+
}>;
|
|
8
|
+
};
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getNextPageOfData = void 0;
|
|
4
|
+
var queryUtils_1 = require("./queryUtils");
|
|
5
|
+
Object.defineProperty(exports, "getNextPageOfData", { enumerable: true, get: function () { return queryUtils_1.getNextPageOfData; } });
|
|
6
|
+
exports.default = {
|
|
7
|
+
getNextPageOfData: queryUtils_1.getNextPageOfData,
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/functions/index.tsx"],"names":[],"mappings":";;;AAAA,2CAAgD;AAEvC,kGAFA,8BAAiB,OAEA;AAE1B,kBAAe;IACb,iBAAiB,gCAAA;CAClB,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Row, SelectColumn } from '../synapseTypes';
|
|
2
|
-
import { QueryFilter } from '../synapseTypes/Table/QueryFilter';
|
|
3
|
-
export type SQLOperator =
|
|
2
|
+
import { ColumnMultiValueFunction, ColumnSingleValueFilterOperator, QueryFilter } from '../synapseTypes/Table/QueryFilter';
|
|
3
|
+
export type SQLOperator = ColumnSingleValueFilterOperator | ColumnMultiValueFunction;
|
|
4
4
|
/**
|
|
5
5
|
* Given the search params, return a set of QueryFilters to narrow the the query to view just related data. May return null if a QueryFilter should not be added.
|
|
6
6
|
* @param sql
|