-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Overhaul project summary page #859
Changes from 29 commits
7a297ce
e1f6130
d3ba5f9
6d206c2
03b1668
888d6ef
742d50f
682e0a0
e4e49f9
8db15d5
91e22d0
3a02d7d
d1f1a7c
7e6749f
60f5a10
99bb33d
0872502
77977d3
e241f63
9c7c0dd
3021c92
3d2e06a
75b8d69
9358b11
3eebc9e
9b12fcc
7cabcb3
933a2f4
a1875bd
7ce26e6
e4b942b
e4d698f
4b46b0a
0470b0e
d07834b
24f2231
bed2cf3
d1d2b17
6a97c0e
521e15d
e23bb30
3dcb13f
a4634cb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,209 @@ | ||
.flex-horizontal { | ||
display: flex; | ||
flex-direction: row; | ||
} | ||
|
||
.heading-with-icon { | ||
color: #878787; | ||
column-gap: var(--lumo-space-s); | ||
display: flex; | ||
flex-direction: row; | ||
font-weight: bold; | ||
line-height: 1; | ||
font-size: var(--lumo-space-m); | ||
} | ||
|
||
.heading-with-icon vaadin-icon { | ||
height: auto; | ||
} | ||
|
||
.section { | ||
width: 100%; | ||
} | ||
|
||
.full-width { | ||
width: 100%; | ||
} | ||
|
||
.section-header { | ||
display: flex; | ||
flex-direction: column; | ||
width: 100%; | ||
} | ||
|
||
|
||
.trailing-margin-large { | ||
margin-bottom: var(--lumo-space-xl); | ||
} | ||
|
||
.trailing-margin-normal { | ||
margin-bottom: var(--lumo-space-l); | ||
} | ||
|
||
.trailing-margin-small { | ||
margin-bottom: var(--lumo-space-s); | ||
} | ||
|
||
.section-header-row { | ||
display: flex; | ||
width: 100%; | ||
} | ||
|
||
.section-content { | ||
display: flex; | ||
flex-direction: column; | ||
width: 100%; | ||
row-gap: var(--lumo-space-m); | ||
} | ||
|
||
.section-title { | ||
font-weight: bold; | ||
color: var(--lumo-secondary-text-color); | ||
margin-bottom: 0.5rem; | ||
width: 100%; | ||
} | ||
|
||
.font-size-small { | ||
font-size: var(--lumo-font-size-l); | ||
} | ||
|
||
.font-size-medium { | ||
font-size: var(--lumo-font-size-xl); | ||
} | ||
|
||
.font-size-large { | ||
font-size: var(--lumo-font-size-xxl); | ||
} | ||
|
||
.sub-header { | ||
font-size: var(--lumo-font-size-s); | ||
color: #878787; | ||
margin-bottom: 0.5rem; | ||
} | ||
|
||
.tag-list { | ||
width: 100%; | ||
display: flex; | ||
} | ||
|
||
.detail-box { | ||
display: flex; | ||
flex-direction: column; | ||
border: 1px solid lightgray; | ||
border-radius: var(--lumo-space-s); | ||
max-height: 10rem; | ||
} | ||
|
||
.detail-box-header { | ||
display: flex; | ||
flex-direction: row; | ||
width: 100%; | ||
gap: var(--lumo-space-s); | ||
font-size: var(--lumo-font-size-m); | ||
font-weight: bold; | ||
color: #878787; | ||
line-height: 1; | ||
} | ||
|
||
.detail-box-header vaadin-icon { | ||
height: auto; | ||
} | ||
|
||
.detail-box-child { | ||
border-width: 1px 1px 1px 1px; | ||
border-color: lightgray; | ||
padding: var(--lumo-space-m) var(--lumo-space-m) var(--lumo-space-m); | ||
} | ||
|
||
.detail-box-child:first-child { | ||
border-width: 0 0 1px 0; | ||
border-style: solid; | ||
border-color: lightgray; | ||
} | ||
|
||
.icon-label { | ||
font-size: var(--lumo-font-size-m); | ||
line-height: 1; | ||
display: flex; | ||
flex-direction: row; | ||
gap: var(--lumo-space-l); | ||
} | ||
|
||
.icon-label-container { | ||
display: flex; | ||
flex-direction: row; | ||
font-size: var(--lumo-font-size-m); | ||
color: #878787; | ||
font-weight: bold; | ||
gap: var(--lumo-space-s); | ||
} | ||
|
||
.icon-label-container vaadin-icon { | ||
height: auto; | ||
} | ||
|
||
.vertical-list { | ||
display: flex; | ||
flex-direction: column; | ||
width: 100%; | ||
} | ||
|
||
.horizontal-list { | ||
display: flex; | ||
flex-direction: row; | ||
width: 100%; | ||
} | ||
|
||
.dynamic-growing-flex-item { | ||
flex-grow: 1; | ||
} | ||
|
||
.wrapping-flex-container { | ||
flex-wrap: wrap; | ||
} | ||
|
||
.overflow-hidden-ellipsis { | ||
white-space: nowrap; | ||
overflow: hidden; | ||
text-overflow: ellipsis; | ||
} | ||
|
||
.gap-large { | ||
gap: var(--lumo-space-l); | ||
} | ||
|
||
.gap-medium { | ||
gap: var(--lumo-space-m); | ||
} | ||
|
||
.gap-small { | ||
gap: var(--lumo-space-s); | ||
} | ||
|
||
.allow-row-wrap { | ||
flex-wrap: wrap; | ||
} | ||
|
||
.overflow-scroll-height { | ||
overflow: auto; | ||
} | ||
|
||
.ontology-term { | ||
width: 100%; | ||
display: flex; | ||
flex-direction: row; | ||
gap: var(--lumo-space-s); | ||
white-space: nowrap; | ||
flex-wrap: wrap; | ||
} | ||
|
||
.fixed-medium-width { | ||
width: 25rem; | ||
} | ||
|
||
.simple-paragraph { | ||
font-size: var(--lumo-font-size-m); | ||
margin-bottom: var(--lumo-space-m); | ||
max-width: 40em; | ||
} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
@import "theme-editor.css"; | ||
@import "components/custom.css"; | ||
@import "components/vaadin-custom.css"; | ||
@import "components/vaadin-custom.css"; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package life.qbic.datamanager.views; | ||
|
||
/** | ||
* <b><enum short description - 1 Line!></b> | ||
* | ||
* <p><More detailed description - When to use, what it solves, etc.></p> | ||
* | ||
* @since <version tag> | ||
*/ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Missing JD |
||
public enum MeasurementType { | ||
PROTEOMICS("Proteomics"), | ||
GENOMICS("Genomics"); | ||
|
||
private final String type; | ||
|
||
MeasurementType(String type) { | ||
this.type = type; | ||
} | ||
|
||
public String getType() { | ||
return type; | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package life.qbic.datamanager.views; | ||
|
||
import life.qbic.datamanager.views.general.Tag; | ||
import life.qbic.datamanager.views.general.Tag.TagColor; | ||
|
||
/** | ||
* <b><class short description - 1 Line!></b> | ||
* | ||
* <p><More detailed description - When to use, what it solves, etc.></p> | ||
* | ||
* @since <version tag> | ||
*/ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Missing JD |
||
public class TagFactory { | ||
|
||
public static Tag forMeasurement(MeasurementType measurementType) { | ||
return switch (measurementType) { | ||
case GENOMICS -> violetTag("Genomics"); | ||
case PROTEOMICS -> pinkTag("Proteomics"); | ||
}; | ||
} | ||
|
||
private static Tag tagWithColor(String label, TagColor color) { | ||
var tag = new Tag(label); | ||
tag.setTagColor(color); | ||
return tag; | ||
} | ||
|
||
private static Tag violetTag(String label) { | ||
return tagWithColor(label, TagColor.VIOLET); | ||
} | ||
|
||
private static Tag pinkTag(String label) { | ||
return tagWithColor(label, TagColor.PINK); | ||
} | ||
|
||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package life.qbic.datamanager.views.events; | ||
|
||
import com.vaadin.flow.component.ComponentEvent; | ||
import java.util.Objects; | ||
import java.util.Optional; | ||
import life.qbic.datamanager.views.projects.edit.EditContactDialog; | ||
import life.qbic.datamanager.views.projects.ProjectInformation; | ||
|
||
/** | ||
* <b><class short description - 1 Line!></b> | ||
* | ||
* <p><More detailed description - When to use, what it solves, etc.></p> | ||
* | ||
* @since <version tag> | ||
*/ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Missing JD |
||
public class ContactUpdateEvent extends ComponentEvent<EditContactDialog> { | ||
|
||
private final ProjectInformation projectInfo; | ||
|
||
/** | ||
* Creates a new event using the given source and indicator whether the event originated from the | ||
* client side or the server side. | ||
* | ||
* @param source the source component | ||
* @param fromClient <code>true</code> if the event originated from the client | ||
* side, <code>false</code> otherwise | ||
*/ | ||
public ContactUpdateEvent(EditContactDialog source, boolean fromClient, ProjectInformation projectInformation) { | ||
super(source, fromClient); | ||
this.projectInfo = Objects.requireNonNull(projectInformation); | ||
} | ||
|
||
public Optional<ProjectInformation> content() { | ||
return Optional.ofNullable(projectInfo); | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm unclear on the purpose of the all.css class?
I guess that we're moving into having all css into a singular file as @KochTobi suggested or is it css classes that are used in general components? Maybe a small comment would help her?