@gen3/frontend 0.10.54 → 0.10.55
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/cjs/index.js +1894 -41
- package/dist/cjs/index.js.map +1 -1
- package/dist/dts/components/MessageCards/CardContainer.d.ts +1 -0
- package/dist/dts/components/MessageCards/CardContainer.d.ts.map +1 -1
- package/dist/dts/components/MessageCards/CardContainer.js +2 -2
- package/dist/dts/components/MessageCards/CardContainer.js.map +1 -1
- package/dist/dts/components/MessageCards/MessageCard.d.ts +1 -0
- package/dist/dts/components/MessageCards/MessageCard.d.ts.map +1 -1
- package/dist/dts/components/MessageCards/MessageCard.js +2 -2
- package/dist/dts/components/MessageCards/MessageCard.js.map +1 -1
- package/dist/dts/components/NewTabLink.d.ts +8 -0
- package/dist/dts/components/NewTabLink.d.ts.map +1 -0
- package/dist/dts/components/NewTabLink.js +7 -0
- package/dist/dts/components/NewTabLink.js.map +1 -0
- package/dist/dts/components/charts/echarts/VerticalBarChart.d.ts +7 -0
- package/dist/dts/components/charts/echarts/VerticalBarChart.d.ts.map +1 -1
- package/dist/dts/components/charts/echarts/VerticalBarChart.js +7 -1
- package/dist/dts/components/charts/echarts/VerticalBarChart.js.map +1 -1
- package/dist/dts/components/jobs/JobMonitor.d.ts +2 -0
- package/dist/dts/components/jobs/JobMonitor.d.ts.map +1 -0
- package/dist/dts/components/jobs/JobMonitor.js +40 -0
- package/dist/dts/components/jobs/JobMonitor.js.map +1 -0
- package/dist/dts/components/jobs/JobsList.d.ts +6 -0
- package/dist/dts/components/jobs/JobsList.d.ts.map +1 -0
- package/dist/dts/components/jobs/JobsList.js +30 -0
- package/dist/dts/components/jobs/JobsList.js.map +1 -0
- package/dist/dts/components/jobs/JobsModal.d.ts +6 -0
- package/dist/dts/components/jobs/JobsModal.d.ts.map +1 -0
- package/dist/dts/components/jobs/JobsModal.js +10 -0
- package/dist/dts/components/jobs/JobsModal.js.map +1 -0
- package/dist/dts/components/jobs/index.d.ts +5 -0
- package/dist/dts/components/jobs/index.d.ts.map +1 -0
- package/dist/dts/components/jobs/index.js +5 -0
- package/dist/dts/components/jobs/index.js.map +1 -0
- package/dist/dts/features/Analysis/AnalysisCardEditor.d.ts.map +1 -1
- package/dist/dts/features/Analysis/AnalysisCardEditor.js +0 -1
- package/dist/dts/features/Analysis/AnalysisCardEditor.js.map +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpressionSection.d.ts +6 -4
- package/dist/dts/features/CohortBuilder/QueryExpressionSection.d.ts.map +1 -1
- package/dist/dts/features/CohortBuilder/QueryExpressionSection.js +7 -7
- package/dist/dts/features/CohortBuilder/QueryExpressionSection.js.map +1 -1
- package/dist/dts/features/CohortBuilder/QueryRepresentation.d.ts +3 -2
- package/dist/dts/features/CohortBuilder/QueryRepresentation.d.ts.map +1 -1
- package/dist/dts/features/CohortBuilder/QueryRepresentation.js +33 -24
- package/dist/dts/features/CohortBuilder/QueryRepresentation.js.map +1 -1
- package/dist/dts/features/CohortBuilder/downloads/CohortDispatchActionButton.d.ts +46 -0
- package/dist/dts/features/CohortBuilder/downloads/CohortDispatchActionButton.d.ts.map +1 -0
- package/dist/dts/features/CohortBuilder/downloads/CohortDispatchActionButton.js +44 -0
- package/dist/dts/features/CohortBuilder/downloads/CohortDispatchActionButton.js.map +1 -0
- package/dist/dts/features/CohortBuilder/downloads/actions/TwoStepActionButton.d.ts +42 -0
- package/dist/dts/features/CohortBuilder/downloads/actions/TwoStepActionButton.d.ts.map +1 -0
- package/dist/dts/features/CohortBuilder/downloads/actions/TwoStepActionButton.js +218 -0
- package/dist/dts/features/CohortBuilder/downloads/actions/TwoStepActionButton.js.map +1 -0
- package/dist/dts/features/CohortBuilder/downloads/actions/sowerActions.d.ts +2 -0
- package/dist/dts/features/CohortBuilder/downloads/actions/sowerActions.d.ts.map +1 -0
- package/dist/dts/features/CohortBuilder/downloads/actions/sowerActions.js +12 -0
- package/dist/dts/features/CohortBuilder/downloads/actions/sowerActions.js.map +1 -0
- package/dist/dts/features/DataLibrary/DataLibrary.d.ts +4 -0
- package/dist/dts/features/DataLibrary/DataLibrary.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/DataLibrary.js +19 -0
- package/dist/dts/features/DataLibrary/DataLibrary.js.map +1 -0
- package/dist/dts/features/DataLibrary/DataLibraryLists.d.ts +5 -0
- package/dist/dts/features/DataLibrary/DataLibraryLists.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/DataLibraryLists.js +39 -0
- package/dist/dts/features/DataLibrary/DataLibraryLists.js.map +1 -0
- package/dist/dts/features/DataLibrary/DatalistAccordionItem.d.ts +21 -0
- package/dist/dts/features/DataLibrary/DatalistAccordionItem.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/DatalistAccordionItem.js +178 -0
- package/dist/dts/features/DataLibrary/DatalistAccordionItem.js.map +1 -0
- package/dist/dts/features/DataLibrary/DatasetAccordionControl.d.ts +16 -0
- package/dist/dts/features/DataLibrary/DatasetAccordionControl.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/DatasetAccordionControl.js +45 -0
- package/dist/dts/features/DataLibrary/DatasetAccordionControl.js.map +1 -0
- package/dist/dts/features/DataLibrary/EmptyList.d.ts +4 -0
- package/dist/dts/features/DataLibrary/EmptyList.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/EmptyList.js +8 -0
- package/dist/dts/features/DataLibrary/EmptyList.js.map +1 -0
- package/dist/dts/features/DataLibrary/QueryDetails.d.ts +5 -0
- package/dist/dts/features/DataLibrary/QueryDetails.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/QueryDetails.js +20 -0
- package/dist/dts/features/DataLibrary/QueryDetails.js.map +1 -0
- package/dist/dts/features/DataLibrary/SearchAndActions.d.ts +10 -0
- package/dist/dts/features/DataLibrary/SearchAndActions.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/SearchAndActions.js +18 -0
- package/dist/dts/features/DataLibrary/SearchAndActions.js.map +1 -0
- package/dist/dts/features/DataLibrary/index.d.ts +5 -0
- package/dist/dts/features/DataLibrary/index.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/index.js +3 -0
- package/dist/dts/features/DataLibrary/index.js.map +1 -0
- package/dist/dts/features/DataLibrary/modals/SelectedItemsModal.d.ts +9 -0
- package/dist/dts/features/DataLibrary/modals/SelectedItemsModal.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/modals/SelectedItemsModal.js +191 -0
- package/dist/dts/features/DataLibrary/modals/SelectedItemsModal.js.map +1 -0
- package/dist/dts/features/DataLibrary/modals/utils.d.ts +2 -0
- package/dist/dts/features/DataLibrary/modals/utils.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/modals/utils.js +45 -0
- package/dist/dts/features/DataLibrary/modals/utils.js.map +1 -0
- package/dist/dts/features/DataLibrary/selection/SelectionContext.d.ts +67 -0
- package/dist/dts/features/DataLibrary/selection/SelectionContext.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/selection/SelectionContext.js +151 -0
- package/dist/dts/features/DataLibrary/selection/SelectionContext.js.map +1 -0
- package/dist/dts/features/DataLibrary/selection/exportActions.d.ts +3 -0
- package/dist/dts/features/DataLibrary/selection/exportActions.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/selection/exportActions.js +119 -0
- package/dist/dts/features/DataLibrary/selection/exportActions.js.map +1 -0
- package/dist/dts/features/DataLibrary/selection/registeredActions.d.ts +12 -0
- package/dist/dts/features/DataLibrary/selection/registeredActions.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/selection/registeredActions.js +29 -0
- package/dist/dts/features/DataLibrary/selection/registeredActions.js.map +1 -0
- package/dist/dts/features/DataLibrary/selection/selectedItemActions.d.ts +16 -0
- package/dist/dts/features/DataLibrary/selection/selectedItemActions.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/selection/selectedItemActions.js +76 -0
- package/dist/dts/features/DataLibrary/selection/selectedItemActions.js.map +1 -0
- package/dist/dts/features/DataLibrary/selection/selection.d.ts +32 -0
- package/dist/dts/features/DataLibrary/selection/selection.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/selection/selection.js +88 -0
- package/dist/dts/features/DataLibrary/selection/selection.js.map +1 -0
- package/dist/dts/features/DataLibrary/selection/tests/SelectionContext.unit.test.d.ts +2 -0
- package/dist/dts/features/DataLibrary/selection/tests/SelectionContext.unit.test.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/selection/tests/SelectionContext.unit.test.js +176 -0
- package/dist/dts/features/DataLibrary/selection/tests/SelectionContext.unit.test.js.map +1 -0
- package/dist/dts/features/DataLibrary/selection/tests/utils.unit.test.d.ts +2 -0
- package/dist/dts/features/DataLibrary/selection/tests/utils.unit.test.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/selection/tests/utils.unit.test.js +79 -0
- package/dist/dts/features/DataLibrary/selection/tests/utils.unit.test.js.map +1 -0
- package/dist/dts/features/DataLibrary/selection/types.d.ts +31 -0
- package/dist/dts/features/DataLibrary/selection/types.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/selection/types.js +2 -0
- package/dist/dts/features/DataLibrary/selection/types.js.map +1 -0
- package/dist/dts/features/DataLibrary/selection/utils.d.ts +15 -0
- package/dist/dts/features/DataLibrary/selection/utils.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/selection/utils.js +85 -0
- package/dist/dts/features/DataLibrary/selection/utils.js.map +1 -0
- package/dist/dts/features/DataLibrary/tables/AdditionalDataTable.d.ts +8 -0
- package/dist/dts/features/DataLibrary/tables/AdditionalDataTable.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/tables/AdditionalDataTable.js +36 -0
- package/dist/dts/features/DataLibrary/tables/AdditionalDataTable.js.map +1 -0
- package/dist/dts/features/DataLibrary/tables/DatalistContentsPanel.d.ts +1 -0
- package/dist/dts/features/DataLibrary/tables/DatalistContentsPanel.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/tables/DatalistContentsPanel.js +130 -0
- package/dist/dts/features/DataLibrary/tables/DatalistContentsPanel.js.map +1 -0
- package/dist/dts/features/DataLibrary/tables/DatasetContentsTable.d.ts +10 -0
- package/dist/dts/features/DataLibrary/tables/DatasetContentsTable.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/tables/DatasetContentsTable.js +149 -0
- package/dist/dts/features/DataLibrary/tables/DatasetContentsTable.js.map +1 -0
- package/dist/dts/features/DataLibrary/tables/FilesTable.d.ts +11 -0
- package/dist/dts/features/DataLibrary/tables/FilesTable.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/tables/FilesTable.js +57 -0
- package/dist/dts/features/DataLibrary/tables/FilesTable.js.map +1 -0
- package/dist/dts/features/DataLibrary/tables/QueriesTable.d.ts +9 -0
- package/dist/dts/features/DataLibrary/tables/QueriesTable.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/tables/QueriesTable.js +36 -0
- package/dist/dts/features/DataLibrary/tables/QueriesTable.js.map +1 -0
- package/dist/dts/features/DataLibrary/tables/SelectedItemsTable.d.ts +12 -0
- package/dist/dts/features/DataLibrary/tables/SelectedItemsTable.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/tables/SelectedItemsTable.js +156 -0
- package/dist/dts/features/DataLibrary/tables/SelectedItemsTable.js.map +1 -0
- package/dist/dts/features/DataLibrary/tables/tableSettings.d.ts +3 -0
- package/dist/dts/features/DataLibrary/tables/tableSettings.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/tables/tableSettings.js +64 -0
- package/dist/dts/features/DataLibrary/tables/tableSettings.js.map +1 -0
- package/dist/dts/features/DataLibrary/tests/utils.unit.test.d.ts +2 -0
- package/dist/dts/features/DataLibrary/tests/utils.unit.test.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/tests/utils.unit.test.js +43 -0
- package/dist/dts/features/DataLibrary/tests/utils.unit.test.js.map +1 -0
- package/dist/dts/features/DataLibrary/types.d.ts +48 -0
- package/dist/dts/features/DataLibrary/types.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/types.js +25 -0
- package/dist/dts/features/DataLibrary/types.js.map +1 -0
- package/dist/dts/features/DataLibrary/utils.d.ts +28 -0
- package/dist/dts/features/DataLibrary/utils.d.ts.map +1 -0
- package/dist/dts/features/DataLibrary/utils.js +68 -0
- package/dist/dts/features/DataLibrary/utils.js.map +1 -0
- package/dist/dts/features/Discovery/ActionBar/DownloadAsZipButton.d.ts.map +1 -1
- package/dist/dts/features/Discovery/ActionBar/DownloadAsZipButton.js +0 -1
- package/dist/dts/features/Discovery/ActionBar/DownloadAsZipButton.js.map +1 -1
- package/dist/dts/features/Discovery/TableRenderers/DataAccessCellRenderers.d.ts.map +1 -1
- package/dist/dts/features/Discovery/TableRenderers/DataAccessCellRenderers.js +3 -3
- package/dist/dts/features/Discovery/TableRenderers/DataAccessCellRenderers.js.map +1 -1
- package/dist/dts/features/Workspace/NotebookCard.d.ts.map +1 -1
- package/dist/dts/features/Workspace/NotebookCard.js +0 -1
- package/dist/dts/features/Workspace/NotebookCard.js.map +1 -1
- package/dist/dts/index.d.ts +2 -1
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/index.js +2 -1
- package/dist/dts/index.js.map +1 -1
- package/dist/dts/lib/content/filesystem.js +1 -1
- package/dist/dts/lib/content/filesystem.js.map +1 -1
- package/dist/dts/pages/DataLibrary/DataLibrary.d.ts +8 -0
- package/dist/dts/pages/DataLibrary/DataLibrary.d.ts.map +1 -0
- package/dist/dts/pages/DataLibrary/DataLibrary.js +24 -0
- package/dist/dts/pages/DataLibrary/DataLibrary.js.map +1 -0
- package/dist/dts/pages/DataLibrary/data.d.ts +4 -0
- package/dist/dts/pages/DataLibrary/data.d.ts.map +1 -0
- package/dist/dts/pages/DataLibrary/data.js +81 -0
- package/dist/dts/pages/DataLibrary/data.js.map +1 -0
- package/dist/dts/pages/DataLibrary/index.d.ts +3 -0
- package/dist/dts/pages/DataLibrary/index.d.ts.map +1 -0
- package/dist/dts/pages/DataLibrary/index.js +3 -0
- package/dist/dts/pages/DataLibrary/index.js.map +1 -0
- package/dist/dts/pages/Explorer/data.d.ts.map +1 -1
- package/dist/dts/pages/Explorer/data.js.map +1 -1
- package/dist/dts/services/SowerJobsMonitor.d.ts +30 -0
- package/dist/dts/services/SowerJobsMonitor.d.ts.map +1 -0
- package/dist/dts/services/SowerJobsMonitor.js +236 -0
- package/dist/dts/services/SowerJobsMonitor.js.map +1 -0
- package/dist/dts/utils/date.d.ts +17 -0
- package/dist/dts/utils/date.d.ts.map +1 -0
- package/dist/dts/utils/date.js +41 -0
- package/dist/dts/utils/date.js.map +1 -0
- package/dist/dts/utils/tests/date.unit.test.d.ts +2 -0
- package/dist/dts/utils/tests/date.unit.test.d.ts.map +1 -0
- package/dist/dts/utils/tests/date.unit.test.js +89 -0
- package/dist/dts/utils/tests/date.unit.test.js.map +1 -0
- package/dist/esm/index.js +1898 -47
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +62 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { HTTPError } from '@gen3/core';
|
|
2
|
+
import { ValidatedSelectedItem } from '../types';
|
|
3
|
+
export type DataActionFunction<T = void> = (validatedSelections: ReadonlyArray<ValidatedSelectedItem>, params?: Record<string, any>, // function options from the config
|
|
4
|
+
done?: (arg0?: string) => void, onError?: (error: HTTPError | Error) => void, onAbort?: () => void, signal?: AbortSignal) => Promise<T>;
|
|
5
|
+
export interface ActionCreatorFactoryItem {
|
|
6
|
+
readonly action: DataActionFunction;
|
|
7
|
+
}
|
|
8
|
+
export declare const NullAction: DataActionFunction;
|
|
9
|
+
export declare const registerAction: (actionName: string, action: ActionCreatorFactoryItem) => void;
|
|
10
|
+
export declare const findAction: (actionName?: string) => ActionCreatorFactoryItem | undefined;
|
|
11
|
+
export declare const registerDefaultDataLibraryActions: () => void;
|
|
12
|
+
//# sourceMappingURL=registeredActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registeredActions.d.ts","sourceRoot":"","sources":["../../../../../src/features/DataLibrary/selection/registeredActions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,IAAI,IAAI,CACzC,mBAAmB,EAAE,aAAa,CAAC,qBAAqB,CAAC,EACzD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,mCAAmC;AACjE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,EAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,KAAK,IAAI,EAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,EACpB,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,CAAC,CAAC,CAAC;AAIhB,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAKD,eAAO,MAAM,UAAU,EAAE,kBAIxB,CAAC;AAEF,eAAO,MAAM,cAAc,eACb,MAAM,UACV,wBAAwB,SAGjC,CAAC;AAEF,eAAO,MAAM,UAAU,gBACR,MAAM,KAClB,wBAAwB,GAAG,SAW7B,CAAC;AAEF,eAAO,MAAM,iCAAiC,YAI7C,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { sendExistingPFBToURL } from './exportActions';
|
|
2
|
+
var registeredDataLibraryActions = {};
|
|
3
|
+
export var NullAction = function () {
|
|
4
|
+
return new Promise(function (done) {
|
|
5
|
+
if (done)
|
|
6
|
+
done();
|
|
7
|
+
});
|
|
8
|
+
};
|
|
9
|
+
export var registerAction = function (actionName, action) {
|
|
10
|
+
registeredDataLibraryActions[actionName] = action;
|
|
11
|
+
};
|
|
12
|
+
export var findAction = function (actionName) {
|
|
13
|
+
if (actionName === undefined) {
|
|
14
|
+
console.error('DataLibrary: findAction: no name provided');
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
if (!(actionName in registeredDataLibraryActions)) {
|
|
18
|
+
console.error('getButtonAction: no action found for', actionName);
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
return registeredDataLibraryActions[actionName];
|
|
22
|
+
};
|
|
23
|
+
export var registerDefaultDataLibraryActions = function () {
|
|
24
|
+
registerAction('export-pfb-to-url', {
|
|
25
|
+
action: sendExistingPFBToURL,
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
registerDefaultDataLibraryActions();
|
|
29
|
+
//# sourceMappingURL=registeredActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registeredActions.js","sourceRoot":"","sources":["../../../../../src/features/DataLibrary/selection/registeredActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAmBvD,IAAM,4BAA4B,GAChC,EAAE,CAAC;AAEL,MAAM,CAAC,IAAM,UAAU,GAAuB;IAC5C,OAAO,IAAI,OAAO,CAAO,UAAC,IAAI;QAC5B,IAAI,IAAI;YAAE,IAAI,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,cAAc,GAAG,UAC5B,UAAkB,EAClB,MAAgC;IAEhC,4BAA4B,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,UAAU,GAAG,UACxB,UAAmB;IAEnB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC3D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,CAAC,UAAU,IAAI,4BAA4B,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,UAAU,CAAC,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,4BAA4B,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iCAAiC,GAAG;IAC/C,cAAc,CAAC,mBAAmB,EAAE;QAClC,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,iCAAiC,EAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CohortItem } from '@gen3/core';
|
|
2
|
+
import { FileItemWithParentDatasetNameAndID, SelectableItem } from '../types';
|
|
3
|
+
import { DataLibraryActionConfig, DataLibraryActionsConfig, ItemRule } from './types';
|
|
4
|
+
export type SelectableItems = Array<SelectableItem>;
|
|
5
|
+
export declare const evaluateItemRule: (rule: ItemRule, item: SelectableItem) => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Retrieves an action configuration from a set of actions by its unique identifier.
|
|
8
|
+
*
|
|
9
|
+
* @param {ActionsConfig} actions - An array of action configurations.
|
|
10
|
+
* @param {string} id - The unique identifier of the desired action configuration.
|
|
11
|
+
* @returns {DataLibraryActionConfig | undefined} The action configuration with the matching identifier, or undefined if not found.
|
|
12
|
+
*/
|
|
13
|
+
export declare const getActionById: (actions: DataLibraryActionsConfig, id?: string) => DataLibraryActionConfig | undefined;
|
|
14
|
+
export declare const doesItemFailRule: (item: CohortItem | FileItemWithParentDatasetNameAndID, action: DataLibraryActionConfig) => string[];
|
|
15
|
+
export declare const doesGroupFailRule: (items: Array<SelectableItem>, action: DataLibraryActionConfig) => string[];
|
|
16
|
+
//# sourceMappingURL=selectedItemActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectedItemActions.d.ts","sourceRoot":"","sources":["../../../../../src/features/DataLibrary/selection/selectedItemActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,kCAAkC,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EAExB,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAQpD,eAAO,MAAM,gBAAgB,SACrB,QAAQ,QACR,cAAc,KACnB,OA8BF,CAAC;AAcF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,YACf,wBAAwB,OAC5B,MAAM,KACV,uBAAuB,GAAG,SAG5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,SACrB,UAAU,GAAG,kCAAkC,UAC7C,uBAAuB,KAC9B,MAAM,EASR,CAAC;AAEF,eAAO,MAAM,iBAAiB,UACrB,KAAK,CAAC,cAAc,CAAC,UACpB,uBAAuB,KAC9B,MAAM,EASR,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
var isArrayField = function (value) {
|
|
2
|
+
return Array.isArray(value);
|
|
3
|
+
};
|
|
4
|
+
var isNumeric = function (value) {
|
|
5
|
+
return typeof value === 'number' && !isNaN(value);
|
|
6
|
+
};
|
|
7
|
+
export var evaluateItemRule = function (rule, item) {
|
|
8
|
+
switch (rule.operator) {
|
|
9
|
+
case 'equals':
|
|
10
|
+
case 'not': {
|
|
11
|
+
var fieldValue = item[rule.field];
|
|
12
|
+
return rule.operator === 'equals'
|
|
13
|
+
? fieldValue === rule.value
|
|
14
|
+
: fieldValue !== rule.value;
|
|
15
|
+
}
|
|
16
|
+
case 'includes':
|
|
17
|
+
case 'excludes': {
|
|
18
|
+
var fieldValue = item[rule.field];
|
|
19
|
+
if (!isArrayField(fieldValue))
|
|
20
|
+
return false;
|
|
21
|
+
return rule.operator === 'includes'
|
|
22
|
+
? fieldValue.includes(rule.value)
|
|
23
|
+
: !fieldValue.includes(rule.value);
|
|
24
|
+
}
|
|
25
|
+
case 'greater':
|
|
26
|
+
case 'less': {
|
|
27
|
+
var fieldValue = item[rule.field];
|
|
28
|
+
if (isNumeric(fieldValue) && isNumeric(rule.value))
|
|
29
|
+
return rule.operator === 'greater'
|
|
30
|
+
? fieldValue > rule.value
|
|
31
|
+
: fieldValue < rule.value;
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
default:
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var evaluateGroupRule = function (rule, items) {
|
|
39
|
+
switch (rule.operator) {
|
|
40
|
+
case 'count': {
|
|
41
|
+
var fieldValue = items.map(function (item) { return item[rule.field]; });
|
|
42
|
+
return fieldValue.length === rule.total;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Retrieves an action configuration from a set of actions by its unique identifier.
|
|
48
|
+
*
|
|
49
|
+
* @param {ActionsConfig} actions - An array of action configurations.
|
|
50
|
+
* @param {string} id - The unique identifier of the desired action configuration.
|
|
51
|
+
* @returns {DataLibraryActionConfig | undefined} The action configuration with the matching identifier, or undefined if not found.
|
|
52
|
+
*/
|
|
53
|
+
export var getActionById = function (actions, id) {
|
|
54
|
+
if (!id)
|
|
55
|
+
return undefined;
|
|
56
|
+
return actions.find(function (action) { return action.id === id; });
|
|
57
|
+
};
|
|
58
|
+
export var doesItemFailRule = function (item, action) {
|
|
59
|
+
var _a, _b;
|
|
60
|
+
return ((_b = (_a = action === null || action === void 0 ? void 0 : action.itemRules) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, rule) {
|
|
61
|
+
if (!evaluateItemRule(rule, item)) {
|
|
62
|
+
acc.push(rule.errorMessage);
|
|
63
|
+
}
|
|
64
|
+
return acc;
|
|
65
|
+
}, [])) !== null && _b !== void 0 ? _b : []);
|
|
66
|
+
};
|
|
67
|
+
export var doesGroupFailRule = function (items, action) {
|
|
68
|
+
var _a, _b;
|
|
69
|
+
return ((_b = (_a = action === null || action === void 0 ? void 0 : action.groupRules) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, rule) {
|
|
70
|
+
if (!evaluateGroupRule(rule, items)) {
|
|
71
|
+
acc.push(rule.errorMessage);
|
|
72
|
+
}
|
|
73
|
+
return acc;
|
|
74
|
+
}, [])) !== null && _b !== void 0 ? _b : []);
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=selectedItemActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectedItemActions.js","sourceRoot":"","sources":["../../../../../src/features/DataLibrary/selection/selectedItemActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ListMembers, SelectedMembers } from './SelectionContext';
|
|
2
|
+
import { DatalistMembers } from '../types';
|
|
3
|
+
import { CohortItem, Datalist, RegisteredDataListEntry } from '@gen3/core';
|
|
4
|
+
/**
|
|
5
|
+
* Function that generates a mapping of dataset IDs to their respective member objects.
|
|
6
|
+
*
|
|
7
|
+
* @param {Array<string>} datasetIds - Array of dataset IDs to be processed.
|
|
8
|
+
* @param {DatalistMembers} datasetContents - Object containing details about dataset members.
|
|
9
|
+
* @returns {ListMembers} - An object mapping each dataset ID to its respective member objects.
|
|
10
|
+
*/
|
|
11
|
+
export declare const selectAllDatasetMembers: (datasetIds: Array<string>, datasetContents: DatalistMembers) => ListMembers;
|
|
12
|
+
/**
|
|
13
|
+
* Retrieves the members of a given dataset or cohort.
|
|
14
|
+
*
|
|
15
|
+
* This function takes either a dataset or a cohort item and returns an
|
|
16
|
+
* object representing the selected members. In the case of a cohort item,
|
|
17
|
+
* it returns an object with the cohort's ID set to true. For a dataset,
|
|
18
|
+
* it iterates through the dataset items and sets the keys of file items
|
|
19
|
+
* to true in the returned object.
|
|
20
|
+
*
|
|
21
|
+
* @param {RegisteredDataListEntry | CohortItem} dataSetOrCohort - The dataset or cohort item to process.
|
|
22
|
+
* @returns {SelectedMembers} An object representing the selected members.
|
|
23
|
+
*/
|
|
24
|
+
export declare const getDatasetMembers: (dataSetOrCohort: RegisteredDataListEntry | CohortItem) => SelectedMembers;
|
|
25
|
+
/**
|
|
26
|
+
* Selects all list items from the provided data list and transforms them into a ListMembers structure.
|
|
27
|
+
*
|
|
28
|
+
* @param {Datalist} members - The data list containing items to be transformed.
|
|
29
|
+
* @return {ListMembers} - Transformed structure containing the selected list items with dataset IDs and their corresponding object IDs.
|
|
30
|
+
*/
|
|
31
|
+
export declare const selectAllListItems: (members: Datalist) => ListMembers;
|
|
32
|
+
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../../../src/features/DataLibrary/selection/selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAmB,MAAM,UAAU,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,QAAQ,EAGR,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAmBpB;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,eACtB,KAAK,CAAC,MAAM,CAAC,mBACR,eAAe,KAC/B,WAQF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,oBACX,uBAAuB,GAAG,UAAU,KACpD,eAWF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YAAa,QAAQ,KAAG,WAkBtD,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
10
|
+
import { isCohortItem, isFileItem, } from '@gen3/core';
|
|
11
|
+
/**
|
|
12
|
+
* Extracts and consolidates GUIDs and IDs from dataset contents into a single object.
|
|
13
|
+
*
|
|
14
|
+
* @param {DatasetContents} dataset - The dataset containing files and queries to extract IDs from.
|
|
15
|
+
* @returns {SelectedMembers} An object where each key is a unique identifier from the dataset,
|
|
16
|
+
* with a boolean value set to true.
|
|
17
|
+
*/
|
|
18
|
+
var getObjectIds = function (dataset) {
|
|
19
|
+
return __spreadArray(__spreadArray([], dataset.files.map(function (file) { return file.id; }), true), dataset.queries.map(function (query) { return query.id; }), true).reduce(function (acc, key) {
|
|
20
|
+
acc[key] = true;
|
|
21
|
+
return acc;
|
|
22
|
+
}, {});
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Function that generates a mapping of dataset IDs to their respective member objects.
|
|
26
|
+
*
|
|
27
|
+
* @param {Array<string>} datasetIds - Array of dataset IDs to be processed.
|
|
28
|
+
* @param {DatalistMembers} datasetContents - Object containing details about dataset members.
|
|
29
|
+
* @returns {ListMembers} - An object mapping each dataset ID to its respective member objects.
|
|
30
|
+
*/
|
|
31
|
+
export var selectAllDatasetMembers = function (datasetIds, datasetContents) {
|
|
32
|
+
return datasetIds.reduce(function (acc, datasetId) {
|
|
33
|
+
acc[datasetId] = {
|
|
34
|
+
id: datasetId,
|
|
35
|
+
objectIds: getObjectIds(datasetContents[datasetId]),
|
|
36
|
+
};
|
|
37
|
+
return acc;
|
|
38
|
+
}, {});
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Retrieves the members of a given dataset or cohort.
|
|
42
|
+
*
|
|
43
|
+
* This function takes either a dataset or a cohort item and returns an
|
|
44
|
+
* object representing the selected members. In the case of a cohort item,
|
|
45
|
+
* it returns an object with the cohort's ID set to true. For a dataset,
|
|
46
|
+
* it iterates through the dataset items and sets the keys of file items
|
|
47
|
+
* to true in the returned object.
|
|
48
|
+
*
|
|
49
|
+
* @param {RegisteredDataListEntry | CohortItem} dataSetOrCohort - The dataset or cohort item to process.
|
|
50
|
+
* @returns {SelectedMembers} An object representing the selected members.
|
|
51
|
+
*/
|
|
52
|
+
export var getDatasetMembers = function (dataSetOrCohort) {
|
|
53
|
+
var _a;
|
|
54
|
+
if (isCohortItem(dataSetOrCohort)) {
|
|
55
|
+
return _a = {}, _a[dataSetOrCohort.id] = true, _a;
|
|
56
|
+
}
|
|
57
|
+
return Object.entries(dataSetOrCohort.items).reduce(function (acc, _a) {
|
|
58
|
+
var key = _a[0], item = _a[1];
|
|
59
|
+
if (isFileItem(item))
|
|
60
|
+
acc[key] = true;
|
|
61
|
+
return acc;
|
|
62
|
+
}, {});
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Selects all list items from the provided data list and transforms them into a ListMembers structure.
|
|
66
|
+
*
|
|
67
|
+
* @param {Datalist} members - The data list containing items to be transformed.
|
|
68
|
+
* @return {ListMembers} - Transformed structure containing the selected list items with dataset IDs and their corresponding object IDs.
|
|
69
|
+
*/
|
|
70
|
+
export var selectAllListItems = function (members) {
|
|
71
|
+
return Object.entries(members.items).reduce(function (acc, _a) {
|
|
72
|
+
var _b;
|
|
73
|
+
var datasetId = _a[0], datasetContents = _a[1];
|
|
74
|
+
if (isCohortItem(datasetContents)) {
|
|
75
|
+
acc[datasetId] = {
|
|
76
|
+
id: datasetId,
|
|
77
|
+
objectIds: (_b = {}, _b[datasetId] = true, _b),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
else
|
|
81
|
+
acc[datasetId] = {
|
|
82
|
+
id: datasetId,
|
|
83
|
+
objectIds: getDatasetMembers(datasetContents),
|
|
84
|
+
};
|
|
85
|
+
return acc;
|
|
86
|
+
}, {});
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../../../src/features/DataLibrary/selection/selection.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAGL,YAAY,EACZ,UAAU,GAEX,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,IAAM,YAAY,GAAG,UAAC,OAAwB;IAC5C,OAAO,gCACF,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,EAAE,EAAP,CAAO,CAAC,SACpC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,EAAE,EAAR,CAAQ,CAAC,QAC3C,MAAM,CAAC,UAAC,GAAoB,EAAE,GAAG;QACjC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAChB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,IAAM,uBAAuB,GAAG,UACrC,UAAyB,EACzB,eAAgC;IAEhC,OAAO,UAAU,CAAC,MAAM,CAAC,UAAC,GAAgB,EAAE,SAAS;QACnD,GAAG,CAAC,SAAS,CAAC,GAAG;YACf,EAAE,EAAE,SAAS;YACb,SAAS,EAAE,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;SACpD,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAC/B,eAAqD;;IAErD,IAAI,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,gBAAS,GAAC,eAAe,CAAC,EAAE,IAAG,IAAI,KAAG;IACxC,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,MAAM,CACjD,UAAC,GAAoB,EAAE,EAAW;YAAV,GAAG,QAAA,EAAE,IAAI,QAAA;QAC/B,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAC,OAAiB;IAClD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CACzC,UAAC,GAAgB,EAAE,EAA4B;;YAA3B,SAAS,QAAA,EAAE,eAAe,QAAA;QAC5C,IAAI,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,GAAG,CAAC,SAAS,CAAC,GAAG;gBACf,EAAE,EAAE,SAAS;gBACb,SAAS,YAAI,GAAC,SAAS,IAAG,IAAI,KAAE;aACjC,CAAC;QACJ,CAAC;;YACC,GAAG,CAAC,SAAS,CAAC,GAAG;gBACf,EAAE,EAAE,SAAS;gBACb,SAAS,EAAE,iBAAiB,CAAC,eAAe,CAAC;aAC9C,CAAC;QAEJ,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionContext.unit.test.d.ts","sourceRoot":"","sources":["../../../../../../src/features/DataLibrary/selection/tests/SelectionContext.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { dataLibrarySelectionReducer, updateDataLibrarySelection, updateDataLibraryListMemberSelection, clearDataLibrarySelection, removeDataLibrarySelection, } from '../SelectionContext'; // Update this import path as needed
|
|
2
|
+
describe('DataLibrarySelection', function () {
|
|
3
|
+
var initialState;
|
|
4
|
+
beforeEach(function () {
|
|
5
|
+
initialState = {};
|
|
6
|
+
});
|
|
7
|
+
test('updateDataLibrarySelection should update the selections state', function () {
|
|
8
|
+
var _a;
|
|
9
|
+
var listId = 'list1';
|
|
10
|
+
var members = {
|
|
11
|
+
member1: {
|
|
12
|
+
id: 'member1',
|
|
13
|
+
objectIds: { obj1: true, obj2: true },
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
var action = updateDataLibrarySelection(listId, members);
|
|
17
|
+
var newState = dataLibrarySelectionReducer(initialState, action);
|
|
18
|
+
expect(newState).toEqual((_a = {},
|
|
19
|
+
_a[listId] = members,
|
|
20
|
+
_a));
|
|
21
|
+
});
|
|
22
|
+
test('updateDataLibraryListMemberSelection should update a specific member selection', function () {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
var listId = 'list1';
|
|
25
|
+
var memberId = 'member1';
|
|
26
|
+
var selection = { obj1: true, obj2: false };
|
|
27
|
+
var action = updateDataLibraryListMemberSelection(listId, memberId, selection);
|
|
28
|
+
var newState = dataLibrarySelectionReducer(initialState, action);
|
|
29
|
+
expect(newState).toEqual((_a = {},
|
|
30
|
+
_a[listId] = (_b = {},
|
|
31
|
+
_b[memberId] = {
|
|
32
|
+
id: memberId,
|
|
33
|
+
objectIds: selection,
|
|
34
|
+
},
|
|
35
|
+
_b),
|
|
36
|
+
_a));
|
|
37
|
+
});
|
|
38
|
+
test('clearDataLibrarySelection should reset the selections state', function () {
|
|
39
|
+
// First, add some selections
|
|
40
|
+
var populatedState = {
|
|
41
|
+
list1: {
|
|
42
|
+
member1: {
|
|
43
|
+
id: 'member1',
|
|
44
|
+
objectIds: { obj1: true },
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
var action = clearDataLibrarySelection();
|
|
49
|
+
var newState = dataLibrarySelectionReducer(populatedState, action);
|
|
50
|
+
expect(newState).toEqual({});
|
|
51
|
+
});
|
|
52
|
+
test('removeDataLibrarySelection should remove list when ', function () {
|
|
53
|
+
var initialStateWithList = {
|
|
54
|
+
list1: {
|
|
55
|
+
member1: {
|
|
56
|
+
id: 'member1',
|
|
57
|
+
objectIds: { obj1: true },
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
var action = removeDataLibrarySelection('list1');
|
|
62
|
+
var newState = dataLibrarySelectionReducer(initialStateWithList, action);
|
|
63
|
+
expect(newState).toEqual({});
|
|
64
|
+
});
|
|
65
|
+
test('updateDataLibraryListMemberSelection should remove one dataset', function () {
|
|
66
|
+
var initialStateWithMember = {
|
|
67
|
+
buJH_tA38h: {
|
|
68
|
+
DS_211: {
|
|
69
|
+
id: 'DS_211',
|
|
70
|
+
objectIds: {
|
|
71
|
+
'phs000001.v1.p1.c1': true,
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
DS_3: {
|
|
75
|
+
id: 'DS_3',
|
|
76
|
+
objectIds: {
|
|
77
|
+
'ab6623a7-a474-4ffb-ab88-e926764628c4': true,
|
|
78
|
+
'b1aeee0f-fdf1-4092-b8cf-f521c6a6f3ea': true,
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
CF_4: {
|
|
82
|
+
id: 'CF_4',
|
|
83
|
+
objectIds: {
|
|
84
|
+
CF_4: true,
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
var action = updateDataLibraryListMemberSelection('buJH_tA38h', 'DS_3', {
|
|
90
|
+
'ab6623a7-a474-4ffb-ab88-e926764628c4': true,
|
|
91
|
+
});
|
|
92
|
+
var newState = dataLibrarySelectionReducer(initialStateWithMember, action);
|
|
93
|
+
expect(newState).toEqual({
|
|
94
|
+
buJH_tA38h: {
|
|
95
|
+
DS_211: {
|
|
96
|
+
id: 'DS_211',
|
|
97
|
+
objectIds: {
|
|
98
|
+
'phs000001.v1.p1.c1': true,
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
DS_3: {
|
|
102
|
+
id: 'DS_3',
|
|
103
|
+
objectIds: {
|
|
104
|
+
'ab6623a7-a474-4ffb-ab88-e926764628c4': true,
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
CF_4: {
|
|
108
|
+
id: 'CF_4',
|
|
109
|
+
objectIds: {
|
|
110
|
+
CF_4: true,
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
test('updateDataLibraryListMemberSelection should remove member when empty selection is provided', function () {
|
|
117
|
+
var initialStateWithMember = {
|
|
118
|
+
list1: {
|
|
119
|
+
member1: {
|
|
120
|
+
id: 'member1',
|
|
121
|
+
objectIds: { obj1: true },
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
var action = updateDataLibraryListMemberSelection('list1', 'member1', {});
|
|
126
|
+
var newState = dataLibrarySelectionReducer(initialStateWithMember, action);
|
|
127
|
+
expect(newState).toEqual({});
|
|
128
|
+
});
|
|
129
|
+
test('updateDataLibraryListMemberSelection should remove member when empty selection is provided', function () {
|
|
130
|
+
var initialStateWithMember = {
|
|
131
|
+
list1: {
|
|
132
|
+
member1: {
|
|
133
|
+
id: 'member1',
|
|
134
|
+
objectIds: { obj1: true },
|
|
135
|
+
},
|
|
136
|
+
member2: {
|
|
137
|
+
id: 'member2',
|
|
138
|
+
objectIds: { obj2: true, obj3: true },
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
var action = updateDataLibraryListMemberSelection('list1', 'member1', {});
|
|
143
|
+
var newState = dataLibrarySelectionReducer(initialStateWithMember, action);
|
|
144
|
+
expect(newState).toEqual({
|
|
145
|
+
list1: {
|
|
146
|
+
member2: {
|
|
147
|
+
id: 'member2',
|
|
148
|
+
objectIds: {
|
|
149
|
+
obj2: true,
|
|
150
|
+
obj3: true,
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
test('newState show set list to {} when passed {}', function () {
|
|
157
|
+
var initialStateWithMember = {
|
|
158
|
+
list1: {
|
|
159
|
+
member1: {
|
|
160
|
+
id: 'member1',
|
|
161
|
+
objectIds: { obj1: true },
|
|
162
|
+
},
|
|
163
|
+
member2: {
|
|
164
|
+
id: 'member2',
|
|
165
|
+
objectIds: { obj2: true, obj3: true },
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
var action = updateDataLibrarySelection('list1', {});
|
|
170
|
+
var newState = dataLibrarySelectionReducer(initialStateWithMember, action);
|
|
171
|
+
expect(newState).toEqual({
|
|
172
|
+
list1: {},
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
//# sourceMappingURL=SelectionContext.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionContext.unit.test.js","sourceRoot":"","sources":["../../../../../../src/features/DataLibrary/selection/tests/SelectionContext.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,oCAAoC,EACpC,yBAAyB,EACzB,0BAA0B,GAI3B,MAAM,qBAAqB,CAAC,CAAC,oCAAoC;AAElE,QAAQ,CAAC,sBAAsB,EAAE;IAC/B,IAAI,YAAuC,CAAC;IAE5C,UAAU,CAAC;QACT,YAAY,GAAG,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+DAA+D,EAAE;;QACpE,IAAM,MAAM,GAAG,OAAO,CAAC;QACvB,IAAM,OAAO,GAAgB;YAC3B,OAAO,EAAE;gBACP,EAAE,EAAE,SAAS;gBACb,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;aACtC;SACF,CAAC;QAEF,IAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAM,QAAQ,GAAG,2BAA2B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAEnE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO;YACtB,GAAC,MAAM,IAAG,OAAO;gBACjB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gFAAgF,EAAE;;QACrF,IAAM,MAAM,GAAG,OAAO,CAAC;QACvB,IAAM,QAAQ,GAAG,SAAS,CAAC;QAC3B,IAAM,SAAS,GAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAE/D,IAAM,MAAM,GAAG,oCAAoC,CACjD,MAAM,EACN,QAAQ,EACR,SAAS,CACV,CAAC;QACF,IAAM,QAAQ,GAAG,2BAA2B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAEnE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO;YACtB,GAAC,MAAM;gBACL,GAAC,QAAQ,IAAG;oBACV,EAAE,EAAE,QAAQ;oBACZ,SAAS,EAAE,SAAS;iBACrB;mBACF;gBACD,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6DAA6D,EAAE;QAClE,6BAA6B;QAC7B,IAAM,cAAc,GAA8B;YAChD,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,EAAE,EAAE,SAAS;oBACb,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;iBAC1B;aACF;SACF,CAAC;QAEF,IAAM,MAAM,GAAG,yBAAyB,EAAE,CAAC;QAC3C,IAAM,QAAQ,GAAG,2BAA2B,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAErE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE;QAC1D,IAAM,oBAAoB,GAA8B;YACtD,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,EAAE,EAAE,SAAS;oBACb,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;iBAC1B;aACF;SACF,CAAC;QAEF,IAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;QACnD,IAAM,QAAQ,GAAG,2BAA2B,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QAE3E,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gEAAgE,EAAE;QACrE,IAAM,sBAAsB,GAA8B;YACxD,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,EAAE,EAAE,QAAQ;oBACZ,SAAS,EAAE;wBACT,oBAAoB,EAAE,IAAI;qBAC3B;iBACF;gBACD,IAAI,EAAE;oBACJ,EAAE,EAAE,MAAM;oBACV,SAAS,EAAE;wBACT,sCAAsC,EAAE,IAAI;wBAC5C,sCAAsC,EAAE,IAAI;qBAC7C;iBACF;gBACD,IAAI,EAAE;oBACJ,EAAE,EAAE,MAAM;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,IAAI;qBACX;iBACF;aACF;SACF,CAAC;QAEF,IAAM,MAAM,GAAG,oCAAoC,CAAC,YAAY,EAAE,MAAM,EAAE;YACxE,sCAAsC,EAAE,IAAI;SAC7C,CAAC,CAAC;QACH,IAAM,QAAQ,GAAG,2BAA2B,CAC1C,sBAAsB,EACtB,MAAM,CACP,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YACvB,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,EAAE,EAAE,QAAQ;oBACZ,SAAS,EAAE;wBACT,oBAAoB,EAAE,IAAI;qBAC3B;iBACF;gBACD,IAAI,EAAE;oBACJ,EAAE,EAAE,MAAM;oBACV,SAAS,EAAE;wBACT,sCAAsC,EAAE,IAAI;qBAC7C;iBACF;gBACD,IAAI,EAAE;oBACJ,EAAE,EAAE,MAAM;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,IAAI;qBACX;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4FAA4F,EAAE;QACjG,IAAM,sBAAsB,GAA8B;YACxD,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,EAAE,EAAE,SAAS;oBACb,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;iBAC1B;aACF;SACF,CAAC;QAEF,IAAM,MAAM,GAAG,oCAAoC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC5E,IAAM,QAAQ,GAAG,2BAA2B,CAC1C,sBAAsB,EACtB,MAAM,CACP,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4FAA4F,EAAE;QACjG,IAAM,sBAAsB,GAA8B;YACxD,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,EAAE,EAAE,SAAS;oBACb,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;iBAC1B;gBACD,OAAO,EAAE;oBACP,EAAE,EAAE,SAAS;oBACb,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;iBACtC;aACF;SACF,CAAC;QAEF,IAAM,MAAM,GAAG,oCAAoC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC5E,IAAM,QAAQ,GAAG,2BAA2B,CAC1C,sBAAsB,EACtB,MAAM,CACP,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YACvB,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,EAAE,EAAE,SAAS;oBACb,SAAS,EAAE;wBACT,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,IAAI;qBACX;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6CAA6C,EAAE;QAClD,IAAM,sBAAsB,GAA8B;YACxD,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,EAAE,EAAE,SAAS;oBACb,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;iBAC1B;gBACD,OAAO,EAAE;oBACP,EAAE,EAAE,SAAS;oBACb,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;iBACtC;aACF;SACF,CAAC;QAEF,IAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvD,IAAM,QAAQ,GAAG,2BAA2B,CAC1C,sBAAsB,EACtB,MAAM,CACP,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YACvB,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.unit.test.d.ts","sourceRoot":"","sources":["../../../../../../src/features/DataLibrary/selection/tests/utils.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { getSelectionPaths } from '../utils';
|
|
2
|
+
describe('getSelectionPaths', function () {
|
|
3
|
+
it('should return an array of paths based on the state of the data library', function () {
|
|
4
|
+
var state = {
|
|
5
|
+
list1: {
|
|
6
|
+
member1: {
|
|
7
|
+
id: 'member1',
|
|
8
|
+
objectIds: {},
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
list2: {
|
|
12
|
+
member2: {
|
|
13
|
+
id: 'member2',
|
|
14
|
+
objectIds: { objectId2: true },
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
var result = getSelectionPaths(state);
|
|
19
|
+
expect(result).toEqual([
|
|
20
|
+
{
|
|
21
|
+
listId: 'list1',
|
|
22
|
+
memberId: 'member1',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
listId: 'list2',
|
|
26
|
+
memberId: 'member2',
|
|
27
|
+
objectId: 'objectId2',
|
|
28
|
+
},
|
|
29
|
+
]);
|
|
30
|
+
});
|
|
31
|
+
it('should return an empty array for empty selection state', function () {
|
|
32
|
+
var state = {};
|
|
33
|
+
var result = getSelectionPaths(state);
|
|
34
|
+
expect(result).toEqual([]);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
describe('getSelectionPaths', function () {
|
|
38
|
+
var sampleState = {
|
|
39
|
+
list1: {
|
|
40
|
+
member1: {
|
|
41
|
+
id: 'member1',
|
|
42
|
+
objectIds: { obj1: true, obj2: false },
|
|
43
|
+
},
|
|
44
|
+
member2: {
|
|
45
|
+
id: 'member2',
|
|
46
|
+
objectIds: {},
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
list2: {
|
|
50
|
+
member3: {
|
|
51
|
+
id: 'member3',
|
|
52
|
+
objectIds: { obj3: true, obj4: true, obj5: false },
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
list3: {
|
|
56
|
+
member4: {
|
|
57
|
+
id: 'member4',
|
|
58
|
+
objectIds: { obj6: false, obj7: false },
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
it('should correctly generate SelectionPaths', function () {
|
|
63
|
+
var expected = [
|
|
64
|
+
{ listId: 'list1', memberId: 'member1', objectId: 'obj1' },
|
|
65
|
+
{ listId: 'list1', memberId: 'member2' },
|
|
66
|
+
{ listId: 'list2', memberId: 'member3', objectId: 'obj3' },
|
|
67
|
+
{ listId: 'list2', memberId: 'member3', objectId: 'obj4' },
|
|
68
|
+
];
|
|
69
|
+
var result = getSelectionPaths(sampleState);
|
|
70
|
+
expect(result).toEqual(expected);
|
|
71
|
+
expect(result.length).toBe(4);
|
|
72
|
+
// Additional specific checks
|
|
73
|
+
expect(result.filter(function (path) { return path.listId === 'list1'; }).length).toBe(2);
|
|
74
|
+
expect(result.filter(function (path) { return path.listId === 'list2'; }).length).toBe(2);
|
|
75
|
+
expect(result.filter(function (path) { return path.listId === 'list3'; }).length).toBe(0);
|
|
76
|
+
expect(result.filter(function (path) { return path.objectId === undefined; }).length).toBe(1);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=utils.unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.unit.test.js","sourceRoot":"","sources":["../../../../../../src/features/DataLibrary/selection/tests/utils.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CohortItem } from '@gen3/core';
|
|
2
|
+
import { FileItemWithParentDatasetNameAndID } from '../types';
|
|
3
|
+
type RuleOperator = 'equals' | 'not' | 'includes' | 'excludes' | 'greater' | 'less';
|
|
4
|
+
type GroupOperator = 'count';
|
|
5
|
+
type RuleValue = string | number | boolean;
|
|
6
|
+
type ValidField<T> = keyof T;
|
|
7
|
+
type CommonFields = ValidField<CohortItem> & ValidField<FileItemWithParentDatasetNameAndID>;
|
|
8
|
+
export interface ItemRule {
|
|
9
|
+
field: CommonFields;
|
|
10
|
+
operator: RuleOperator;
|
|
11
|
+
value: RuleValue;
|
|
12
|
+
errorMessage: string;
|
|
13
|
+
}
|
|
14
|
+
export interface GroupRule extends Omit<ItemRule, 'operator'> {
|
|
15
|
+
operator: GroupOperator;
|
|
16
|
+
total: RuleValue;
|
|
17
|
+
}
|
|
18
|
+
export interface DataLibraryActionConfig {
|
|
19
|
+
id: string;
|
|
20
|
+
label: string;
|
|
21
|
+
rightIcon?: string;
|
|
22
|
+
leftIcon?: string;
|
|
23
|
+
buttonLabel: string;
|
|
24
|
+
actionFunction: string;
|
|
25
|
+
parameters?: Record<string, unknown>;
|
|
26
|
+
itemRules?: ItemRule[];
|
|
27
|
+
groupRules?: GroupRule[];
|
|
28
|
+
}
|
|
29
|
+
export type DataLibraryActionsConfig = ReadonlyArray<DataLibraryActionConfig>;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/DataLibrary/selection/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAC;AAE9D,KAAK,YAAY,GACb,QAAQ,GACR,KAAK,GACL,UAAU,GACV,UAAU,GACV,SAAS,GACT,MAAM,CAAC;AACX,KAAK,aAAa,GAAG,OAAO,CAAC;AAE7B,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3C,KAAK,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAC7B,KAAK,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,GACxC,UAAU,CAAC,kCAAkC,CAAC,CAAC;AAEjD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC3D,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/features/DataLibrary/selection/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DataLibrarySelectionState } from './SelectionContext';
|
|
2
|
+
import { CohortItem, DataLibrary } from '@gen3/core';
|
|
3
|
+
import { FileItemWithParentDatasetNameAndID } from '../types';
|
|
4
|
+
export declare const getDataLibraryItem: (dataLibrary: DataLibrary, listId: string, dataId: string, fileId?: string) => FileItemWithParentDatasetNameAndID | (CohortItem & {
|
|
5
|
+
datasetId: string;
|
|
6
|
+
datasetName: string;
|
|
7
|
+
}) | undefined;
|
|
8
|
+
export interface SelectionPath {
|
|
9
|
+
listId: string;
|
|
10
|
+
memberId: string;
|
|
11
|
+
objectId?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const getSelectionPaths: (selections: DataLibrarySelectionState) => SelectionPath[];
|
|
14
|
+
export declare const getSelectedItemsFromDataLibrary: (selections: DataLibrarySelectionState, dataLibrary: DataLibrary) => (CohortItem | FileItemWithParentDatasetNameAndID)[];
|
|
15
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/features/DataLibrary/selection/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,WAAW,EAIZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAC;AAE9D,eAAO,MAAM,kBAAkB,gBAChB,WAAW,UAChB,MAAM,UACN,MAAM,WACL,MAAM;eAYkB,MAAM;iBAAe,MAAM;cAc7D,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,eAChB,yBAAyB,KACpC,aAAa,EAyBf,CAAC;AAEF,eAAO,MAAM,+BAA+B,eAC9B,yBAAyB,eACxB,WAAW,wDAuBzB,CAAC"}
|