diff --git a/web/src/components/modals/add-view-options.tsx b/web/src/components/modals/add-view-options.tsx index 018aa2aa..9ef165a6 100644 --- a/web/src/components/modals/add-view-options.tsx +++ b/web/src/components/modals/add-view-options.tsx @@ -197,7 +197,7 @@ export const ViewOptionsModal = (props: Props) => { viewMutations.addViewMutation.isPending } type="button" - className="btn btn-success px-2 mt-3 float-end" + className="btn btn-success px-2 mt-4 mb-1 float-end" onClick={() => { onSubmit(); resetForm(); @@ -207,7 +207,7 @@ export const ViewOptionsModal = (props: Props) => { {viewMutations.addViewMutation.isPending ? 'Creating...' : 'Create'} +
+

Metadata Standardizer

+ +
+

+ Use the metadata standardizer powered by BEDmess to bring consistency across metadata columns in all of + your projects. After choosing a standardizer schema below, compare predicted suggestions (confidence indicated in parenthesis) and choose whether + to keep or discard them. Column contents are not modified by the standardizer. + After accepting the changes, save your project for them to take effect. +

+
+ +
+
+

Standardizer Schema

+ + +
+
+ ({ + ...provided, + borderRadius: '.333333em', // Left radii set to 0, right radii kept at 4px + }), + }} + options={[ + // @ts-ignore + { value: 'ENCODE', label: 'ENCODE' }, + // @ts-ignore + { value: 'FAIRTRACKS', label: 'Fairtracks' }, + ]} + defaultValue={selectedOption} + value={selectedOption} + onChange={(selectedOption) => { + if (selectedOption === null) { + return; + } + setSelectedOption(selectedOption); + }} + /> +
+
+ +
-
- + +
- - {standardizedData && !isFetching ? ( - <> -
+ {standardizedData && !isFetching ? ( + <> +
-
-
-
Original Column
-
-
-
Predicted Column Header
+
+
+

Original Column

+
+
+

Predicted Column Header

+
-
-
- {Object.keys(standardizedData).map((key, index) => ( -
-
- {key === sampleTableIndex ?

SampleTableIndex must also be updated in project config!

: null} -
-
- + {Object.keys(standardizedData).map((key, index) => ( +
+
+ {key === sampleTableIndex ?

SampleTableIndex must also be updated in project config!

: null} +
+
+ -
-
-
-
-
- handleRadioChange(key, null)} + ]} + licenseKey="non-commercial-and-evaluation" + className="custom-handsontable" /> - - - {Object.entries(standardizedData[key]).map(([subKey, value], index, array) => ( - - handleRadioChange(key, subKey)} - /> - - - ))}
+
+
+
+ handleRadioChange(key, null)} + /> + + + {Object.entries(standardizedData[key]).map(([subKey, value], index, array) => ( + + handleRadioChange(key, subKey)} + /> + + + ))} +
+
+
+
-
-
- ))} - - - ) : isFetching ? + ))} + + + ) : isFetching ? -
- +
+ +
+ : + null + } + +
+
+ {whereDuplicates !== null && ( + Warning: ensure no duplicate column names have been selected. + )} + +
- : - null - } +
- - {whereDuplicates !== null && ( -
Warning: ensure no duplicate column names have been selected.
- )} - - - -
); }; diff --git a/web/src/components/project/project-page-header-bar.tsx b/web/src/components/project/project-page-header-bar.tsx index c0e951a3..835b3345 100644 --- a/web/src/components/project/project-page-header-bar.tsx +++ b/web/src/components/project/project-page-header-bar.tsx @@ -152,7 +152,7 @@ export const ProjectHeaderBar = (props: Props) => { More - + downloadZip(namespace, projectName, tag, jwt)}> Download