• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

knowledgepixels / nanodash / 17730889482

15 Sep 2025 11:04AM UTC coverage: 13.8% (+0.07%) from 13.735%
17730889482

push

github

tkuhn
style(Spaces): Improve style of Space page

434 of 3990 branches covered (10.88%)

Branch coverage included in aggregate %.

1120 of 7271 relevant lines covered (15.4%)

0.68 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
src/main/java/com/knowledgepixels/nanodash/page/SpaceListPage.java
1
package com.knowledgepixels.nanodash.page;
2

3
import org.apache.wicket.request.mapper.parameter.PageParameters;
4

5
import com.knowledgepixels.nanodash.Project;
6
import com.knowledgepixels.nanodash.QueryRef;
7
import com.knowledgepixels.nanodash.Space;
8
import com.knowledgepixels.nanodash.component.ItemListElement;
9
import com.knowledgepixels.nanodash.component.ItemListPanel;
10
import com.knowledgepixels.nanodash.component.TitleBar;
11

12
/**
13
 * A page that lists all available connectors.
14
 */
15
public class SpaceListPage extends NanodashPage {
16

17
    /**
18
     * The mount path for this page.
19
     */
20
    public static final String MOUNT_PATH = "/spaces";
21

22
    /**
23
     * {@inheritDoc}
24
     */
25
    @Override
26
    public String getMountPath() {
27
        return MOUNT_PATH;
×
28
    }
29

30
    /**
31
     * Constructor for the SpaceListPage.
32
     *
33
     * @param parameters the page parameters
34
     */
35
    public SpaceListPage(final PageParameters parameters) {
36
        super(parameters);
×
37

38
        add(new TitleBar("titlebar", this, "connectors"));
×
39

40
        addSpacePanel("Group", true);
×
41
        addSpacePanel("Project", false);
×
42
        addSpacePanel("Program", true);
×
43
        addSpacePanel("Initiative", false);
×
44
        addSpacePanel("Outlet", true);
×
45
        addSpacePanel("Campaign", false);
×
46
        addSpacePanel("Community", true);
×
47
        addSpacePanel("Event", false);
×
48

49
        add(new ItemListPanel<Project>(
×
50
                "legacy-projects",
51
                "Legacy Projects",
52
                new QueryRef("get-projects"),
53
                (apiResponse) -> { Project.refresh(apiResponse); return Project.getProjectList(); },
×
54
                (project) -> {
55
                    return new ItemListElement("item", ProjectPage.class, new PageParameters().add("id", project.getId()), project.getLabel());
×
56
                }
57
            ).setDescription("These legacy project pages will be migrated into the Spaces above:"));
×
58
    }
×
59

60
    private void addSpacePanel(String type, boolean openEnded) {
61
        String typePl = type + "s";
×
62
        typePl = typePl.replaceFirst("ys$", "ies");
×
63

64
        PageParameters newLinkParams = new PageParameters()
×
65
                .add("param_type", "https://w3id.org/kpxl/gen/terms/" + type)
×
66
                .add("template-version", "latest")
×
67
                .add("postpub-redirect-url", MOUNT_PATH);
×
68
        if (openEnded) {
×
69
            newLinkParams.add("template", "https://w3id.org/np/RA7dQfmndqKmooQ4PlHyQsAql9i2tg_8GLHf_dqtxsGEQ");
×
70
        } else {
71
            newLinkParams.add("template", "https://w3id.org/np/RAaE7NP9RNIx03AHZxanFMdtUuaTfe50ns5tHhpEVloQ4");
×
72
        }
73

74
        add(new ItemListPanel<Space>(
×
75
            typePl.toLowerCase(),
×
76
            typePl,
77
            new QueryRef("get-spaces"),
78
            (apiResponse) -> { Space.refresh(apiResponse); return Space.getSpaceList("https://w3id.org/kpxl/gen/terms/" + type); },
×
79
            (space) -> {
80
                return new ItemListElement("item", SpacePage.class, new PageParameters().add("id", space.getId()), space.getLabel());
×
81
            }
82
        ).addButton("new...", PublishPage.class, newLinkParams));
×
83
    }
×
84

85
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc