Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Genesys Website
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
23
Issues
23
List
Boards
Labels
Service Desk
Milestones
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Genesys PGR
Genesys Website
Commits
05622bbc
Commit
05622bbc
authored
Mar 01, 2019
by
Viacheslav Pavlov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Dataset/Subset display page: rematchAccessions
parent
7af39e83
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
72 additions
and
12 deletions
+72
-12
locales/en/translations.json
locales/en/translations.json
+4
-1
src/datasets/translations.json
src/datasets/translations.json
+2
-1
src/datasets/ui/DisplayPage.tsx
src/datasets/ui/DisplayPage.tsx
+5
-2
src/datasets/ui/c/DatasetDisplay.tsx
src/datasets/ui/c/DatasetDisplay.tsx
+14
-0
src/subsets/actions/public.ts
src/subsets/actions/public.ts
+11
-0
src/subsets/translations.json
src/subsets/translations.json
+2
-1
src/subsets/ui/DisplayPage.tsx
src/subsets/ui/DisplayPage.tsx
+5
-2
src/subsets/ui/c/SubsetDisplay.tsx
src/subsets/ui/c/SubsetDisplay.tsx
+24
-5
src/subsets/ui/dashboard/subset-stepper/steps/review/index.tsx
...ubsets/ui/dashboard/subset-stepper/steps/review/index.tsx
+5
-0
No files found.
locales/en/translations.json
View file @
05622bbc
...
...
@@ -1100,6 +1100,7 @@
},
"datasetDisplay"
:
{
"accessionsEvaluated"
:
"Accessions evaluated"
,
"rematch"
:
"Rematch accessions"
,
"contact"
:
"Data provider contact information"
,
"creators"
:
"Dataset creators"
,
"dataAndResources"
:
"Data and resources"
,
...
...
@@ -1179,6 +1180,7 @@
"endDate"
:
"Experiment end date"
}
}
,
"descriptorlists"
:
{
"common"
:
{
"modelName"
:
"Descriptor list"
,
...
...
@@ -1993,7 +1995,8 @@
"source"
:
"Source"
},
"subsetDisplay"
:
{
"subsetCreators"
:
"Subset creators"
"subsetCreators"
:
"Subset creators"
,
"rematch"
:
"Rematch accessions"
}
},
"f"
:
{
...
...
src/datasets/translations.json
View file @
05622bbc
...
...
@@ -151,6 +151,7 @@
},
"datasetDisplay"
:
{
"accessionsEvaluated"
:
"Accessions evaluated"
,
"rematch"
:
"Rematch accessions"
,
"contact"
:
"Data provider contact information"
,
"creators"
:
"Dataset creators"
,
"dataAndResources"
:
"Data and resources"
,
...
...
@@ -229,4 +230,4 @@
"startDate"
:
"Experiment start date"
,
"endDate"
:
"Experiment end date"
}
}
\ No newline at end of file
}
src/datasets/ui/DisplayPage.tsx
View file @
05622bbc
...
...
@@ -4,7 +4,7 @@ import { connect } from 'react-redux';
import
{
withStyles
}
from
'
@material-ui/core/styles
'
;
import
{
translate
}
from
'
react-i18next
'
;
import
{
deleteDataset
,
publishDataset
,
rejectDataset
,
approveDataset
}
from
'
datasets/actions/editor
'
;
import
{
rematchDatasetAccessions
,
deleteDataset
,
publishDataset
,
rejectDataset
,
approveDataset
}
from
'
datasets/actions/editor
'
;
import
{
loadMoreAccessions
,
loadDataset
}
from
'
datasets/actions/public
'
;
import
Dataset
from
'
model/catalog/Dataset
'
;
import
{
AccessionRef
}
from
'
model/accession/AccessionRef
'
;
...
...
@@ -34,6 +34,7 @@ interface IDatasetDetailProps extends React.ClassAttributes<any> {
approveDataset
:
(
dataset
:
Dataset
)
=>
void
;
rejectDataset
:
(
dataset
:
Dataset
,
needToRedirect
?:
boolean
)
=>
void
;
loadMoreAccessions
:
(
uuid
:
string
,
page
?:
Page
<
AccessionRef
>
)
=>
any
;
rematchDatasetAccessions
:
(
dataset
:
Dataset
)
=>
void
;
mapLayers
:
MapLayer
[];
}
...
...
@@ -66,7 +67,7 @@ class DatasetDetail extends React.Component<IDatasetDetailProps, any> {
}
public
render
()
{
const
{
t
,
classes
,
loading
,
error
,
dataset
,
publishDataset
,
rejectDataset
,
approveDataset
,
deleteDataset
,
mapLayers
}
=
this
.
props
;
const
{
t
,
classes
,
loading
,
error
,
dataset
,
publishDataset
,
rejectDataset
,
approveDataset
,
deleteDataset
,
rematchDatasetAccessions
,
mapLayers
}
=
this
.
props
;
return
(
<
PageLayout
>
...
...
@@ -87,6 +88,7 @@ class DatasetDetail extends React.Component<IDatasetDetailProps, any> {
approveDataset
=
{
approveDataset
}
deleteDataset
=
{
deleteDataset
}
loadAccessions
=
{
this
.
loadMoreAccessions
}
rematchDatasetAccessions
=
{
rematchDatasetAccessions
}
accessionRefs
=
{
this
.
props
.
accessionRefs
}
mapLayers
=
{
mapLayers
}
/>
...
...
@@ -120,6 +122,7 @@ const mapDispatchToProps = (dispatch) => bindActionCreators({
rejectDataset
,
approveDataset
,
loadMoreAccessions
,
rematchDatasetAccessions
,
},
dispatch
);
export
default
translate
()(
connect
(
mapStateToProps
,
mapDispatchToProps
)((
withStyles
as
any
)(
styles
)(
DatasetDetail
)));
src/datasets/ui/c/DatasetDisplay.tsx
View file @
05622bbc
...
...
@@ -140,6 +140,7 @@ interface IDetailInfoProps extends React.ClassAttributes<any> {
rejectDataset
?:
(
dataset
:
Dataset
,
needToRedirect
?:
boolean
)
=>
void
;
deleteDataset
?:
(
dataset
:
Dataset
)
=>
any
;
loadAccessions
:
(
page
:
Page
<
AccessionRef
>
)
=>
any
;
rematchDatasetAccessions
:
(
dataset
:
Dataset
)
=>
void
;
accessionRefs
:
Page
<
AccessionRef
>
;
mapLayers
:
MapLayer
[];
}
...
...
@@ -213,6 +214,14 @@ class DetailInfo extends React.Component<IDetailInfoProps, any> {
rejectDataset
(
dataset
,
true
);
}
private
onRematch
=
(
e
)
=>
{
e
.
preventDefault
();
const
{
rematchDatasetAccessions
,
dataset
}
=
this
.
props
;
log
(
'
Rematching Accessions for dataset
'
,
dataset
);
rematchDatasetAccessions
(
dataset
);
}
private
onDelete
=
(
e
)
=>
{
const
{
dataset
,
deleteDataset
,
t
}
=
this
.
props
;
...
...
@@ -314,6 +323,11 @@ class DetailInfo extends React.Component<IDetailInfoProps, any> {
<
Button
onClick
=
{
this
.
onDelete
}
type
=
"button"
>
{
t
(
'
common:action.delete
'
)
}
</
Button
>
}
{
dataset
.
_permissions
.
manage
&&
<
Permissions
clazz
=
{
Dataset
.
clazz
}
id
=
{
dataset
.
id
}
/>
}
<
Authorize
role
=
"ROLE_ADMINISTRATOR"
>
<
Button
onClick
=
{
this
.
onRematch
}
type
=
"button"
>
{
t
(
'
datasets.public.c.datasetDisplay.rematch
'
)
}
</
Button
>
</
Authorize
>
</
CardActions
>
)
}
</
Card
>
...
...
src/subsets/actions/public.ts
View file @
05622bbc
...
...
@@ -22,6 +22,7 @@ import {AccessionRef} from 'model/accession/AccessionRef';
const
apiListSubsets
=
createApiCaller
(
SubsetService
.
list
,
APPEND_SUBSETS
);
const
apiListSubsetAccessions
=
createApiCaller
(
SubsetService
.
listAccessions
,
APPEND_SUBSET_ACCESSIONS
);
const
apiLoadSubset
=
createApiCaller
(
SubsetService
.
get
,
RECEIVE_SUBSET
);
const
apiRematchAccessions
=
createApiCaller
(
SubsetService
.
rematchAccessions
,
RECEIVE_SUBSET
);
export
const
loadMoreSubsets
=
(
paged
:
FilteredPage
<
Subset
>
)
=>
(
dispatch
,
getState
)
=>
{
return
dispatch
(
apiListSubsets
(
paged
?
paged
.
filterCode
:
''
,
Page
.
nextPage
(
paged
)))
...
...
@@ -50,6 +51,16 @@ export const applyFilters = (filters: string | SubsetFilter, page: IPageRequest
});
};
export
const
rematchSubsetAccessions
=
(
subset
:
Subset
)
=>
{
return
(
dispatch
,
getState
)
=>
{
return
dispatch
(
apiRematchAccessions
(
subset
.
uuid
,
subset
.
version
))
.
then
((
saved
)
=>
{
dispatch
(
loadMoreAccessions
(
saved
.
uuid
));
return
saved
;
});
};
};
export
const
loadSubset
=
(
uuid
:
string
)
=>
(
dispatch
)
=>
{
return
dispatch
(
apiLoadSubset
(
uuid
));
};
...
...
src/subsets/translations.json
View file @
05622bbc
...
...
@@ -10,7 +10,8 @@
"source"
:
"Source"
},
"subsetDisplay"
:
{
"subsetCreators"
:
"Subset creators"
"subsetCreators"
:
"Subset creators"
,
"rematch"
:
"Rematch accessions"
}
},
"f"
:
{
...
...
src/subsets/ui/DisplayPage.tsx
View file @
05622bbc
...
...
@@ -3,7 +3,7 @@ import { translate } from 'react-i18next';
import
{
connect
}
from
'
react-redux
'
;
import
{
bindActionCreators
}
from
'
redux
'
;
// Actions
import
{
loadMoreAccessions
,
loadSubset
}
from
'
subsets/actions/public
'
;
import
{
rematchSubsetAccessions
,
loadMoreAccessions
,
loadSubset
}
from
'
subsets/actions/public
'
;
import
{
unpublishSubset
}
from
'
subsets/actions/editor
'
;
import
navigateTo
from
'
actions/navigation
'
;
// Models
...
...
@@ -29,6 +29,7 @@ interface IDisplayPageProps extends React.ClassAttributes<any> {
navigateTo
:
any
;
unpublishSubset
:
(
subset
:
Subset
)
=>
void
;
loadMoreAccessions
:
(
uuid
:
string
,
page
?:
Page
<
AccessionRef
>
)
=>
any
;
rematchSubsetAccessions
:
(
subset
:
Subset
)
=>
void
;
accessionRefs
:
Page
<
AccessionRef
>
;
t
:
any
;
}
...
...
@@ -70,7 +71,7 @@ class DisplayPage extends React.Component<IDisplayPageProps, any> {
}
public
render
()
{
const
{
error
,
subset
,
loading
,
userRole
,
t
,
accessionRefs
}
=
this
.
props
;
const
{
error
,
subset
,
loading
,
userRole
,
t
,
accessionRefs
,
rematchSubsetAccessions
}
=
this
.
props
;
const
isActionsActive
:
boolean
=
userRole
.
findIndex
((
role
)
=>
role
===
'
ROLE_ADMINISTRATOR
'
)
!==
-
1
||
(
subset
&&
subset
.
state
===
PublishState
.
REVIEWING
);
return
(
...
...
@@ -92,6 +93,7 @@ class DisplayPage extends React.Component<IDisplayPageProps, any> {
subset
=
{
subset
}
accessions
=
{
accessionRefs
}
loadAccessions
=
{
this
.
loadMoreAccessions
}
rematchSubsetAccessions
=
{
rematchSubsetAccessions
}
/>
}
</
div
>
...
...
@@ -116,6 +118,7 @@ const mapDispatchToProps = (dispatch) => bindActionCreators({
navigateTo
,
unpublishSubset
,
loadMoreAccessions
,
rematchSubsetAccessions
,
},
dispatch
);
...
...
src/subsets/ui/c/SubsetDisplay.tsx
View file @
05622bbc
...
...
@@ -19,6 +19,9 @@ import Loading from 'ui/common/Loading';
import
PagedLoader
from
'
ui/common/PagedLoader
'
;
import
AccessionRefCard
from
'
accessions/ui/c/AccessionRefCard
'
;
import
DownloadDialog
from
'
ui/common/download-dialog
'
;
import
ButtonBar
from
'
ui/common/buttons/ButtonBar
'
;
import
{
Button
}
from
'
@material-ui/core
'
;
import
Authorize
from
'
ui/common/authorized/Authorize
'
;
const
styles
=
(
theme
)
=>
({
accessionSection
:
{
...
...
@@ -37,6 +40,7 @@ interface IDetailInfoProps extends React.ClassAttributes<any> {
unpublishSubset
?:
(
subset
:
Subset
)
=>
any
;
deleteSubset
?:
(
subset
:
Subset
)
=>
any
;
loadAccessions
:
(
page
:
Page
<
AccessionRef
>
)
=>
any
;
rematchSubsetAccessions
:
(
subset
:
Subset
)
=>
void
;
accessions
:
Page
<
AccessionRef
>
;
userRoles
:
string
[];
}
...
...
@@ -53,6 +57,13 @@ class DetailInfo extends React.Component<IDetailInfoProps, any> {
this
.
setState
({
authenticated
});
}
private
onRematch
=
(
e
)
=>
{
e
.
preventDefault
();
const
{
subset
,
rematchSubsetAccessions
}
=
this
.
props
;
rematchSubsetAccessions
(
subset
);
}
public
render
()
{
const
{
classes
,
subset
,
t
,
accessions
,
loadAccessions
}
=
this
.
props
;
...
...
@@ -73,11 +84,19 @@ class DetailInfo extends React.Component<IDetailInfoProps, any> {
<
SubsetCard
complete
subset
=
{
subset
}
actions
=
{
this
.
state
.
authenticated
&&
<
DownloadDialog
downloadUrl
=
{
`/proxy/api/v1/subset/
${
subset
.
uuid
}
/download`
}
slug
=
"download-authenticated"
postParams
=
{
{
mcpd
:
'
mcpd
'
}
}
buttonTitle
=
{
`
${
t
(
'
common:action.download
'
)}
${
t
(
'
subsets.public.p.display.MCPD
'
)}
`
}
/>
<
ButtonBar
>
<
DownloadDialog
downloadUrl
=
{
`/proxy/api/v1/subset/
${
subset
.
uuid
}
/download`
}
slug
=
"download-authenticated"
postParams
=
{
{
mcpd
:
'
mcpd
'
}
}
buttonTitle
=
{
`
${
t
(
'
common:action.download
'
)}
${
t
(
'
subsets.public.p.display.MCPD
'
)}
`
}
/>
<
Authorize
role
=
"ROLE_ADMINISTRATOR"
>
<
Button
onClick
=
{
this
.
onRematch
}
type
=
"button"
>
{
t
(
'
subsets.public.c.subsetDisplay.rematch
'
)
}
</
Button
>
</
Authorize
>
</
ButtonBar
>
}
/>
<
Grid
container
spacing
=
{
16
}
className
=
{
classes
.
accessionSection
}
justify
=
{
'
space-between
'
}
>
...
...
src/subsets/ui/dashboard/subset-stepper/steps/review/index.tsx
View file @
05622bbc
...
...
@@ -8,14 +8,17 @@ import StepperTemplate from 'ui/common/stepper/StepperTemplate';
// model
import
Page
from
'
model/Page
'
;
import
Subset
from
'
model/subset/Subset
'
;
import
{
AccessionRef
}
from
'
model/accession/AccessionRef
'
;
// actions
import
{
loadMoreAccessions
}
from
'
subsets/actions/dashboard
'
;
import
{
rematchSubsetAccessions
}
from
'
subsets/actions/editor
'
;
interface
IReviewAndPublishStepProps
extends
React
.
ClassAttributes
<
any
>
{
loadMore
:
(
uuid
:
string
,
page
?:
Page
<
AccessionRef
>
)
=>
any
;
accessionRefs
:
Page
<
AccessionRef
>
;
rematchSubsetAccessions
:
(
subset
:
Subset
)
=>
void
;
uuid
:
string
;
}
...
...
@@ -43,6 +46,7 @@ class ReviewAndPublishStep extends StepperTemplate<IReviewAndPublishStepProps> {
<
SubsetDisplay
subset
=
{
this
.
props
.
item
}
accessions
=
{
this
.
props
.
accessionRefs
}
rematchSubsetAccessions
=
{
this
.
props
.
rematchSubsetAccessions
}
loadAccessions
=
{
this
.
loadMoreAccessions
}
/>
)
...
...
@@ -54,6 +58,7 @@ const mapStateToProps = (state, ownProps) => ({
const
mapDispatchToProps
=
(
dispatch
)
=>
bindActionCreators
({
loadMore
:
loadMoreAccessions
,
rematchSubsetAccessions
,
},
dispatch
);
export
default
connect
(
mapStateToProps
,
mapDispatchToProps
)(
ReviewAndPublishStep
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment