Forum Message UI Improvement (Thesis Board #3470) #61

Merged
tozh4728 merged 20 commits from 3470-forum-msg-ui-improvement into develop 2024-12-19 15:28:23 +01:00
Showing only changes of commit 0d612d44ee - Show all commits

View File

@ -19,7 +19,6 @@ public abstract class AbstractReadStatePanel extends Panel {
DISABLED DISABLED
} }
private final Component icon;
private final ShowReadStateTooltip showReadStateTooltip; private final ShowReadStateTooltip showReadStateTooltip;
public AbstractReadStatePanel(final String id) { public AbstractReadStatePanel(final String id) {
@ -30,6 +29,9 @@ public abstract class AbstractReadStatePanel extends Panel {
super(id); super(id);
this.showReadStateTooltip = showReadStateTooltip; this.showReadStateTooltip = showReadStateTooltip;
Component icon = new UpdatingImage(ICON);
icon.setOutputMarkupId(true);
AjaxFallbackLink<Void> link = new AjaxFallbackLink<>(TOGGLE) { AjaxFallbackLink<Void> link = new AjaxFallbackLink<>(TOGGLE) {
@Override @Override
public void onClick(final Optional<AjaxRequestTarget> target) { public void onClick(final Optional<AjaxRequestTarget> target) {
@ -39,20 +41,14 @@ public abstract class AbstractReadStatePanel extends Panel {
}); });
} }
}; };
add(link);
icon = new UpdatingImage(ICON);
icon.setOutputMarkupId(true);
link.add(icon); link.add(icon);
add(link);
} }
protected abstract boolean isRead(); protected abstract boolean isRead();
protected abstract void onFlagClick(final AjaxRequestTarget target); protected abstract void onFlagClick(final AjaxRequestTarget target);
public ShowReadStateTooltip getShowReadStateTooltip() {
return showReadStateTooltip;
}
private class UpdatingImage extends WebComponent { private class UpdatingImage extends WebComponent {
public UpdatingImage(String id) { public UpdatingImage(String id) {
super(id); super(id);
@ -64,7 +60,7 @@ public abstract class AbstractReadStatePanel extends Panel {
String state = isRead() ? "read" : "unread"; String state = isRead() ? "read" : "unread";
tag.append("class", state, " "); tag.append("class", state, " ");
if (getShowReadStateTooltip() == ShowReadStateTooltip.ENABLED && !isRead()) { if (showReadStateTooltip == ShowReadStateTooltip.ENABLED && !isRead()) {
tag.put("title", getString("unread.msg")); tag.put("title", getString("unread.msg"));
} }
} }