Skip to content

Commit

Permalink
Link to documentation in empty Raw Data view (#797)
Browse files Browse the repository at this point in the history
* place correct disclaimer for missing raw data

* lower case raw data
  • Loading branch information
wow-such-code authored Aug 20, 2024
1 parent 2b08aae commit 6b68557
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
font-weight: normal;
color: #2d2d2d;
font-size: var(--lumo-font-size-s);
white-space: pre-line;
}

.disclaimer .disclaimer-title {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,21 +73,24 @@ public class RawDataMain extends Main implements BeforeEnterObserver {
private final Disclaimer registerMeasurementsDisclaimer;
private final Disclaimer noRawDataRegisteredDisclaimer;
private final String rawDataSourceURL;
private final String documentationUrl;
private transient Context context;

public RawDataMain(@Autowired RawDataDetailsComponent rawDataDetailsComponent,
@Autowired RawDataDownloadInformationComponent rawDataDownloadInformationComponent,
@Autowired ExperimentInformationService experimentInformationService,
@Autowired MeasurementService measurementService,
@Autowired RawDataService rawDataService,
@Value("${server.download.api.measurement.url}") String dataSourceURL) {
@Value("${server.download.api.measurement.url}") String dataSourceURL,
@Value("${qbic.communication.documentation.url}") String documentationUrl) {
this.rawdataDetailsComponent = Objects.requireNonNull(rawDataDetailsComponent);
this.rawDataDownloadInformationComponent = Objects.requireNonNull(
rawDataDownloadInformationComponent);
this.experimentInformationService = Objects.requireNonNull(experimentInformationService);
this.measurementService = Objects.requireNonNull(measurementService);
this.rawDataService = Objects.requireNonNull(rawDataService);
this.rawDataSourceURL = Objects.requireNonNull(dataSourceURL);
this.documentationUrl = Objects.requireNonNull(documentationUrl);
registerMeasurementsDisclaimer = createNoMeasurementsRegisteredDisclaimer();
registerMeasurementsDisclaimer.addClassName("no-measurements-registered-disclaimer");
noRawDataRegisteredDisclaimer = createNoRawDataRegisteredDisclaimer();
Expand Down Expand Up @@ -242,14 +245,22 @@ private Disclaimer createNoMeasurementsRegisteredDisclaimer() {

private Disclaimer createNoRawDataRegisteredDisclaimer() {
Disclaimer noRawDataRegistered = Disclaimer.createWithTitle(
"No Raw Data available",
"There is currently no raw data registered for the measurements within this experiment",
"Register Measurements");
"Register your raw data first",
"Raw data should be registered before you can view and download raw data files.\n"
+ "You can refer to our documentation to register raw data for your measurements.",
"View Documentation");
noRawDataRegistered.addDisclaimerConfirmedListener(
this::routeToMeasurementCreation);
this::routeToRawDataDocumentation);
return noRawDataRegistered;
}

private void routeToRawDataDocumentation(ComponentEvent<?> componentEvent) {
if (componentEvent.isFromClient()) {
componentEvent.getSource().getUI().ifPresent(ui -> ui.getPage()
.open(documentationUrl, "_blank"));
}
}

private void routeToMeasurementCreation(ComponentEvent<?> componentEvent) {
if (componentEvent.isFromClient()) {
String currentExperimentId = context.experimentId().orElseThrow().value();
Expand Down

0 comments on commit 6b68557

Please sign in to comment.