synapse-react-client 3.1.8 → 3.1.9
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/dist/containers/CardContainerLogic.js +5 -3
- package/dist/containers/CardContainerLogic.js.map +1 -1
- package/dist/containers/FilePreview/FileHandleContentRenderer.js +1 -1
- package/dist/containers/IconSvg.d.ts +1 -1
- package/dist/containers/IconSvg.js +15 -0
- package/dist/containers/IconSvg.js.map +1 -1
- package/dist/containers/InfiniteQueryWrapper.js +12 -1
- package/dist/containers/InfiniteQueryWrapper.js.map +1 -1
- package/dist/containers/QueryContext.d.ts +11 -1
- package/dist/containers/QueryContext.js.map +1 -1
- package/dist/containers/QueryCount.d.ts +7 -5
- package/dist/containers/QueryCount.js +10 -10
- package/dist/containers/QueryCount.js.map +1 -1
- package/dist/containers/QueryVisualizationWrapper.d.ts +3 -0
- package/dist/containers/QueryVisualizationWrapper.js +2 -0
- package/dist/containers/QueryVisualizationWrapper.js.map +1 -1
- package/dist/containers/QueryWrapper.js +14 -3
- package/dist/containers/QueryWrapper.js.map +1 -1
- package/dist/containers/SubsectionRowRenderer.d.ts +2 -2
- package/dist/containers/SubsectionRowRenderer.js +4 -3
- package/dist/containers/SubsectionRowRenderer.js.map +1 -1
- package/dist/containers/TotalQueryResults.d.ts +2 -2
- package/dist/containers/TotalQueryResults.js +12 -206
- package/dist/containers/TotalQueryResults.js.map +1 -1
- package/dist/containers/UserCardListRotate.d.ts +2 -2
- package/dist/containers/UserCardListRotate.js +4 -3
- package/dist/containers/UserCardListRotate.js.map +1 -1
- package/dist/containers/home_page/goals/Goals.Desktop.js +1 -1
- package/dist/containers/home_page/goals/Goals.Desktop.js.map +1 -1
- package/dist/containers/home_page/goals/Goals.Mobile.js +1 -1
- package/dist/containers/home_page/goals/Goals.Mobile.js.map +1 -1
- package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.js +3 -2
- package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/containers/row_renderers/utils/Icon.d.ts +1 -2
- package/dist/containers/row_renderers/utils/Icon.js.map +1 -1
- package/dist/containers/table/StandaloneQueryWrapper.d.ts +0 -3
- package/dist/containers/table/StandaloneQueryWrapper.js +9 -7
- package/dist/containers/table/StandaloneQueryWrapper.js.map +1 -1
- package/dist/containers/table/SynapseTable.d.ts +0 -7
- package/dist/containers/table/SynapseTable.js +5 -19
- package/dist/containers/table/SynapseTable.js.map +1 -1
- package/dist/containers/table/SynapseTableUtils.d.ts +1 -16
- package/dist/containers/table/SynapseTableUtils.js +1 -101
- package/dist/containers/table/SynapseTableUtils.js.map +1 -1
- package/dist/containers/table/TopLevelControls.js +21 -4
- package/dist/containers/table/TopLevelControls.js.map +1 -1
- package/dist/containers/table/table-top/ColumnSelection.js +1 -1
- package/dist/containers/table/table-top/ColumnSelection.js.map +1 -1
- package/dist/containers/table/table-top/DownloadOptions.js +1 -2
- package/dist/containers/table/table-top/DownloadOptions.js.map +1 -1
- package/dist/containers/useImmutableTableQuery.d.ts +12 -1
- package/dist/containers/useImmutableTableQuery.js +93 -11
- package/dist/containers/useImmutableTableQuery.js.map +1 -1
- package/dist/containers/widgets/ElementWithTooltip.d.ts +1 -2
- package/dist/containers/widgets/ElementWithTooltip.js +2 -2
- package/dist/containers/widgets/ElementWithTooltip.js.map +1 -1
- package/dist/containers/widgets/facet-nav/FacetNavPanel.js +3 -3
- package/dist/containers/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/containers/widgets/facet-nav/SelectionCriteriaPill.d.ts +12 -17
- package/dist/containers/widgets/facet-nav/SelectionCriteriaPill.js +11 -43
- package/dist/containers/widgets/facet-nav/SelectionCriteriaPill.js.map +1 -1
- package/dist/containers/widgets/facet-nav/SelectionCriteriaPills.d.ts +3 -0
- package/dist/containers/widgets/facet-nav/SelectionCriteriaPills.js +117 -0
- package/dist/containers/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -0
- package/dist/containers/widgets/query-filter/EnumFacetFilter.js +1 -1
- package/dist/containers/widgets/query-filter/EnumFacetFilter.js.map +1 -1
- package/dist/containers/widgets/themes-plot/ThemesPlot.js +1 -1
- package/dist/containers/widgets/themes-plot/ThemesPlot.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/umd/synapse-react-client.development.js +7198 -12261
- package/dist/umd/synapse-react-client.development.js.map +4 -4
- package/dist/umd/synapse-react-client.production.min.js +72 -85
- package/dist/umd.index.d.ts +1 -0
- package/dist/umd.index.js +2 -0
- package/dist/umd.index.js.map +1 -1
- package/dist/utils/functions/getDataFromFromStorage.d.ts +2 -4
- package/dist/utils/functions/getDataFromFromStorage.js +33 -4
- package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
- package/dist/utils/functions/queryUtils.js +1 -0
- package/dist/utils/functions/queryUtils.js.map +1 -1
- package/dist/utils/functions/sqlFunctions.d.ts +8 -11
- package/dist/utils/functions/sqlFunctions.js +50 -144
- package/dist/utils/functions/sqlFunctions.js.map +1 -1
- package/package.json +2 -7
package/dist/umd.index.d.ts
CHANGED
|
@@ -84,6 +84,7 @@ declare const SynapseComponents: {
|
|
|
84
84
|
OAuthManagement: import("react").FunctionComponent<{}>;
|
|
85
85
|
CertificationQuiz: import("react").FunctionComponent<{}>;
|
|
86
86
|
HtmlPreview: typeof HtmlPreview;
|
|
87
|
+
IDUReport: import("react").FunctionComponent<import("./containers/IDUReport").IDUReportProps>;
|
|
87
88
|
};
|
|
88
89
|
declare const SynapseReactClientVersion: any;
|
|
89
90
|
export { SynapseReactClientVersion, SynapseComponents, SynapseConstants, SynapseClient, SynapseContext, };
|
package/dist/umd.index.js
CHANGED
|
@@ -48,6 +48,7 @@ var UserCard_1 = tslib_1.__importDefault(require("./containers/UserCard"));
|
|
|
48
48
|
var UserProfileLinks_1 = tslib_1.__importDefault(require("./containers/user_profile_links/UserProfileLinks"));
|
|
49
49
|
var CertificationQuiz_1 = tslib_1.__importDefault(require("./containers/CertificationQuiz"));
|
|
50
50
|
var ProvenanceGraph_1 = tslib_1.__importDefault(require("./containers/provenance/ProvenanceGraph"));
|
|
51
|
+
var IDUReport_1 = tslib_1.__importDefault(require("./containers/IDUReport"));
|
|
51
52
|
var utils_1 = require("./utils");
|
|
52
53
|
Object.defineProperty(exports, "SynapseClient", { enumerable: true, get: function () { return utils_1.SynapseClient; } });
|
|
53
54
|
Object.defineProperty(exports, "SynapseConstants", { enumerable: true, get: function () { return utils_1.SynapseConstants; } });
|
|
@@ -109,6 +110,7 @@ var SynapseComponents = {
|
|
|
109
110
|
OAuthManagement: OAuthManagement_1.OAuthManagement,
|
|
110
111
|
CertificationQuiz: CertificationQuiz_1.default,
|
|
111
112
|
HtmlPreview: HtmlPreview_1.default,
|
|
113
|
+
IDUReport: IDUReport_1.default,
|
|
112
114
|
};
|
|
113
115
|
exports.SynapseComponents = SynapseComponents;
|
|
114
116
|
// Include the version in the build
|
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,6EAA8C;AAC9C,gFAA8E;AAC9E,4FAA0F;AAC1F,qFAAsD;AACtD,iFAAkD;AAClD,uFAAwD;AACxD,wDAAmE;AACnE,wDAAsD;AACtD,iIAAkG;AAClG,yEAA0C;AAC1C,qEAAsC;AACtC,6EAA8C;AAC9C,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,iCAAyD;
|
|
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,6EAA8C;AAC9C,gFAA8E;AAC9E,4FAA0F;AAC1F,qFAAsD;AACtD,iFAAkD;AAClD,uFAAwD;AACxD,wDAAmE;AACnE,wDAAsD;AACtD,iIAAkG;AAClG,yEAA0C;AAC1C,qEAAsC;AACtC,6EAA8C;AAC9C,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,iCAAyD;AA4EvD,8FA5EO,qBAAa,OA4EP;AADb,iGA3EsB,wBAAgB,OA2EtB;AA1ElB,yDAI+B;AAE/B,kCAAkC;AAClC,6BAA0B;AAC1B,yGAA0E;AAE1E,IAAM,cAAc,GAAG;IACrB,sBAAsB,yCAAA;IACtB,sBAAsB,yCAAA;IACtB,iBAAiB,oCAAA;CAClB,CAAA;AA8DC,wCAAc;AA5DhB,IAAM,iBAAiB,GAAG;IACxB,KAAK,iBAAA;IACL,SAAS,qBAAA;IACT,UAAU,sBAAA;IACV,QAAQ,oBAAA;IACR,cAAc,0BAAA;IACd,SAAS,2BAAA;IACT,cAAc,iCAAA;IACd,oBAAoB,6CAAA;IACpB,eAAe,mCAAA;IACf,iBAAiB,uCAAA;IACjB,kBAAkB,8BAAA;IAClB,YAAY,wBAAA;IACZ,mBAAmB,+BAAA;IACnB,eAAe,mCAAA;IACf,YAAY,6BAAA;IACZ,SAAS,qBAAA;IACT,gBAAgB,qCAAA;IAChB,gBAAgB,qCAAA;IAChB,cAAc,0BAAA;IACd,oBAAoB,6CAAA;IACpB,cAAc,EAAE,wBAAc;IAC9B,4BAA4B,6DAAA;IAC5B,gBAAgB,qCAAA;IAChB,aAAa,yBAAA;IACb,WAAW,2BAAA;IACX,qBAAqB,sCAAA;IACrB,YAAY,6BAAA;IACZ,OAAO,mBAAA;IACP,gBAAgB,4BAAA;IAChB,aAAa,yBAAA;IACb,kBAAkB,yCAAA;IAClB,cAAc,6BAAA;IACd,WAAW,2BAAA;IACX,yBAAyB,+BAAA;IACzB,0BAA0B,sCAAA;IAC1B,6BAA6B,+DAAA;IAC7B,cAAc,iCAAA;IACd,mBAAmB,+BAAA;IACnB,sBAAsB,kCAAA;IACtB,cAAc,0BAAA;IACd,WAAW,uBAAA;IACX,iBAAiB,uCAAA;IACjB,eAAe,2BAAA;IACf,YAAY,6BAAA;IACZ,eAAe,mCAAA;IACf,iBAAiB,6BAAA;IACjB,WAAW,uBAAA;IACX,SAAS,qBAAA;CACV,CAAA;AAQC,8CAAiB;AANnB,mCAAmC;AACnC,mJAAmJ;AACnJ,IAAM,yBAAyB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAA;AAGrE,8DAAyB"}
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const getStoredUserProfiles: () => UserProfile[];
|
|
4
|
-
export declare const getStoredEvaluation: () => Evaluation[];
|
|
1
|
+
import { ColumnType } from '../synapseTypes';
|
|
2
|
+
export declare const getDisplayValue: (value: string, columnType: ColumnType) => string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getDisplayValue = void 0;
|
|
4
|
+
var synapseTypes_1 = require("../synapseTypes");
|
|
4
5
|
var __1 = require("..");
|
|
5
6
|
var getStoredEntityHeaders = function () {
|
|
6
7
|
try {
|
|
@@ -11,7 +12,6 @@ var getStoredEntityHeaders = function () {
|
|
|
11
12
|
return [];
|
|
12
13
|
}
|
|
13
14
|
};
|
|
14
|
-
exports.getStoredEntityHeaders = getStoredEntityHeaders;
|
|
15
15
|
var getStoredUserProfiles = function () {
|
|
16
16
|
try {
|
|
17
17
|
var lookUpUserIds = JSON.parse(sessionStorage.getItem(__1.SynapseConstants.USER_PROFILE_STORAGE_KEY) || '');
|
|
@@ -21,7 +21,6 @@ var getStoredUserProfiles = function () {
|
|
|
21
21
|
return [];
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
|
-
exports.getStoredUserProfiles = getStoredUserProfiles;
|
|
25
24
|
var getStoredEvaluation = function () {
|
|
26
25
|
try {
|
|
27
26
|
var lookUpEvaluations = JSON.parse(sessionStorage.getItem(__1.SynapseConstants.EVALUATIONS_STORAGE_KEY) || '');
|
|
@@ -31,5 +30,35 @@ var getStoredEvaluation = function () {
|
|
|
31
30
|
return [];
|
|
32
31
|
}
|
|
33
32
|
};
|
|
34
|
-
|
|
33
|
+
var getDisplayValueForEntityColumn = function (value) {
|
|
34
|
+
var _a;
|
|
35
|
+
var entity = getStoredEntityHeaders().find(function (item) { return item.id === value; });
|
|
36
|
+
return (_a = entity === null || entity === void 0 ? void 0 : entity.name) !== null && _a !== void 0 ? _a : value;
|
|
37
|
+
};
|
|
38
|
+
var getDisplayValueEvaluationIdColumn = function (facetValue) {
|
|
39
|
+
var evaluation = getStoredEvaluation().find(function (item) { return item.id === facetValue; });
|
|
40
|
+
return (evaluation === null || evaluation === void 0 ? void 0 : evaluation.name) || facetValue;
|
|
41
|
+
};
|
|
42
|
+
var getDisplayValueUserIdColumn = function (facetValue) {
|
|
43
|
+
var userProfile = getStoredUserProfiles().find(function (item) { return item.ownerId === facetValue; });
|
|
44
|
+
return (userProfile === null || userProfile === void 0 ? void 0 : userProfile.userName) || facetValue;
|
|
45
|
+
};
|
|
46
|
+
var getDisplayValue = function (value, columnType) {
|
|
47
|
+
if (value === __1.SynapseConstants.VALUE_NOT_SET) {
|
|
48
|
+
return __1.SynapseConstants.FRIENDLY_VALUE_NOT_SET;
|
|
49
|
+
}
|
|
50
|
+
switch (columnType) {
|
|
51
|
+
case synapseTypes_1.ColumnType.ENTITYID:
|
|
52
|
+
case synapseTypes_1.ColumnType.ENTITYID_LIST:
|
|
53
|
+
return getDisplayValueForEntityColumn(value);
|
|
54
|
+
case synapseTypes_1.ColumnType.USERID:
|
|
55
|
+
case synapseTypes_1.ColumnType.USERID_LIST:
|
|
56
|
+
return getDisplayValueUserIdColumn(value);
|
|
57
|
+
case synapseTypes_1.ColumnType.EVALUATIONID:
|
|
58
|
+
return getDisplayValueEvaluationIdColumn(value);
|
|
59
|
+
default:
|
|
60
|
+
return value;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
exports.getDisplayValue = getDisplayValue;
|
|
35
64
|
//# sourceMappingURL=getDataFromFromStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDataFromFromStorage.js","sourceRoot":"","sources":["../../../src/lib/utils/functions/getDataFromFromStorage.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getDataFromFromStorage.js","sourceRoot":"","sources":["../../../src/lib/utils/functions/getDataFromFromStorage.ts"],"names":[],"mappings":";;;AAAA,gDAKwB;AACxB,wBAAqC;AAErC,IAAM,sBAAsB,GAAG;IAC7B,IAAI;QACF,IAAM,mBAAmB,GAAmB,IAAI,CAAC,KAAK,CACpD,cAAc,CAAC,OAAO,CAAC,oBAAgB,CAAC,yBAAyB,CAAC,IAAI,EAAE,CACzE,CAAA;QACD,OAAO,mBAAmB,CAAA;KAC3B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,EAAE,CAAA;KACV;AACH,CAAC,CAAA;AAED,IAAM,qBAAqB,GAAG;IAC5B,IAAI;QACF,IAAM,aAAa,GAAkB,IAAI,CAAC,KAAK,CAC7C,cAAc,CAAC,OAAO,CAAC,oBAAgB,CAAC,wBAAwB,CAAC,IAAI,EAAE,CACxE,CAAA;QACD,OAAO,aAAa,CAAA;KACrB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,EAAE,CAAA;KACV;AACH,CAAC,CAAA;AAED,IAAM,mBAAmB,GAAG;IAC1B,IAAI;QACF,IAAM,iBAAiB,GAAkB,IAAI,CAAC,KAAK,CACjD,cAAc,CAAC,OAAO,CAAC,oBAAgB,CAAC,uBAAuB,CAAC,IAAI,EAAE,CACvE,CAAA;QACD,OAAO,iBAAiB,CAAA;KACzB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,EAAE,CAAA;KACV;AACH,CAAC,CAAA;AAED,IAAM,8BAA8B,GAAG,UAAC,KAAa;;IACnD,IAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,EAAE,KAAK,KAAK,EAAjB,CAAiB,CAAC,CAAA;IACvE,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,KAAK,CAAA;AAC9B,CAAC,CAAA;AAED,IAAM,iCAAiC,GAAG,UAAC,UAAkB;IAC3D,IAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,EAAE,KAAK,UAAU,EAAtB,CAAsB,CAAC,CAAA;IAC7E,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,KAAI,UAAU,CAAA;AACvC,CAAC,CAAA;AAED,IAAM,2BAA2B,GAAG,UAAC,UAAkB;IACrD,IAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC,IAAI,CAC9C,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,KAAK,UAAU,EAA3B,CAA2B,CACpC,CAAA;IACD,OAAO,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,KAAI,UAAU,CAAA;AAC5C,CAAC,CAAA;AAEM,IAAM,eAAe,GAAG,UAAC,KAAa,EAAE,UAAsB;IACnE,IAAI,KAAK,KAAK,oBAAgB,CAAC,aAAa,EAAE;QAC5C,OAAO,oBAAgB,CAAC,sBAAsB,CAAA;KAC/C;IAED,QAAQ,UAAU,EAAE;QAClB,KAAK,yBAAU,CAAC,QAAQ,CAAC;QACzB,KAAK,yBAAU,CAAC,aAAa;YAC3B,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAA;QAC9C,KAAK,yBAAU,CAAC,MAAM,CAAC;QACvB,KAAK,yBAAU,CAAC,WAAW;YACzB,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAA;QAC3C,KAAK,yBAAU,CAAC,YAAY;YAC1B,OAAO,iCAAiC,CAAC,KAAK,CAAC,CAAA;QACjD;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC,CAAA;AAjBY,QAAA,eAAe,mBAiB3B"}
|
|
@@ -78,6 +78,7 @@ var isSingleNotSetValue = function (facet) {
|
|
|
78
78
|
__1.SynapseConstants.VALUE_NOT_SET);
|
|
79
79
|
};
|
|
80
80
|
exports.isSingleNotSetValue = isSingleNotSetValue;
|
|
81
|
+
// TODO Instead of removing the facet from the data, the facet renderers should just be aware of what to hide
|
|
81
82
|
function removeLockedColumnFromFacetData(data, lockedColumn) {
|
|
82
83
|
var _a;
|
|
83
84
|
var lockedColumnName = lockedColumn === null || lockedColumn === void 0 ? void 0 : lockedColumn.columnName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryUtils.js","sourceRoot":"","sources":["../../../src/lib/utils/functions/queryUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queryUtils.js","sourceRoot":"","sources":["../../../src/lib/utils/functions/queryUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
[index: string]: string;
|
|
4
|
-
};
|
|
1
|
+
import { Row, SelectColumn } from '../synapseTypes';
|
|
2
|
+
import { QueryFilter } from '../synapseTypes/Table/QueryFilter';
|
|
5
3
|
export declare type SQLOperator = 'LIKE' | '=' | 'HAS';
|
|
6
|
-
export declare const isGroupByInSql: (sql: string) => boolean;
|
|
7
|
-
export declare const getWhereInsertIndex: (tokens: string[][]) => number;
|
|
8
4
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
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
|
+
* @param sql
|
|
7
|
+
* @param searchParams
|
|
8
|
+
* @param operator
|
|
9
|
+
* @returns
|
|
12
10
|
*/
|
|
13
|
-
export declare const
|
|
14
|
-
export declare const formatSQLFromParser: (tokens: string[][]) => string;
|
|
11
|
+
export declare const generateQueryFilterFromSearchParams: (searchParams?: Record<string, string>, operator?: SQLOperator) => QueryFilter[] | undefined;
|
|
15
12
|
export declare const parseEntityIdFromSqlStatement: (sql: string) => string;
|
|
16
13
|
export declare const parseEntityIdAndVersionFromSqlStatement: (sql: string) => {
|
|
17
14
|
entityId: string;
|
|
@@ -1,165 +1,71 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resultToJson = exports.parseEntityIdAndVersionFromSqlStatement = exports.parseEntityIdFromSqlStatement = exports.
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var sql_parser_1 = require("sql-parser");
|
|
3
|
+
exports.resultToJson = exports.parseEntityIdAndVersionFromSqlStatement = exports.parseEntityIdFromSqlStatement = exports.generateQueryFilterFromSearchParams = void 0;
|
|
6
4
|
var RegularExpressions_1 = require("../functions/RegularExpressions");
|
|
7
|
-
|
|
8
|
-
var GROUP_BY_REGEX = /group by/im;
|
|
9
|
-
var isGroupByInSql = function (sql) {
|
|
10
|
-
return GROUP_BY_REGEX.test(sql);
|
|
11
|
-
};
|
|
12
|
-
exports.isGroupByInSql = isGroupByInSql;
|
|
5
|
+
var QueryFilter_1 = require("../synapseTypes/Table/QueryFilter");
|
|
13
6
|
var WITHOUT_SYN_PREFIX = 3;
|
|
14
|
-
var generateTokenUsingOperator = function (literal, operator, match) {
|
|
15
|
-
var usedMatchForLike = match;
|
|
16
|
-
if (match.match(RegularExpressions_1.SYNAPSE_ENTITY_ID_REGEX)) {
|
|
17
|
-
// If we use a LIKE statement with a synId the backend will look for a string with the first three
|
|
18
|
-
// characters being 'syn', however, it stores synIds without 'syn', so the query will fail
|
|
19
|
-
// The backend usually parses 'syn' out, but not with the LIKE clause since its expecting a regex, so we
|
|
20
|
-
// parse this out. This will cause a bug if something matches the synId regex but is in free text.
|
|
21
|
-
usedMatchForLike = match.substring(WITHOUT_SYN_PREFIX);
|
|
22
|
-
}
|
|
23
|
-
// form the has clause, e.g sql = ".... HAS ('condition1', 'condition2',...,'conditionN')
|
|
24
|
-
var matchForHas = match
|
|
25
|
-
.split(',')
|
|
26
|
-
// NOTE - Using single quotes to surround the search term is necessary for the backend parser.
|
|
27
|
-
.map(function (el) { return "'".concat(el, "'"); })
|
|
28
|
-
.join(',');
|
|
29
|
-
switch (operator) {
|
|
30
|
-
case 'LIKE':
|
|
31
|
-
return [
|
|
32
|
-
['LITERAL', literal, '1'],
|
|
33
|
-
['OPERATOR', operator, '1'],
|
|
34
|
-
['STRING', "%".concat(usedMatchForLike, "%"), '1'],
|
|
35
|
-
];
|
|
36
|
-
case 'HAS':
|
|
37
|
-
return [
|
|
38
|
-
['LITERAL', literal, '1'],
|
|
39
|
-
['OPERATOR', operator, '1'],
|
|
40
|
-
/*
|
|
41
|
-
Using PARAMETER as hack, the parser will use the exact value for a PARAMETER value,
|
|
42
|
-
it won't add quotes around the argument or remove parens (which is the standard behavior
|
|
43
|
-
for type STRING) that would cause an error on the backend
|
|
44
|
-
*/
|
|
45
|
-
['PARAMETER', "(".concat(matchForHas, ")"), '1'],
|
|
46
|
-
];
|
|
47
|
-
default:
|
|
48
|
-
// default use operator as-is
|
|
49
|
-
return [
|
|
50
|
-
['LITERAL', literal, '1'],
|
|
51
|
-
['OPERATOR', operator, '1'],
|
|
52
|
-
['STRING', match, '1'],
|
|
53
|
-
];
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
var getWhereInsertIndex = function (tokens) {
|
|
57
|
-
var existingWhereIndex = tokens.findIndex(function (el) { return el[0] === 'WHERE'; });
|
|
58
|
-
if (existingWhereIndex !== -1) {
|
|
59
|
-
return existingWhereIndex;
|
|
60
|
-
}
|
|
61
|
-
var targetIndex = tokens.findIndex(function (el) { return el[0] === 'GROUP'; });
|
|
62
|
-
if (targetIndex !== -1) {
|
|
63
|
-
return targetIndex;
|
|
64
|
-
}
|
|
65
|
-
targetIndex = tokens.findIndex(function (el) { return el[0] === 'HAVING'; });
|
|
66
|
-
if (targetIndex !== -1) {
|
|
67
|
-
return targetIndex;
|
|
68
|
-
}
|
|
69
|
-
targetIndex = tokens.findIndex(function (el) { return el[0] === 'ORDER'; });
|
|
70
|
-
if (targetIndex !== -1) {
|
|
71
|
-
return targetIndex;
|
|
72
|
-
}
|
|
73
|
-
//else insert it at the end
|
|
74
|
-
targetIndex = tokens.findIndex(function (el) { return el[0] === 'EOF'; });
|
|
75
|
-
return targetIndex;
|
|
76
|
-
};
|
|
77
|
-
exports.getWhereInsertIndex = getWhereInsertIndex;
|
|
78
7
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
8
|
+
* 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.
|
|
9
|
+
* @param sql
|
|
10
|
+
* @param searchParams
|
|
11
|
+
* @param operator
|
|
12
|
+
* @returns
|
|
82
13
|
*/
|
|
83
|
-
var
|
|
14
|
+
var generateQueryFilterFromSearchParams = function (searchParams, operator) {
|
|
84
15
|
if (operator === void 0) { operator = 'LIKE'; }
|
|
85
|
-
// TODO: Replace SQL manipulation with QueryFilters. See PORTALS-2157
|
|
86
|
-
// if there are no search params, or if all search params are QueryWrapper queries
|
|
87
16
|
if (!searchParams) {
|
|
88
|
-
return
|
|
17
|
+
return;
|
|
89
18
|
}
|
|
90
19
|
var isQueryWrapperKey = function (key) { return key.startsWith('QueryWrapper'); };
|
|
91
20
|
var searchParamKeys = Object.keys(searchParams);
|
|
92
21
|
if (searchParamKeys.length === 0 ||
|
|
93
22
|
searchParamKeys.every(isQueryWrapperKey)) {
|
|
94
|
-
return
|
|
95
|
-
}
|
|
96
|
-
var tokens = sql_parser_1.lexer.tokenize(sql);
|
|
97
|
-
// we want to either create a where clause or insert into the where clause
|
|
98
|
-
var foundIndex = tokens.findIndex(function (el) { return el[0] === 'WHERE'; });
|
|
99
|
-
var whereClauseIndex = (0, exports.getWhereInsertIndex)(tokens);
|
|
100
|
-
var indexAfterWhereClause = whereClauseIndex + 1;
|
|
101
|
-
if (foundIndex === -1) {
|
|
102
|
-
// insert a where clause
|
|
103
|
-
tokens.splice(whereClauseIndex, 0, ['WHERE', 'WHERE', '1']);
|
|
23
|
+
return;
|
|
104
24
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
25
|
+
return Object.keys(searchParams)
|
|
26
|
+
.filter(function (key) { return !isQueryWrapperKey(key); })
|
|
27
|
+
.map(function (key) {
|
|
28
|
+
if (operator === 'HAS') {
|
|
29
|
+
var filter = {
|
|
30
|
+
concreteType: 'org.sagebionetworks.repo.model.table.ColumnMultiValueFunctionQueryFilter',
|
|
31
|
+
columnName: key,
|
|
32
|
+
function: QueryFilter_1.ColumnMultiValueFunction.HAS,
|
|
33
|
+
values: searchParams[key].split(','),
|
|
34
|
+
};
|
|
35
|
+
return filter;
|
|
115
36
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
37
|
+
else if (operator === 'LIKE') {
|
|
38
|
+
var value = searchParams[key];
|
|
39
|
+
if (value.match(RegularExpressions_1.SYNAPSE_ENTITY_ID_REGEX)) {
|
|
40
|
+
// If we use a LIKE statement with a synId the backend will look for a string with the first three
|
|
41
|
+
// characters being 'syn', however, it stores synIds without 'syn', so the query will fail
|
|
42
|
+
// The backend usually parses 'syn' out, but not with the LIKE clause since its expecting a regex, so we
|
|
43
|
+
// parse this out. This will cause a bug if something matches the synId regex but is in free text.
|
|
44
|
+
value = value.substring(WITHOUT_SYN_PREFIX);
|
|
45
|
+
}
|
|
46
|
+
var filter = {
|
|
47
|
+
concreteType: 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',
|
|
48
|
+
columnName: key,
|
|
49
|
+
operator: QueryFilter_1.ColumnSingleValueFilterOperator.LIKE,
|
|
50
|
+
// Add wildcards around the value
|
|
51
|
+
values: ["%".concat(value, "%")],
|
|
52
|
+
};
|
|
53
|
+
return filter;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// operator is '='
|
|
57
|
+
// The backend doesn't have an '=' operator for query filters, but we can just use LIKE without wildcards.
|
|
58
|
+
var filter = {
|
|
59
|
+
concreteType: 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',
|
|
60
|
+
columnName: key,
|
|
61
|
+
operator: QueryFilter_1.ColumnSingleValueFilterOperator.LIKE,
|
|
62
|
+
values: [searchParams[key]],
|
|
63
|
+
};
|
|
64
|
+
return filter;
|
|
126
65
|
}
|
|
127
66
|
});
|
|
128
|
-
// if synId has a DOT (e.g. 'syn123.2') then we have to alter the sql produced
|
|
129
|
-
var dotIndex = tokens.findIndex(function (val) { return val[0] === 'DOT'; });
|
|
130
|
-
if (dotIndex !== -1) {
|
|
131
|
-
// Given sql with a versioned entity, e.g. "select * from syn123.2"
|
|
132
|
-
// Tokens has the form:
|
|
133
|
-
/*
|
|
134
|
-
[
|
|
135
|
-
["SELECT" , "select"],
|
|
136
|
-
..
|
|
137
|
-
["FROM", "from"],
|
|
138
|
-
["LITERAL", "syn123"],
|
|
139
|
-
["DOT", "."],
|
|
140
|
-
["LITERAL", "2"],
|
|
141
|
-
|
|
142
|
-
which we need to transform to
|
|
143
|
-
|
|
144
|
-
["SELECT" , "select"],
|
|
145
|
-
..
|
|
146
|
-
["FROM", "from"],
|
|
147
|
-
["LITERAL", "syn123.2"],
|
|
148
|
-
*/
|
|
149
|
-
var synId_1 = tokens[dotIndex - 1][1];
|
|
150
|
-
var version = tokens[dotIndex + 1][1];
|
|
151
|
-
var synIdWithVersion = "".concat(synId_1, ".").concat(version);
|
|
152
|
-
tokens.splice(dotIndex, 2);
|
|
153
|
-
tokens[dotIndex - 1] = ['LITERAL', synIdWithVersion];
|
|
154
|
-
}
|
|
155
|
-
var newSql = sql_parser_1.parser.parse(tokens).toString();
|
|
156
|
-
// construct the sql using their formatter and then alter it to remove erroneous
|
|
157
|
-
// backticks from the table identifier: e.g. (their output) `syn1234` -> (our output) syn1234
|
|
158
|
-
var synId = tokens[tokens.findIndex(function (el) { return el[0] === 'FROM'; }) + 1][1];
|
|
159
|
-
var synIdWithBackticks = "`".concat(synId, "`");
|
|
160
|
-
return newSql.replace(synIdWithBackticks, synId);
|
|
161
67
|
};
|
|
162
|
-
exports.
|
|
68
|
+
exports.generateQueryFilterFromSearchParams = generateQueryFilterFromSearchParams;
|
|
163
69
|
//parses synapse entity id from a sql query string
|
|
164
70
|
//look for a pattern of 'from[some number of spaces]syn[somenumbers]` case insensitive
|
|
165
71
|
var parseEntityIdFromSqlStatement = function (sql) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlFunctions.js","sourceRoot":"","sources":["../../../src/lib/utils/functions/sqlFunctions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sqlFunctions.js","sourceRoot":"","sources":["../../../src/lib/utils/functions/sqlFunctions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "synapse-react-client",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.9",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -87,7 +87,6 @@
|
|
|
87
87
|
"sass": "^1.30.0",
|
|
88
88
|
"shortid": "^2.2.16",
|
|
89
89
|
"spark-md5": "^3.0.0",
|
|
90
|
-
"sql-parser": "^0.5.0",
|
|
91
90
|
"tslib": "^2.3.1",
|
|
92
91
|
"ua-parser-js": "^1.0.2",
|
|
93
92
|
"universal-cookie": "^4.0.3",
|
|
@@ -153,7 +152,6 @@
|
|
|
153
152
|
"@types/react-virtualized-auto-sizer": "^1.0.1",
|
|
154
153
|
"@types/react-window": "^1.8.5",
|
|
155
154
|
"@types/shortid": "^0.0.29",
|
|
156
|
-
"@types/sinon": "^7.0.2",
|
|
157
155
|
"@types/spark-md5": "^3.0.1",
|
|
158
156
|
"@types/xml2js": "^0.4.4",
|
|
159
157
|
"@typescript-eslint/eslint-plugin": "^5.13.0",
|
|
@@ -186,8 +184,7 @@
|
|
|
186
184
|
"jsdom": "^20.0.0",
|
|
187
185
|
"lint-staged": ">=10",
|
|
188
186
|
"memfs": "^3.4.7",
|
|
189
|
-
"msw": "^0.
|
|
190
|
-
"npm-run-all": "^4.1.3",
|
|
187
|
+
"msw": "^0.47.4",
|
|
191
188
|
"path-browserify": "^1.0.1",
|
|
192
189
|
"postcss-normalize": "^10.0.1",
|
|
193
190
|
"prettier": "^2.6.2",
|
|
@@ -197,14 +194,12 @@
|
|
|
197
194
|
"react-select-event": "^5.5.1",
|
|
198
195
|
"react-test-renderer": "^18.2.0",
|
|
199
196
|
"rollup-plugin-polyfill-node": "^0.10.2",
|
|
200
|
-
"sinon": "^7.2.2",
|
|
201
197
|
"stream-browserify": "^3.0.0",
|
|
202
198
|
"stream-http": "^3.2.0",
|
|
203
199
|
"timers-browserify": "^2.0.12",
|
|
204
200
|
"typescript": "4.7.4",
|
|
205
201
|
"util": "^0.12.4",
|
|
206
202
|
"vite": "^3.0.9",
|
|
207
|
-
"vite-plugin-externals": "^0.5.1",
|
|
208
203
|
"vite-plugin-svgr": "^2.2.1",
|
|
209
204
|
"weak-napi": "^2.0.2",
|
|
210
205
|
"whatwg-fetch": "^3.6.2",
|