Skip to content

Commit

Permalink
styles fix for archetype selection page
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Jul 24, 2023
1 parent 07b9cd9 commit bb26249
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
<div wicket:id="csrfField"/>
<input type="hidden" wicket:id="archetypeOid"/>
<input type="hidden" wicket:id="allowUndefinedArchetype"/>
<div wicket:id="archetypeSelectionPanel" class="row p-0 col-12">
<div wicket:id="archetypes" class="card">
<div type="submit" wicket:id="archetype"/>
</div>
<div class="d-flex flex-wrap gap-3 justify-content-center" wicket:id="archetypeSelectionPanel">
<wicket:container wicket:id="archetypes">
<div class="card mb-0 simple-tile selectable" wicket:id="archetype"/>
</wicket:container>
</div>
<div>
<input type="submit" class="btn btn-primary login-panel-control" wicket:message="value:PageBase.button.send" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -231,14 +231,17 @@ private Tile<ArchetypeType> createTile(ArchetypeType archetype) {
}

private Component createTilePanel(IModel<Tile<ArchetypeType>> tileModel) {
return new TilePanel<>(ID_ARCHETYPE_PANEL, tileModel) {
var tilePanel = new TilePanel<>(ID_ARCHETYPE_PANEL, tileModel) {
private static final long serialVersionUID = 1L;

@Override
protected void onClick(AjaxRequestTarget target) {
updateArchetypeOidField(tileModel, target);
target.add(getArchetypesContainer());
}
};
tilePanel.add(AttributeModifier.append("class", getActiveClassModel(tileModel.getObject())));
return tilePanel;
}

private void updateArchetypeOidField(IModel<Tile<ArchetypeType>> tileModel, AjaxRequestTarget target) {
Expand All @@ -250,10 +253,18 @@ private String getArchetypeOid(IModel<Tile<ArchetypeType>> tileModel) {
return tileModel.getObject().getValue().getOid();
}

private IModel<String> getActiveClassModel(Tile<ArchetypeType> tile) {
var isArchetypeSelected = tile.getValue().getOid().equals(archetypeOidModel.getObject());
return isArchetypeSelected ? Model.of("active") : Model.of();
}
private MidpointForm<?> getForm() {
return (MidpointForm<?>) get(ID_MAIN_FORM);
}

private WebMarkupContainer getArchetypesContainer() {
return (WebMarkupContainer) getForm().get(ID_ARCHETYPE_SELECTION_PANEL);
}

private Component getArchetypeOidField() {
return getForm().get(ID_ARCHETYPE_OID);
}
Expand Down

0 comments on commit bb26249

Please sign in to comment.