synapse-react-client 3.1.1 → 3.1.3

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 (51) hide show
  1. package/dist/containers/CardContainerLogic.d.ts +7 -0
  2. package/dist/containers/CardContainerLogic.js +12 -0
  3. package/dist/containers/CardContainerLogic.js.map +1 -1
  4. package/dist/containers/HasAccessV2.js +9 -6
  5. package/dist/containers/HasAccessV2.js.map +1 -1
  6. package/dist/containers/InfiniteQueryWrapper.d.ts +2 -2
  7. package/dist/containers/InfiniteQueryWrapper.js +24 -94
  8. package/dist/containers/InfiniteQueryWrapper.js.map +1 -1
  9. package/dist/containers/QueryContext.d.ts +6 -5
  10. package/dist/containers/QuerySortSelector.d.ts +8 -0
  11. package/dist/containers/QuerySortSelector.js +50 -0
  12. package/dist/containers/QuerySortSelector.js.map +1 -0
  13. package/dist/containers/QueryWrapper.d.ts +2 -2
  14. package/dist/containers/QueryWrapper.js +21 -106
  15. package/dist/containers/QueryWrapper.js.map +1 -1
  16. package/dist/containers/RssFeedCards.d.ts +2 -2
  17. package/dist/containers/RssFeedCards.js +4 -4
  18. package/dist/containers/RssFeedCards.js.map +1 -1
  19. package/dist/containers/SearchV2.d.ts +2 -2
  20. package/dist/containers/SearchV2.js +8 -8
  21. package/dist/containers/SearchV2.js.map +1 -1
  22. package/dist/containers/entity/annotations/CustomSelectWidget.d.ts +19 -0
  23. package/dist/containers/entity/annotations/CustomSelectWidget.js +4 -2
  24. package/dist/containers/entity/annotations/CustomSelectWidget.js.map +1 -1
  25. package/dist/containers/table/SynapseTable.js +10 -3
  26. package/dist/containers/table/SynapseTable.js.map +1 -1
  27. package/dist/containers/useImmutableTableQuery.d.ts +32 -0
  28. package/dist/containers/useImmutableTableQuery.js +102 -0
  29. package/dist/containers/useImmutableTableQuery.js.map +1 -0
  30. package/dist/containers/widgets/query-filter/FacetChip.d.ts +8 -0
  31. package/dist/containers/widgets/query-filter/FacetChip.js +21 -0
  32. package/dist/containers/widgets/query-filter/FacetChip.js.map +1 -0
  33. package/dist/containers/widgets/query-filter/QueryFilter.js +43 -15
  34. package/dist/containers/widgets/query-filter/QueryFilter.js.map +1 -1
  35. package/dist/style/bootstrap4_backports/_overrides.scss +1 -0
  36. package/dist/style/components/_all.scss +17 -16
  37. package/dist/style/components/_cards.scss +14 -0
  38. package/dist/style/components/_query-filter.scss +8 -0
  39. package/dist/style/components/_query-wrapper-plot-nav.scss +54 -46
  40. package/dist/style/components/query_filter/_facet-chip.scss +18 -0
  41. package/dist/style/main.css +95 -43
  42. package/dist/umd/synapse-react-client.development.css +92 -43
  43. package/dist/umd/synapse-react-client.development.css.map +2 -2
  44. package/dist/umd/synapse-react-client.development.js +2521 -2440
  45. package/dist/umd/synapse-react-client.development.js.map +3 -3
  46. package/dist/umd/synapse-react-client.production.min.css +1 -1
  47. package/dist/umd/synapse-react-client.production.min.js +90 -90
  48. package/dist/utils/functions/queryUtils.d.ts +3 -2
  49. package/dist/utils/functions/queryUtils.js +18 -2
  50. package/dist/utils/functions/queryUtils.js.map +1 -1
  51. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { KeyValue, SQLOperator } from '../utils/functions/sqlFunctions';
3
+ import { SortDirection } from '../utils/synapseTypes/';
3
4
  import { GenericCardSchema, IconOptions } from './GenericCard';
4
5
  import { IconSvgOptions } from './IconSvg';
5
6
  /**
@@ -33,6 +34,11 @@ export declare type MarkdownLink = {
33
34
  matchColumnName: string;
34
35
  tooltipText?: string;
35
36
  };
37
+ export declare type SortConfiguration = {
38
+ defaultColumn: string;
39
+ defaultDirection: SortDirection;
40
+ sortableColumns: string[];
41
+ };
36
42
  export declare type CTACardLink = {
37
43
  text: string;
38
44
  link: string;
@@ -75,6 +81,7 @@ export declare type CardContainerLogicProps = {
75
81
  isHeader?: boolean;
76
82
  isAlignToLeftNav?: boolean;
77
83
  sql: string;
84
+ sortConfig?: SortConfiguration;
78
85
  } & CardConfiguration;
79
86
  /**
80
87
  * Class wraps around CardContainer and serves as a standalone logic container for rendering cards.
@@ -10,6 +10,7 @@ var ErrorBanner_1 = require("./ErrorBanner");
10
10
  var QueryVisualizationWrapper_1 = require("./QueryVisualizationWrapper");
11
11
  var QueryContext_1 = require("./QueryContext");
12
12
  var InfiniteQueryWrapper_1 = require("./InfiniteQueryWrapper");
13
+ var QuerySortSelector_1 = tslib_1.__importDefault(require("./QuerySortSelector"));
13
14
  var TargetEnum;
14
15
  (function (TargetEnum) {
15
16
  TargetEnum["CURRENT_WINDOW"] = "_self";
@@ -22,12 +23,22 @@ var TargetEnum;
22
23
  */
23
24
  var CardContainerLogic = function (props) {
24
25
  var sql = (0, sqlFunctions_1.insertConditionsFromSearchParams)(props.sql, props.searchParams, props.sqlOperator);
26
+ var sortConfig = props.sortConfig, facetAliases = props.facetAliases;
27
+ var defaultSortItems = sortConfig
28
+ ? [
29
+ {
30
+ column: sortConfig.defaultColumn,
31
+ direction: sortConfig.defaultDirection,
32
+ },
33
+ ]
34
+ : undefined;
25
35
  var initQueryRequest = {
26
36
  concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',
27
37
  entityId: (0, sqlFunctions_1.parseEntityIdFromSqlStatement)(sql),
28
38
  query: {
29
39
  sql: sql,
30
40
  limit: props.limit,
41
+ sort: defaultSortItems,
31
42
  },
32
43
  partMask: utils_1.SynapseConstants.BUNDLE_MASK_QUERY_RESULTS |
33
44
  utils_1.SynapseConstants.BUNDLE_MASK_QUERY_COUNT |
@@ -40,6 +51,7 @@ var CardContainerLogic = function (props) {
40
51
  };
41
52
  return (React.createElement(InfiniteQueryWrapper_1.InfiniteQueryWrapper, tslib_1.__assign({}, props, { initQueryRequest: initQueryRequest }),
42
53
  React.createElement(QueryVisualizationWrapper_1.QueryVisualizationWrapper, { rgbIndex: props.rgbIndex, unitDescription: props.unitDescription, facetAliases: props.facetAliases },
54
+ sortConfig && (React.createElement(QuerySortSelector_1.default, { sortConfig: sortConfig, facetAliases: facetAliases })),
43
55
  React.createElement(CardContainer_1.default, tslib_1.__assign({}, props)),
44
56
  React.createElement(QueryContext_1.QueryContextConsumer, null, function (queryContext) { return React.createElement(ErrorBanner_1.ErrorBanner, { error: queryContext === null || queryContext === void 0 ? void 0 : queryContext.error }); }))));
45
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CardContainerLogic.js","sourceRoot":"","sources":["../../src/lib/containers/CardContainerLogic.tsx"],"names":[],"mappings":";;;;AAAA,mDAA8B;AAC9B,kCAA2C;AAC3C,gEAKwC;AAExC,0EAA2C;AAC3C,6CAA2C;AAG3C,yEAAuE;AACvE,+CAAqD;AACrD,+DAA6D;AAgB7D,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,sCAAwB,CAAA;IACxB,mCAAqB,CAAA;IACrB,sCAAwB,CAAA;IACxB,uCAAyB,CAAA;AAC3B,CAAC,EALW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAKrB;AAgFD;;GAEG;AACI,IAAM,kBAAkB,GAAG,UAAC,KAA8B;IAC/D,IAAM,GAAG,GAAG,IAAA,+CAAgC,EAC1C,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,WAAW,CAClB,CAAA;IACD,IAAM,gBAAgB,GAAuB;QAC3C,YAAY,EAAE,yDAAyD;QACvE,QAAQ,EAAE,IAAA,4CAA6B,EAAC,GAAG,CAAC;QAC5C,KAAK,EAAE;YACL,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB;QACD,QAAQ,EACN,wBAAgB,CAAC,yBAAyB;YAC1C,wBAAgB,CAAC,uBAAuB;YACxC,wBAAgB,CAAC,gCAAgC;YACjD,wBAAgB,CAAC,mCAAmC;YACpD,wBAAgB,CAAC,+BAA+B;YAChD,wBAAgB,CAAC,wBAAwB;YACzC,wBAAgB,CAAC,gCAAgC;YACjD,wBAAgB,CAAC,2BAA2B;KAC/C,CAAA;IAED,OAAO,CACL,oBAAC,2CAAoB,uBAAK,KAAK,IAAE,gBAAgB,EAAE,gBAAgB;QACjE,oBAAC,qDAAyB,IACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,YAAY,EAAE,KAAK,CAAC,YAAY;YAEhC,oBAAC,uBAAa,uBAAK,KAAK,EAAI;YAC5B,oBAAC,mCAAoB,QAClB,UAAA,YAAY,IAAI,OAAA,oBAAC,yBAAW,IAAC,KAAK,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,GAAI,EAA3C,CAA2C,CACvC,CACG,CACP,CACxB,CAAA;AACH,CAAC,CAAA;AAtCY,QAAA,kBAAkB,sBAsC9B;AAED,kBAAe,0BAAkB,CAAA"}
1
+ {"version":3,"file":"CardContainerLogic.js","sourceRoot":"","sources":["../../src/lib/containers/CardContainerLogic.tsx"],"names":[],"mappings":";;;;AAAA,mDAA8B;AAC9B,kCAA2C;AAC3C,gEAKwC;AAExC,0EAA2C;AAC3C,6CAA2C;AAG3C,yEAAuE;AACvE,+CAAqD;AACrD,+DAA6D;AAC7D,kFAAmD;AAgBnD,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,sCAAwB,CAAA;IACxB,mCAAqB,CAAA;IACrB,sCAAwB,CAAA;IACxB,uCAAyB,CAAA;AAC3B,CAAC,EALW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAKrB;AA0FD;;GAEG;AACI,IAAM,kBAAkB,GAAG,UAAC,KAA8B;IAC/D,IAAM,GAAG,GAAG,IAAA,+CAAgC,EAC1C,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,WAAW,CAClB,CAAA;IACO,IAAA,UAAU,GAAmB,KAAK,WAAxB,EAAE,YAAY,GAAK,KAAK,aAAV,CAAU;IAC1C,IAAM,gBAAgB,GAAG,UAAU;QACjC,CAAC,CAAC;YACE;gBACE,MAAM,EAAE,UAAU,CAAC,aAAa;gBAChC,SAAS,EAAE,UAAU,CAAC,gBAAgB;aACvC;SACF;QACH,CAAC,CAAC,SAAS,CAAA;IACb,IAAM,gBAAgB,GAAuB;QAC3C,YAAY,EAAE,yDAAyD;QACvE,QAAQ,EAAE,IAAA,4CAA6B,EAAC,GAAG,CAAC;QAC5C,KAAK,EAAE;YACL,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,gBAAgB;SACvB;QACD,QAAQ,EACN,wBAAgB,CAAC,yBAAyB;YAC1C,wBAAgB,CAAC,uBAAuB;YACxC,wBAAgB,CAAC,gCAAgC;YACjD,wBAAgB,CAAC,mCAAmC;YACpD,wBAAgB,CAAC,+BAA+B;YAChD,wBAAgB,CAAC,wBAAwB;YACzC,wBAAgB,CAAC,gCAAgC;YACjD,wBAAgB,CAAC,2BAA2B;KAC/C,CAAA;IAED,OAAO,CACL,oBAAC,2CAAoB,uBAAK,KAAK,IAAE,gBAAgB,EAAE,gBAAgB;QACjE,oBAAC,qDAAyB,IACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,YAAY,EAAE,KAAK,CAAC,YAAY;YAE/B,UAAU,IAAI,CACb,oBAAC,2BAAiB,IAChB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,GAC1B,CACH;YACD,oBAAC,uBAAa,uBAAK,KAAK,EAAI;YAC5B,oBAAC,mCAAoB,QAClB,UAAA,YAAY,IAAI,OAAA,oBAAC,yBAAW,IAAC,KAAK,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,GAAI,EAA3C,CAA2C,CACvC,CACG,CACP,CACxB,CAAA;AACH,CAAC,CAAA;AAtDY,QAAA,kBAAkB,sBAsD9B;AAED,kBAAe,0BAAkB,CAAA"}
@@ -3,7 +3,7 @@ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.HasAccessV2 = exports.useGetFileHandleDownloadType = exports.FileHandleDownloadTypeEnum = exports.GIGABYTE_SIZE = void 0;
5
5
  var tslib_1 = require("tslib");
6
- var react_1 = tslib_1.__importDefault(require("react"));
6
+ var react_1 = tslib_1.__importStar(require("react"));
7
7
  var utils_1 = require("../utils");
8
8
  var getEndpoint_1 = require("../utils/functions/getEndpoint");
9
9
  var useGetAccessRequirement_1 = require("../utils/hooks/SynapseAPI/dataaccess/useGetAccessRequirement");
@@ -135,7 +135,6 @@ function HasAccessV2(props) {
135
135
  }); }, [entityId]);
136
136
  var restrictionInformation = (0, useGetAccessRequirement_1.useGetRestrictionInformation)(restrictionInformationRequest).data;
137
137
  var handleGetAccess = function () {
138
- var entityId = props.entityId;
139
138
  // TODO: The fetch should really happen in the AR List component.
140
139
  // If we need to open the AR page in synapse, the logic should be in the modal and it should just close itself right away
141
140
  utils_1.SynapseClient.getAllAccessRequirements(accessToken, entityId).then(function (requirements) {
@@ -149,8 +148,7 @@ function HasAccessV2(props) {
149
148
  });
150
149
  };
151
150
  // Show Access Requirements
152
- var AccessRequirements = function () {
153
- var entityId = props.entityId;
151
+ var accessRequirementsJsx = (0, react_1.useMemo)(function () {
154
152
  if (!restrictionInformation) {
155
153
  // loading
156
154
  return react_1.default.createElement(react_1.default.Fragment, null);
@@ -178,7 +176,12 @@ function HasAccessV2(props) {
178
176
  displayAccessRequirement && (react_1.default.createElement(AccessRequirementList_1.default, { entityId: entityId, accessRequirementFromProps: accessRequirements, renderAsModal: true, onHide: function () {
179
177
  setDisplayAccessRequirement(false);
180
178
  } }))));
181
- };
179
+ }, [
180
+ entityId,
181
+ restrictionInformation,
182
+ accessRequirements,
183
+ displayAccessRequirement,
184
+ ]);
182
185
  if (fileHandleDownloadType === undefined) {
183
186
  // note, this can't be "if (!downloadType)" since DownloadTypeEnum has a 0 value (which is falsy)
184
187
  // loading
@@ -208,7 +211,7 @@ function HasAccessV2(props) {
208
211
  react_1.default.createElement(AccessIcon, { downloadType: fileHandleDownloadType }))) : (react_1.default.createElement(AccessIcon, { downloadType: fileHandleDownloadType }));
209
212
  return (react_1.default.createElement("span", { style: { whiteSpace: 'nowrap' } },
210
213
  iconContainer,
211
- react_1.default.createElement(AccessRequirements, null)));
214
+ accessRequirementsJsx));
212
215
  }
213
216
  exports.HasAccessV2 = HasAccessV2;
214
217
  //# sourceMappingURL=HasAccessV2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HasAccessV2.js","sourceRoot":"","sources":["../../src/lib/containers/HasAccessV2.tsx"],"names":[],"mappings":";;;;;AAAA,wDAAyB;AACzB,kCAAwC;AACxC,8DAGuC;AACvC,wGAA2G;AAC3G,6GAAiF;AACjF,oDAAoE;AACpE,8DAA6D;AAC7D,0DAA2D;AAC3D,uDAM+B;AAC/B,+GAEwD;AACxD,8DAAyC;AAS5B,QAAA,aAAa,GAAG,SAAA,CAAC,EAAI,EAAE,CAAA,CAAA;AAEpC,IAAY,0BAMX;AAND,WAAY,0BAA0B;IACpC,uDAAyB,CAAA;IACzB,uFAAyD,CAAA;IACzD,uEAAyC,CAAA;IACzC,mFAAqD,CAAA;IACrD,2DAA6B,CAAA;AAC/B,CAAC,EANW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAMrC;AAED,IAAM,iBAAiB;IAIrB,GAAC,0BAA0B,CAAC,wBAAwB,IAAG;QACrD,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,MAAM,CAAC,OAAO,EAApB,CAAoB;QACpC,WAAW,EAAE,uCAAuC;KACrD;IACD,GAAC,0BAA0B,CAAC,0BAA0B,IAAG;QACvD,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,MAAM,CAAC,OAAO,EAApB,CAAoB;QACpC,WAAW,EAAE,kDAAkD;KAChE;IACD,GAAC,0BAA0B,CAAC,kBAAkB,IAAG;QAC/C,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,MAAM,CAAC,OAAO,EAApB,CAAoB;QACpC,WAAW,EAAE,gDAAgD;KAC9D;IAED,GAAC,0BAA0B,CAAC,UAAU,IAAG;QACvC,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,MAAM,CAAC,OAAO,EAApB,CAAoB;QACpC,WAAW,EAAE,EAAE;KAChB;IAED,GAAC,0BAA0B,CAAC,YAAY,IAAG;QACzC,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,MAAM,CAAC,OAAO,EAApB,CAAoB;QACpC,WAAW,EAAE,EAAE;KAChB;OACF,CAAA;AAED,SAAS,UAAU,CAAC,KAAmD;IAC7D,IAAA,YAAY,GAAK,KAAK,aAAV,CAAU;IAC9B,IAAI,YAAY,EAAE;QAChB,IAAM,eAAa,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;QACrD,OAAO,CACL,8BAAC,uBAAY,CAAC,QAAQ,QACnB,UAAA,KAAK,IAAI,OAAA,CACR,8BAAC,iBAAO,IACN,OAAO,EAAE;gBACP,IAAI,EAAE,eAAa,CAAC,IAAI;gBACxB,KAAK,EAAE,eAAa,CAAC,KAAK,CAAC,KAAK,CAAC;gBACjC,KAAK,EAAE,eAAa,CAAC,WAAW;aACjC,GACD,CACH,EARS,CAQT,CACqB,CACzB,CAAA;KACF;IACD,uDAAuD;IACvD,OAAO,6DAAK,CAAA;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,4BAA4B,CAC1C,QAAgB,EAChB,mBAA4B;IAEtB,IAAA,KACJ,eAAK,CAAC,QAAQ,EAA8B,EADvC,sBAAsB,QAAA,EAAE,yBAAyB,QACV,CAAA;IAEtC,IAAA,WAAW,GAAK,IAAA,kCAAiB,GAAE,YAAxB,CAAwB;IACrC,IAAA,KAAkD,IAAA,yBAAkB,EACxE,QAAQ,EACR;QACE,aAAa,EAAE,IAAI;QACnB,kBAAkB,EAAE,IAAI;KACzB,EACD,QAAQ,CAAC,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,EAAE,CAAC,CACpC,EAPa,YAAY,UAAA,EAAS,gBAAgB,WAOlD,CAAA;IAED,IAAM,6BAA6B,GACjC,eAAK,CAAC,OAAO,CACX,cAAM,OAAA,CAAC;QACL,sBAAsB,EAAE,qCAAsB,CAAC,MAAM;QACrD,QAAQ,EAAE,QAAQ;KACnB,CAAC,EAHI,CAGJ,EACF,CAAC,QAAQ,CAAC,CACX,CAAA;IAEK,IAAM,sBAAsB,GAAK,IAAA,sDAA4B,EACnE,6BAA6B,CAC9B,KAFmC,CAEnC;IAED,IAAM,MAAM,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA;IACnC,IAAM,WAAW,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,CAAA;IAE7C,eAAK,CAAC,SAAS,CAAC;QACd,IACE,sBAAsB;YACtB,sBAAsB,CAAC,yBAAyB,EAChD;YACA,yBAAyB,CACvB,0BAA0B,CAAC,0BAA0B,CACtD,CAAA;SACF;aAAM,IAAI,MAAM,KAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAA,EAAE;YAC7C,IAAI,IAAA,2BAAY,EAAC,MAAM,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE;gBACnD,yBAAyB,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAA;aACjE;iBAAM;gBACL,yBAAyB,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAA;aACnE;SACF;aAAM,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;YAClD,yBAAyB,CACvB,WAAW;gBACT,CAAC,CAAC,0BAA0B,CAAC,kBAAkB;gBAC/C,CAAC,CAAC,0BAA0B,CAAC,wBAAwB,CACxD,CAAA;SACF;IACH,CAAC,EAAE;QACD,WAAW;QACX,MAAM;QACN,gBAAgB;QAChB,WAAW;QACX,sBAAsB;KACvB,CAAC,CAAA;IAEF,OAAO,sBAAsB,CAAA;AAC/B,CAAC;AA/DD,oEA+DC;AAED;;;;;;;;;GASG;AACH,SAAgB,WAAW,CAAC,KAAqB;IACzC,IAAA,KACJ,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EADhB,wBAAwB,QAAA,EAAE,2BAA2B,QACrC,CAAA;IACjB,IAAA,KAA8C,eAAK,CAAC,QAAQ,CAEhE,EAAE,CAAC,EAFE,kBAAkB,QAAA,EAAE,qBAAqB,QAE3C,CAAA;IAEG,IAAA,QAAQ,GAA0B,KAAK,SAA/B,EAAE,mBAAmB,GAAK,KAAK,oBAAV,CAAU;IAE/C,IAAM,sBAAsB,GAAG,4BAA4B,CACzD,QAAQ,EACR,mBAAmB,CACpB,CAAA;IAEO,IAAA,WAAW,GAAK,IAAA,kCAAiB,GAAE,YAAxB,CAAwB;IAE3C,IAAM,6BAA6B,GACjC,eAAK,CAAC,OAAO,CACX,cAAM,OAAA,CAAC;QACL,sBAAsB,EAAE,qCAAsB,CAAC,MAAM;QACrD,QAAQ,EAAE,QAAQ;KACnB,CAAC,EAHI,CAGJ,EACF,CAAC,QAAQ,CAAC,CACX,CAAA;IAEK,IAAM,sBAAsB,GAAK,IAAA,sDAA4B,EACnE,6BAA6B,CAC9B,KAFmC,CAEnC;IAED,IAAM,eAAe,GAAG;QACd,IAAA,QAAQ,GAAK,KAAK,SAAV,CAAU;QAC1B,iEAAiE;QACjE,yHAAyH;QACzH,qBAAa,CAAC,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,IAAI,CAChE,UAAA,YAAY;YACV,IAAI,IAAA,oDAA4B,EAAC,YAAY,CAAC,EAAE;gBAC9C,MAAM,CAAC,IAAI,CACT,UAAG,IAAA,yBAAW,EACZ,oCAAsB,CAAC,eAAe,CACvC,qCAA2B,QAAQ,iBAAc,EAClD,QAAQ,CACT,CAAA;aACF;iBAAM;gBACL,qBAAqB,CAAC,YAAY,CAAC,CAAA;gBACnC,2BAA2B,CAAC,IAAI,CAAC,CAAA;aAClC;QACH,CAAC,CACF,CAAA;IACH,CAAC,CAAA;IAED,2BAA2B;IAC3B,IAAM,kBAAkB,GAAG;QACjB,IAAA,QAAQ,GAAK,KAAK,SAAV,CAAU;QAC1B,IAAI,CAAC,sBAAsB,EAAE;YAC3B,UAAU;YACV,OAAO,6DAAK,CAAA;SACb;QACD,IAAM,yBAAyB,GAC7B,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,yBAAyB,CAAA;QACnD,IAAM,gBAAgB,GAAG,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,gBAAgB,CAAA;QACjE,IAAI,QAAQ,GAAG,EAAE,CAAA;QAEjB,IAAI,yBAAyB,EAAE;YAC7B,QAAQ,GAAG,gBAAgB,CAAA;SAC5B;aAAM,IAAI,+BAAgB,CAAC,IAAI,KAAK,gBAAgB,EAAE;YACrD,uBAAuB;YACvB,OAAO,6DAAK,CAAA;SACb;aAAM;YACL,QAAQ,GAAG,YAAY,CAAA;SACxB;QACD,OAAO,CACL;YACE,qCACE,KAAK,EAAE;oBACL,QAAQ,EAAE,MAAM;oBAChB,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,KAAK;oBACjB,aAAa,EAAE,QAAQ;iBACxB,EACD,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,OAAO,EAAE,eAAe,IAEvB,QAAQ,CACP;YACH,wBAAwB,IAAI,CAC3B,8BAAC,+BAAqB,IACpB,QAAQ,EAAE,QAAQ,EAClB,0BAA0B,EAAE,kBAAkB,EAC9C,aAAa,EAAE,IAAI,EACnB,MAAM,EAAE;oBACN,2BAA2B,CAAC,KAAK,CAAC,CAAA;gBACpC,CAAC,GACD,CACH,CACA,CACJ,CAAA;IACH,CAAC,CAAA;IAED,IAAI,sBAAsB,KAAK,SAAS,EAAE;QACxC,iGAAiG;QACjG,UAAU;QACV,OAAO,6DAAK,CAAA;KACb;IACD,IAAM,aAAa,GACjB,sBAAsB;QACtB,0BAA0B,CAAC,wBAAwB,CAAC,CAAC,CAAC,CACpD,0CACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,oCAAiB,EAC5B,OAAO,EAAE,UAAA,EAAE;YACT,IAAI,EAAE,CAAC,SAAS,EAAE;gBAChB;;;;;;;;;;;;;oBAaI;gBACJ,IAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC7D,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;aAC3C;QACH,CAAC;QAED,8BAAC,UAAU,IAAC,YAAY,EAAE,sBAAsB,GAAI,CAC7C,CACV,CAAC,CAAC,CAAC,CACF,8BAAC,UAAU,IAAC,YAAY,EAAE,sBAAsB,GAAI,CACrD,CAAA;IAEH,OAAO,CACL,wCAAM,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;QAClC,aAAa;QACd,8BAAC,kBAAkB,OAAG,CACjB,CACR,CAAA;AACH,CAAC;AA9ID,kCA8IC"}
1
+ {"version":3,"file":"HasAccessV2.js","sourceRoot":"","sources":["../../src/lib/containers/HasAccessV2.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { QueryBundleRequest } from '../utils/synapseTypes';
3
- import { LockedFacet } from './QueryContext';
3
+ import { LockedColumn } from './QueryContext';
4
4
  export declare const QUERY_FILTERS_EXPANDED_CSS: string;
5
5
  export declare const QUERY_FILTERS_COLLAPSED_CSS: string;
6
6
  export declare type InfiniteQueryWrapperProps = {
@@ -10,7 +10,7 @@ export declare type InfiniteQueryWrapperProps = {
10
10
  shouldDeepLink?: boolean;
11
11
  onQueryChange?: (newQueryJson: string) => void;
12
12
  onQueryResultBundleChange?: (newQueryResultBundleJson: string) => void;
13
- lockedFacet?: LockedFacet;
13
+ lockedColumn?: LockedColumn;
14
14
  };
15
15
  export declare type SearchQuery = {
16
16
  columnName: string;
@@ -2,16 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InfiniteQueryWrapper = exports.QUERY_FILTERS_COLLAPSED_CSS = exports.QUERY_FILTERS_EXPANDED_CSS = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var lodash_es_1 = require("lodash-es");
6
5
  var React = tslib_1.__importStar(require("react"));
7
6
  var react_1 = require("react");
8
- var use_deep_compare_effect_1 = tslib_1.__importDefault(require("use-deep-compare-effect"));
9
- var DeepLinkingUtils = tslib_1.__importStar(require("../utils/functions/deepLinkingUtils"));
10
7
  var queryUtils_1 = require("../utils/functions/queryUtils");
11
- var sqlFunctions_1 = require("../utils/functions/sqlFunctions");
12
8
  var useEntity_1 = require("../utils/hooks/SynapseAPI/entity/useEntity");
13
9
  var useGetQueryResultBundle_1 = require("../utils/hooks/SynapseAPI/entity/useGetQueryResultBundle");
14
10
  var QueryContext_1 = require("./QueryContext");
11
+ var useImmutableTableQuery_1 = tslib_1.__importDefault(require("./useImmutableTableQuery"));
15
12
  exports.QUERY_FILTERS_EXPANDED_CSS = 'isShowingFacetFilters';
16
13
  exports.QUERY_FILTERS_COLLAPSED_CSS = 'isHidingFacetFilters';
17
14
  /**
@@ -19,19 +16,29 @@ exports.QUERY_FILTERS_COLLAPSED_CSS = 'isHidingFacetFilters';
19
16
  * either `useQueryContext` or `QueryContextConsumer`.
20
17
  */
21
18
  function InfiniteQueryWrapper(props) {
22
- var _a, _b;
23
- var initQueryRequest = props.initQueryRequest, onQueryChange = props.onQueryChange, onQueryResultBundleChange = props.onQueryResultBundleChange;
24
- var _c = (0, react_1.useState)(initQueryRequest), lastQueryRequest = _c[0], setLastQueryRequest = _c[1];
25
- var _d = (0, react_1.useState)(undefined), currentAsyncStatus = _d[0], setCurrentAsyncStatus = _d[1];
26
- var _e = (0, useGetQueryResultBundle_1.useInfiniteQueryResultBundle)(lastQueryRequest, {
19
+ var initQueryRequest = props.initQueryRequest, onQueryChange = props.onQueryChange, onQueryResultBundleChange = props.onQueryResultBundleChange, lockedColumn = props.lockedColumn, componentIndex = props.componentIndex, shouldDeepLink = props.shouldDeepLink;
20
+ var _a = (0, react_1.useState)(undefined), currentAsyncStatus = _a[0], setCurrentAsyncStatus = _a[1];
21
+ var _b = (0, useImmutableTableQuery_1.default)({
22
+ initQueryRequest: initQueryRequest,
23
+ componentIndex: componentIndex,
24
+ shouldDeepLink: shouldDeepLink,
25
+ onQueryChange: onQueryChange,
26
+ }), entityId = _b.entityId, versionNumber = _b.versionNumber, getInitQueryRequest = _b.getInitQueryRequest, getLastQueryRequest = _b.getLastQueryRequest, setQuery = _b.setQuery;
27
+ var lastQueryRequest = (0, react_1.useMemo)(function () {
28
+ return getLastQueryRequest();
29
+ }, [getLastQueryRequest]);
30
+ var _c = (0, useGetQueryResultBundle_1.useInfiniteQueryResultBundle)(lastQueryRequest, {
27
31
  // We use `keepPreviousData` because we don't want to clear out the current data when the query is modified via the UI
28
32
  keepPreviousData: true,
29
- }, setCurrentAsyncStatus), infiniteData = _e.data, hasNextPage = _e.hasNextPage, fetchPreviousPage = _e.fetchPreviousPage, fetchNextPage = _e.fetchNextPage, isFetchingNextPage = _e.isFetchingNextPage, queryIsLoading = _e.isLoading, error = _e.error, newQueryIsFetching = _e.isPreviousData, remove = _e.remove;
33
+ }, setCurrentAsyncStatus), infiniteData = _c.data, hasNextPage = _c.hasNextPage, fetchPreviousPage = _c.fetchPreviousPage, fetchNextPage = _c.fetchNextPage, isFetchingNextPage = _c.isFetchingNextPage, queryIsLoading = _c.isLoading, error = _c.error, newQueryIsFetching = _c.isPreviousData;
30
34
  // Indicate if we're fetching data for the first time (queryIsLoading) or if we're fetching data for a brand new query (newQueryIsFetching)
31
35
  var isLoadingNewBundle = queryIsLoading || newQueryIsFetching;
32
- var _f = (0, sqlFunctions_1.parseEntityIdAndVersionFromSqlStatement)(lastQueryRequest.query.sql), entityId = _f.entityId, versionNumber = _f.versionNumber;
33
36
  var entity = (0, useEntity_1.useGetEntity)(entityId, versionNumber).data;
34
- var _g = (0, react_1.useState)(0), currentPage = _g[0], setCurrentPage = _g[1];
37
+ /**
38
+ * Since we're showing an infinite list of data, use custom pagination handling instead of pagination utils provided by
39
+ * useImmutableTableQuery
40
+ */
41
+ var _d = (0, react_1.useState)(0), currentPage = _d[0], setCurrentPage = _d[1];
35
42
  function appendNextPageToResults() {
36
43
  return tslib_1.__awaiter(this, void 0, void 0, function () {
37
44
  return tslib_1.__generator(this, function (_a) {
@@ -103,101 +110,24 @@ function InfiniteQueryWrapper(props) {
103
110
  }
104
111
  return infiniteData === null || infiniteData === void 0 ? void 0 : infiniteData.pages[currentPage].responseBody;
105
112
  }, [currentPage, infiniteData]);
106
- (0, use_deep_compare_effect_1.default)(function () {
107
- if (onQueryChange) {
108
- onQueryChange(JSON.stringify(lastQueryRequest.query));
109
- }
110
- }, [onQueryChange, lastQueryRequest.query]);
111
113
  (0, react_1.useEffect)(function () {
112
114
  if (data && onQueryResultBundleChange) {
113
115
  onQueryResultBundleChange(JSON.stringify(data));
114
116
  }
115
117
  }, [data, onQueryResultBundleChange]);
116
- var componentIndex = (_a = props.componentIndex) !== null && _a !== void 0 ? _a : 0;
117
118
  var isFacetsAvailable = data
118
119
  ? (0, queryUtils_1.isFacetAvailable)(data.facets, data.selectColumns)
119
120
  : true;
120
- /**
121
- * Inspect the URL to see if we have a particular query request that we must show.
122
- */
123
- (0, react_1.useEffect)(function () {
124
- var query = DeepLinkingUtils.getQueryRequestFromLink('QueryWrapper', componentIndex);
125
- if (query) {
126
- setLastQueryRequest(query);
127
- }
128
- }, []);
129
- /**
130
- * Pass down a deep clone (so no side affects on the child's part) of the
131
- * last query request made
132
- *
133
- * @returns
134
- * @memberof QueryWrapper
135
- */
136
- var getLastQueryRequest = React.useCallback(function () {
137
- return (0, lodash_es_1.cloneDeep)(lastQueryRequest);
138
- }, [lastQueryRequest]);
139
- /**
140
- * Pass down a deep clone (so no side affects on the child's part) of the
141
- * first query request made
142
- *
143
- * @returns
144
- * @memberof QueryWrapper
145
- */
146
- function getInitQueryRequest() {
147
- return (0, lodash_es_1.cloneDeep)(props.initQueryRequest);
148
- }
149
- /**
150
- * Execute the given query request, updating all of the data in the QueryContext to match the new query
151
- * @param {*} queryRequest Query request as specified by
152
- * https://rest-docs.synapse.org/rest/org/sagebionetworks/repo/model/table/Query.html
153
- */
154
- function executeQueryRequest(queryRequest) {
155
- var clonedQueryRequest = (0, lodash_es_1.cloneDeep)(queryRequest);
156
- setLastQueryRequest(clonedQueryRequest);
157
- setCurrentPage(0);
158
- if (clonedQueryRequest.query) {
159
- var clonedQueryRequestJson = JSON.stringify(clonedQueryRequest.query);
160
- var stringifiedQuery = encodeURIComponent(clonedQueryRequestJson);
161
- if (props.shouldDeepLink) {
162
- if (props.onQueryChange) {
163
- props.onQueryChange(clonedQueryRequestJson);
164
- }
165
- else {
166
- DeepLinkingUtils.updateUrlWithNewSearchParam('QueryWrapper', componentIndex, stringifiedQuery);
167
- }
168
- }
169
- }
170
- /**
171
- * TODO: We remove the cached data because it can interfere with user controls, such as the QueryFilter.
172
- * For example, if you filter on a facet with value ["a"], then value ["a", "b"], then value ["a"] again,
173
- * we'll have a cache hit on the last query, so we won't get a loading state, but the controls haven't been updated
174
- * to handle cache hits. Forcing a cache miss here fixes this, but ideally the controls should handle this case.
175
- */
176
- remove();
177
- // end TODO
178
- }
179
121
  /**
180
122
  * remove a particular facet name (e.g. study) and its all possible values based on the parameter specified in the url
181
123
  * this is to remove the facet from the charts, search and filter.
182
124
  * @return data: QueryResultBundle
183
125
  */
184
- var dataWithLockedFacetRemoved = (0, react_1.useMemo)(function () {
185
- var _a, _b;
186
- var lockedFacet = (_a = props.lockedFacet) === null || _a === void 0 ? void 0 : _a.facet;
187
- if (lockedFacet && data) {
188
- // for details page, return data without the "locked" facet
189
- var dataCopy = (0, lodash_es_1.cloneDeep)(data);
190
- var facets = (_b = dataCopy.facets) === null || _b === void 0 ? void 0 : _b.filter(function (item) { return item.columnName.toLowerCase() !== lockedFacet.toLowerCase(); });
191
- dataCopy.facets = facets;
192
- return dataCopy;
193
- }
194
- else {
195
- // for other pages, just return the data
196
- return data;
197
- }
198
- }, [data, (_b = props.lockedFacet) === null || _b === void 0 ? void 0 : _b.facet]);
126
+ var dataWithLockedColumnFacetRemoved = (0, react_1.useMemo)(function () {
127
+ return (0, queryUtils_1.removeLockedColumnFromFacetData)(data, lockedColumn);
128
+ }, [data, lockedColumn]);
199
129
  var context = {
200
- data: dataWithLockedFacetRemoved,
130
+ data: dataWithLockedColumnFacetRemoved,
201
131
  isLoadingNewPage: isFetchingNextPage,
202
132
  hasNextPage: !!hasNextPage,
203
133
  hasPreviousPage: !!hasPreviousPage,
@@ -206,7 +136,7 @@ function InfiniteQueryWrapper(props) {
206
136
  getInitQueryRequest: getInitQueryRequest,
207
137
  error: error,
208
138
  entity: entity,
209
- executeQueryRequest: executeQueryRequest,
139
+ executeQueryRequest: setQuery,
210
140
  isFacetsAvailable: isFacetsAvailable,
211
141
  asyncJobStatus: currentAsyncStatus,
212
142
  appendNextPageToResults: appendNextPageToResults,
@@ -1 +1 @@
1
- {"version":3,"file":"InfiniteQueryWrapper.js","sourceRoot":"","sources":["../../src/lib/containers/InfiniteQueryWrapper.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InfiniteQueryWrapper.js","sourceRoot":"","sources":["../../src/lib/containers/InfiniteQueryWrapper.tsx"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@ import { SynapseClientError } from '../utils/SynapseClientError';
3
3
  import { AsynchronousJobStatus, QueryBundleRequest, QueryResultBundle, Table } from '../utils/synapseTypes';
4
4
  export declare const QUERY_FILTERS_EXPANDED_CSS: string;
5
5
  export declare const QUERY_FILTERS_COLLAPSED_CSS: string;
6
- export declare type LockedFacet = {
7
- facet?: string;
6
+ export declare type LockedColumn = {
7
+ columnName?: string;
8
8
  value?: string;
9
9
  };
10
10
  export declare type QueryContextType = {
@@ -27,10 +27,11 @@ export declare type QueryContextType = {
27
27
  /** Whether or not facets are available to be filtered upon based on the current data */
28
28
  isFacetsAvailable: boolean;
29
29
  /**
30
- * A facet may be "locked" so that it is not modifiable by the user, for example when showing only data relevant to a particular facet value on a Details Page.
31
- * The value of a locked facet will result in a client-side modification of the result bundle data.
30
+ * A column name may be "locked" so that it is both (1) not shown to the user that the filter is active, and (2) not modifiable by the user.
31
+ * For example, we may show only the data matching a particular facet value on a Details Page without implying that the shown data is part of a larger table.
32
+ * The presence of a locked filter will result in a client-side modification of the active query and result bundle data.
32
33
  */
33
- lockedFacet?: LockedFacet;
34
+ lockedColumn?: LockedColumn;
34
35
  };
35
36
  export declare type PaginatedQueryContextType = QueryContextType & {
36
37
  /** Navigates to a particular page, where the first page has value 1 */
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { SortConfiguration } from './CardContainerLogic';
3
+ export declare type QuerySortSelectorProps = {
4
+ sortConfig: SortConfiguration;
5
+ facetAliases?: Record<string, string>;
6
+ };
7
+ declare const QuerySortSelector: React.FunctionComponent<QuerySortSelectorProps>;
8
+ export default QuerySortSelector;
@@ -0,0 +1,50 @@
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 QueryContext_1 = require("./QueryContext");
6
+ var unCamelCase_1 = require("../utils/functions/unCamelCase");
7
+ var Typography_1 = tslib_1.__importDefault(require("../utils/typography/Typography"));
8
+ var react_select_1 = tslib_1.__importDefault(require("react-select"));
9
+ var CustomSelectWidget_1 = require("./entity/annotations/CustomSelectWidget");
10
+ var QuerySortSelector = function (_a) {
11
+ var sortConfig = _a.sortConfig, facetAliases = _a.facetAliases;
12
+ var defaultColumn = sortConfig.defaultColumn, defaultDirection = sortConfig.defaultDirection, sortableColumns = sortConfig.sortableColumns;
13
+ var queryContext = (0, QueryContext_1.useQueryContext)();
14
+ var getLastQueryRequest = queryContext.getLastQueryRequest, executeQueryRequest = queryContext.executeQueryRequest;
15
+ var _b = (0, react_1.useState)(defaultColumn), sortColumn = _b[0], setSortColumn = _b[1];
16
+ var _c = (0, react_1.useState)(defaultDirection), sortDirection = _c[0], setSortDirection = _c[1];
17
+ var enumOptions = sortableColumns.map(function (sortableColumn) {
18
+ return {
19
+ value: sortableColumn,
20
+ label: (0, unCamelCase_1.unCamelCase)(sortableColumn, facetAliases),
21
+ };
22
+ });
23
+ var onChange = function (value) {
24
+ var lastQueryRequestDeepClone = getLastQueryRequest();
25
+ var newSortDirection = 'ASC';
26
+ if (value === sortColumn) {
27
+ // flip sort direction
28
+ newSortDirection = sortDirection === 'ASC' ? 'DESC' : 'ASC';
29
+ }
30
+ var newSortItems = value
31
+ ? [
32
+ {
33
+ column: value,
34
+ direction: newSortDirection,
35
+ },
36
+ ]
37
+ : undefined;
38
+ lastQueryRequestDeepClone.query.sort = newSortItems;
39
+ executeQueryRequest(lastQueryRequestDeepClone);
40
+ setSortColumn(value);
41
+ setSortDirection(newSortDirection);
42
+ };
43
+ return (react_1.default.createElement("div", { className: "QuerySortSelector bootstrap-4-backport" },
44
+ react_1.default.createElement(Typography_1.default, { variant: "label", className: "sort-by-label SRC-inlineBlock" }, "Sort by"),
45
+ react_1.default.createElement(react_select_1.default, { className: "react-select-container SRC-inlineBlock", value: (0, CustomSelectWidget_1.findValueOption)(sortColumn, enumOptions), options: enumOptions, onChange: function (option) { return onChange(option === null || option === void 0 ? void 0 : option.value); }, components: { Control: CustomSelectWidget_1.Control }, styles: {
46
+ control: function (provided) { return (tslib_1.__assign(tslib_1.__assign({}, provided), { marginLeft: '15px' })); },
47
+ } })));
48
+ };
49
+ exports.default = QuerySortSelector;
50
+ //# sourceMappingURL=QuerySortSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuerySortSelector.js","sourceRoot":"","sources":["../../src/lib/containers/QuerySortSelector.tsx"],"names":[],"mappings":";;;AAAA,qDAAuC;AAEvC,+CAAgD;AAEhD,8DAA4D;AAC5D,sFAAuD;AACvD,sEAAiC;AACjC,8EAIgD;AAOhD,IAAM,iBAAiB,GAAoD,UAAC,EAG3E;QAFC,UAAU,gBAAA,EACV,YAAY,kBAAA;IAEJ,IAAA,aAAa,GAAwC,UAAU,cAAlD,EAAE,gBAAgB,GAAsB,UAAU,iBAAhC,EAAE,eAAe,GAAK,UAAU,gBAAf,CAAe;IACvE,IAAM,YAAY,GAAG,IAAA,8BAAe,GAAE,CAAA;IAC9B,IAAA,mBAAmB,GAA0B,YAAY,oBAAtC,EAAE,mBAAmB,GAAK,YAAY,oBAAjB,CAAiB;IAC3D,IAAA,KAA8B,IAAA,gBAAQ,EAC1C,aAAa,CACd,EAFM,UAAU,QAAA,EAAE,aAAa,QAE/B,CAAA;IACK,IAAA,KAAoC,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,EAA7D,aAAa,QAAA,EAAE,gBAAgB,QAA8B,CAAA;IAEpE,IAAM,WAAW,GAAiB,eAAe,CAAC,GAAG,CAAC,UAAA,cAAc;QAClE,OAAO;YACL,KAAK,EAAE,cAAc;YACrB,KAAK,EAAE,IAAA,yBAAW,EAAC,cAAc,EAAE,YAAY,CAAE;SAClD,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAM,QAAQ,GAAG,UAAC,KAAc;QAC9B,IAAM,yBAAyB,GAAG,mBAAmB,EAAE,CAAA;QACvD,IAAI,gBAAgB,GAAkB,KAAK,CAAA;QAC3C,IAAI,KAAK,KAAK,UAAU,EAAE;YACxB,sBAAsB;YACtB,gBAAgB,GAAG,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;SAC5D;QAED,IAAM,YAAY,GAA2B,KAAK;YAChD,CAAC,CAAC;gBACE;oBACE,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,gBAAgB;iBAC5B;aACF;YACH,CAAC,CAAC,SAAS,CAAA;QACb,yBAAyB,CAAC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAA;QACnD,mBAAmB,CAAC,yBAAyB,CAAC,CAAA;QAC9C,aAAa,CAAC,KAAK,CAAC,CAAA;QACpB,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IACpC,CAAC,CAAA;IAED,OAAO,CACL,uCAAK,SAAS,EAAC,wCAAwC;QACrD,8BAAC,oBAAU,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,+BAA+B,cAExD;QACb,8BAAC,sBAAM,IACL,SAAS,EAAC,wCAAwC,EAClD,KAAK,EAAE,IAAA,oCAAe,EAAC,UAAU,EAAE,WAAW,CAAC,EAC/C,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,UAAA,MAAM,IAAI,OAAA,QAAQ,CAAE,MAA4B,aAA5B,MAAM,uBAAN,MAAM,CAAwB,KAAK,CAAC,EAA9C,CAA8C,EAClE,UAAU,EAAE,EAAE,OAAO,8BAAA,EAAE,EACvB,MAAM,EAAE;gBACN,OAAO,EAAE,UAAA,QAAQ,IAAI,OAAA,uCAChB,QAAQ,KACX,UAAU,EAAE,MAAM,IAClB,EAHmB,CAGnB;aACH,GACD,CACE,CACP,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,iBAAiB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { QueryBundleRequest } from '../utils/synapseTypes';
3
- import { LockedFacet } from './QueryContext';
3
+ import { LockedColumn } from './QueryContext';
4
4
  export declare const QUERY_FILTERS_EXPANDED_CSS: string;
5
5
  export declare const QUERY_FILTERS_COLLAPSED_CSS: string;
6
6
  export declare type QueryWrapperProps = {
@@ -10,7 +10,7 @@ export declare type QueryWrapperProps = {
10
10
  shouldDeepLink?: boolean;
11
11
  onQueryChange?: (newQueryJson: string) => void;
12
12
  onQueryResultBundleChange?: (newQueryResultBundleJson: string) => void;
13
- lockedFacet?: LockedFacet;
13
+ lockedColumn?: LockedColumn;
14
14
  };
15
15
  export declare type SearchQuery = {
16
16
  columnName: string;