Skip to content

Commit

Permalink
Layout changes(SIARDManager) [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
006627 committed Feb 5, 2020
1 parent 6e779d5 commit 8b8ed69
Show file tree
Hide file tree
Showing 11 changed files with 117 additions and 95 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -440,6 +440,7 @@ public class ViewerConstants {
public static final String EARK_FINANCIER_LINK = "https://www.eark-project.com/";
public static final String BLANK_LINK = "_blank";
public static final String SIARD_SPECIFICATION_LINK = "https://dilcis.eu/content-types/siard/";
public static final String DBPTK_RELEASE_LINK = "https://github.com/keeps/db-preservation-toolkit/releases/tag/v";
public static final String ADDITIONAL_CHECKS_SPECIFICATIONLINK = "https://github.com/keeps/db-preservation-toolkit/wiki/Validation#additional-checks";

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ interface navigationPanelUiBinder extends UiBinder<Widget, NavigationPanel> {
private static navigationPanelUiBinder binder = GWT.create(navigationPanelUiBinder.class);

@UiField
FlowPanel navigationPanelHeader, navigationPanelInfo, navigationPanelOptions;
FlowPanel navigationPanelHeader, navigationPanelDescription, navigationPanelInfo, navigationPanelOptions;

public static NavigationPanel createInstance(String title) {
return new NavigationPanel(title);
Expand All @@ -33,6 +33,13 @@ private NavigationPanel(String title) {
navigationPanelHeader.add(l);
}

public void addToDescriptionPanel(String description){
Label l = new Label();
l.setText(description);

navigationPanelDescription.add(l);
}

public void addToInfoPanel(Widget widget) {
this.navigationPanelInfo.add(widget);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

<g:FlowPanel addStyleNames="navigation-card">
<g:FlowPanel addStyleNames="navigation-panel-header" ui:field="navigationPanelHeader"/>
<g:FlowPanel addStyleNames="navigation-panel-description" ui:field="navigationPanelDescription"/>
<g:FlowPanel addStyleNames="navigation-panel-info" ui:field="navigationPanelInfo"/>
<g:FlowPanel addStyleNames="navigation-panel-options" ui:field="navigationPanelOptions"/>
</g:FlowPanel>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,16 @@
import com.databasepreservation.common.client.tools.FontAwesomeIconManager;
import com.databasepreservation.common.client.tools.HistoryManager;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.FocusPanel;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;

import config.i18n.client.ClientMessages;
Expand All @@ -36,11 +39,9 @@ interface AdvancedConfigurationUiBinder extends UiBinder<Widget, AdvancedConfigu
}

private static AdvancedConfigurationUiBinder binder = GWT.create(AdvancedConfigurationUiBinder.class);
@UiField
FlowPanel content;

@UiField
FlowPanel header;
FlowPanel header, content;

private static Map<String, AdvancedConfiguration> instances = new HashMap<>();
private ViewerDatabase database;
Expand All @@ -59,22 +60,24 @@ private AdvancedConfiguration(ViewerDatabase database) {
private void init() {
configureHeader();

FocusPanel ManagementTablesPanel = createOptions(messages.advancedConfigurationLabelForTableManagement(),
messages.advancedConfigurationTextForTableManagement(), FontAwesomeIconManager.TABLE);
ManagementTablesPanel.addClickHandler(event -> HistoryManager.gotoTableManagement(database.getUuid()));

FocusPanel ManagementColumnsPanel = createOptions(messages.advancedConfigurationLabelForColumnsManagement(),
messages.advancedConfigurationTextForColumnsManagement(), FontAwesomeIconManager.COLUMN);
ManagementColumnsPanel.addClickHandler(event -> HistoryManager.gotoColumnsManagement(database.getUuid()));
Button btnTableManagement = new Button();
btnTableManagement.addClickHandler(event -> {
HistoryManager.gotoTableManagement(database.getUuid());
});
content.add(createCard(FontAwesomeIconManager.TABLE, messages.advancedConfigurationLabelForTableManagement(), btnTableManagement));

content.add(ManagementTablesPanel);
content.add(ManagementColumnsPanel);
Button btnColumnManagement = new Button();
btnColumnManagement.addClickHandler(event -> {
HistoryManager.gotoColumnsManagement(database.getUuid());
});
content.add(createCard(FontAwesomeIconManager.COLUMN, messages.advancedConfigurationLabelForColumnsManagement(), btnColumnManagement));

if (ApplicationType.getType().equals(ViewerConstants.SERVER)) {
FocusPanel DataTransformationPanel = createOptions(messages.advancedConfigurationLabelForDataTransformation(),
messages.advancedConfigurationTextForDataTransformation(), FontAwesomeIconManager.DATA_TRANSFORMATION);
DataTransformationPanel.addClickHandler(event -> HistoryManager.gotoDataTransformation(database.getUuid()));
content.add(DataTransformationPanel);
Button btnDataTransformation = new Button();
btnDataTransformation.addClickHandler(event -> {
HistoryManager.gotoDataTransformation(database.getUuid());
});
content.add(createCard(FontAwesomeIconManager.DATA_TRANSFORMATION, messages.advancedConfigurationLabelForDataTransformation(), btnDataTransformation));
}

}
Expand All @@ -84,35 +87,15 @@ private void configureHeader() {
messages.advancedConfigurationLabelForMainTitle(), "h1"));
}

private FocusPanel createOptions(String title, String description, String iconName) {
FocusPanel panel = new FocusPanel();
FlowPanel content = new FlowPanel();
content.setStyleName("advanced-configuration-option");
FlowPanel left = new FlowPanel();
left.setStyleName("left");
FlowPanel right = new FlowPanel();
right.setStyleName("right");

String iconTag = FontAwesomeIconManager.getTag(iconName);
HTML icon = new HTML(SafeHtmlUtils.fromSafeConstant(iconTag));
icon.setStyleName("icon");

Label panelTitle = new Label(title);
panelTitle.setStyleName("title");
Label panelDescription = new Label(description);
panelDescription.setStyleName("description");

left.add(icon);
right.add(panelTitle);
right.add(panelDescription);

content.add(left);
content.add(right);

panel.add(content);
return panel;
}
private FlowPanel createCard(String icon, String title, Button button){
FlowPanel headerPanel = CommonClientUtils.getHeader(FontAwesomeIconManager.getTag(icon),
title, "h3");
button.setStyleName("btn btn-play");
FlowPanel footerPanel = new FlowPanel();
footerPanel.add(button);

return CommonClientUtils.wrapOnDiv("navigation-card", headerPanel, footerPanel);
}
@Override
public void handleBreadcrumb(BreadcrumbPanel breadcrumb) {
List<BreadcrumbItem> breadcrumbItems = BreadcrumbManager.forAdvancedConfiguration(database.getUuid(),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>

<g:FlowPanel addStyleNames="col_12" ui:field="content">
<g:FlowPanel addStyleNames="col_12">
<g:FlowPanel addStyleNames="structure-header" ui:field="header" />
<g:FlowPanel addStyleNames="navigation-panels" ui:field="content"/>
</g:FlowPanel>
</ui:UiBinder>
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ public NavigationPanel build() {

NavigationPanel browse = NavigationPanel.createInstance(messages.SIARDHomePageOptionsHeaderForBrowsing());

browse.addToDescriptionPanel(messages.SIARDHomePageOptionsDescriptionForSIARD());
browse.addButton(CommonClientUtils.wrapOnDiv("btn-item", btnBrowse));
browse.addButton(CommonClientUtils.wrapOnDiv("btn-item", btnConfiguration));
browse.addButton(CommonClientUtils.wrapOnDiv("btn-item", btnDelete));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
import com.google.gwt.user.client.ui.Button;

import config.i18n.client.ClientMessages;
import javafx.scene.layout.FlowPane;

public class SIARDNavigationPanel {

Expand All @@ -50,6 +49,7 @@ private SIARDNavigationPanel(ViewerDatabase database) {

public NavigationPanel build() {
NavigationPanel siard = NavigationPanel.createInstance(messages.SIARDHomePageOptionsHeaderForSIARD());
siard.addToDescriptionPanel(messages.SIARDHomePageOptionsDescriptionForSIARD());

// Edit button
btnEditMetadata = new Button();
Expand Down Expand Up @@ -117,7 +117,7 @@ public void onSuccess(Boolean result) {

// version information
MetadataField version = MetadataField.createInstance(messages.SIARDHomePageLabelForSIARDVersion(),
database.getVersion());
messages.SIARDHomePageLabelForSIARDStandardVersion(database.getVersion(), ViewerConstants.DBPTK_RELEASE_LINK));
version.setCSS(null, "label-field", "value-field");

// size information
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ public class ValidationNavigationPanel {
private HelperValidator validator = null;
private MetadataField validatedAt = null;
private MetadataField validationStatus = null;
private FlowPanel validationIndicators = new FlowPanel();
private FlowPanel validationDetails = new FlowPanel();
private MetadataField validationWarnings = null;
private MetadataField version = null;

public static ValidationNavigationPanel getInstance(ViewerDatabase database) {
Expand Down Expand Up @@ -151,20 +152,25 @@ public void onSuccess(Boolean result) {
// information
validatedAt = MetadataField.createInstance(messages.SIARDHomePageLabelForValidatedAt(),
messages.humanizedTextForSIARDNotValidated());
version = MetadataField.createInstance(messages.SIARDHomePageLabelForValidationVersion(),
version = MetadataField.createInstance(messages.SIARDHomePageLabelForValidateBy(),
messages.humanizedTextForSIARDNotValidated());
updateValidationInformation();

// Validation Status info
validationStatus = MetadataField.createInstance(messages.SIARDHomePageLabelForValidationStatus(),
LabelUtils.getSIARDValidationStatus(database.getValidationStatus()));
validationStatus.setCSS(null, "label-field", "value-field");

// validationWarnings = MetadataField.createInstance(messages.SIARDHomePageLabelForValidationWarnings(),
// LabelUtils.getSIARDValidationStatus(database.getValidationStatus()));
// validationWarnings.setCSS(null, "label-field", "value-field");
// updateValidationStatus();

validatedAt.setCSS(null, "label-field", "value-field");
version.setCSS(null, "label-field", "value-field");

NavigationPanel validation = NavigationPanel.createInstance(messages.SIARDHomePageOptionsHeaderForValidation());
validation.addToDescriptionPanel(messages.SIARDHomePageOptionsDescriptionForSIARD());
validation.addButton(CommonClientUtils.wrapOnDiv("btn-item", btnRunValidator));
validation.addButton(CommonClientUtils.wrapOnDiv("btn-item", btnOpenValidator));
validation.addButton(CommonClientUtils.wrapOnDiv("btn-item", btnSeeReport));
Expand All @@ -174,9 +180,10 @@ public void onSuccess(Boolean result) {
updateValidationButtons();

validation.addToInfoPanel(validationStatus);
validation.addToInfoPanel(validationDetails);
// validation.addToInfoPanel(validationWarnings);
validation.addToInfoPanel(validatedAt);
validation.addToInfoPanel(version);
validation.addToInfoPanel(validationIndicators);

return validation;
}
Expand All @@ -185,14 +192,16 @@ private void updateValidationInformation() {
if (database.getValidationStatus().equals(ViewerDatabaseValidationStatus.VALIDATION_SUCCESS)
|| database.getValidationStatus().equals(ViewerDatabaseValidationStatus.VALIDATION_FAILED)) {
validatedAt.updateText(Humanize.formatDateTime(database.getValidatedAt()));
version.updateText(database.getValidatedVersion());
version.updateText(
messages.SIARDHomePageLabelDBPTKVersion(database.getValidatedVersion(), ViewerConstants.DBPTK_RELEASE_LINK));
validatedAt.setVisible(true);
version.setVisible(true);
// indicators
updateValidationIndicators();
validationIndicators.setVisible(true);

validationDetails.setVisible(true);
} else { // NOT_VALIDATE, RUNNING, ERROR
validationIndicators.setVisible(false);
validationDetails.setVisible(false);
validatedAt.setVisible(false);
version.setVisible(false);
}
Expand Down Expand Up @@ -273,47 +282,50 @@ private void updateRunValidatorButton(String msg) {
}

private void updateValidationIndicators() {
validationIndicators.clear();
validationIndicators.addStyleName("validation-indicators");
validationDetails.clear();
validationDetails.addStyleName("validation-indicators");
GWT.log("ValidationStatus::" + database.getValidationStatus());
if (database.getValidationStatus().equals(ViewerDatabaseValidationStatus.VALIDATION_SUCCESS)
|| database.getValidationStatus().equals(ViewerDatabaseValidationStatus.VALIDATION_FAILED)) {
Label label = new Label(messages.SIARDHomePageTextForValidationIndicators());
Label label = new Label(messages.SIARDHomePageLabelForValidationDetails());
label.addStyleName("label-field");
validationIndicators.add(label);
validationDetails.add(label);
FlowPanel panel = new FlowPanel();
panel.addStyleName("validation-indicators");
if (database.getValidationPassed() != null) {
panel.add(buildIndicators(database.getValidationPassed(), FontAwesomeIconManager.CHECK, "passed",
panel.add(buildIndicators(FontAwesomeIconManager.CHECK, "passed",
messages.SIARDHomePageTextForValidationIndicatorsSuccess(Integer.parseInt(database.getValidationPassed()))));
}
if (database.getValidationErrors() != null) {
panel.add(buildIndicators(database.getValidationErrors(), FontAwesomeIconManager.TIMES, "errors",
panel.add(buildIndicators(FontAwesomeIconManager.TIMES, "errors",
messages.SIARDHomePageTextForValidationIndicatorsFailed(Integer.parseInt(database.getValidationErrors()))));
}
if (database.getValidationWarnings() != null) {
panel.add(buildIndicators(database.getValidationWarnings(), FontAwesomeIconManager.WARNING, "warnings", messages
.SIARDHomePageTextForValidationIndicatorsWarnings(Integer.parseInt(database.getValidationWarnings()))));
}
// if (database.getValidationWarnings() != null) {
// panel.add(buildIndicators(database.getValidationWarnings(),
// FontAwesomeIconManager.WARNING, "warnings", messages
// .SIARDHomePageTextForValidationIndicatorsWarnings(Integer.parseInt(database.getValidationWarnings()))));
// }
if (database.getValidationSkipped() != null) {
panel.add(buildIndicators(database.getValidationSkipped(), FontAwesomeIconManager.SKIPPED, "skipped",
panel.add(buildIndicators(FontAwesomeIconManager.SKIPPED, "skipped",
messages.SIARDHomePageTextForValidationIndicatorsSkipped(Integer.parseInt(database.getValidationSkipped()))));
}
if (panel.getWidgetCount() > 0) {
validationIndicators.add(panel);
validationDetails.add(panel);
}
// if (database.getValidationWarnings() != null) {
// validationWarnings.updateText();
// }
}
}

private FlowPanel buildIndicators(String indicator, String icon, String style, String title) {
private FlowPanel buildIndicators(String icon, String style, String title) {
FlowPanel panel = new FlowPanel();
panel.setStyleName("indicator");
panel.setTitle(title);
Label label = new Label(indicator);
HTML iconHTML = new HTML(SafeHtmlUtils.fromSafeConstant(FontAwesomeIconManager.getTag(icon)));
iconHTML.addStyleName(style);
panel.add(iconHTML);
panel.add(label);
panel.add(new Label(title));

return panel;
}
Expand Down
12 changes: 10 additions & 2 deletions src/main/java/config/i18n/client/ClientMessages.java
Original file line number Diff line number Diff line change
Expand Up @@ -710,6 +710,8 @@ public interface ClientMessages extends Messages {

String SIARDHomePageOptionsHeaderForSIARD();

String SIARDHomePageOptionsDescriptionForSIARD();

String SIARDHomePageOptionsHeaderForValidation();

String SIARDHomePageOptionsHeaderForBrowsing();
Expand All @@ -736,19 +738,25 @@ public interface ClientMessages extends Messages {

String SIARDHomePageLabelForSIARDVersion();

SafeHtml SIARDHomePageLabelForSIARDStandardVersion(String version, String specification);

String SIARDHomePageLabelForSIARDSize();

String SIARDHomePageLabelForSIARDPath();

String SIARDHomePageLabelForValidatedAt();

String SIARDHomePageLabelForValidationVersion();
String SIARDHomePageLabelForValidateBy();

SafeHtml SIARDHomePageLabelDBPTKVersion(String version, String releaseLink);

String SIARDHomePageTextForMissingDescription();

String SIARDHomePageLabelForValidationStatus();

String SIARDHomePageTextForValidationIndicators();
String SIARDHomePageLabelForValidationDetails();

String SIARDHomePageLabelForValidationWarnings();

String SIARDHomePageTextForValidationIndicatorsSuccess(@PluralCount int passed);

Expand Down
Loading

0 comments on commit 8b8ed69

Please sign in to comment.