Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
6ff8af9
Preserve order of levels
KochTobi Jun 11, 2025
f7b340d
make it compile again
KochTobi Jun 11, 2025
9b0e84c
Merge branch 'development' into feature-1178/1178-implement-missing-e…
KochTobi Jun 18, 2025
bdca38b
wip
KochTobi Jul 11, 2025
bda4861
Merge branch 'development' into feature-1178/1178-implement-missing-e…
KochTobi Jul 25, 2025
3103d69
wip
KochTobi Jul 28, 2025
0d0cb6f
section off regions and add borders
KochTobi Aug 5, 2025
faec88b
Replace ontology-term CSS class
KochTobi Aug 5, 2025
4fa7603
Remove CSS classes
KochTobi Aug 6, 2025
9ff8c33
wip
KochTobi Aug 8, 2025
5926d06
add missing variables
KochTobi Aug 28, 2025
e542fb0
replace lumo with custom variables
KochTobi Aug 28, 2025
e78f5d1
move ButtonFactory
KochTobi Aug 28, 2025
3d56282
add icon button factory method
KochTobi Aug 28, 2025
5c95256
update demo
KochTobi Aug 28, 2025
643e8a7
Fix label css
KochTobi Aug 29, 2025
1b5e9f8
replace with classes
KochTobi Aug 29, 2025
f9ea42c
introduce delete event
KochTobi Aug 29, 2025
d58801c
wip
KochTobi Sep 2, 2025
f1746f5
add restoration option for deleted variables
KochTobi Sep 4, 2025
41a1630
Add Nullable annotation to DialogBody.java#with method
KochTobi Sep 4, 2025
621a146
remove test button
KochTobi Sep 4, 2025
0ce5a9c
Fix value handling of level field
KochTobi Sep 4, 2025
eecadeb
Add paste behaviour
KochTobi Sep 4, 2025
cea127e
address code smells
KochTobi Sep 4, 2025
0f5fa65
hide public constructor
KochTobi Sep 4, 2025
cf8b3d5
simplify memento interface
KochTobi Sep 5, 2025
73a0224
Merge branch 'development' into feature-1178/1178-implement-missing-e…
KochTobi Sep 8, 2025
e3cc6c7
Merge branch 'development' into feature-1178/1178-implement-missing-e…
KochTobi Sep 9, 2025
2cf58c9
Handle validation
KochTobi Sep 10, 2025
72261de
Make InputValidation combinable
KochTobi Sep 10, 2025
67031e3
require all snapshots to be serializable
KochTobi Sep 10, 2025
099ce4f
adapt validation to validate multivariable constraints
KochTobi Sep 10, 2025
f0602d4
wip
KochTobi Sep 11, 2025
4bed019
Add DragDropList.java
KochTobi Sep 12, 2025
7857d7f
Push UI code
KochTobi Sep 14, 2025
6cefc83
extract classes and add add dialog
KochTobi Sep 15, 2025
c1ec84c
Load values and call the service
KochTobi Sep 22, 2025
10e708f
remove unused method
KochTobi Sep 23, 2025
fde84e6
Add empty input if no variables exist
KochTobi Sep 23, 2025
8d5aff9
Add variable deletion confirm dialog
KochTobi Sep 23, 2025
cc9dd3e
add bold css class
KochTobi Sep 23, 2025
3dd52b8
add tooltip to locked levels
KochTobi Sep 23, 2025
14b65e8
extract change records
KochTobi Sep 25, 2025
7804482
add scroll css classes
KochTobi Sep 25, 2025
f9ef3e1
make drag-drop configurable
KochTobi Sep 25, 2025
bb6e4c3
replace lumo var with own variable definition
KochTobi Sep 25, 2025
c649bba
Merge branch 'development' into feature-1178/1178-implement-missing-e…
KochTobi Sep 25, 2025
72c3290
remove duplicate css classes
KochTobi Sep 25, 2025
17de7d3
use correct css class
KochTobi Sep 25, 2025
a4d131a
Merge branch 'development' into feature-1178/1178-implement-missing-e…
KochTobi Sep 26, 2025
9402809
Fix import
KochTobi Sep 26, 2025
2da3926
propagate level changes
KochTobi Sep 26, 2025
0baad2f
Cleanup methods
KochTobi Sep 26, 2025
3b0ef2f
Fix inverted boolean
KochTobi Sep 28, 2025
51a7e6b
respect enabled state when adding and removing items
KochTobi Sep 29, 2025
4b065eb
use correct variable name in changes
KochTobi Sep 29, 2025
3ace81e
Prevent unintended modification on card collection
KochTobi Sep 29, 2025
d434724
reload experimental variables upon completion
KochTobi Sep 29, 2025
d877a75
address code smells
KochTobi Sep 29, 2025
ef71332
enhance dragdrop
KochTobi Sep 29, 2025
e935fce
reload information on attach event
KochTobi Sep 29, 2025
bd811f5
remove unused code
KochTobi Sep 29, 2025
02f66da
return experimental variables sorted by variable name
KochTobi Sep 29, 2025
1672d30
Correct icon colors
KochTobi Sep 29, 2025
70cbc59
update indexes
KochTobi Sep 29, 2025
fc66f8a
change dialog size back to medium
KochTobi Oct 1, 2025
8ebf805
remove unused css
KochTobi Oct 1, 2025
2a3e038
fix border colors
KochTobi Oct 1, 2025
87c5e4c
Trim variable name input
KochTobi Oct 1, 2025
9529ca0
Fix padding for linked orcid account
KochTobi Oct 1, 2025
912c08b
Change message for duplicate variable names
KochTobi Oct 1, 2025
13abd2a
address wrong padding
KochTobi Oct 1, 2025
ac82503
Remove specific border color for choice box
KochTobi Oct 1, 2025
c6ae679
Clarify error colors
KochTobi Oct 2, 2025
bdfd01b
Add dialog with dangerous confirm action
KochTobi Oct 2, 2025
9d7d112
Ask directly instead of restore option
KochTobi Oct 2, 2025
bc00aa4
Improve check for defined variables
KochTobi Oct 2, 2025
15efb17
Do not silently remove dupliate levels in experimental variable
KochTobi Oct 2, 2025
aba4aa2
address review
KochTobi Oct 6, 2025
d707acf
address review
KochTobi Oct 6, 2025
bbe23b3
Fix sorting of variables
KochTobi Oct 6, 2025
a58da23
Remove duplicate error when level value changes
KochTobi Oct 6, 2025
4333831
Remove error message for duplicate variable name
KochTobi Oct 6, 2025
55aab8e
Merge branch 'development' into feature-1178/1178-implement-missing-e…
KochTobi Oct 6, 2025
2fb4110
replace choice-box css
KochTobi Oct 6, 2025
069746c
Change error text
KochTobi Oct 6, 2025
915aa18
update dev.bundle
KochTobi Oct 6, 2025
cafb294
Fix css color
KochTobi Oct 6, 2025
2ef7467
Change delete confirm text
KochTobi Oct 6, 2025
b87ee8c
Link javadoc
KochTobi Oct 7, 2025
48e46db
Add clarifying javadoc
KochTobi Oct 7, 2025
6e014ed
remove all the generics from javadoc
KochTobi Oct 7, 2025
18944e9
address review
KochTobi Oct 7, 2025
82786fb
add missed change
KochTobi Oct 7, 2025
885521d
address exception
KochTobi Oct 7, 2025
da74ce4
Use deep copy instead of inplace modification
KochTobi Oct 7, 2025
d779b62
Remove comment
KochTobi Oct 7, 2025
2f4b39a
Provide exception supplier
sven1103 Oct 8, 2025
37a5bec
Use UIHandle
KochTobi Oct 8, 2025
5b7f063
Merge remote-tracking branch 'origin/feature-1178/1178-implement-miss…
KochTobi Oct 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package life.qbic.application.commons;

/**
* Interface to implement the Memento/Snapshot pattern. <a
* href="https://refactoring.guru/design-patterns/memento">Memento Pattern</a> Originators of
* Mementos or Creators of Snapshots should implement this interface.
*/
public interface CanSnapshot {

/**
* Capture the internal state and expose it as a Snapshot.
*
* @return the created snapshot
*/
Snapshot snapshot();

/**
* Adapts the internal state to match the information provided by the snapshot. The method can
* fail throwing a {@link SnapshotRestorationException} for unknown types of Snapshots.
* <p>
* It is the responsibility of the implementation to make sure after successful application or
* failure, the internal state of the object is valid.
* <p>
* After snapshot restoration failure. The object is expected to revert all modifications made by
* the attempt.
*
* @param snapshot the snapshot to be restored
* @throws SnapshotRestorationException thrown when snapshot restoration failed.
*/
void restore(Snapshot snapshot) throws SnapshotRestorationException;

/**
* Indicates that a snapshot cannot be used to restore the state of the originator.
*/
class SnapshotRestorationException extends RuntimeException {

public SnapshotRestorationException(String message) {
super(message);
}

public SnapshotRestorationException(String message, Throwable cause) {
super(message, cause);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package life.qbic.application.commons;

import java.io.Serializable;

/**
* Interface for the Memento in the <a
* href="https://refactoring.guru/design-patterns/memento">Memento Pattern</a>
*/
public interface Snapshot extends Serializable {

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package life.qbic.projectmanagement.application;

import static java.util.Objects.nonNull;

import life.qbic.projectmanagement.domain.model.experiment.ExperimentalValue;

public class VariableValueFormatter {
Expand All @@ -15,7 +17,17 @@ private VariableValueFormatter() {}
* present
*/
public static String format(ExperimentalValue experimentalValue) {
String optionalUnit = experimentalValue.unit().map(unit -> " " + unit).orElse("");
return experimentalValue.value() + optionalUnit;
return format(experimentalValue.value(), experimentalValue.unit().orElse(null));
}

/**
* Formats the value and unit strings according to a standard format for experimental values.
*
* @param value the value
* @param unit the unit
* @return a String representation
*/
public static String format(String value, String unit) {
return value + (nonNull(unit) ? " " + unit : "");
}
}
Loading
Loading