Skip to content

Commit

Permalink
MID-7976 role catalog menu, small improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
1azyman committed Aug 9, 2022
1 parent 70eb34a commit 18201db
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public void setItems(List<ListGroupMenuItem<T>> items) {
}

public void onItemClickPerformed(ListGroupMenuItem item) {
if (item.getItems().isEmpty()) {
if (item.isEmpty()) {
getItems().forEach(i -> deactivateItem(i));
item.setActive(true);

Expand Down Expand Up @@ -98,4 +98,8 @@ private ListGroupMenuItem getActiveMenu(ListGroupMenuItem<T> item) {

return null;
}

public boolean isEmpty() {
return getItems().isEmpty();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -123,18 +123,22 @@ public void setItemsModel(@NotNull IModel<List<ListGroupMenuItem<T>>> items) {
}

public boolean isOpen() {
if (getItems().isEmpty()) {
if (isEmpty()) {
return false;
}

return open;
}

public void setOpen(boolean open) {
if (getItems().isEmpty()) {
if (isEmpty()) {
return;
}

this.open = open;
}

public boolean isEmpty() {
return getItems().isEmpty();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,13 @@ public void onClick(AjaxRequestTarget target) {
() -> getModelObject().isActive() ? "fa fa-chevron-down" : "fa fa-chevron-left"));
chevron.add(new VisibleBehaviour(() -> {
ListGroupMenuItem item = getModelObject();
return StringUtils.isEmpty(item.getBadge()) && !item.getItems().isEmpty();
return StringUtils.isEmpty(item.getBadge()) && !item.isEmpty();
}));
link.add(chevron);

WebMarkupContainer itemsContainer = new WebMarkupContainer(ID_ITEMS_CONTAINER);
itemsContainer.add(AttributeAppender.append("style", () -> !getModelObject().isOpen() ? "display: none;" : null));
itemsContainer.add(new VisibleBehaviour(() -> !getModelObject().getItems().isEmpty()));
itemsContainer.add(new VisibleBehaviour(() -> !getModelObject().isEmpty()));
add(itemsContainer);

ListView<ListGroupMenuItem<T>> items = new ListView<>(ID_ITEMS, () -> getModelObject().getItems()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,22 @@ public IModel<String> getTitle() {
return () -> getString("RoleCatalogPanel.title");
}

private ObjectQuery createFalseQuery() {
return getPrismContext()
.queryFor(RoleType.class)
.none()
.build();
}

private ObjectQuery createQueryForRequestableRoles() {
return getPrismContext()
.queryFor(AbstractRoleType.class)
.item(RoleType.F_REQUESTABLE)
.eq(true)
.asc(ObjectType.F_NAME)
.build();
}

private ObjectQuery createQueryFromOrgRef(ObjectReferenceType ref, boolean scopeOne) {
return getPrismContext()
.queryFor(RoleType.class)
Expand Down Expand Up @@ -225,7 +241,11 @@ protected ObjectQuery getCustomizeContentQuery() {
RoleCatalogQueryItem item = active != null ? active.getValue() : null;

if (item == null) {
return null;
if (menu.isEmpty()) {
return createQueryForRequestableRoles();
}

return createFalseQuery();
}

if (item.orgRef() != null) {
Expand All @@ -234,7 +254,7 @@ protected ObjectQuery getCustomizeContentQuery() {

RoleCollectionViewType collection = item.collection();
if (collection == null) {
return null;
return createFalseQuery();
}

if (collection.getCollectionRef() != null) {
Expand All @@ -243,7 +263,7 @@ protected ObjectQuery getCustomizeContentQuery() {
return createQueryFromCollectionUri(collection.getCollectionUri());
}

return null;
return createFalseQuery();
}
};
Collection<SelectorOptions<GetOperationOptions>> options = getPageBase().getOperationOptionsBuilder()
Expand Down

0 comments on commit 18201db

Please sign in to comment.