Skip to content

Commit 6f48d93

Browse files
committed
WIP - Disposal tab
1 parent c2a9c84 commit 6f48d93

File tree

13 files changed

+133
-46
lines changed

13 files changed

+133
-46
lines changed

roda-ui/roda-wui/src/main/java/org/roda/wui/client/browse/BrowseAIP.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,8 @@
5656
import org.roda.wui.client.common.search.SearchWrapper;
5757
import org.roda.wui.client.common.slider.Sliders;
5858
import org.roda.wui.client.common.utils.AsyncCallbackUtils;
59-
import org.roda.wui.client.common.utils.DisposalPolicyUtils;
6059
import org.roda.wui.client.common.utils.HtmlSnippetUtils;
6160
import org.roda.wui.client.common.utils.PermissionClientUtils;
62-
import org.roda.wui.client.disposal.association.DisposalPolicyAssociationPanel;
6361
import org.roda.wui.client.services.AIPRestService;
6462
import org.roda.wui.client.services.Services;
6563
import org.roda.wui.common.client.tools.ConfigurationManager;
@@ -88,7 +86,6 @@
8886
import com.google.gwt.uibinder.client.UiBinder;
8987
import com.google.gwt.uibinder.client.UiField;
9088
import com.google.gwt.user.client.rpc.AsyncCallback;
91-
import com.google.gwt.user.client.ui.Anchor;
9289
import com.google.gwt.user.client.ui.Button;
9390
import com.google.gwt.user.client.ui.Composite;
9491
import com.google.gwt.user.client.ui.FlowPanel;
@@ -141,8 +138,6 @@ public class BrowseAIP extends Composite {
141138
@UiField
142139
SimplePanel addChildAip;
143140
@UiField
144-
FlowPanel disposalPolicy;
145-
@UiField
146141
FlowPanel center;
147142
@UiField
148143
FlowPanel representationCards;
@@ -262,8 +257,6 @@ public void onSuccess(Actionable.ActionImpact impact) {
262257

263258
// IDENTIFICATION
264259
updateSectionIdentification(response);
265-
// DISPOSAL
266-
updateDisposalInformation();
267260

268261
// AIP CHILDREN
269262
if (aip.getState().equals(AIPState.ACTIVE)) {
@@ -495,16 +488,6 @@ private void updateSectionIdentification(BrowseAIPResponse response) {
495488
navigationToolbar.updateBreadcrumb(aip, response.getAncestors());
496489
}
497490

498-
private void updateDisposalInformation() {
499-
if (DisposalPolicyUtils.showDisposalPolicySummary(aip)) {
500-
Anchor disposalPolicyLink = new Anchor(DisposalPolicyUtils.getDisposalPolicySummarySafeHTML(aip),
501-
HistoryUtils.createHistoryHashLink(DisposalPolicyAssociationPanel.RESOLVER, aip.getId()));
502-
disposalPolicy.add(disposalPolicyLink);
503-
} else {
504-
disposalPolicy.setVisible(false);
505-
}
506-
}
507-
508491
private void getDescriptiveMetadataHTML(final String aipId, final String descId, final DescriptiveMetadataInfo bundle,
509492
final Integer selectedIndex, final AsyncCallback<SafeHtml> callback) {
510493
SafeUri uri = RestUtils.createDescriptiveMetadataHTMLUri(aipId, descId);

roda-ui/roda-wui/src/main/java/org/roda/wui/client/browse/BrowseAIP.ui.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@
1818
<g:HTML ui:field="aipState" />
1919

2020
<!-- IDENTIFICATION -->
21-
<common:TitlePanel ui:field="title">
22-
<g:FlowPanel addStyleNames="browseItemPanelDisposal" ui:field="disposalPolicy" />
23-
</common:TitlePanel>
21+
<common:TitlePanel ui:field="title" />
2422

2523
<!-- DESCRIPTIVE METADATA -->
2624
<tabs:BrowseAIPTabs ui:field="browseTab" />

roda-ui/roda-wui/src/main/java/org/roda/wui/client/browse/tabs/AIPDescriptiveMetadataTabs.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public void init(IndexedAIP aip, DescriptiveMetadataInfos descriptiveMetadataInf
5050
String metadataID = SafeHtmlUtils.htmlEscape(metadataInfo.getId());
5151
ActionsToolbar descriptiveMetadataToolbar = new ActionsToolbar();
5252
descriptiveMetadataToolbar.setLabelVisible(false);
53+
descriptiveMetadataToolbar.setTagsVisible(false);
5354
content.add(descriptiveMetadataToolbar);
5455
// Get metadata and populate widget
5556
HTML metadataHTML = new HTML();

roda-ui/roda-wui/src/main/java/org/roda/wui/client/browse/tabs/BrowseAIPTabs.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ public void init(IndexedAIP aip, BrowseAIPResponse browseAIPResponse, Descriptiv
6161

6262
// Disposal
6363
DisposalPolicyAssociationTab disposalPolicyAssociationPanel = new DisposalPolicyAssociationTab(browseAIPResponse);
64-
disposalPolicyAssociationPanel.addStyleName("disposalPolicyAssociationTab");
6564
createAndAddTab(SafeHtmlUtils.fromSafeConstant(messages.disposalTab()), disposalPolicyAssociationPanel);
6665
}
6766
}

roda-ui/roda-wui/src/main/java/org/roda/wui/client/common/ActionsToolbar.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ public void setLabelVisible(boolean visible) {
4747
label.setVisible(visible);
4848
}
4949

50+
public void setTagsVisible(boolean visible) {
51+
tags.setVisible(visible);
52+
}
53+
5054
public void setLabel(String labelText) {
5155
label.setText(labelText);
5256
}

roda-ui/roda-wui/src/main/java/org/roda/wui/client/common/ObjectActionsToolbar.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
import org.roda.wui.common.client.tools.DescriptionLevelUtils;
1515
import org.roda.wui.common.client.tools.HistoryUtils;
1616

17+
import com.google.gwt.event.dom.client.ClickEvent;
18+
import com.google.gwt.event.dom.client.ClickHandler;
19+
1720
/**
1821
*
1922
* @author Alexandre Flores <[email protected]>
@@ -57,8 +60,13 @@ public void buildTags() {
5760
if (DisposalPolicyUtils.showDisposalPolicySummary(aip)) {
5861
Tag disposalTag = DisposalPolicyUtils.getDisposalPolicySummaryTag(aip);
5962
if (disposalTag != null) {
60-
disposalTag.addClickHandler(
61-
event -> HistoryUtils.createHistoryHashLink(DisposalPolicyAssociationPanel.RESOLVER, aip.getId()));
63+
disposalTag.addClickHandler(new ClickHandler() {
64+
@Override
65+
public void onClick(ClickEvent event) {
66+
HistoryUtils.newHistory(DisposalPolicyAssociationPanel.RESOLVER, aip.getId());
67+
}
68+
});
69+
tags.add(disposalTag);
6270
}
6371
}
6472
}

roda-ui/roda-wui/src/main/java/org/roda/wui/client/common/labels/Tag.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class Tag extends Composite {
1919
private static final Tag.MyUiBinder uiBinder = GWT.create(Tag.MyUiBinder.class);
2020

2121
public enum TagStyle {
22-
DEFAULT, SUCCESS, FAILURE, WARNING_LIGHT, DANGER_LIGHT, NEUTRAL, MONO;
22+
DEFAULT, SUCCESS, FAILURE, WARNING_LIGHT, DANGER_LIGHT, NEUTRAL, MONO, ICON_CALENDAR, ICON_LOCK, ICON_CLOCK;
2323

2424
private static String toStyleName(TagStyle tagStyle) {
2525
switch (tagStyle) {
@@ -35,6 +35,12 @@ private static String toStyleName(TagStyle tagStyle) {
3535
return "tagMono";
3636
case NEUTRAL:
3737
return "tagGrey";
38+
case ICON_CALENDAR:
39+
return "tagIconCalendar";
40+
case ICON_LOCK:
41+
return "tagIconLock";
42+
case ICON_CLOCK:
43+
return "tagIconClock";
3844
default:
3945
return "";
4046
}
@@ -77,6 +83,7 @@ public static Tag fromText(String text, List<TagStyle> style) {
7783

7884
public void addClickHandler(ClickHandler clickHandler) {
7985
tagPanel.addClickHandler(clickHandler);
86+
tagPanel.addStyleName("clickable");
8087
}
8188

8289
interface MyUiBinder extends UiBinder<Widget, Tag> {

roda-ui/roda-wui/src/main/java/org/roda/wui/client/common/resources/main.gss

Lines changed: 95 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ div.inline {
504504

505505
.browse_aip .row .content .lowerContent .card {
506506
background-color: transparent;
507-
}
507+
}creature
508508

509509
.browse_aip .row .content .lowerContent .card .searchWrapper .sidebar-facet-label.fade-out:after {
510510
background: linear-gradient(-90deg, COLOR_GREY_BGDARKER 30%, rgba(255, 255, 255, 0) 100%);
@@ -3345,6 +3345,10 @@ td.datePickerMonth, td.datePickerYear {
33453345
gap: 8px;
33463346
}
33473347

3348+
.thumbnailCardTags .tag .gwt-Label {
3349+
justify-content: center;
3350+
}
3351+
33483352
.tag {
33493353
padding: 2px 8px;
33503354
border-radius: 4px;
@@ -3374,6 +3378,31 @@ td.datePickerMonth, td.datePickerYear {
33743378
font-family: FONT_MONOSPACED;
33753379
}
33763380

3381+
.tag .gwt-Label {
3382+
display: flex;
3383+
gap: 4px;
3384+
align-items: center;
3385+
}
3386+
3387+
.tagIconCalendar .gwt-Label:before {
3388+
@mixin fontawesome();
3389+
content: "\e908";
3390+
}
3391+
3392+
.tagIconLock .gwt-Label:before {
3393+
@mixin fontawesome();
3394+
content: "\f023";
3395+
}
3396+
3397+
.tagIconClock .gwt-Label:before {
3398+
@mixin fontawesome();
3399+
content: "\e900";
3400+
}
3401+
3402+
.clickable {
3403+
cursor: pointer;
3404+
}
3405+
33773406
.labelWithIconReversed {
33783407
flex-direction: row-reverse;
33793408
}
@@ -8507,13 +8536,75 @@ span.code {
85078536
Disposal Tabs
85088537
******************************/
85098538

8510-
.disposalPolicyAssociationTab .objectToolbar {
8539+
.disposalAssociationTab {
8540+
background-color: white;
8541+
border-radius: 8px;
8542+
box-shadow: 0px 2px 4px 0px COLOR_SHADOW;
8543+
padding: 16px !important;
8544+
display: flex;
8545+
flex-direction: column;
8546+
gap: 8px;
8547+
}
8548+
8549+
.disposalAssociationTab .objectToolbar {
85118550
background-color: transparent;
85128551
}
85138552

8514-
.disposalPolicyAssociationTab .row .content {
8515-
padding: 16px !important;
8553+
.disposalAssociationTab .row .content {
85168554
margin: 0px;
8555+
padding: 24px 32px !important;
8556+
min-height: initial;
8557+
}
8558+
8559+
.disposalAssociationTab .row .content .panel{
8560+
border: none;
8561+
background-color: transparent;
8562+
}
8563+
8564+
.disposalAssociationTab .row .content .wui-disposal-holds-panel button {
8565+
display: none;
8566+
}
8567+
8568+
.disposalAssociationTab .panel-body {
8569+
padding: 0;
8570+
}
8571+
8572+
.disposalAssociationTab .disposal-policy-summary {
8573+
margin: 0;
8574+
}
8575+
8576+
.disposalAssociationTab .label {
8577+
font-size: 14px;
8578+
font-weight: 300;
8579+
color: COLOR_GREY_MEDIUM;
8580+
width: 250px;
8581+
}
8582+
8583+
.disposalAssociationTab .field {
8584+
margin-bottom: 1rem;
8585+
display: flex;
8586+
flex-direction: row;
8587+
}
8588+
8589+
.disposalAssociationTab .value {
8590+
font-size: 14px;
8591+
color: black;
8592+
flex: 1;
8593+
}
8594+
8595+
.disposalAssociationTab .panel-heading {
8596+
padding: 0;
8597+
margin-top: 16px;
8598+
margin-bottom: 8px;
8599+
}
8600+
8601+
.disposalAssociationTab .panel-title {
8602+
font-size: 14px;
8603+
font-weight: bold;
8604+
}
8605+
8606+
.disposalAssociationTab .content > .wui-disposal-holds-panel {
8607+
margin-top: 32px;
85178608
}
85188609

85198610

roda-ui/roda-wui/src/main/java/org/roda/wui/client/common/search/SearchPanel.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ private SearchPanel() {
167167
actionableBuilder = actionable != null ? new ActionableWidgetBuilder<>(actionable) : null;
168168
actionsToolbar.setVisible(actionableBuilder != null && actionable.hasAnyRoles() && list.isSelectable());
169169
actionsToolbar.setLabelVisible(false);
170+
actionsToolbar.setTagsVisible(false);
170171
list.addCheckboxSelectionListener(selectedItems -> {
171172
if (!list.isVisible()) {
172173
doSearch();

roda-ui/roda-wui/src/main/java/org/roda/wui/client/common/utils/DisposalPolicyUtils.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package org.roda.wui.client.common.utils;
99

1010
import java.util.Date;
11+
import java.util.List;
1112

1213
import org.roda.core.data.v2.disposal.schedule.DisposalActionCode;
1314
import org.roda.core.data.v2.disposal.schedule.RetentionPeriodCalculation;
@@ -58,20 +59,20 @@ public static Tag getDisposalPolicySummaryTag(IndexedAIP aip) {
5859
case CONFIRMATION:
5960
case OVERDUE:
6061
case ERROR:
61-
return Tag.fromText(summary.getMessage(), Tag.TagStyle.DANGER_LIGHT);
62+
return Tag.fromText(summary.getMessage(), List.of(Tag.TagStyle.ICON_CLOCK, Tag.TagStyle.DANGER_LIGHT));
6263
case REVIEW:
63-
return Tag.fromText(summary.getMessage(), Tag.TagStyle.WARNING_LIGHT);
64+
return Tag.fromText(summary.getMessage(), List.of(Tag.TagStyle.ICON_CLOCK, Tag.TagStyle.WARNING_LIGHT));
6465
case HOLD:
65-
return Tag.fromText(summary.getMessage(), Tag.TagStyle.NEUTRAL);
66+
return Tag.fromText(summary.getMessage(), List.of(Tag.TagStyle.ICON_CLOCK, Tag.TagStyle.NEUTRAL));
6667
case RETAIN:
67-
return Tag.fromText(summary.getMessage(), Tag.TagStyle.SUCCESS);
68+
return Tag.fromText(summary.getMessage(), List.of(Tag.TagStyle.ICON_CLOCK, Tag.TagStyle.SUCCESS));
6869
case NONE:
6970
default:
70-
return Tag.fromText(summary.getMessage(), Tag.TagStyle.NEUTRAL);
71+
return Tag.fromText(summary.getMessage(), List.of(Tag.TagStyle.ICON_CLOCK, Tag.TagStyle.NEUTRAL));
7172
}
7273
} else if (AIPState.DESTROYED.equals(aip.getState())) {
7374
String message = messages.disposalPolicyDestroyedAIPSummary(Humanize.formatDate(aip.getDestroyedOn()));
74-
return Tag.fromText(message, Tag.TagStyle.NEUTRAL);
75+
return Tag.fromText(message, List.of(Tag.TagStyle.NEUTRAL, Tag.TagStyle.ICON_CLOCK));
7576
}
7677

7778
return null;

0 commit comments

Comments
 (0)