From 7a02dfad924b4977878a2ad4b2e2aa0168f3abde Mon Sep 17 00:00:00 2001 From: 006627 Date: Fri, 25 Oct 2019 15:41:23 +0100 Subject: [PATCH] Fixed breadcrumb on Server (refactoring) [skip ci] --- .../helpers}/HelperUploadSIARDFile.java | 2 +- .../client/common/lists/TableRowList.java | 16 +- .../common/utils/ContentPanelLoader.java | 11 + .../visualization/browse/ContainerPanel.java | 37 +- .../visualization/browse/SIARDMainPage.java | 75 +- .../visualization/browse/SIARDMainPage.ui.xml | 4 +- .../browse/ingest/IngestPage.java | 9 +- .../visualization/browse/manager}/Manage.java | 39 +- .../browse/manager}/Manage.ui.xml | 1 - .../browse/validate/ValidatorPage.java | 11 +- .../browse/validate/ValidatorPage.ui.xml | 1 - .../client/tools/BreadcrumbManager.java | 10 +- .../desktop/client/dbptk/HomePage.java | 2 +- .../desktop/client/main/Main.java | 24 +- .../desktop/client/main/MainPanelDesktop.java | 64 +- .../server/client/browse/UploadPanel.java | 1 + .../server/client/main/MainPanel.java | 51 +- .../common/public/desktop.css | 651 ------------------ .../common/public/main.css | 251 ++++++- 19 files changed, 442 insertions(+), 818 deletions(-) rename src/main/java/com/databasepreservation/{desktop/client/common/helper => common/shared/client/common/helpers}/HelperUploadSIARDFile.java (98%) create mode 100644 src/main/java/com/databasepreservation/common/shared/client/common/utils/ContentPanelLoader.java rename src/main/java/com/databasepreservation/{desktop/client/dbptk => common/shared/client/common/visualization/browse/manager}/Manage.java (76%) rename src/main/java/com/databasepreservation/{desktop/client/dbptk => common/shared/client/common/visualization/browse/manager}/Manage.ui.xml (97%) diff --git a/src/main/java/com/databasepreservation/desktop/client/common/helper/HelperUploadSIARDFile.java b/src/main/java/com/databasepreservation/common/shared/client/common/helpers/HelperUploadSIARDFile.java similarity index 98% rename from src/main/java/com/databasepreservation/desktop/client/common/helper/HelperUploadSIARDFile.java rename to src/main/java/com/databasepreservation/common/shared/client/common/helpers/HelperUploadSIARDFile.java index 0cb626e95..5017a4e8c 100644 --- a/src/main/java/com/databasepreservation/desktop/client/common/helper/HelperUploadSIARDFile.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/helpers/HelperUploadSIARDFile.java @@ -1,4 +1,4 @@ -package com.databasepreservation.desktop.client.common.helper; +package com.databasepreservation.common.shared.client.common.helpers; import java.util.Collections; diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/lists/TableRowList.java b/src/main/java/com/databasepreservation/common/shared/client/common/lists/TableRowList.java index b93e6302e..6ce005add 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/lists/TableRowList.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/lists/TableRowList.java @@ -1,12 +1,6 @@ package com.databasepreservation.common.shared.client.common.lists; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import org.roda.core.data.v2.common.Pair; import org.roda.core.data.v2.index.IndexResult; @@ -17,13 +11,10 @@ import com.databasepreservation.common.client.BrowserService; import com.databasepreservation.common.shared.ViewerConstants; -import com.databasepreservation.common.shared.ViewerStructure.ViewerColumn; -import com.databasepreservation.common.shared.ViewerStructure.ViewerDatabase; -import com.databasepreservation.common.shared.ViewerStructure.ViewerRow; -import com.databasepreservation.common.shared.ViewerStructure.ViewerTable; -import com.databasepreservation.common.shared.ViewerStructure.ViewerType; +import com.databasepreservation.common.shared.ViewerStructure.*; import com.databasepreservation.common.shared.client.ClientLogger; import com.databasepreservation.common.shared.client.common.DefaultAsyncCallback; +import com.databasepreservation.common.shared.client.common.dialogs.Dialogs; import com.databasepreservation.common.shared.client.common.helpers.HelperExportTableData; import com.databasepreservation.common.shared.client.common.utils.CommonClientUtils; import com.databasepreservation.common.shared.client.common.utils.UriQueryUtils; @@ -31,7 +22,6 @@ import com.databasepreservation.common.shared.client.tools.FontAwesomeIconManager; import com.databasepreservation.common.shared.client.tools.ViewerJsonUtils; import com.databasepreservation.common.shared.client.tools.ViewerStringUtils; -import com.databasepreservation.desktop.client.common.dialogs.Dialogs; import com.google.gwt.cell.client.Cell; import com.google.gwt.cell.client.SafeHtmlCell; import com.google.gwt.core.shared.GWT; diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/utils/ContentPanelLoader.java b/src/main/java/com/databasepreservation/common/shared/client/common/utils/ContentPanelLoader.java new file mode 100644 index 000000000..4ef6c0a5f --- /dev/null +++ b/src/main/java/com/databasepreservation/common/shared/client/common/utils/ContentPanelLoader.java @@ -0,0 +1,11 @@ +package com.databasepreservation.common.shared.client.common.utils; + +import com.databasepreservation.common.shared.ViewerStructure.ViewerDatabase; +import com.databasepreservation.common.shared.client.common.ContentPanel; + +/** + * @author Gabriel Barros + */ +public abstract class ContentPanelLoader { + public abstract ContentPanel load(ViewerDatabase database); +} diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/ContainerPanel.java b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/ContainerPanel.java index e21f345c5..c58974073 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/ContainerPanel.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/ContainerPanel.java @@ -3,20 +3,19 @@ import java.util.HashMap; import java.util.Map; -import com.databasepreservation.Constants; -import com.databasepreservation.common.shared.ViewerConstants; -import com.databasepreservation.common.shared.client.common.ContentPanel; -import com.databasepreservation.common.shared.client.common.utils.ApplicationType; import org.roda.core.data.v2.user.User; import com.databasepreservation.common.client.BrowserService; +import com.databasepreservation.common.shared.ViewerConstants; import com.databasepreservation.common.shared.ViewerStructure.IsIndexed; import com.databasepreservation.common.shared.ViewerStructure.ViewerDatabase; import com.databasepreservation.common.shared.client.breadcrumb.BreadcrumbPanel; +import com.databasepreservation.common.shared.client.common.ContentPanel; import com.databasepreservation.common.shared.client.common.DefaultAsyncCallback; import com.databasepreservation.common.shared.client.common.LoginStatusListener; import com.databasepreservation.common.shared.client.common.UserLogin; -import com.databasepreservation.common.shared.client.common.sidebar.DatabaseSidebar; +import com.databasepreservation.common.shared.client.common.utils.ApplicationType; +import com.databasepreservation.common.shared.client.common.utils.ContentPanelLoader; import com.databasepreservation.common.shared.client.common.utils.JavascriptUtils; import com.databasepreservation.common.shared.client.tools.BreadcrumbManager; import com.databasepreservation.common.shared.client.tools.FontAwesomeIconManager; @@ -218,7 +217,35 @@ public void load(ContentPanel panel) { panel.handleBreadcrumb(breadcrumb); panelContainer.setWidget(panel); panel.setVisible(true); + } + public void load(ContentPanelLoader panelLoader) { + if (databaseUUID != null && (database == null || !ViewerDatabase.Status.AVAILABLE.equals(database.getStatus()))) { + // need to load database (not present or not available), go get it + loadPanelWithDatabase(panelLoader); + } else { + loadPanel(panelLoader); + } + } + + private void loadPanelWithDatabase(final ContentPanelLoader panelLoader) { + BrowserService.Util.getInstance().retrieve(databaseUUID, ViewerDatabase.class.getName(), databaseUUID, + new DefaultAsyncCallback() { + @Override + public void onSuccess(IsIndexed result) { + database = (ViewerDatabase) result; + loadPanel(panelLoader); + } + }); + } + + public void loadPanel(ContentPanelLoader panelLoader) { + ContentPanel panel = panelLoader.load(database); + if (panel != null) { + panel.handleBreadcrumb(breadcrumb); + panelContainer.setWidget(panel); + panel.setVisible(true); + } } public void setTopLevelPanelCSS(String css) { diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SIARDMainPage.java b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SIARDMainPage.java index 66678980a..d20c87adc 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SIARDMainPage.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SIARDMainPage.java @@ -13,32 +13,21 @@ import com.databasepreservation.common.shared.client.common.ContentPanel; import com.databasepreservation.common.shared.client.common.DefaultAsyncCallback; import com.databasepreservation.common.shared.client.common.MetadataField; +import com.databasepreservation.common.shared.client.common.NavigationPanel; import com.databasepreservation.common.shared.client.common.desktop.GenericField; import com.databasepreservation.common.shared.client.common.dialogs.CommonDialogs; +import com.databasepreservation.common.shared.client.common.dialogs.Dialogs; +import com.databasepreservation.common.shared.client.common.helper.HelperValidator; import com.databasepreservation.common.shared.client.common.utils.ApplicationType; import com.databasepreservation.common.shared.client.common.utils.JavascriptUtils; import com.databasepreservation.common.shared.client.common.visualization.browse.validate.ValidatorPage; -import com.databasepreservation.common.shared.client.tools.BreadcrumbManager; -import com.databasepreservation.common.shared.client.tools.FontAwesomeIconManager; -import com.databasepreservation.common.shared.client.tools.HistoryManager; -import com.databasepreservation.common.shared.client.tools.Humanize; -import com.databasepreservation.common.shared.client.tools.PathUtils; -import com.databasepreservation.common.shared.client.tools.SolrHumanizer; -import com.databasepreservation.common.shared.client.tools.ViewerStringUtils; -import com.databasepreservation.common.shared.client.common.NavigationPanel; -import com.databasepreservation.common.shared.client.common.dialogs.Dialogs; -import com.databasepreservation.common.shared.client.common.helper.HelperValidator; +import com.databasepreservation.common.shared.client.tools.*; import com.google.gwt.core.client.GWT; 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.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.Button; -import com.google.gwt.user.client.ui.FlowPanel; -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 com.google.gwt.user.client.ui.*; import config.i18n.client.ClientMessages; @@ -80,12 +69,15 @@ interface SIARDInfoUiBinder extends UiBinder { @Override public void handleBreadcrumb(BreadcrumbPanel breadcrumb) { this.breadcrumb = breadcrumb; + List breadcrumbItems = BreadcrumbManager.forSIARDMainPage(database.getUUID(), + database.getMetadata().getName()); + BreadcrumbManager.updateBreadcrumb(breadcrumb, breadcrumbItems); } - public static SIARDMainPage getInstance(String databaseUUID) { - + public static SIARDMainPage getInstance(ViewerDatabase database) { + String databaseUUID = database.getUUID(); if (instances.get(databaseUUID) == null) { - SIARDMainPage instance = new SIARDMainPage(databaseUUID); + SIARDMainPage instance = new SIARDMainPage(database); instances.put(databaseUUID, instance); } @@ -104,9 +96,6 @@ public static SIARDMainPage getInstance(String databaseUUID) { @UiField FlowPanel navigationPanels; -// @UiField -// BreadcrumbPanel breadcrumb; - @UiField SimplePanel description; @@ -116,43 +105,31 @@ public static SIARDMainPage getInstance(String databaseUUID) { @UiField Button btnExclude; - private SIARDMainPage(final String databaseUUID) { - + private SIARDMainPage(final ViewerDatabase database) { initWidget(binder.createAndBindUi(this)); + this.database = database; final Widget loading = new HTML(SafeHtmlUtils.fromSafeConstant( "
")); container.add(loading); - BrowserService.Util.getInstance().retrieve(databaseUUID, ViewerDatabase.class.getName(), databaseUUID, - new DefaultAsyncCallback() { + BrowserService.Util.getInstance().getDateTimeHumanized(database.getValidatedAt(), + new DefaultAsyncCallback() { @Override - public void onSuccess(IsIndexed result) { - database = (ViewerDatabase) result; - BrowserService.Util.getInstance().getDateTimeHumanized(database.getValidatedAt(), + public void onSuccess(String result) { + validateAtHumanized = result; + BrowserService.Util.getInstance().getDateTimeHumanized(database.getMetadata().getArchivalDate(), new DefaultAsyncCallback() { @Override public void onSuccess(String result) { - validateAtHumanized = result; - BrowserService.Util.getInstance().getDateTimeHumanized(database.getMetadata().getArchivalDate(), - new DefaultAsyncCallback() { - @Override - public void onSuccess(String result) { - archivalDateHumanized = result; - populateMetadataInfo(); - populateDescription(); - populateNavigationPanels(); - - List breadcrumbItems = BreadcrumbManager.forSIARDMainPage(databaseUUID, - database.getMetadata().getName()); - BreadcrumbManager.updateBreadcrumb(breadcrumb, breadcrumbItems); - - setupFooterButtons(); - - container.remove(loading); - populationFieldsCompleted = true; - } - }); + archivalDateHumanized = result; + populateMetadataInfo(); + populateDescription(); + populateNavigationPanels(); + setupFooterButtons(); + + container.remove(loading); + populationFieldsCompleted = true; } }); } diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SIARDMainPage.ui.xml b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SIARDMainPage.ui.xml index 191bb3183..b2bdc4386 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SIARDMainPage.ui.xml +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SIARDMainPage.ui.xml @@ -1,9 +1,7 @@ + xmlns:g='urn:import:com.google.gwt.user.client.ui'> - diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/ingest/IngestPage.java b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/ingest/IngestPage.java index f43958767..8d4bf6d90 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/ingest/IngestPage.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/ingest/IngestPage.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Map; +import com.databasepreservation.common.shared.ViewerStructure.ViewerDatabase; import com.databasepreservation.common.shared.client.breadcrumb.BreadcrumbItem; import com.databasepreservation.common.shared.client.breadcrumb.BreadcrumbPanel; import com.databasepreservation.common.shared.client.common.ContentPanel; @@ -32,7 +33,6 @@ interface IngestPageUiBinder extends UiBinder { private static IngestPageUiBinder binder = GWT.create(IngestPageUiBinder.class); private static Map instances = new HashMap<>(); - private BreadcrumbPanel breadcrumb; private String databaseUUID; private String databaseName; @@ -42,8 +42,10 @@ public void handleBreadcrumb(BreadcrumbPanel breadcrumb) { BreadcrumbManager.updateBreadcrumb(breadcrumb, breadcrumbItems); } - public static IngestPage getInstance(String databaseUUID, String databaseName) { + public static IngestPage getInstance(ViewerDatabase database) { + String databaseUUID = database.getUUID(); + String databaseName = database.getMetadata().getName(); if (instances.get(databaseUUID) == null) { IngestPage instance = new IngestPage(databaseUUID, databaseName); instances.put(databaseUUID, instance); @@ -55,9 +57,6 @@ public static IngestPage getInstance(String databaseUUID, String databaseName) { @UiField FlowPanel container, panel; -// @UiField -// BreadcrumbPanel breadcrumb; - @UiField Button btnBack; diff --git a/src/main/java/com/databasepreservation/desktop/client/dbptk/Manage.java b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/manager/Manage.java similarity index 76% rename from src/main/java/com/databasepreservation/desktop/client/dbptk/Manage.java rename to src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/manager/Manage.java index ec1452057..0324934dd 100644 --- a/src/main/java/com/databasepreservation/desktop/client/dbptk/Manage.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/manager/Manage.java @@ -1,4 +1,4 @@ -package com.databasepreservation.desktop.client.dbptk; +package com.databasepreservation.common.shared.client.common.visualization.browse.manager; import java.util.List; @@ -9,12 +9,14 @@ import com.databasepreservation.common.shared.ViewerStructure.ViewerDatabase; import com.databasepreservation.common.shared.client.breadcrumb.BreadcrumbItem; import com.databasepreservation.common.shared.client.breadcrumb.BreadcrumbPanel; +import com.databasepreservation.common.shared.client.common.ContentPanel; +import com.databasepreservation.common.shared.client.common.helpers.HelperUploadSIARDFile; +import com.databasepreservation.common.shared.client.common.lists.DatabaseList; +import com.databasepreservation.common.shared.client.common.utils.ApplicationType; import com.databasepreservation.common.shared.client.tools.BreadcrumbManager; import com.databasepreservation.common.shared.client.tools.HistoryManager; import com.databasepreservation.common.shared.client.tools.ViewerStringUtils; import com.databasepreservation.common.shared.client.widgets.wcag.AccessibleFocusPanel; -import com.databasepreservation.desktop.client.common.helper.HelperUploadSIARDFile; -import com.databasepreservation.common.shared.client.common.lists.DatabaseList; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.KeyCodes; import com.google.gwt.event.dom.client.KeyDownEvent; @@ -22,7 +24,6 @@ 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.Composite; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.Widget; @@ -31,17 +32,23 @@ /** * @author Miguel GuimarĂ£es */ -public class Manage extends Composite { +public class Manage extends ContentPanel { @UiField public ClientMessages messages = GWT.create(ClientMessages.class); + @Override + public void handleBreadcrumb(BreadcrumbPanel breadcrumb) { + List breadcrumbItems = BreadcrumbManager.forManageSIARD(); + BreadcrumbManager.updateBreadcrumb(breadcrumb, breadcrumbItems); + } + interface ManageUiBinder extends UiBinder { } private static ManageUiBinder binder = GWT.create(ManageUiBinder.class); - @UiField - BreadcrumbPanel breadcrumb; + // @UiField + // BreadcrumbPanel breadcrumb; @UiField TextBox searchInputBox; @@ -70,9 +77,6 @@ private Manage() { initWidget(binder.createAndBindUi(this)); - List breadcrumbItems = BreadcrumbManager.forManageSIARD(); - BreadcrumbManager.updateBreadcrumb(breadcrumb, breadcrumbItems); - searchInputBox.getElement().setPropertyString("placeholder", messages.searchPlaceholder()); searchInputBox.addKeyDownHandler(new KeyDownHandler() { @@ -89,7 +93,10 @@ public void onKeyDown(KeyDownEvent event) { databaseList.getSelectionModel().addSelectionChangeHandler(event -> { ViewerDatabase selected = databaseList.getSelectionModel().getSelectedObject(); if (selected != null) { - databaseList.getSelectionModel().clear(); + if(ApplicationType.getType().equals(ViewerConstants.SERVER)){ + HistoryManager.gotoSIARDInfo(selected.getUUID()); + } + databaseList.getSelectionModel().clear(); } }); @@ -97,9 +104,13 @@ public void onKeyDown(KeyDownEvent event) { } private void initButtons() { - create.addClickHandler(event -> HistoryManager.gotoCreateSIARD()); - - open.addClickHandler(event -> new HelperUploadSIARDFile().openFile(databaseList)); + if (ApplicationType.getType().equals(ViewerConstants.DESKTOP)) { + create.addClickHandler(event -> HistoryManager.gotoCreateSIARD()); + open.addClickHandler(event -> new HelperUploadSIARDFile().openFile(databaseList)); + } else { + create.setVisible(false); + open.addClickHandler(event -> HistoryManager.gotoNewUpload()); + } } private void doSearch() { diff --git a/src/main/java/com/databasepreservation/desktop/client/dbptk/Manage.ui.xml b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/manager/Manage.ui.xml similarity index 97% rename from src/main/java/com/databasepreservation/desktop/client/dbptk/Manage.ui.xml rename to src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/manager/Manage.ui.xml index e399e1663..2e5e3924f 100644 --- a/src/main/java/com/databasepreservation/desktop/client/dbptk/Manage.ui.xml +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/manager/Manage.ui.xml @@ -7,7 +7,6 @@ - diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/validate/ValidatorPage.java b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/validate/ValidatorPage.java index d91d4749c..3ffc1d131 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/validate/ValidatorPage.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/validate/ValidatorPage.java @@ -82,15 +82,16 @@ interface ValidatorUiBinder extends UiBinder { private static ValidatorUiBinder binder = GWT.create(ValidatorUiBinder.class); //For server - public static ValidatorPage getInstance(String databaseUUID) { - return ValidatorPage.getInstance(databaseUUID, null, null); + public static ValidatorPage getInstance(ViewerDatabase database) { + return ValidatorPage.getInstance(database, null, null); } - public static ValidatorPage getInstance(String databaseUUID, String reporterPath) { - return ValidatorPage.getInstance(databaseUUID, reporterPath, null); + public static ValidatorPage getInstance(ViewerDatabase database, String reporterPath) { + return ValidatorPage.getInstance(database, reporterPath, null); } - public static ValidatorPage getInstance(String databaseUUID, String reporterPath, String udtPath) { + public static ValidatorPage getInstance(ViewerDatabase database, String reporterPath, String udtPath) { + String databaseUUID = database.getUUID(); if (instances.get(databaseUUID) == null) { ValidatorPage instance = new ValidatorPage(databaseUUID, reporterPath, udtPath); instances.put(databaseUUID, instance); diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/validate/ValidatorPage.ui.xml b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/validate/ValidatorPage.ui.xml index ef2004371..e62137f65 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/validate/ValidatorPage.ui.xml +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/validate/ValidatorPage.ui.xml @@ -4,7 +4,6 @@ - diff --git a/src/main/java/com/databasepreservation/common/shared/client/tools/BreadcrumbManager.java b/src/main/java/com/databasepreservation/common/shared/client/tools/BreadcrumbManager.java index 838c2cad6..655c28f1b 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/tools/BreadcrumbManager.java +++ b/src/main/java/com/databasepreservation/common/shared/client/tools/BreadcrumbManager.java @@ -69,7 +69,7 @@ public void execute() { } public static List forNewUpload() { - List items = forUploads(); + List items = forHome(); items.add( new BreadcrumbItem(SafeHtmlUtils.fromSafeConstant(FontAwesomeIconManager.getTag(FontAwesomeIconManager.NEW_UPLOAD) + SafeHtmlUtils.htmlEscape(" " + messages.newUpload())), new Command() { @@ -123,11 +123,11 @@ public void execute() { public static List forDatabaseInformation(final String databaseUUID, final String databaseName) { List items; - if (ApplicationType.getType().equals(ViewerConstants.DESKTOP)) { +// if (ApplicationType.getType().equals(ViewerConstants.DESKTOP)) { items = forSIARDMainPage(databaseUUID, databaseName); - } else { - items = forDatabase(databaseName, databaseUUID); - } +// } else { +// items = forDatabase(databaseName, databaseUUID); +// } items.add(new BreadcrumbItem( SafeHtmlUtils.fromSafeConstant(FontAwesomeIconManager.getTag(FontAwesomeIconManager.DATABASE_INFORMATION) + SafeHtmlUtils.htmlEscape(" " + messages.databaseInformationTextForTitle())), diff --git a/src/main/java/com/databasepreservation/desktop/client/dbptk/HomePage.java b/src/main/java/com/databasepreservation/desktop/client/dbptk/HomePage.java index 61437e6f1..2de5d7326 100644 --- a/src/main/java/com/databasepreservation/desktop/client/dbptk/HomePage.java +++ b/src/main/java/com/databasepreservation/desktop/client/dbptk/HomePage.java @@ -3,7 +3,7 @@ import com.databasepreservation.common.shared.ViewerConstants; import com.databasepreservation.common.shared.client.tools.HistoryManager; import com.databasepreservation.desktop.client.common.Card; -import com.databasepreservation.desktop.client.common.helper.HelperUploadSIARDFile; +import com.databasepreservation.common.shared.client.common.helpers.HelperUploadSIARDFile; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; diff --git a/src/main/java/com/databasepreservation/desktop/client/main/Main.java b/src/main/java/com/databasepreservation/desktop/client/main/Main.java index 996399c59..84418cfa5 100644 --- a/src/main/java/com/databasepreservation/desktop/client/main/Main.java +++ b/src/main/java/com/databasepreservation/desktop/client/main/Main.java @@ -34,22 +34,22 @@ public void onModuleLoad() { @Override public void onSuccess(String result) { ApplicationType.setType(result); - } - }); - // Set uncaught exception handler - ClientLogger.setUncaughtExceptionHandler(); + // Set uncaught exception handler + ClientLogger.setUncaughtExceptionHandler(); - // Remove loading image - RootPanel.getBodyElement().removeChild(DOM.getElementById("loading")); + // Remove loading image + RootPanel.getBodyElement().removeChild(DOM.getElementById("loading")); - RootPanel.get().add(mainPanel); + RootPanel.get().add(mainPanel); - mainPanel.onHistoryChanged(History.getToken()); - History.addValueChangeHandler(new ValueChangeHandler() { - @Override - public void onValueChange(ValueChangeEvent event) { - mainPanel.onHistoryChanged(event.getValue()); + mainPanel.onHistoryChanged(History.getToken()); + History.addValueChangeHandler(new ValueChangeHandler() { + @Override + public void onValueChange(ValueChangeEvent event) { + mainPanel.onHistoryChanged(event.getValue()); + } + }); } }); diff --git a/src/main/java/com/databasepreservation/desktop/client/main/MainPanelDesktop.java b/src/main/java/com/databasepreservation/desktop/client/main/MainPanelDesktop.java index 7a8169f02..e45df210c 100644 --- a/src/main/java/com/databasepreservation/desktop/client/main/MainPanelDesktop.java +++ b/src/main/java/com/databasepreservation/desktop/client/main/MainPanelDesktop.java @@ -1,22 +1,19 @@ package com.databasepreservation.desktop.client.main; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import com.databasepreservation.common.shared.ViewerStructure.ViewerDatabase; import com.databasepreservation.common.shared.ViewerStructure.ViewerSIARDBundle; import com.databasepreservation.common.shared.client.breadcrumb.BreadcrumbItem; import com.databasepreservation.common.shared.client.common.ContentPanel; import com.databasepreservation.common.shared.client.common.RightPanel; +import com.databasepreservation.common.shared.client.common.utils.ContentPanelLoader; import com.databasepreservation.common.shared.client.common.utils.JavascriptUtils; import com.databasepreservation.common.shared.client.common.utils.RightPanelLoader; -import com.databasepreservation.common.shared.client.common.visualization.browse.ContainerPanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.DatabasePanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.DatabaseSearchPanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.DatabaseSearchesPanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.ReferencesPanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.RowPanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.SIARDMainPage; +import com.databasepreservation.common.shared.client.common.visualization.browse.*; import com.databasepreservation.common.shared.client.common.visualization.browse.foreignKey.ForeignKeyPanel; import com.databasepreservation.common.shared.client.common.visualization.browse.foreignKey.ForeignKeyPanelOptions; import com.databasepreservation.common.shared.client.common.visualization.browse.information.DatabaseInformationPanel; @@ -41,7 +38,7 @@ import com.databasepreservation.common.shared.client.common.visualization.browse.view.ViewPanelStructure; import com.databasepreservation.common.shared.client.tools.HistoryManager; import com.databasepreservation.desktop.client.dbptk.HomePage; -import com.databasepreservation.desktop.client.dbptk.Manage; +import com.databasepreservation.common.shared.client.common.visualization.browse.manager.Manage; import com.databasepreservation.desktop.client.dbptk.wizard.download.DBMSWizardManager; import com.databasepreservation.desktop.client.dbptk.wizard.download.SIARDWizardManager; import com.databasepreservation.desktop.client.dbptk.wizard.upload.CreateWizardManager; @@ -60,6 +57,9 @@ public class MainPanelDesktop extends Composite { interface MainPanelDesktopUiBinder extends UiBinder { } + // databaseUUID, databaseName + private static Map databaseNames = new HashMap<>(); + private static MainPanelDesktopUiBinder binder = GWT.create(MainPanelDesktopUiBinder.class); @UiField @@ -78,18 +78,31 @@ void onHistoryChanged(String token) { } else if (HistoryManager.ROUTE_UPLOAD_SIARD_DATA.equals(currentHistoryPath.get(0))) { String databaseUUID = currentHistoryPath.get(1); - String databaseName = currentHistoryPath.get(2); - setContent(databaseUUID, IngestPage.getInstance(databaseUUID, databaseName)); + setContent(databaseUUID, new ContentPanelLoader() { + @Override + public ContentPanel load(ViewerDatabase database) { + return IngestPage.getInstance(database); + } + }); } else if (HistoryManager.ROUTE_SIARD_INFO.equals(currentHistoryPath.get(0))) { String databaseUUID = currentHistoryPath.get(1); - setContent(databaseUUID, SIARDMainPage.getInstance(databaseUUID)); + setContent(databaseUUID, new ContentPanelLoader() { + @Override + public ContentPanel load(ViewerDatabase database) { + return SIARDMainPage.getInstance(database); + } + }); } else if (HistoryManager.ROUTE_DATABASE.equals(currentHistoryPath.get(0))) { if (currentHistoryPath.size() == 1) { // #database - Manage manage = Manage.getInstance(); - contentPanel.setWidget(manage); + setContent(new ContentPanelLoader() { + @Override + public ContentPanel load(ViewerDatabase database) { + return Manage.getInstance(); + } + }); } else if (currentHistoryPath.size() == 2) { // #database/ String databaseUUID = currentHistoryPath.get(1); @@ -437,16 +450,25 @@ public MetadataPanel load(ViewerDatabase database, ViewerSIARDBundle SIARDbundle if (currentHistoryPath.size() == 3) { final String databaseUUID = currentHistoryPath.get(1); final String reporterPath = currentHistoryPath.get(2); - ValidatorPage instance = ValidatorPage.getInstance(databaseUUID, reporterPath); - setContent(databaseUUID, instance); + + setContent(databaseUUID, new ContentPanelLoader() { + @Override + public ContentPanel load(ViewerDatabase database) { + return ValidatorPage.getInstance(database, reporterPath); + } + }); } else if (currentHistoryPath.size() == 4) { final String databaseUUID = currentHistoryPath.get(1); final String reporterPath = currentHistoryPath.get(2); final String udtPath = currentHistoryPath.get(3); - ValidatorPage instance = ValidatorPage.getInstance(databaseUUID, reporterPath, udtPath); - setContent(databaseUUID, instance); + setContent(databaseUUID, new ContentPanelLoader() { + @Override + public ContentPanel load(ViewerDatabase database) { + return ValidatorPage.getInstance(database, reporterPath, udtPath); + } + }); } } else { handleErrorPath(currentHistoryPath); @@ -474,6 +496,10 @@ public void setContent(RightPanelLoader rightPanelLoader) { setContent(null, null, rightPanelLoader); } + public void setContent(ContentPanelLoader panel) { + setContent(null, panel); + } + private void setContent(String databaseUUID, String toSelect, RightPanelLoader rightPanelLoader) { GWT.log("setContent, dbuid " + databaseUUID); DatabasePanel databasePanel = DatabasePanel.getInstance(databaseUUID, false); @@ -483,8 +509,8 @@ private void setContent(String databaseUUID, String toSelect, RightPanelLoader r JavascriptUtils.scrollToElement(contentPanel.getElement()); } - private void setContent(String databaseUUID, ContentPanel panel) { - GWT.log("setContent, dbuid " + databaseUUID); + private void setContent(String databaseUUID, ContentPanelLoader panel) { + GWT.log("LOADER ::: setContent, dbuid " + databaseUUID); ContainerPanel containerPanel = ContainerPanel.getInstance(databaseUUID, false); containerPanel.setTopLevelPanelCSS("browseContent wrapper skip_padding"); contentPanel.setWidget(containerPanel); diff --git a/src/main/java/com/databasepreservation/server/client/browse/UploadPanel.java b/src/main/java/com/databasepreservation/server/client/browse/UploadPanel.java index 306e87295..9b321fcf9 100644 --- a/src/main/java/com/databasepreservation/server/client/browse/UploadPanel.java +++ b/src/main/java/com/databasepreservation/server/client/browse/UploadPanel.java @@ -10,6 +10,7 @@ import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.TabPanel; import com.google.gwt.user.client.ui.Widget; + import config.i18n.client.ClientMessages; /** diff --git a/src/main/java/com/databasepreservation/server/client/main/MainPanel.java b/src/main/java/com/databasepreservation/server/client/main/MainPanel.java index ff9cb7437..1d2d27d89 100644 --- a/src/main/java/com/databasepreservation/server/client/main/MainPanel.java +++ b/src/main/java/com/databasepreservation/server/client/main/MainPanel.java @@ -12,19 +12,13 @@ import com.databasepreservation.common.shared.client.breadcrumb.BreadcrumbItem; import com.databasepreservation.common.shared.client.common.ContentPanel; import com.databasepreservation.common.shared.client.common.RightPanel; +import com.databasepreservation.common.shared.client.common.utils.ContentPanelLoader; import com.databasepreservation.common.shared.client.common.utils.RightPanelLoader; -import com.databasepreservation.common.shared.client.common.visualization.browse.ContainerPanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.DatabaseListPanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.DatabasePanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.DatabaseSearchPanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.DatabaseSearchesPanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.ReferencesPanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.RowPanel; -import com.databasepreservation.common.shared.client.common.visualization.browse.SIARDMainPage; -import com.databasepreservation.common.shared.client.common.visualization.browse.SchemaStructurePanel; +import com.databasepreservation.common.shared.client.common.visualization.browse.*; import com.databasepreservation.common.shared.client.common.visualization.browse.foreignKey.ForeignKeyPanel; import com.databasepreservation.common.shared.client.common.visualization.browse.information.DatabaseInformationPanel; import com.databasepreservation.common.shared.client.common.visualization.browse.ingest.IngestPage; +import com.databasepreservation.common.shared.client.common.visualization.browse.manager.Manage; import com.databasepreservation.common.shared.client.common.visualization.browse.metadata.MetadataPanel; import com.databasepreservation.common.shared.client.common.visualization.browse.metadata.MetadataPanelLoad; import com.databasepreservation.common.shared.client.common.visualization.browse.metadata.SIARDEditMetadataPage; @@ -97,6 +91,10 @@ public void setContent(RightPanelLoader rightPanelLoader) { setContent(null, rightPanelLoader); } + public void setContent(ContentPanelLoader panel) { + setContent(null, panel); + } + private void setContent(String databaseUUID, RightPanelLoader rightPanelLoader) { GWT.log("setContent, dbuid " + databaseUUID); DatabasePanel databasePanel = DatabasePanel.getInstance(databaseUUID, true); @@ -105,8 +103,8 @@ private void setContent(String databaseUUID, RightPanelLoader rightPanelLoader) databasePanel.load(rightPanelLoader, ""); } - private void setContent(String databaseUUID, ContentPanel panel) { - GWT.log("setContent, dbuid " + databaseUUID); + private void setContent(String databaseUUID, ContentPanelLoader panel) { + GWT.log("LOADER ::: setContent, dbuid " + databaseUUID); ContainerPanel containerPanel = ContainerPanel.getInstance(databaseUUID, true); containerPanel.setTopLevelPanelCSS("browseContent wrapper skip_padding server"); contentPanel.setWidget(containerPanel); @@ -185,27 +183,40 @@ public RightPanel load(ViewerDatabase database) { } else if (HistoryManager.ROUTE_SIARD_INFO.equals(currentHistoryPath.get(0))) { String databaseUUID = currentHistoryPath.get(1); - setContent(databaseUUID, SIARDMainPage.getInstance(databaseUUID)); - // contentPanel.setWidget(SIARDMainPage.getInstance(databaseUUID)); + setContent(databaseUUID, new ContentPanelLoader() { + @Override + public ContentPanel load(ViewerDatabase database) { + return SIARDMainPage.getInstance(database); + } + }); } else if (HistoryManager.ROUTE_UPLOAD_SIARD_DATA.equals(currentHistoryPath.get(0))) { String databaseUUID = currentHistoryPath.get(1); - String databaseName = currentHistoryPath.get(2); - setContent(databaseUUID, IngestPage.getInstance(databaseUUID, databaseName)); + setContent(databaseUUID, new ContentPanelLoader() { + @Override + public ContentPanel load(ViewerDatabase database) { + return IngestPage.getInstance(database); + } + }); } else if (HistoryManager.ROUTE_SIARD_VALIDATOR.equals(currentHistoryPath.get(0))) { final String databaseUUID = currentHistoryPath.get(1); - setContent(databaseUUID, ValidatorPage.getInstance(databaseUUID)); + setContent(databaseUUID, new ContentPanelLoader() { + @Override + public ContentPanel load(ViewerDatabase database) { + return ValidatorPage.getInstance(database); + } + }); } else if (HistoryManager.ROUTE_DATABASE.equals(currentHistoryPath.get(0))) { if (currentHistoryPath.size() == 1) { // #database - setContent(new RightPanelLoader() { + setContent(new ContentPanelLoader() { @Override - public RightPanel load(ViewerDatabase database) { - return DatabaseListPanel.getInstance(); + public ContentPanel load(ViewerDatabase database) { + return Manage.getInstance(); } }); } else if (currentHistoryPath.size() == 2) { - // #database/ + // #database/ String databaseUUID = currentHistoryPath.get(1); setContent(databaseUUID, new RightPanelLoader() { @Override diff --git a/src/main/resources/com/databasepreservation/common/public/desktop.css b/src/main/resources/com/databasepreservation/common/public/desktop.css index 57a40d0d0..c6abcffe3 100644 --- a/src/main/resources/com/databasepreservation/common/public/desktop.css +++ b/src/main/resources/com/databasepreservation/common/public/desktop.css @@ -1,67 +1,3 @@ -/********************************************** - Commons -***********************************************/ - -html, body, .main { - width: 100%; - height: 100%; - padding: 0px; - margin: 0; -} - -.main .contentPanel{ - min-height: auto; -} - -.application-container { - padding: 10px; - height: 100%; - box-sizing: border-box; - position: relative; -} - -.application-container .browseContentPreviewPanel, -.application-container .browseContentPreviewPanel, -.application-container .browseContentPreviewPanel td, -.application-container .browseContentFilesPanel, -.application-container .browseContentFilesPanel td, -.application-container .block{ - height: 100%; -} - -.application-container .browseContentPreviewPanel, -.application-container .manage-panel{ - position: absolute; - top: 0; - left: 0; - padding-top: 44px; - padding-left: 10px; - box-sizing: border-box; -} - -.application-container .h1{ - margin: 0; -} - -.label-error{ - color: #d9534f; - font-weight: 700; - border: 2px solid #d9534f; - background-color: #f1d5d4; -} - -/********************************************** - breadcrumb -***********************************************/ - -.main .wui-breadcrumbPanel { - margin-top: 0; - margin-bottom: 0; - padding-bottom: 10px; - position: absolute; - z-index: 1; -} - /********************************************** Home Page ***********************************************/ @@ -166,183 +102,6 @@ html, body, .main { /********************************************** Open SIARD ***********************************************/ - -.wui-dialog-input:invalid { - background-color: #eebcba; -} - -.metadata-information-panel { - display: flex; - margin: 0 10rem 0 10rem; -} - -.metadata-information { - flex: 1; - display: flex; - flex-direction: column; -} - -.metadata-field { - margin-bottom: 1.2rem; -} - -.metadata-field:first-of-type { - margin-top: 1.2rem; -} - -.metadata-information-element-label { - display: inline-block; - width: 16rem; - text-align: left; - font-weight: bold; -} - -.metadata-information-table-label { - display: inline-block; - width: 9rem; - text-align: left; - font-weight: bold; -} - -.metadata-information-description-label{ - display: inline-block; - text-align: left; - font-weight: bold; -} - -.metadata-information-element-value { - display: inline; - margin: 0; - margin-inline-start: 2.25rem; -} - -.metadata-description { - margin: 1% 10rem 1% 10rem; -} - -.navigation-panels { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; - margin: 0 10rem 0 10rem; -} - -.navigation-panel { - display: flex; - flex-flow: column wrap; - flex: 1 0 5%; - background: #dadfe8; - margin-bottom: 1%; - margin-right: 10px; -} - -.navigation-panel-header { - font-size: x-large; - margin-left: 20px; - margin-top: 10px; -} - -.navigation-panel-info { - margin-top: 1.25rem; - margin-bottom: 1rem; - flex: 1; - margin-left: 20px; - margin-rigth: 20px; -} - -.navigation-panel-options { - margin-bottom: 1.25rem; - vertical-align: bottom; - margin-left: 20px; -} - -.btn-link-info { - background-color: transparent; - color: #337ab7; - padding-left: 0px; -} - -.btn-link-info:hover { - color: #23527c; - text-decoration: underline; - background-color: transparent; -} - -.btn-link-info:disabled{ - color: #aeaeae; - background-color: transparent; - cursor: unset; - text-decoration: none; -} - -.label-field { - display: inline-block; - text-align: left; - font-weight: bold; - width: 36%; - min-width: 100px; -} - -.value-field { - display: inline; -} - -.manage-panel { - width: 98%; - margin-left: 1%; -} - -.database-list { - margin-top: 1%; -} - -.button-group-panel { - display: inline; - width: 100%; -} - -.button-panel-right { - padding-top: 1%; -} - -.button-group-panel-btn { - display: table-cell; - width: 50%; - padding-right: 10px; -} - -.button-group-panel-btn .btn { - width: 100%; - padding: 8px; - text-align: center; -} - -.btn-item { - position: relative; - padding-top: 1%; - padding-left: 10px; - display: table-cell; -} - -.btn-item .btn { - width: 9rem; - padding: 8px; - text-align: center; -} - -.button-panel-container { - display: flex; - align-items: flex-end; - justify-content: space-between; - padding-left: 315px; - position: absolute; - right: 10px; - bottom: 10px; - width: 100%; - box-sizing: border-box; -} - .wrapper { display: flex; } @@ -352,199 +111,10 @@ html, body, .main { margin-right: 15px; } -.loading-sidebar { - position: relative; - height: 50vh; -} - .wrapper .right { flex: 1; } -.connection-container { - width: 100%; -} - -.connection-panel { - width: 100%; - margin: 0 !important; -} - -.form-container { - width: auto; - height: auto; - margin: 2.5rem 4rem 0rem 6rem; -} - -.form-lobs{ - margin-left: 4rem; -} - -.export-options-form, .custom-views-form{ - margin: 2.5rem 4rem 0rem 0rem; -} - -.form-row { - display: flex; - width: 100%; - margin-bottom: 10px; -} - -.form-label-spaced { - font-weight: bold; - flex: 0 0 160px; -} - -.form-label-spaced-error { - color: red; -} - -.textbox-error { - border-color: red; -} - -.textarea-error { - border-color: red; -} - -.form-button { - padding: 0; - margin: 0; - width: 100px; -} - -.form-button-jar { - padding: 0; - margin: 0; - width: 260px; - text-overflow: unset; -} - -.form-inline > .form-label-spaced:last-of-type { - margin-left: 25px; -} - -.form-inline { - display: flex; - margin-bottom: 10px; -} - -.form-textbox-inline:first-of-type { - width: 100%; - color: #58595b; - padding: 5px; - margin-bottom: 5px; - border: 1px solid #ccc; - border-radius: 1px; - box-sizing: border-box; - background-color: #f5f5f5; - font-size: 1.5rem; - font-family: "Ubuntu", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, - sans-serif; - font-weight: 300; -} - -.form-textbox-inline { - color: #58595b; - padding: 5px; - margin-bottom: 5px; - border: 1px solid #ccc; - border-radius: 1px; - box-sizing: border-box; - background-color: #f5f5f5; - font-size: 1.5rem; - font-family: "Ubuntu", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, - sans-serif; - font-weight: 300; -} - -.gwt-Label-disabled { - color: grey; -} - -.gwt-TextBox:disabled { - background-color: inherit; -} - -.gwt-PasswordTextBox:disabled { - background-color: inherit; -} - -.text-muted { - color: #6c757d !important; -} - -.form-helper { - margin-bottom: 10px; -} - -.form-helper .form-row { - margin-bottom: 0; -} - -.form-text-helper { - margin-left: 160px; - font-size: 75%; - font-weight: lighter; -} - -.form-text-helper-checkbox { - margin-left: 20px; - font-size: 75%; - font-weight: lighter; -} - -.form-helper .form-textbox { - margin-bottom: 0; -} - -.form-helper .form-checkbox { - margin-bottom: 0; -} - -.form-textbox-external-lobs { - width: 5%; - border: 1px none #ccc; - border-bottom-style: solid; - background: none; - margin: 0px 10px; - direction: rtl; -} - -.gwt-TabPanelBottom { - background-color: transparent; - /*border-color: lightgray;*/ - /*border-style: solid;*/ - /*border-width: thin;*/ -} - -.sidebarHyperLink-selected { - background: #5bbeff; -} - -.information-path { - text-overflow: ellipsis; - width: 100%; -} - -/*.sidebarItem {*/ -/* padding: 5px 0;*/ -/*}*/ - -.sidebarItem-selected { - color: white !important; -} - -.select-buttons-container { - position: absolute; - bottom: 10px; - z-index: 1; -} - -.select-buttons-container .btn:last-child { - margin-left: 15px; -} - /*********************************************** WIZARD CONNECTION ***********************************************/ @@ -585,164 +155,6 @@ html, body, .main { width: 100%; } -/*********************************************** - BUTTONS -***********************************************/ -.btn-back-wizard:before { - content: "\f053"; -} - -.btn-select-all:after { - content: "\f046"; -} - -.btn-select-none:after { - content: "\f096"; -} - -.btn-new:after { - content: "\f196"; -} - -.btn-save:after { - content: "\f0c7"; -} - -.btn-delete:after { - content: "\f014"; -} - -/*********************************************** - CHECKBOX -************************************************/ - -.my-asyncdatagrid-display-scroll-wrapper input[type="checkbox"] { - padding-left: 5px; - padding-right: 5px; - -webkit-appearance: button; - background-color: #eee; - color: #FFF; - white-space: nowrap; - overflow: hidden; - width: 20px; - height: 20px; - cursor: pointer; - border-color: #089de3; - border-style: solid; - border-width: thin; -} - -.my-asyncdatagrid-display-scroll-wrapper input[type="checkbox"]:checked { - background-color: #089de3; -} - -.my-asyncdatagrid-display-scroll-wrapper input[type="checkbox"]:checked:after { - content: '\f00c'; - font-size: 17px; - margin-left: -4px; - font-family: FontAwesome; -} - -.connection-panel input[type="checkbox"] { - padding-left: 5px; - padding-right: 5px; - -webkit-appearance: button; - background-color: #eee; - color: #FFF; - white-space: nowrap; - overflow: hidden; - width: 20px; - height: 20px; - cursor: pointer; - border-color: #089de3; - border-style: solid; - border-width: thin; -} - -.connection-panel input[type="checkbox"]:checked { - background-color: #089de3; -} - -.connection-panel input[type="checkbox"]:checked:after { - content: '\f00c'; - font-size: 17px; - margin-left: -4px; - font-family: FontAwesome; -} - -.form-checkbox input[type="checkbox"] { - padding-left: 5px; - padding-right: 5px; - -webkit-appearance: button; - background-color: #eee; - color: #FFF; - white-space: nowrap; - overflow: hidden; - width: 20px; - height: 20px; - cursor: pointer; - border-color: #089de3; - border-style: solid; - border-width: thin; -} - -.form-checkbox input[type="checkbox"]:checked { - background-color: #089de3; -} - -.form-checkbox input[type="checkbox"]:checked:after { - content: '\f00c'; - font-size: 17px; - margin-left: -4px; - font-family: FontAwesome; -} - -.form-checkbox { - width: 100%; -} - -.form-checkbox Label { - font-weight: bold; - vertical-align: 8px; - cursor: pointer; - margin-inline-start: 10px; -} - -@media (max-width: 698px) { - .form-inline input { - margin: 10px 0; - } - - .form-inline { - flex-direction: column; - align-items: stretch; - } - - .form-row { - align-items: stretch; - } - - .form-textbox-inline { - width: 100%; - } - - .form-inline .form-label-spaced:last-of-type { - margin-left: 0px; - } - - .form-label-spaced { - flex: 0 0 auto; - } - - .form-helper { - margin: 0; - } - - .form-text-helper { - margin: 0; - } -} - /*********************************************** CUSTOM VIEWS ***********************************************/ @@ -821,67 +233,4 @@ html, body, .main { .btn-selected:focus, .btn-selected:active, .btn-selected:hover { outline-color: transparent; outline-style: none; -} - -/*************************** - SPINNER - ***************************/ -.spinnerRetrievingRows { - margin: 100px auto 0; - width: 70px; - text-align: center; -} - -.spinnerRetrievingRows > div { - width: 18px; - height: 18px; - background-color: #333; - - border-radius: 100%; - display: inline-block; - -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both; - animation: sk-bouncedelay 1.4s infinite ease-in-out both; -} - -.spinnerRetrievingRows .bounce1 { - -webkit-animation-delay: -0.32s; - animation-delay: -0.32s; -} - -.spinnerRetrievingRows .bounce2 { - -webkit-animation-delay: -0.16s; - animation-delay: -0.16s; -} - -@-webkit-keyframes sk-bouncedelay { - 0%, 80%, 100% { -webkit-transform: scale(0) } - 40% { -webkit-transform: scale(1.0) } -} - -@keyframes sk-bouncedelay { - 0%, 80%, 100% { - -webkit-transform: scale(0); - transform: scale(0); - } 40% { - -webkit-transform: scale(1.0); - transform: scale(1.0); - } -} - -.query-result-scroll-wrapper { - display: block; - height: 50vh; - width: 100%; -} - -.browseContent.wrapper { - display: unset; -} - -.navigation-buttons { - position: absolute; - bottom: 0; - right: 0; - margin-right: 10px; - margin-bottom: 10px; } \ No newline at end of file diff --git a/src/main/resources/com/databasepreservation/common/public/main.css b/src/main/resources/com/databasepreservation/common/public/main.css index bedd0bcf9..27a9cb066 100644 --- a/src/main/resources/com/databasepreservation/common/public/main.css +++ b/src/main/resources/com/databasepreservation/common/public/main.css @@ -1088,6 +1088,18 @@ html, body, .main, .content-container { background-color: #f1d5d4; } +/********************************************** + breadcrumb +***********************************************/ + +.main .wui-breadcrumbPanel { + margin-top: 0; + margin-bottom: 0; + padding-bottom: 10px; + position: absolute; + z-index: 1; +} + /********************************************** Open SIARD ***********************************************/ @@ -1268,19 +1280,6 @@ html, body, .main, .content-container { box-sizing: border-box; } -/*.wrapper {*/ -/* display: flex;*/ -/*}*/ - -/*.wrapper .left {*/ -/* flex: 0 0 15%;*/ -/* margin-right: 15px;*/ -/*}*/ - -/*.wrapper .right {*/ -/* flex: 1;*/ -/*}*/ - .loading-sidebar { position: relative; height: 50vh; @@ -1720,6 +1719,33 @@ html, body, .main, .content-container { margin-top: 44px; } +/*********************************************** + BUTTONS +***********************************************/ +.btn-back-wizard:before { + content: "\f053"; +} + +.btn-select-all:after { + content: "\f046"; +} + +.btn-select-none:after { + content: "\f096"; +} + +.btn-new:after { + content: "\f196"; +} + +.btn-save:after { + content: "\f0c7"; +} + +.btn-delete:after { + content: "\f014"; +} + /********************************************** Dialog ExternalLob ***********************************************/ @@ -1793,6 +1819,205 @@ html, body, .main, .content-container { padding: 5px 0px; } +/*********************************************** + CHECKBOX +************************************************/ + +.my-asyncdatagrid-display-scroll-wrapper input[type="checkbox"] { + padding-left: 5px; + padding-right: 5px; + -webkit-appearance: button; + background-color: #eee; + color: #FFF; + white-space: nowrap; + overflow: hidden; + width: 20px; + height: 20px; + cursor: pointer; + border-color: #089de3; + border-style: solid; + border-width: thin; +} + +.my-asyncdatagrid-display-scroll-wrapper input[type="checkbox"]:checked { + background-color: #089de3; +} + +.my-asyncdatagrid-display-scroll-wrapper input[type="checkbox"]:checked:after { + content: '\f00c'; + font-size: 17px; + margin-left: -4px; + font-family: FontAwesome; +} + +.connection-panel input[type="checkbox"] { + padding-left: 5px; + padding-right: 5px; + -webkit-appearance: button; + background-color: #eee; + color: #FFF; + white-space: nowrap; + overflow: hidden; + width: 20px; + height: 20px; + cursor: pointer; + border-color: #089de3; + border-style: solid; + border-width: thin; +} + +.connection-panel input[type="checkbox"]:checked { + background-color: #089de3; +} + +.connection-panel input[type="checkbox"]:checked:after { + content: '\f00c'; + font-size: 17px; + margin-left: -4px; + font-family: FontAwesome; +} + +.form-checkbox input[type="checkbox"] { + padding-left: 5px; + padding-right: 5px; + -webkit-appearance: button; + background-color: #eee; + color: #FFF; + white-space: nowrap; + overflow: hidden; + width: 20px; + height: 20px; + cursor: pointer; + border-color: #089de3; + border-style: solid; + border-width: thin; +} + +.form-checkbox input[type="checkbox"]:checked { + background-color: #089de3; +} + +.form-checkbox input[type="checkbox"]:checked:after { + content: '\f00c'; + font-size: 17px; + margin-left: -4px; + font-family: FontAwesome; +} + +.form-checkbox { + width: 100%; +} + +.form-checkbox Label { + font-weight: bold; + vertical-align: 8px; + cursor: pointer; + margin-inline-start: 10px; +} + +@media (max-width: 698px) { + .form-inline input { + margin: 10px 0; + } + + .form-inline { + flex-direction: column; + align-items: stretch; + } + + .form-row { + align-items: stretch; + } + + .form-textbox-inline { + width: 100%; + } + + .form-inline .form-label-spaced:last-of-type { + margin-left: 0px; + } + + .form-label-spaced { + flex: 0 0 auto; + } + + .form-helper { + margin: 0; + } + + .form-text-helper { + margin: 0; + } +} + +/*************************** + SPINNER + ***************************/ +.spinnerRetrievingRows { + margin: 100px auto 0; + width: 70px; + text-align: center; +} + +.spinnerRetrievingRows > div { + width: 18px; + height: 18px; + background-color: #333; + + border-radius: 100%; + display: inline-block; + -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both; + animation: sk-bouncedelay 1.4s infinite ease-in-out both; +} + +.spinnerRetrievingRows .bounce1 { + -webkit-animation-delay: -0.32s; + animation-delay: -0.32s; +} + +.spinnerRetrievingRows .bounce2 { + -webkit-animation-delay: -0.16s; + animation-delay: -0.16s; +} + +@-webkit-keyframes sk-bouncedelay { + 0%, 80%, 100% { + -webkit-transform: scale(0) + } + 40% { + -webkit-transform: scale(1.0) + } +} + +@keyframes sk-bouncedelay { + 0%, 80%, 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + 40% { + -webkit-transform: scale(1.0); + transform: scale(1.0); + } +} + +.query-result-scroll-wrapper { + display: block; + height: 50vh; + width: 100%; +} + +.browseContent.wrapper { + display: unset; +} + +.navigation-buttons { + position: absolute; + bottom: 0; + right: 0; + margin-right: 10px; + margin-bottom: 10px; +} + /************************************************ * SIARD validator ************************************************/