diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/lists/AsyncTableCell.java b/src/main/java/com/databasepreservation/common/shared/client/common/lists/AsyncTableCell.java index 8221ffe53..b4e7b5c8d 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/lists/AsyncTableCell.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/lists/AsyncTableCell.java @@ -203,6 +203,7 @@ public void onClick(ClickEvent event) { createSelectAllPanel(); displayScroll = new ScrollPanel(display); + displayScroll.addStyleName("ms-scroll-fix"); displayScrollWrapper = new SimplePanel(displayScroll); add(selectAllPanel); diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/DatabasePanel.java b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/DatabasePanel.java index bf0c07962..c61c5967c 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/DatabasePanel.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/DatabasePanel.java @@ -3,6 +3,8 @@ import java.util.HashMap; import java.util.Map; +import com.databasepreservation.common.shared.ViewerConstants; +import com.databasepreservation.common.shared.client.common.utils.ApplicationType; import org.roda.core.data.v2.user.User; import com.databasepreservation.common.client.BrowserService; @@ -60,9 +62,10 @@ interface DatabasePanelUiBinder extends UiBinder { } private static DatabasePanelUiBinder uiBinder = GWT.create(DatabasePanelUiBinder.class); + private BreadcrumbPanel breadcrumb = null; @UiField - BreadcrumbPanel breadcrumb; + BreadcrumbPanel breadcrumbServer, breadcrumbDesktop; @UiField(provided = true) DatabaseSidebar sidebar; @@ -74,7 +77,7 @@ interface DatabasePanelUiBinder extends UiBinder { MenuBar menu; @UiField - FlowPanel toplevel; + FlowPanel toplevel, toolbar; private String databaseUUID; private ViewerDatabase database = null; @@ -90,6 +93,16 @@ private DatabasePanel(String databaseUUID, boolean initMenu) { initMenu(); } + if(ApplicationType.getType().equals(ViewerConstants.SERVER)){ + toolbar.getElement().addClassName("filePreviewToolbar"); + breadcrumb = breadcrumbServer; + breadcrumbDesktop.removeFromParent(); + } else { + toolbar.removeFromParent(); + breadcrumb = breadcrumbDesktop; + } + breadcrumb.setVisible(true); + if (databaseUUID == null) { BreadcrumbManager.updateBreadcrumb(breadcrumb, BreadcrumbManager.forDatabases()); } else { diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/DatabasePanel.ui.xml b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/DatabasePanel.ui.xml index c50a9620e..4431edd14 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/DatabasePanel.ui.xml +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/DatabasePanel.ui.xml @@ -4,8 +4,10 @@ xmlns:sb='urn:import:com.databasepreservation.common.shared.client.common.sidebar' > - + + @@ -15,8 +17,8 @@ - - + + diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SchemaStructurePanel.java b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SchemaStructurePanel.java index fb75872fa..7b2c905c8 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SchemaStructurePanel.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SchemaStructurePanel.java @@ -22,6 +22,8 @@ import com.databasepreservation.common.shared.client.tools.ViewerStringUtils; import com.google.gwt.cell.client.SafeHtmlCell; import com.google.gwt.core.client.GWT; +import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.safehtml.shared.SafeHtml; import com.google.gwt.safehtml.shared.SafeHtmlBuilder; import com.google.gwt.safehtml.shared.SafeHtmlUtils; @@ -70,7 +72,7 @@ interface SchemaStructurePanelUiBinder extends UiBinder { - advancedMode = !advancedMode; - contentItems.clear(); - initCellTables(); + labelForSwitch.addClickHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + advancedSwitch.setValue(!advancedSwitch.getValue(), true); // workaround for ie11 + advancedMode = !advancedMode; + contentItems.clear(); + initCellTables(); + } }); + CommonClientUtils.addSchemaInfoToFlowPanel(structureInformation, schema); Label subtitle = new Label(messages.schemaStructurePanelTextForPageSubtitle()); diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SchemaStructurePanel.ui.xml b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SchemaStructurePanel.ui.xml index 78ae094bf..fc7f827f2 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SchemaStructurePanel.ui.xml +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/SchemaStructurePanel.ui.xml @@ -13,6 +13,7 @@ + diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/foreignKey/ForeignKeyPanelOptions.java b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/foreignKey/ForeignKeyPanelOptions.java index 6897a40eb..d8946f045 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/foreignKey/ForeignKeyPanelOptions.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/foreignKey/ForeignKeyPanelOptions.java @@ -87,7 +87,7 @@ interface TablePanelUiBinder extends UiBinder { private Map initialLoading = new HashMap<>(); private MultipleSelectionTablePanel columnsTable; private Button btnSelectToggle; - private Label switchLabel; + private Label switchLabel, labelForSwitch; private SimpleCheckBox advancedSwitch; private List columnsAndValues; @@ -128,10 +128,12 @@ private void init() { private void configureTechnicalInformationSwitch() { switchLabel = new Label(); + labelForSwitch = new Label(); // workaround for ie11 switchLabel.setText(messages.schemaStructurePanelTextForAdvancedOption()); - advancedSwitch = new SimpleCheckBox(); - advancedSwitch.addClickHandler(event -> { + + labelForSwitch.addClickHandler(event -> { + advancedSwitch.setValue(!advancedSwitch.getValue(), true); // workaround for ie11 content.clear(); refreshCellTable(advancedSwitch.getValue()); showForeignKeyInformation(advancedSwitch.getValue()); @@ -332,6 +334,8 @@ private FlowPanel getToggleSelectPanel() { switchLabel.addStyleName("switch-label"); technicalInformation.add(advancedSwitch); advancedSwitch.setStyleName("switch"); + technicalInformation.add(labelForSwitch); + labelForSwitch.setStyleName("label-for-switch"); panel.add(technicalInformation); diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/information/DatabaseInformationPanel.java b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/information/DatabaseInformationPanel.java index 66a4cdbcf..62474d16a 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/information/DatabaseInformationPanel.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/information/DatabaseInformationPanel.java @@ -12,6 +12,8 @@ import com.databasepreservation.common.shared.client.tools.BreadcrumbManager; import com.databasepreservation.common.shared.client.tools.ViewerStringUtils; import com.google.gwt.core.client.GWT; +import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.FlowPanel; @@ -59,7 +61,7 @@ interface DatabaseInformationPanelUiBinder extends UiBinder { - advancedMode = !advancedMode; - metadataContent.clear(); - initMetadataContent(); - dataContent.clear(); - initDataContent(); + labelForSwitch.addClickHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + advancedSwitch.setValue(!advancedSwitch.getValue(), true); // workaround for ie11 + advancedMode = !advancedMode; + metadataContent.clear(); + initMetadataContent(); + dataContent.clear(); + initDataContent(); + } }); title.setText(messages.databaseInformationTextForTitle()); diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/information/DatabaseInformationPanel.ui.xml b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/information/DatabaseInformationPanel.ui.xml index 6ee2ab72a..affbb141b 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/information/DatabaseInformationPanel.ui.xml +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/information/DatabaseInformationPanel.ui.xml @@ -11,6 +11,7 @@ + diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/metadata/SIARDEditMetadataPage.java b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/metadata/SIARDEditMetadataPage.java index 093e59e8e..e0edda771 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/metadata/SIARDEditMetadataPage.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/metadata/SIARDEditMetadataPage.java @@ -36,6 +36,7 @@ interface SIARDEditMetadataPageUiBinder extends UiBinder - + + - + @@ -18,7 +19,8 @@ - + diff --git a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/table/TablePanelOptions.java b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/table/TablePanelOptions.java index 870f1cd40..a7864ccdd 100644 --- a/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/table/TablePanelOptions.java +++ b/src/main/java/com/databasepreservation/common/shared/client/common/visualization/browse/table/TablePanelOptions.java @@ -85,7 +85,7 @@ interface TablePanelUiBinder extends UiBinder { private Map initialLoading = new HashMap<>(); private MultipleSelectionTablePanel columnsTable; private Button btnSelectToggle; - private Label switchLabel; + private Label switchLabel, labelForSwitch; private SimpleCheckBox advancedSwitch; private TablePanelOptions(ViewerDatabase viewerDatabase, final String tableUUID) { @@ -123,10 +123,12 @@ private void init() { private void configureTechnicalInformationSwitch() { switchLabel = new Label(); + labelForSwitch = new Label(); // workaround for ie11 switchLabel.setText(messages.schemaStructurePanelTextForAdvancedOption()); - advancedSwitch = new SimpleCheckBox(); - advancedSwitch.addClickHandler(event -> { + + labelForSwitch.addClickHandler(event -> { + advancedSwitch.setValue(!advancedSwitch.getValue(), true); // workaround for ie11 content.clear(); refreshCellTable(advancedSwitch.getValue()); showForeignKeyInformation(advancedSwitch.getValue()); @@ -327,6 +329,8 @@ private FlowPanel getToggleSelectPanel() { switchLabel.addStyleName("switch-label"); technicalInformation.add(advancedSwitch); advancedSwitch.setStyleName("switch"); + technicalInformation.add(labelForSwitch); + labelForSwitch.setStyleName("label-for-switch"); panel.add(technicalInformation); diff --git a/src/main/java/com/databasepreservation/desktop/client/main/MainPanelDesktop.ui.xml b/src/main/java/com/databasepreservation/desktop/client/main/MainPanelDesktop.ui.xml index 8b137e43b..b4effd8b3 100644 --- a/src/main/java/com/databasepreservation/desktop/client/main/MainPanelDesktop.ui.xml +++ b/src/main/java/com/databasepreservation/desktop/client/main/MainPanelDesktop.ui.xml @@ -1,7 +1,7 @@ - + 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 9538c71f0..634893160 100644 --- a/src/main/java/com/databasepreservation/server/client/main/MainPanel.java +++ b/src/main/java/com/databasepreservation/server/client/main/MainPanel.java @@ -13,6 +13,7 @@ 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.*; import com.databasepreservation.common.shared.client.common.visualization.browse.foreignKey.ForeignKeyPanel; @@ -32,6 +33,7 @@ import com.databasepreservation.common.shared.client.common.visualization.browse.table.TableSavedSearchEditPanel; import com.databasepreservation.common.shared.client.common.visualization.browse.table.TableSavedSearchPanel; import com.databasepreservation.common.shared.client.common.visualization.browse.technicalInformation.ReportPanel; +import com.databasepreservation.common.shared.client.common.visualization.browse.technicalInformation.RoutinesPanel; import com.databasepreservation.common.shared.client.common.visualization.browse.technicalInformation.UsersPanel; import com.databasepreservation.common.shared.client.common.visualization.browse.validate.ValidatorPage; import com.databasepreservation.common.shared.client.tools.FontAwesomeIconManager; @@ -101,6 +103,7 @@ private void setContent(String databaseUUID, RightPanelLoader rightPanelLoader) DatabasePanel databasePanel = DatabasePanel.getInstance(databaseUUID, true); databasePanel.setTopLevelPanelCSS("browseContent wrapper skip_padding server"); contentPanel.setWidget(databasePanel); + JavascriptUtils.scrollToElement(contentPanel.getElement()); databasePanel.load(rightPanelLoader, ""); } @@ -259,6 +262,16 @@ public RightPanel load(ViewerDatabase database) { } }); + } else if (currentHistoryPath.size() == 3 + && currentHistoryPath.get(2).equals(HistoryManager.ROUTE_SCHEMA_ROUTINES)) { + // #database//routines + String databaseUUID = currentHistoryPath.get(1); + setContent(databaseUUID, new RightPanelLoader() { + @Override + public RightPanel load(ViewerDatabase database) { + return RoutinesPanel.getInstance(database); + } + }); } else { // #database/... handleErrorPath(currentHistoryPath); diff --git a/src/main/resources/com/databasepreservation/common/public/desktop.css b/src/main/resources/com/databasepreservation/common/public/desktop.css index c6abcffe3..0ddc57ba5 100644 --- a/src/main/resources/com/databasepreservation/common/public/desktop.css +++ b/src/main/resources/com/databasepreservation/common/public/desktop.css @@ -1,3 +1,13 @@ +.desktop-main .content-container .browseContentFilePreviewPanel{ + height: 100vh; +} + +.desktop-main .metadata .browseContentFocusPanel, +.desktop-main .database .browseContentFocusPanel{ + padding-top: 40px; +} + + /********************************************** Home Page ***********************************************/ diff --git a/src/main/resources/com/databasepreservation/common/public/main.css b/src/main/resources/com/databasepreservation/common/public/main.css index 7a481cf3a..f883910ad 100644 --- a/src/main/resources/com/databasepreservation/common/public/main.css +++ b/src/main/resources/com/databasepreservation/common/public/main.css @@ -378,11 +378,14 @@ p[data-value]:after { .browseContentFilePreviewPanel { width: 100%; height: 705px; + position: relative; } .browseContentFilePreviewPanel .filePreviewToolbar { min-height: 35px; background-color: #eee; + position: relative; + z-index: 1000; } .browseContentFilePreviewPanel .filePreviewToolbar .browseContentBreadcrumb { @@ -441,7 +444,7 @@ p[data-value]:after { font-size: 1.3rem; padding: 0 3rem; padding-left: 4.7rem; - background-color: inherit; + background-color: transparent; border: none; margin-top: 3px; color: white; @@ -700,6 +703,9 @@ p[data-value]:after { padding-top: 0.3rem; } +.ms-scroll-fix{ + -ms-overflow-style: -ms-autohiding-scrollbar; +} .my-asyncdatagrid-display-scroll-wrapper { position: relative; } @@ -905,46 +911,92 @@ p[data-value]:after { margin-bottom: 1rem; display: inline-flex; margin-left: 20px; + position: relative; } .advancedOptionsPanel .switch-label { align-self: center; - padding-right: 2px; + padding-right: 27px; +} + +/*.advancedOptionsPanel input.switch {*/ +/* position: relative;*/ +/* -webkit-appearance: none;*/ +/* outline: none;*/ +/* width: 27px;*/ +/* height: 15px;*/ +/* background-color: #ccc;*/ +/* border-radius: 50px;*/ +/* transition: .4s;*/ +/* top: 2px;*/ +/*}*/ + +/*.advancedOptionsPanel input.switch:after {*/ +/* content: "";*/ +/* position: absolute;*/ +/* top: 1px;*/ +/* left: 2px;*/ +/* width: 13px;*/ +/* height: 13px;*/ +/* border-radius: 50%;*/ +/* transition: .4s;*/ +/* background: white;*/ +/*}*/ + +/*.advancedOptionsPanel input.switch:checked {*/ +/* border-color: #089de3;*/ +/* background: #089de3;*/ +/*}*/ + +/*.advancedOptionsPanel input.switch:checked:after {*/ +/* left: 12px;*/ +/*}*/ + +.advancedOptionsPanel .switch[type=checkbox]{ + height: 0; + width: 0; + visibility: hidden; } -.advancedOptionsPanel input.switch { - position: relative; - -webkit-appearance: none; - outline: none; +.advancedOptionsPanel .label-for-switch { + cursor: pointer; + text-indent: -9999px; width: 27px; height: 15px; - background-color: #ccc; + background: #ccc; + display: block; border-radius: 50px; - transition: .4s; - top: 2px; + position: absolute; + top: 50%; + right: 0; + transform: translateY(-50%); } -.advancedOptionsPanel input.switch:after { - content: ""; +.advancedOptionsPanel .label-for-switch:after { + content: ''; position: absolute; top: 1px; left: 2px; width: 13px; height: 13px; + background: #fff; border-radius: 50%; transition: .4s; - background: white; } -.advancedOptionsPanel input.switch:checked { - border-color: #089de3; +.advancedOptionsPanel .switch:checked + .label-for-switch { background: #089de3; + border-color: #089de3; } -.advancedOptionsPanel input.switch:checked:after { +.advancedOptionsPanel .switch:checked + .label-for-switch:after { left: 12px; } +.advancedOptionsPanel .label-for-switch:active:after { + width: 15px; +} + .table-row-description { margin-bottom: 10px; } @@ -1035,13 +1087,16 @@ p[data-value]:after { Commons ***********************************************/ -html, body, .main, .content-container { +html, body, .desktop-main { width: 100%; height: 100%; padding: 0px; margin: 0; } +.content-container{ + height: 100%; +} .main .contentPanel{ min-height: auto; } @@ -1050,10 +1105,10 @@ html, body, .main, .content-container { padding: 10px; height: 100%; box-sizing: border-box; - position: relative; + /*position: relative;*/ } -.desktopToolbar .wui-breadcrumbPanel{ +.desktop-main .wui-breadcrumbPanel{ padding-top: 10px; padding-left: 10px; } @@ -1092,7 +1147,7 @@ html, body, .main, .content-container { breadcrumb ***********************************************/ -.main .wui-breadcrumbPanel { +.main .wui-breadcrumbPanel, .desktop-main .wui-breadcrumbPanel { margin-top: 0; margin-bottom: 0; padding-bottom: 10px; @@ -1114,7 +1169,7 @@ html, body, .main, .content-container { } .metadata-information { - flex: 1; + flex: 1 1 auto; display: flex; flex-direction: column; } @@ -1187,7 +1242,7 @@ html, body, .main, .content-container { .navigation-panel-info { margin-top: 1.25rem; margin-bottom: 1rem; - flex: 1; + flex: 1 1 auto; margin-left: 20px; margin-rigth: 20px; } @@ -1267,9 +1322,13 @@ html, body, .main, .content-container { } .btn-item .btn { - width: 9rem; - padding: 8px; + width: auto; text-align: center; + box-sizing: border-box; +} + +.btn-item .btn-back-wizard{ + padding-left: 25px; } .button-panel-container { @@ -1490,11 +1549,12 @@ html, body, .main, .content-container { } .metadata-panel { - padding: 40px 10px 0px; + padding: 0px 10px; height: 100%; display: flex; justify-content: space-between; flex-direction: column; + box-sizing: border-box; } .server .metadata-panel{ @@ -2108,7 +2168,7 @@ html, body, .main, .content-container { .progress-report.validation{ height: auto; max-height: initial; - flex: 1; + flex: 1 1 auto; } .validation-panel{