synapse-react-client 2.1.19 → 2.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/containers/ChangePassword.d.ts +3 -0
  2. package/dist/containers/ChangePassword.js +88 -0
  3. package/dist/containers/ChangePassword.js.map +1 -0
  4. package/dist/containers/FileUpload.d.ts +1 -1
  5. package/dist/containers/FileUpload.js.map +1 -1
  6. package/dist/containers/FluidModal.d.ts +2 -0
  7. package/dist/containers/FluidModal.js +6 -1
  8. package/dist/containers/FluidModal.js.map +1 -1
  9. package/dist/containers/LoadingScreen.d.ts +7 -1
  10. package/dist/containers/LoadingScreen.js +15 -4
  11. package/dist/containers/LoadingScreen.js.map +1 -1
  12. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.d.ts +1 -7
  13. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.js.map +1 -1
  14. package/dist/containers/entity_finder/EntityFinderModal.d.ts +2 -0
  15. package/dist/containers/entity_finder/EntityFinderModal.js +1 -1
  16. package/dist/containers/entity_finder/EntityFinderModal.js.map +1 -1
  17. package/dist/containers/entity_finder/details/configurations/EntityChildrenDetails.js +6 -4
  18. package/dist/containers/entity_finder/details/configurations/EntityChildrenDetails.js.map +1 -1
  19. package/dist/containers/entity_finder/details/view/DetailsView.d.ts +5 -1
  20. package/dist/containers/entity_finder/details/view/DetailsView.js +9 -2
  21. package/dist/containers/entity_finder/details/view/DetailsView.js.map +1 -1
  22. package/dist/containers/table/datasets/DatasetItemsEditor.js +4 -0
  23. package/dist/containers/table/datasets/DatasetItemsEditor.js.map +1 -1
  24. package/dist/containers/widgets/facet-nav/FacetNav.js +3 -1
  25. package/dist/containers/widgets/facet-nav/FacetNav.js.map +1 -1
  26. package/dist/containers/widgets/query-filter/QueryFilter.js +4 -0
  27. package/dist/containers/widgets/query-filter/QueryFilter.js.map +1 -1
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.js +4 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/style/abstracts/_variables.scss +14 -0
  32. package/dist/style/components/_bar-loader.scss +11 -2
  33. package/dist/style/components/_spinner.scss +2 -2
  34. package/dist/style/main.css +19 -2
  35. package/dist/umd/synapse-react-client.development.css +44 -2
  36. package/dist/umd/synapse-react-client.development.css.map +3 -3
  37. package/dist/umd/synapse-react-client.development.js +246 -89
  38. package/dist/umd/synapse-react-client.development.js.map +3 -3
  39. package/dist/umd/synapse-react-client.production.min.css +1 -1
  40. package/dist/umd/synapse-react-client.production.min.js +74 -74
  41. package/dist/umd.index.d.ts +1 -0
  42. package/dist/umd.index.js +2 -0
  43. package/dist/umd.index.js.map +1 -1
  44. package/dist/utils/APIConstants.d.ts +2 -0
  45. package/dist/utils/APIConstants.js +3 -1
  46. package/dist/utils/APIConstants.js.map +1 -1
  47. package/dist/utils/SynapseClient.d.ts +19 -3
  48. package/dist/utils/SynapseClient.js +53 -7
  49. package/dist/utils/SynapseClient.js.map +1 -1
  50. package/dist/utils/functions/EntityTypeUtils.js +8 -1
  51. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  52. package/dist/utils/functions/queryUtils.d.ts +1 -0
  53. package/dist/utils/functions/queryUtils.js +7 -1
  54. package/dist/utils/functions/queryUtils.js.map +1 -1
  55. package/dist/utils/hooks/SynapseAPI/useGetEntityChildren.js +3 -3
  56. package/dist/utils/hooks/SynapseAPI/useGetEntityChildren.js.map +1 -1
  57. package/dist/utils/synapseTypes/ChangePasswordRequests.d.ts +25 -0
  58. package/dist/utils/synapseTypes/ChangePasswordRequests.js +3 -0
  59. package/dist/utils/synapseTypes/ChangePasswordRequests.js.map +1 -0
  60. package/dist/utils/synapseTypes/FileUploadComplete.d.ts +6 -0
  61. package/dist/utils/synapseTypes/VerificationSubmission.d.ts +22 -5
  62. package/dist/utils/synapseTypes/VerificationSubmission.js +8 -0
  63. package/dist/utils/synapseTypes/VerificationSubmission.js.map +1 -1
  64. package/package.json +1 -1
@@ -1550,7 +1550,7 @@ var SRC = (() => {
1550
1550
  "node_modules/react-error-boundary/dist/react-error-boundary.umd.js"(exports2, module2) {
1551
1551
  (function(global2, factory) {
1552
1552
  typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2, require_react()) : typeof define === "function" && define.amd ? define(["exports", "react"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory(global2.ReactErrorBoundary = {}, global2.React));
1553
- })(exports2, function(exports3, React404) {
1553
+ })(exports2, function(exports3, React405) {
1554
1554
  "use strict";
1555
1555
  function _interopNamespace(e3) {
1556
1556
  if (e3 && e3.__esModule)
@@ -1572,7 +1572,7 @@ var SRC = (() => {
1572
1572
  n3["default"] = e3;
1573
1573
  return Object.freeze(n3);
1574
1574
  }
1575
- var React__namespace = /* @__PURE__ */ _interopNamespace(React404);
1575
+ var React__namespace = /* @__PURE__ */ _interopNamespace(React405);
1576
1576
  function _setPrototypeOf12(o2, p3) {
1577
1577
  _setPrototypeOf12 = Object.setPrototypeOf || function _setPrototypeOf13(o3, p4) {
1578
1578
  o3.__proto__ = p4;
@@ -10718,8 +10718,8 @@ var SRC = (() => {
10718
10718
  function _interopDefault(ex) {
10719
10719
  return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex;
10720
10720
  }
10721
- var React404 = require_react();
10722
- var React__default = _interopDefault(React404);
10721
+ var React405 = require_react();
10722
+ var React__default = _interopDefault(React405);
10723
10723
  var ReactDOM10 = _interopDefault(require_react_dom());
10724
10724
  var invariant2 = _interopDefault(require_browser());
10725
10725
  var throttleDebounce = require_index_umd();
@@ -10906,11 +10906,11 @@ var SRC = (() => {
10906
10906
  _createClass13(ReferenceWrapper2, [{
10907
10907
  key: "render",
10908
10908
  value: function render() {
10909
- return React404.Children.only(this.props.children);
10909
+ return React405.Children.only(this.props.children);
10910
10910
  }
10911
10911
  }]);
10912
10912
  return ReferenceWrapper2;
10913
- }(React404.Component);
10913
+ }(React405.Component);
10914
10914
  _defineProperty20(ReferenceWrapper, "displayName", "SizeMeReferenceWrapper");
10915
10915
  function Placeholder3(_ref4) {
10916
10916
  var className = _ref4.className, style = _ref4.style;
@@ -11148,7 +11148,7 @@ var SRC = (() => {
11148
11148
  }
11149
11149
  }]);
11150
11150
  return SizeMe5;
11151
- }(React404.Component);
11151
+ }(React405.Component);
11152
11152
  _defineProperty20(SizeMe4, "defaultProps", {
11153
11153
  children: void 0,
11154
11154
  render: void 0
@@ -24975,6 +24975,7 @@ var SRC = (() => {
24975
24975
  addFilesToDownloadListV2: () => addFilesToDownloadListV2,
24976
24976
  bindOAuthProviderToAccount: () => bindOAuthProviderToAccount,
24977
24977
  cancelDataAccessRequest: () => cancelDataAccessRequest,
24978
+ changePasswordWithCurrentPassword: () => changePasswordWithCurrentPassword,
24978
24979
  checkUploadComplete: () => checkUploadComplete,
24979
24980
  clearDownloadListV2: () => clearDownloadListV2,
24980
24981
  consentToOAuth2Request: () => consentToOAuth2Request,
@@ -24987,6 +24988,7 @@ var SRC = (() => {
24987
24988
  createManifestFromDownloadListV2: () => createManifestFromDownloadListV2,
24988
24989
  createPackageFromDownloadListV2: () => createPackageFromDownloadListV2,
24989
24990
  createPersonalAccessToken: () => createPersonalAccessToken,
24991
+ createProfileVerificationSubmission: () => createProfileVerificationSubmission,
24990
24992
  createProject: () => createProject,
24991
24993
  delay: () => delay,
24992
24994
  deleteDownloadList: () => deleteDownloadList,
@@ -25044,6 +25046,7 @@ var SRC = (() => {
25044
25046
  getFullQueryTableResults: () => getFullQueryTableResults,
25045
25047
  getGroupHeadersBatch: () => getGroupHeadersBatch,
25046
25048
  getMyProjects: () => getMyProjects,
25049
+ getMyUserBundle: () => getMyUserBundle,
25047
25050
  getNotificationEmail: () => getNotificationEmail,
25048
25051
  getOAuth2Client: () => getOAuth2Client,
25049
25052
  getOAuth2RequestDescription: () => getOAuth2RequestDescription,
@@ -25096,6 +25099,7 @@ var SRC = (() => {
25096
25099
  searchEntities: () => searchEntities,
25097
25100
  setAccessTokenCookie: () => setAccessTokenCookie,
25098
25101
  signOut: () => signOut,
25102
+ signSynapseTermsOfUse: () => signSynapseTermsOfUse,
25099
25103
  startMultipartUpload: () => startMultipartUpload,
25100
25104
  submitDataAccessRequest: () => submitDataAccessRequest,
25101
25105
  submitFormData: () => submitFormData,
@@ -25107,6 +25111,7 @@ var SRC = (() => {
25107
25111
  updateEvaluationRound: () => updateEvaluationRound,
25108
25112
  updateFormACL: () => updateFormACL,
25109
25113
  updateFormData: () => updateFormData,
25114
+ updateMyUserProfile: () => updateMyUserProfile,
25110
25115
  updateResearchProject: () => updateResearchProject,
25111
25116
  updateTable: () => updateTable,
25112
25117
  uploadFile: () => uploadFile
@@ -29915,6 +29920,7 @@ var SRC = (() => {
29915
29920
  // src/lib/utils/APIConstants.ts
29916
29921
  var BACKEND_ENDPOINT = `${getEndpoint(BackendDestinationEnum.REPO_ENDPOINT)}`;
29917
29922
  var REPO = `/repo/v1`;
29923
+ var AUTH = `/auth/v1`;
29918
29924
  var ASYNC_START = "/async/start";
29919
29925
  var ASYNC_GET = "/async/get";
29920
29926
  var ENTITY = `${REPO}/entity`;
@@ -29943,6 +29949,8 @@ var SRC = (() => {
29943
29949
  var ALIAS_AVAILABLE = `${REPO}/principal/available`;
29944
29950
  var REGISTER_ACCOUNT_STEP_1 = (portalEndpoint) => `${REPO}/account/emailValidation?portalEndpoint=${portalEndpoint}`;
29945
29951
  var REGISTER_ACCOUNT_STEP_2 = `${REPO}/account2`;
29952
+ var SIGN_TERMS_OF_USE = `${AUTH}/termsOfUse2`;
29953
+ var VERIFICATION_SUBMISSION = `${REPO}/verificationSubmission`;
29946
29954
  var ACCESS_REQUIREMENT_BY_ID = (id2) => `${REPO}/accessRequirement/${id2}`;
29947
29955
  var FAVORITES = `${REPO}/favorite`;
29948
29956
 
@@ -30230,7 +30238,7 @@ var SRC = (() => {
30230
30238
  }
30231
30239
  });
30232
30240
  };
30233
- var doPost = (url, requestJsonObject, accessToken, initCredentials, endpoint) => {
30241
+ var doPost = (url, requestJsonObject, accessToken, initCredentials, endpoint, signal) => {
30234
30242
  const options2 = {
30235
30243
  body: JSON.stringify(requestJsonObject),
30236
30244
  headers: {
@@ -30240,7 +30248,8 @@ var SRC = (() => {
30240
30248
  },
30241
30249
  method: "POST",
30242
30250
  mode: "cors",
30243
- credentials: initCredentials
30251
+ credentials: initCredentials,
30252
+ signal
30244
30253
  };
30245
30254
  if (accessToken) {
30246
30255
  options2.headers.authorization = `Bearer ${accessToken}`;
@@ -30400,6 +30409,13 @@ var SRC = (() => {
30400
30409
  var getUserBundle = (id2, mask2, accessToken) => {
30401
30410
  return doGet(`${USER_ID_BUNDLE(id2)}?mask=${mask2}`, accessToken, void 0, BackendDestinationEnum.REPO_ENDPOINT);
30402
30411
  };
30412
+ var getMyUserBundle = (mask2, accessToken) => {
30413
+ return doGet(`${USER_BUNDLE}?mask=${mask2}`, accessToken, void 0, BackendDestinationEnum.REPO_ENDPOINT);
30414
+ };
30415
+ var updateMyUserProfile = (profile, accessToken = void 0) => {
30416
+ const url = "/repo/v1/userProfile";
30417
+ return doPut(url, profile, accessToken, void 0, BackendDestinationEnum.REPO_ENDPOINT);
30418
+ };
30403
30419
  var getUserGroupHeaders = (prefix3 = "", typeFilter = "ALL", offset2 = 0, limit = 20) => {
30404
30420
  return doGet(`/repo/v1/userGroupHeaders?prefix=${prefix3}&typeFilter=${typeFilter}&offset=${offset2}&limit=${limit}`, void 0, void 0, BackendDestinationEnum.REPO_ENDPOINT);
30405
30421
  };
@@ -30409,8 +30425,8 @@ var SRC = (() => {
30409
30425
  var getUserProfiles = (list, accessToken = void 0) => {
30410
30426
  return doPost(USER_PROFILE, { list }, accessToken, void 0, BackendDestinationEnum.REPO_ENDPOINT);
30411
30427
  };
30412
- var getEntityChildren = (request, accessToken = void 0) => {
30413
- return doPost("/repo/v1/entity/children", request, accessToken, void 0, BackendDestinationEnum.REPO_ENDPOINT);
30428
+ var getEntityChildren = (request, accessToken = void 0, signal) => {
30429
+ return doPost("/repo/v1/entity/children", request, accessToken, void 0, BackendDestinationEnum.REPO_ENDPOINT, signal);
30414
30430
  };
30415
30431
  var lookupChildEntity = (request, accessToken = void 0) => {
30416
30432
  return doPost("/repo/v1/entity/child", request, accessToken, void 0, BackendDestinationEnum.REPO_ENDPOINT);
@@ -31125,8 +31141,18 @@ var SRC = (() => {
31125
31141
  var oAuthRegisterAccountStep2 = (userName, provider, authenticationCode, redirectUrl, endpoint = BackendDestinationEnum.REPO_ENDPOINT) => {
31126
31142
  return doPost("/auth/v1/oauth2/account2", { provider, authenticationCode, redirectUrl, userName }, void 0, void 0, endpoint);
31127
31143
  };
31128
- var bindOAuthProviderToAccount = (provider, authenticationCode, redirectUrl, endpoint = BackendDestinationEnum.REPO_ENDPOINT) => {
31129
- return doPost("/auth/v1/oauth2/alias", { provider, authenticationCode, redirectUrl }, void 0, void 0, endpoint);
31144
+ var bindOAuthProviderToAccount = (_0, _1, _2, ..._3) => __async(void 0, [_0, _1, _2, ..._3], function* (provider, authenticationCode, redirectUrl, endpoint = BackendDestinationEnum.REPO_ENDPOINT) {
31145
+ const accessToken = yield getAccessTokenFromCookie();
31146
+ return doPost("/auth/v1/oauth2/alias", { provider, authenticationCode, redirectUrl }, accessToken, void 0, endpoint);
31147
+ });
31148
+ var signSynapseTermsOfUse = (accessToken) => {
31149
+ return doPost(SIGN_TERMS_OF_USE, { accessToken }, void 0, void 0, BackendDestinationEnum.REPO_ENDPOINT);
31150
+ };
31151
+ var createProfileVerificationSubmission = (verificationSubmission, accessToken) => {
31152
+ return doPost(VERIFICATION_SUBMISSION, verificationSubmission, accessToken, void 0, BackendDestinationEnum.REPO_ENDPOINT);
31153
+ };
31154
+ var changePasswordWithCurrentPassword = (newPassword, accessToken) => {
31155
+ return doPost("/auth/v1/user/changePassword", newPassword, accessToken, void 0, BackendDestinationEnum.REPO_ENDPOINT);
31130
31156
  };
31131
31157
 
31132
31158
  // src/lib/containers/UserCardSmall.tsx
@@ -53030,13 +53056,28 @@ var SRC = (() => {
53030
53056
  }
53031
53057
  });
53032
53058
  };
53033
- var BlockingLoader = ({ show }) => {
53059
+ var BlockingLoader = ({ show, currentProgress, onCancel, totalProgress, headlineText, hintText }) => {
53034
53060
  (0, import_react55.useEffect)(() => {
53035
53061
  document.body.style.cursor = show ? "wait" : "default";
53036
53062
  return () => {
53037
53063
  document.body.style.cursor = "default";
53038
53064
  };
53039
53065
  }, [show]);
53066
+ const barLoader = /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, /* @__PURE__ */ import_react55.default.createElement("div", {
53067
+ className: "bar-loader"
53068
+ }, /* @__PURE__ */ import_react55.default.createElement(LinearProgress_default, {
53069
+ "data-testid": "progress-bar",
53070
+ variant: "determinate",
53071
+ classes: {
53072
+ colorPrimary: "bar-background-color",
53073
+ barColorPrimary: "bar-color"
53074
+ },
53075
+ value: currentProgress / totalProgress * 100
53076
+ })), /* @__PURE__ */ import_react55.default.createElement(Typography_default2, {
53077
+ variant: "headline3"
53078
+ }, headlineText), /* @__PURE__ */ import_react55.default.createElement(Typography_default2, {
53079
+ variant: "hintText"
53080
+ }, hintText));
53040
53081
  return /* @__PURE__ */ import_react55.default.createElement(import_react_bootstrap16.Modal, {
53041
53082
  className: "bootstrap-4-backport BlockingLoader",
53042
53083
  backdrop: false,
@@ -53047,12 +53088,17 @@ var SRC = (() => {
53047
53088
  onHide: () => {
53048
53089
  }
53049
53090
  }, /* @__PURE__ */ import_react55.default.createElement("div", {
53050
- className: "SpinnerContainer"
53051
- }, /* @__PURE__ */ import_react55.default.createElement(SynapseSpinner, {
53091
+ className: "SpinnerContainer",
53092
+ "data-testid": "spinner-container"
53093
+ }, totalProgress ? barLoader : /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, /* @__PURE__ */ import_react55.default.createElement(SynapseSpinner, {
53052
53094
  size: 40
53053
53095
  }), /* @__PURE__ */ import_react55.default.createElement(Typography_default2, {
53054
- variant: "headline3"
53055
- }, "Loading...")));
53096
+ variant: "headline3",
53097
+ "data-testid": "spinner-hint-text"
53098
+ }, hintText)), onCancel && /* @__PURE__ */ import_react55.default.createElement(import_react_bootstrap16.Button, {
53099
+ variant: "default",
53100
+ onClick: onCancel
53101
+ }, "Cancel")));
53056
53102
  };
53057
53103
  var LoadingScreen_default = loadingScreen;
53058
53104
 
@@ -54183,6 +54229,9 @@ Please refer to our full <a target="_blank" href="https://help.synapse.org/docs/
54183
54229
  var isFacetAvailable = (facets) => {
54184
54230
  return facets ? facets.length > 0 : false;
54185
54231
  };
54232
+ var isSingleNotSetValue = (facet) => {
54233
+ return facet.facetType === "enumeration" && facet.facetValues.length == 1 && facet.facetValues[0].value == SynapseConstants_exports.VALUE_NOT_SET;
54234
+ };
54186
54235
 
54187
54236
  // src/lib/utils/hooks/SynapseAPI/useGetQueryResultBundle.ts
54188
54237
  function useGetQueryResultBundle(queryBundleRequest, options2) {
@@ -59689,6 +59738,7 @@ filepath = ${entityId}.path`;
59689
59738
  case EntityType.SUBMISSION_VIEW:
59690
59739
  case EntityType.ENTITY_VIEW:
59691
59740
  case EntityType.DATASET:
59741
+ case EntityType.MATERIALIZED_VIEW:
59692
59742
  return false;
59693
59743
  default:
59694
59744
  throw new Error(`Unknown entity type: ${type}`);
@@ -59707,13 +59757,15 @@ filepath = ${entityId}.path`;
59707
59757
  case EntityType.LINK:
59708
59758
  return "Link";
59709
59759
  case EntityType.ENTITY_VIEW:
59710
- return "Entity View";
59760
+ return "View";
59711
59761
  case EntityType.DOCKER_REPO:
59712
59762
  return "Docker Repository";
59713
59763
  case EntityType.SUBMISSION_VIEW:
59714
59764
  return "Submission View";
59715
59765
  case EntityType.DATASET:
59716
59766
  return "Dataset";
59767
+ case EntityType.MATERIALIZED_VIEW:
59768
+ return "Materialized View";
59717
59769
  default:
59718
59770
  console.warn("Entity type could not be mapped to name:", entityType);
59719
59771
  return "";
@@ -59748,6 +59800,9 @@ filepath = ${entityId}.path`;
59748
59800
  case EntityType.DATASET:
59749
59801
  case "org.sagebionetworks.repo.model.table.Dataset":
59750
59802
  return EntityType.DATASET;
59803
+ case EntityType.MATERIALIZED_VIEW:
59804
+ case "org.sagebionetworks.repo.model.table.MaterializedView":
59805
+ return EntityType.MATERIALIZED_VIEW;
59751
59806
  default:
59752
59807
  throw new Error(`Unknown entity type: ${typeString}`);
59753
59808
  }
@@ -59758,6 +59813,7 @@ filepath = ${entityId}.path`;
59758
59813
  case EntityType.FOLDER:
59759
59814
  case EntityType.LINK:
59760
59815
  case EntityType.DOCKER_REPO:
59816
+ case EntityType.MATERIALIZED_VIEW:
59761
59817
  return false;
59762
59818
  case EntityType.FILE:
59763
59819
  case EntityType.TABLE:
@@ -65928,15 +65984,15 @@ filepath = ${entityId}.path`;
65928
65984
  // src/lib/utils/hooks/SynapseAPI/useGetEntityChildren.ts
65929
65985
  function useGetEntityChildren(request, options2) {
65930
65986
  const { accessToken } = useSynapseContext();
65931
- return useQuery([accessToken, "entitychildren", request], () => SynapseClient_exports.getEntityChildren(request, accessToken), options2);
65987
+ return useQuery(["entitychildren", request], () => SynapseClient_exports.getEntityChildren(request, accessToken), options2);
65932
65988
  }
65933
65989
  function useGetEntityChildrenInfinite(request, options2) {
65934
65990
  const { accessToken } = useSynapseContext();
65935
- return useInfiniteQuery([accessToken, "entitychildren", request], (context) => __async(this, null, function* () {
65991
+ return useInfiniteQuery(["entitychildren", request], (context) => __async(this, null, function* () {
65936
65992
  return yield SynapseClient_exports.getEntityChildren(__spreadProps(__spreadValues({}, request), {
65937
65993
  includeTotalChildCount: context.pageParam ? false : request.includeTotalChildCount,
65938
65994
  nextPageToken: context.pageParam
65939
- }), accessToken);
65995
+ }), accessToken, context.signal);
65940
65996
  }), __spreadProps(__spreadValues({}, options2), {
65941
65997
  getNextPageParam: (page) => page.nextPageToken
65942
65998
  }));
@@ -82224,13 +82280,20 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
82224
82280
  noResultsPlaceholder,
82225
82281
  enableSelectAll,
82226
82282
  selectAllIsChecked = false,
82227
- latestVersionText = "Always Latest Version"
82283
+ latestVersionText = "Always Latest Version",
82284
+ getChildrenInfiniteRequestObject,
82285
+ totalEntities
82228
82286
  }) => {
82229
82287
  const queryClient = useQueryClient();
82230
82288
  const { accessToken } = useSynapseContext();
82231
82289
  const showSelectColumn = selectColumnType !== "none";
82232
82290
  const [shouldSelectAll, setShouldSelectAll] = (0, import_react202.useState)(false);
82233
82291
  const [showLoadingScreen, setShowLoadingScreen] = (0, import_react202.useState)(false);
82292
+ const cancelQuery = () => {
82293
+ queryClient.cancelQueries(["entitychildren", getChildrenInfiniteRequestObject]);
82294
+ setShowLoadingScreen(false);
82295
+ setShouldSelectAll(false);
82296
+ };
82234
82297
  const determineRowAppearance = (entity) => {
82235
82298
  if (!visibleTypes.includes(getEntityTypeFromHeader(entity))) {
82236
82299
  return "hidden";
@@ -82356,7 +82419,12 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
82356
82419
  return /* @__PURE__ */ import_react202.default.createElement("div", {
82357
82420
  className: "EntityFinderDetailsView bootstrap-4-backport"
82358
82421
  }, /* @__PURE__ */ import_react202.default.createElement(BlockingLoader, {
82359
- show: showLoadingScreen
82422
+ show: showLoadingScreen,
82423
+ currentProgress: entities.length,
82424
+ totalProgress: totalEntities,
82425
+ hintText: totalEntities ? `${entities.length.toLocaleString()} of ${totalEntities == null ? void 0 : totalEntities.toLocaleString()}` : `Fetching ${entities.length.toLocaleString()}`,
82426
+ headlineText: "Fetching selected items",
82427
+ onCancel: cancelQuery
82360
82428
  }), /* @__PURE__ */ import_react202.default.createElement(AutoResizer_default, {
82361
82429
  className: "DetailsViewAutosizer",
82362
82430
  onResize: rebuildTooltip
@@ -82543,6 +82611,13 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
82543
82611
  const [sortBy3, setSortBy] = (0, import_react204.useState)(SortBy.NAME);
82544
82612
  const [sortDirection, setSortDirection] = (0, import_react204.useState)(Direction.ASC);
82545
82613
  const handleError = (0, import_react_error_boundary8.useErrorHandler)();
82614
+ const getChildrenInfiniteRequestObject = {
82615
+ parentId: parentContainerId,
82616
+ includeTotalChildCount: true,
82617
+ includeTypes: sharedProps.visibleTypes,
82618
+ sortBy: sortBy3,
82619
+ sortDirection
82620
+ };
82546
82621
  const {
82547
82622
  data: data2,
82548
82623
  isLoading,
@@ -82551,14 +82626,9 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
82551
82626
  fetchNextPage,
82552
82627
  isError: isError2,
82553
82628
  error
82554
- } = useGetEntityChildrenInfinite({
82555
- parentId: parentContainerId,
82556
- includeTotalChildCount: false,
82557
- includeTypes: sharedProps.visibleTypes,
82558
- sortBy: sortBy3,
82559
- sortDirection
82560
- });
82629
+ } = useGetEntityChildrenInfinite(getChildrenInfiniteRequestObject);
82561
82630
  const entities = (_a2 = data2 == null ? void 0 : data2.pages.flatMap((page) => page.page)) != null ? _a2 : [];
82631
+ const totalEntities = data2 == null ? void 0 : data2.pages[0].totalChildCount;
82562
82632
  const selectAllCheckboxState = useGetIsAllSelectedFromInfiniteList(entities, sharedProps.selected, sharedProps.selectableTypes, hasNextPage2, fetchNextPage, isFetchingNextPage);
82563
82633
  (0, import_react204.useEffect)(() => {
82564
82634
  if (isError2 && error) {
@@ -82576,7 +82646,9 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
82576
82646
  setSortBy(newSortBy);
82577
82647
  setSortDirection(newSortDirection);
82578
82648
  },
82579
- selectAllIsChecked: selectAllCheckboxState
82649
+ selectAllIsChecked: selectAllCheckboxState,
82650
+ getChildrenInfiniteRequestObject,
82651
+ totalEntities
82580
82652
  }, sharedProps));
82581
82653
  };
82582
82654
 
@@ -86470,6 +86542,9 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
86470
86542
  }, "Filter By"), isLoading && /* @__PURE__ */ React359.createElement("div", null, "Loading..."), !isLoading && facets.map((facet, index3) => {
86471
86543
  const columnModel = columnModels.find((model) => model.name === facet.columnName);
86472
86544
  const shouldStartCollapsed = index3 > 2;
86545
+ if (isSingleNotSetValue(facet)) {
86546
+ return;
86547
+ }
86473
86548
  return /* @__PURE__ */ React359.createElement("div", {
86474
86549
  className: "QueryFilter__facet",
86475
86550
  key: facet.columnName
@@ -87262,7 +87337,7 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
87262
87337
  var _a, _b;
87263
87338
  const result = (_b = (_a = data2 == null ? void 0 : data2.facets) == null ? void 0 : _a.filter((item) => {
87264
87339
  const isFacetToPlot = item.facetType === "enumeration" && (!(facetsToPlot == null ? void 0 : facetsToPlot.length) || facetsToPlot.indexOf(item.columnName) > -1);
87265
- return isFacetToPlot && item.facetValues.length > 0;
87340
+ return isFacetToPlot && item.facetValues.length > 0 && !isSingleNotSetValue(item);
87266
87341
  })) != null ? _b : [];
87267
87342
  return result;
87268
87343
  }
@@ -91048,14 +91123,85 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91048
91123
  };
91049
91124
  var PlotlyWrapper_default = PlotlyWrapper;
91050
91125
 
91126
+ // src/lib/containers/ChangePassword.tsx
91127
+ var import_react260 = __toModule(require_react());
91128
+ var import_react_bootstrap70 = __toModule(require_react_bootstrap());
91129
+ var ChangePassword = () => {
91130
+ const { accessToken } = useSynapseContext();
91131
+ const [oldPassword, setOldPassword] = (0, import_react260.useState)("");
91132
+ const [newPassword, setNewPassword] = (0, import_react260.useState)("");
91133
+ const [confirmPassword, setConfirmPassword] = (0, import_react260.useState)("");
91134
+ const [currentUserProfile, setUserProfile] = (0, import_react260.useState)();
91135
+ (0, import_react260.useEffect)(() => {
91136
+ function getUserProfile2() {
91137
+ return __async(this, null, function* () {
91138
+ const userProfile = yield SynapseClient_exports.getUserProfile(accessToken);
91139
+ setUserProfile(userProfile);
91140
+ });
91141
+ }
91142
+ if (accessToken) {
91143
+ getUserProfile2();
91144
+ } else {
91145
+ setUserProfile(void 0);
91146
+ }
91147
+ }, [
91148
+ accessToken
91149
+ ]);
91150
+ const handleChangePassword = (clickEvent) => __async(void 0, null, function* () {
91151
+ clickEvent.preventDefault();
91152
+ try {
91153
+ if (newPassword !== confirmPassword) {
91154
+ displayToast("New password and confirm password does not match.", "danger");
91155
+ } else if (accessToken) {
91156
+ const changeRequest = {
91157
+ newPassword,
91158
+ concreteType: "org.sagebionetworks.repo.model.auth.ChangePasswordWithCurrentPassword",
91159
+ username: currentUserProfile == null ? void 0 : currentUserProfile.userName,
91160
+ currentPassword: oldPassword
91161
+ };
91162
+ yield SynapseClient_exports.changePasswordWithCurrentPassword(changeRequest, accessToken).then(() => displayToast("Successfully changed", "success")).catch((err) => displayToast(err.reason, "danger"));
91163
+ }
91164
+ } catch (err) {
91165
+ displayToast(err.reason, "danger");
91166
+ }
91167
+ });
91168
+ return /* @__PURE__ */ import_react260.default.createElement("div", {
91169
+ className: "changePassword"
91170
+ }, /* @__PURE__ */ import_react260.default.createElement("form", {
91171
+ onSubmit: handleChangePassword
91172
+ }, /* @__PURE__ */ import_react260.default.createElement(import_react_bootstrap70.FormGroup, {
91173
+ controlId: "oldPassword"
91174
+ }, /* @__PURE__ */ import_react260.default.createElement(import_react_bootstrap70.FormLabel, null, "Current Password"), /* @__PURE__ */ import_react260.default.createElement(import_react_bootstrap70.FormControl, {
91175
+ type: "password",
91176
+ onChange: (e3) => setOldPassword(e3.target.value),
91177
+ value: oldPassword
91178
+ })), /* @__PURE__ */ import_react260.default.createElement(import_react_bootstrap70.FormGroup, {
91179
+ controlId: "newPassword"
91180
+ }, /* @__PURE__ */ import_react260.default.createElement(import_react_bootstrap70.FormLabel, null, "New Password"), /* @__PURE__ */ import_react260.default.createElement(import_react_bootstrap70.FormControl, {
91181
+ type: "password",
91182
+ onChange: (e3) => setNewPassword(e3.target.value),
91183
+ value: newPassword
91184
+ })), /* @__PURE__ */ import_react260.default.createElement(import_react_bootstrap70.FormGroup, {
91185
+ controlId: "confirmPassword"
91186
+ }, /* @__PURE__ */ import_react260.default.createElement(import_react_bootstrap70.FormLabel, null, "Confirm Password"), /* @__PURE__ */ import_react260.default.createElement(import_react_bootstrap70.FormControl, {
91187
+ type: "password",
91188
+ onChange: (e3) => setConfirmPassword(e3.target.value),
91189
+ value: confirmPassword
91190
+ })), /* @__PURE__ */ import_react260.default.createElement(import_react_bootstrap70.Button, {
91191
+ type: "submit",
91192
+ onSubmit: handleChangePassword
91193
+ }, "Change Password")));
91194
+ };
91195
+ var ChangePassword_default = ChangePassword;
91196
+
91051
91197
  // src/lib/containers/table/datasets/DatasetItemsEditor.tsx
91052
- var import_react264 = __toModule(require_react());
91053
- var import_react_bootstrap71 = __toModule(require_react_bootstrap());
91198
+ var import_react265 = __toModule(require_react());
91199
+ var import_react_bootstrap72 = __toModule(require_react_bootstrap());
91054
91200
 
91055
91201
  // src/lib/utils/hooks/useSet.ts
91056
- var import_react260 = __toModule(require_react());
91202
+ var import_react261 = __toModule(require_react());
91057
91203
  function useSet(initialState) {
91058
- const [set6, setSet] = (0, import_react260.useState)(new Set(initialState));
91204
+ const [set6, setSet] = (0, import_react261.useState)(new Set(initialState));
91059
91205
  function add(...items) {
91060
91206
  const newSet = new Set(set6);
91061
91207
  for (const item of items) {
@@ -91080,10 +91226,10 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91080
91226
  }
91081
91227
 
91082
91228
  // src/lib/utils/hooks/useTraceUpdate.ts
91083
- var import_react261 = __toModule(require_react());
91229
+ var import_react262 = __toModule(require_react());
91084
91230
  function useTraceUpdate(props) {
91085
- const prev2 = (0, import_react261.useRef)(props);
91086
- (0, import_react261.useEffect)(() => {
91231
+ const prev2 = (0, import_react262.useRef)(props);
91232
+ (0, import_react262.useEffect)(() => {
91087
91233
  const changedProps = Object.entries(props).reduce((ps, [k, v]) => {
91088
91234
  if (prev2.current[k] !== v) {
91089
91235
  ps[k] = [prev2.current[k], v];
@@ -91098,53 +91244,59 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91098
91244
  }
91099
91245
 
91100
91246
  // src/lib/containers/entity_finder/EntityFinderModal.tsx
91101
- var import_react263 = __toModule(require_react());
91247
+ var import_react264 = __toModule(require_react());
91102
91248
 
91103
91249
  // src/lib/containers/FluidModal.tsx
91104
- var import_react262 = __toModule(require_react());
91105
- var import_react_bootstrap70 = __toModule(require_react_bootstrap());
91250
+ var import_react263 = __toModule(require_react());
91251
+ var import_react_bootstrap71 = __toModule(require_react_bootstrap());
91106
91252
  function ModalActionButton(props) {
91107
- return /* @__PURE__ */ import_react262.default.createElement(import_react_bootstrap70.Button, {
91253
+ return /* @__PURE__ */ import_react263.default.createElement(import_react_bootstrap71.Button, {
91108
91254
  variant: props.variant,
91109
91255
  onClick: props.onClick
91110
91256
  }, props.copy);
91111
91257
  }
91112
91258
  var FluidModal = (props) => {
91113
- return /* @__PURE__ */ import_react262.default.createElement(import_react_bootstrap70.Modal, {
91259
+ var _a, _b;
91260
+ return /* @__PURE__ */ import_react263.default.createElement(import_react_bootstrap71.Modal, {
91114
91261
  className: "FluidModal bootstrap-4-backport",
91115
91262
  backdrop: "static",
91116
91263
  animation: false,
91117
91264
  show: props.show,
91118
91265
  onHide: props.onClose
91119
- }, /* @__PURE__ */ import_react262.default.createElement(import_react_bootstrap70.Modal.Header, {
91266
+ }, /* @__PURE__ */ import_react263.default.createElement(import_react_bootstrap71.Modal.Header, {
91120
91267
  closeButton: true
91121
- }, /* @__PURE__ */ import_react262.default.createElement(import_react_bootstrap70.Modal.Title, null, /* @__PURE__ */ import_react262.default.createElement(Typography_default2, {
91268
+ }, /* @__PURE__ */ import_react263.default.createElement(import_react_bootstrap71.Modal.Title, null, /* @__PURE__ */ import_react263.default.createElement(Typography_default2, {
91122
91269
  variant: "headline1"
91123
- }, props.title))), /* @__PURE__ */ import_react262.default.createElement(import_react_bootstrap70.Modal.Body, null, props.children), /* @__PURE__ */ import_react262.default.createElement(import_react_bootstrap70.Modal.Footer, null, props.tertiaryActions && /* @__PURE__ */ import_react262.default.createElement(import_react262.default.Fragment, null, props.tertiaryActions.map((action, index3) => {
91124
- return /* @__PURE__ */ import_react262.default.createElement(ModalActionButton, __spreadValues({
91270
+ }, props.title, props.titlePopoverProps && /* @__PURE__ */ import_react263.default.createElement(HelpPopover, __spreadValues({}, __spreadProps(__spreadValues({
91271
+ placement: "right"
91272
+ }, props.titlePopoverProps), {
91273
+ className: "SRC-margin-left-5 " + ((_b = (_a = props.titlePopoverProps) == null ? void 0 : _a.className) != null ? _b : "")
91274
+ })))))), /* @__PURE__ */ import_react263.default.createElement(import_react_bootstrap71.Modal.Body, null, props.children), /* @__PURE__ */ import_react263.default.createElement(import_react_bootstrap71.Modal.Footer, null, props.tertiaryActions && /* @__PURE__ */ import_react263.default.createElement(import_react263.default.Fragment, null, props.tertiaryActions.map((action, index3) => {
91275
+ return /* @__PURE__ */ import_react263.default.createElement(ModalActionButton, __spreadValues({
91125
91276
  key: index3
91126
91277
  }, __spreadValues({
91127
91278
  variant: "outline"
91128
91279
  }, action)));
91129
- }), /* @__PURE__ */ import_react262.default.createElement("div", {
91280
+ }), /* @__PURE__ */ import_react263.default.createElement("div", {
91130
91281
  style: { margin: "auto" }
91131
91282
  })), props.secondaryActions && props.secondaryActions.reverse().map((action, index3) => {
91132
- return /* @__PURE__ */ import_react262.default.createElement(ModalActionButton, __spreadValues({
91283
+ return /* @__PURE__ */ import_react263.default.createElement(ModalActionButton, __spreadValues({
91133
91284
  key: index3
91134
91285
  }, __spreadValues({
91135
91286
  variant: "outline"
91136
91287
  }, action)));
91137
- }), props.primaryAction && /* @__PURE__ */ import_react262.default.createElement(ModalActionButton, __spreadValues({}, __spreadValues({
91288
+ }), props.primaryAction && /* @__PURE__ */ import_react263.default.createElement(ModalActionButton, __spreadValues({}, __spreadValues({
91138
91289
  variant: "sds-primary"
91139
91290
  }, props.primaryAction)))));
91140
91291
  };
91141
91292
 
91142
91293
  // src/lib/containers/entity_finder/EntityFinderModal.tsx
91143
91294
  var EntityFinderModal = (props) => {
91144
- const [selected, setSelected] = (0, import_react263.useState)([]);
91145
- return /* @__PURE__ */ import_react263.default.createElement(FluidModal, {
91295
+ const [selected, setSelected] = (0, import_react264.useState)([]);
91296
+ return /* @__PURE__ */ import_react264.default.createElement(FluidModal, {
91146
91297
  show: props.show,
91147
91298
  title: props.title,
91299
+ titlePopoverProps: props.titlePopoverProps,
91148
91300
  onClose: props.onClose,
91149
91301
  primaryAction: {
91150
91302
  copy: props.confirmButtonCopy,
@@ -91158,9 +91310,9 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91158
91310
  onClick: props.onCancel
91159
91311
  }
91160
91312
  ]
91161
- }, /* @__PURE__ */ import_react263.default.createElement(import_react263.default.Fragment, null, /* @__PURE__ */ import_react263.default.createElement(Typography_default2, {
91313
+ }, /* @__PURE__ */ import_react264.default.createElement(import_react264.default.Fragment, null, /* @__PURE__ */ import_react264.default.createElement(Typography_default2, {
91162
91314
  variant: "body1"
91163
- }, props.promptCopy), /* @__PURE__ */ import_react263.default.createElement(EntityFinder_default, __spreadProps(__spreadValues({}, props.configuration), {
91315
+ }, props.promptCopy), /* @__PURE__ */ import_react264.default.createElement(EntityFinder_default, __spreadProps(__spreadValues({}, props.configuration), {
91164
91316
  onSelectedChange: setSelected
91165
91317
  }))));
91166
91318
  };
@@ -91172,14 +91324,14 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91172
91324
  function DatasetItemsEditor(props) {
91173
91325
  var _a;
91174
91326
  const { entityId, onSave, onClose } = props;
91175
- const [showEntityFinder, setShowEntityFinder] = (0, import_react264.useState)(false);
91176
- const [showWarningModal, setShowWarningModal] = (0, import_react264.useState)(false);
91177
- const [datasetToUpdate, _setDatasetToUpdate] = (0, import_react264.useState)();
91327
+ const [showEntityFinder, setShowEntityFinder] = (0, import_react265.useState)(false);
91328
+ const [showWarningModal, setShowWarningModal] = (0, import_react265.useState)(false);
91329
+ const [datasetToUpdate, _setDatasetToUpdate] = (0, import_react265.useState)();
91178
91330
  const setDatasetToUpdate = (dataset) => {
91179
91331
  setHasChangedSinceLastSave(true);
91180
91332
  _setDatasetToUpdate(dataset);
91181
91333
  };
91182
- const [hasChangedSinceLastSave, setHasChangedSinceLastSave] = (0, import_react264.useState)(false);
91334
+ const [hasChangedSinceLastSave, setHasChangedSinceLastSave] = (0, import_react265.useState)(false);
91183
91335
  const {
91184
91336
  set: selectedIds,
91185
91337
  add: addSelectedId,
@@ -91279,7 +91431,7 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91279
91431
  }));
91280
91432
  }
91281
91433
  const DatasetItemVersionRenderer = (props2) => {
91282
- return /* @__PURE__ */ import_react264.default.createElement(DatasetEditorVersionRenderer, __spreadProps(__spreadValues({}, props2), {
91434
+ return /* @__PURE__ */ import_react265.default.createElement(DatasetEditorVersionRenderer, __spreadProps(__spreadValues({}, props2), {
91283
91435
  toggleSelection: (datasetItem) => {
91284
91436
  changeVersionOnItem(datasetItem.entityId, datasetItem.versionNumber);
91285
91437
  }
@@ -91289,7 +91441,7 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91289
91441
  const { datasetToUpdate: datasetToUpdate2, clearSelectedIds: clearSelectedIds2, addSelectedId: addSelectedId2 } = props2;
91290
91442
  useTraceUpdate(props2);
91291
91443
  const isChecked = allItemsAreSelected;
91292
- return datasetToUpdate2 ? /* @__PURE__ */ import_react264.default.createElement("div", {
91444
+ return datasetToUpdate2 ? /* @__PURE__ */ import_react265.default.createElement("div", {
91293
91445
  "data-testid": "Select All",
91294
91446
  style: { cursor: "pointer" },
91295
91447
  onClick: () => {
@@ -91299,22 +91451,22 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91299
91451
  addSelectedId2(...datasetToUpdate2.items.map((item) => item.entityId));
91300
91452
  }
91301
91453
  }
91302
- }, /* @__PURE__ */ import_react264.default.createElement(Checkbox, {
91454
+ }, /* @__PURE__ */ import_react265.default.createElement(Checkbox, {
91303
91455
  label: "",
91304
91456
  className: "SRC-pointer-events-none",
91305
91457
  checked: isChecked,
91306
91458
  disabled: datasetToUpdate2.items.length === 0,
91307
91459
  onChange: () => {
91308
91460
  }
91309
- })) : /* @__PURE__ */ import_react264.default.createElement(import_react264.default.Fragment, null);
91461
+ })) : /* @__PURE__ */ import_react265.default.createElement(import_react265.default.Fragment, null);
91310
91462
  };
91311
- const renderedSelectAllCheckbox = datasetToUpdate ? /* @__PURE__ */ import_react264.default.createElement(SelectAllCheckboxRenderer, {
91463
+ const renderedSelectAllCheckbox = datasetToUpdate ? /* @__PURE__ */ import_react265.default.createElement(SelectAllCheckboxRenderer, {
91312
91464
  datasetToUpdate,
91313
91465
  selectedIds,
91314
91466
  clearSelectedIds,
91315
91467
  addSelectedId,
91316
91468
  allItemsAreSelected
91317
- }) : /* @__PURE__ */ import_react264.default.createElement(import_react264.default.Fragment, null);
91469
+ }) : /* @__PURE__ */ import_react265.default.createElement(import_react265.default.Fragment, null);
91318
91470
  const defaultColumns = [
91319
91471
  {
91320
91472
  key: "errorState",
@@ -91394,21 +91546,21 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91394
91546
  return totalWidth + column2.width;
91395
91547
  }, 0);
91396
91548
  function NoItemsPlaceholder() {
91397
- return /* @__PURE__ */ import_react264.default.createElement("div", {
91549
+ return /* @__PURE__ */ import_react265.default.createElement("div", {
91398
91550
  className: "NoItemsPlaceholder"
91399
- }, /* @__PURE__ */ import_react264.default.createElement(Typography_default2, {
91551
+ }, /* @__PURE__ */ import_react265.default.createElement(Typography_default2, {
91400
91552
  variant: "headline3"
91401
- }, "No items in this Dataset"), /* @__PURE__ */ import_react264.default.createElement(import_react_bootstrap71.Button, {
91553
+ }, "No items in this Dataset"), /* @__PURE__ */ import_react265.default.createElement(import_react_bootstrap72.Button, {
91402
91554
  className: "AddItemsButton",
91403
91555
  variant: "outline",
91404
91556
  onClick: () => setShowEntityFinder(true)
91405
- }, /* @__PURE__ */ import_react264.default.createElement(IconSvg_default, {
91557
+ }, /* @__PURE__ */ import_react265.default.createElement(IconSvg_default, {
91406
91558
  options: { icon: "addCircleTwoTone" }
91407
- }), /* @__PURE__ */ import_react264.default.createElement("span", null, "Add Items")));
91559
+ }), /* @__PURE__ */ import_react265.default.createElement("span", null, "Add Items")));
91408
91560
  }
91409
- return /* @__PURE__ */ import_react264.default.createElement("div", {
91561
+ return /* @__PURE__ */ import_react265.default.createElement("div", {
91410
91562
  className: "DatasetEditor bootstrap-4-backport"
91411
- }, /* @__PURE__ */ import_react264.default.createElement(EntityFinderModal, {
91563
+ }, /* @__PURE__ */ import_react265.default.createElement(EntityFinderModal, {
91412
91564
  configuration: {
91413
91565
  projectId,
91414
91566
  selectMultiple: true,
@@ -91417,6 +91569,10 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91417
91569
  selectableTypes: [EntityType.FILE],
91418
91570
  mustSelectVersionNumber: true
91419
91571
  },
91572
+ titlePopoverProps: {
91573
+ markdownText: "Use the left pane to browse Projects and Folders to find Files to add to this Dataset. Files in a Dataset can be added from multiple folders. You can also use Search to find and select Files.",
91574
+ helpUrl: "https://docs.synapse.org/"
91575
+ },
91420
91576
  promptCopy: "Find Files located across one or more Folders to add to the Dataset.",
91421
91577
  show: showEntityFinder,
91422
91578
  onClose: () => {
@@ -91429,7 +91585,7 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91429
91585
  setShowEntityFinder(false);
91430
91586
  },
91431
91587
  onCancel: () => setShowEntityFinder(false)
91432
- }), /* @__PURE__ */ import_react264.default.createElement(WarningModal_default, {
91588
+ }), /* @__PURE__ */ import_react265.default.createElement(WarningModal_default, {
91433
91589
  title: "Unsaved Changes",
91434
91590
  modalBody: "Any unsaved changes will be lost. Are you sure you want to close the editor?",
91435
91591
  confirmButtonText: "Close Editor",
@@ -91442,29 +91598,29 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91442
91598
  show: showWarningModal,
91443
91599
  onConfirmCallbackArgs: [],
91444
91600
  onCancel: () => setShowWarningModal(false)
91445
- }), /* @__PURE__ */ import_react264.default.createElement("div", {
91601
+ }), /* @__PURE__ */ import_react265.default.createElement("div", {
91446
91602
  className: "DatasetEditorTopBottomPanel"
91447
- }, /* @__PURE__ */ import_react264.default.createElement("div", {
91603
+ }, /* @__PURE__ */ import_react265.default.createElement("div", {
91448
91604
  className: "ItemCount"
91449
- }, datasetToUpdate ? /* @__PURE__ */ import_react264.default.createElement(Typography_default2, {
91605
+ }, datasetToUpdate ? /* @__PURE__ */ import_react265.default.createElement(Typography_default2, {
91450
91606
  variant: "headline3"
91451
- }, datasetToUpdate.items.length === 0 ? "No" : datasetToUpdate.items.length.toLocaleString(), " ", "File", datasetToUpdate.items.length !== 1 && "s") : /* @__PURE__ */ import_react264.default.createElement(Skeleton_default, {
91607
+ }, datasetToUpdate.items.length === 0 ? "No" : datasetToUpdate.items.length.toLocaleString(), " ", "File", datasetToUpdate.items.length !== 1 && "s") : /* @__PURE__ */ import_react265.default.createElement(Skeleton_default, {
91452
91608
  variant: "rect",
91453
91609
  width: 200
91454
- })), /* @__PURE__ */ import_react264.default.createElement(import_react_bootstrap71.Button, {
91610
+ })), /* @__PURE__ */ import_react265.default.createElement(import_react_bootstrap72.Button, {
91455
91611
  variant: "outline",
91456
91612
  disabled: datasetToUpdate == null,
91457
91613
  onClick: () => setShowEntityFinder(true)
91458
- }, "Add Items"), /* @__PURE__ */ import_react264.default.createElement(import_react_bootstrap71.Button, {
91614
+ }, "Add Items"), /* @__PURE__ */ import_react265.default.createElement(import_react_bootstrap72.Button, {
91459
91615
  disabled: selectedIds.size === 0,
91460
91616
  variant: "outline",
91461
91617
  onClick: removeSelectedItemsFromDataset
91462
- }, "Remove Items")), /* @__PURE__ */ import_react264.default.createElement("div", {
91618
+ }, "Remove Items")), /* @__PURE__ */ import_react265.default.createElement("div", {
91463
91619
  className: "DatasetEditorTableContainer"
91464
- }, datasetToUpdate ? datasetToUpdate.items.length === 0 ? /* @__PURE__ */ import_react264.default.createElement(NoItemsPlaceholder, null) : /* @__PURE__ */ import_react264.default.createElement(AutoResizer_default, {
91620
+ }, datasetToUpdate ? datasetToUpdate.items.length === 0 ? /* @__PURE__ */ import_react265.default.createElement(NoItemsPlaceholder, null) : /* @__PURE__ */ import_react265.default.createElement(AutoResizer_default, {
91465
91621
  height: TABLE_HEIGHT,
91466
91622
  onResize: rebuildTooltip
91467
- }, ({ height, width }) => /* @__PURE__ */ import_react264.default.createElement(BaseTable_default, {
91623
+ }, ({ height, width }) => /* @__PURE__ */ import_react265.default.createElement(BaseTable_default, {
91468
91624
  classPrefix: "DatasetEditorTable",
91469
91625
  data: tableData,
91470
91626
  height,
@@ -91483,20 +91639,20 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91483
91639
  },
91484
91640
  onRowsRendered: rebuildTooltip,
91485
91641
  onScroll: rebuildTooltip
91486
- })) : /* @__PURE__ */ import_react264.default.createElement(SkeletonTable, {
91642
+ })) : /* @__PURE__ */ import_react265.default.createElement(SkeletonTable, {
91487
91643
  className: "DatasetItemsEditorSkeleton",
91488
91644
  numRows: 8,
91489
91645
  numCols: 6,
91490
91646
  rowHeight: `${ROW_HEIGHT2}px`
91491
- }), /* @__PURE__ */ import_react264.default.createElement(index_es_default, {
91647
+ }), /* @__PURE__ */ import_react265.default.createElement(index_es_default, {
91492
91648
  id: ENTITY_BADGE_ICONS_TOOLTIP_ID,
91493
91649
  className: "EntityBadgeTooltip",
91494
91650
  delayShow: 100,
91495
91651
  place: "right",
91496
91652
  effect: "solid"
91497
- })), /* @__PURE__ */ import_react264.default.createElement("div", {
91653
+ })), /* @__PURE__ */ import_react265.default.createElement("div", {
91498
91654
  className: "DatasetEditorTopBottomPanel"
91499
- }, /* @__PURE__ */ import_react264.default.createElement(import_react_bootstrap71.Button, {
91655
+ }, /* @__PURE__ */ import_react265.default.createElement(import_react_bootstrap72.Button, {
91500
91656
  variant: "outline",
91501
91657
  onClick: () => {
91502
91658
  if (hasChangedSinceLastSave) {
@@ -91505,7 +91661,7 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91505
91661
  onClose();
91506
91662
  }
91507
91663
  }
91508
- }, "Cancel"), /* @__PURE__ */ import_react264.default.createElement(import_react_bootstrap71.Button, {
91664
+ }, "Cancel"), /* @__PURE__ */ import_react265.default.createElement(import_react_bootstrap72.Button, {
91509
91665
  disabled: !datasetToUpdate,
91510
91666
  variant: "sds-primary",
91511
91667
  onClick: () => mutation.mutate(datasetToUpdate)
@@ -91557,7 +91713,8 @@ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_liter
91557
91713
  DirectProgrammaticDownload: DirectProgrammaticDownload_default,
91558
91714
  ProgrammaticInstructionsModal,
91559
91715
  SkeletonButton,
91560
- QueryWrapperPlotNav: QueryWrapperPlotNav_default
91716
+ QueryWrapperPlotNav: QueryWrapperPlotNav_default,
91717
+ ChangePassword: ChangePassword_default
91561
91718
  };
91562
91719
  return umd_index_exports;
91563
91720
  })();