Skip to content

Commit

Permalink
Code style improvements and formatting.
Browse files Browse the repository at this point in the history
  • Loading branch information
nmihajlovski committed Jan 18, 2016
1 parent dde3fdd commit 42825de
Show file tree
Hide file tree
Showing 3 changed files with 108 additions and 149 deletions.
177 changes: 90 additions & 87 deletions rapidoid-gui/src/main/java/org/rapidoid/gui/BtnMenu.java
@@ -1,98 +1,101 @@
package org.rapidoid.gui;


import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since;
import org.rapidoid.html.Tag;
import org.rapidoid.u.U;

import java.util.*;

/**
* Created by milievski on 12/14/2015.
*/
@Authors({"Marjan Ilievski", "Nikolche Mihajlovski"})
@Since("5.0.11")
public class BtnMenu {
private String title;
private List<Map<Object,String>> menuItems;

public BtnMenu() {
menuItems = U.list();
menuItems.add(new LinkedHashMap<Object, String>());
}

public void addMenuItem(String text,String url){
menuItems.get(menuItems.size()-1).put(text,url);
}

public void addSeparator(){
menuItems.add(new LinkedHashMap<Object, String>());
}

private Tag generateButtonHtmlContent() {
Tag span = GUI.span().class_("caret");
return GUI.button().type("button").class_("btn btn-default dropdown-toggle")
.attr("data-toggle","dropdown")
.attr("aria-haspopup","true")
.attr("aria-expanded","false").contents(title+" ",span);
}


private Optional<Tag> generateMenuHtmlContent(){

if(!menuItems.get(0).isEmpty()) {
List<Tag> content = U.list();

for (Iterator<Map<Object, String>> iterator = menuItems.iterator(); iterator.hasNext(); ) {

generateMenuItems(content, iterator);

if (iterator.hasNext()) {
content.add(GUI.li().role("separator").class_("divider"));
}
}

return Optional.of(GUI.ul().class_("dropdown-menu").contents(content));
}
return Optional.empty();
}

private void generateMenuItems(List<Tag> content, Iterator<Map<Object, String>> subMenuIterator) {
for (Map.Entry<Object, String> menuItem : subMenuIterator.next().entrySet()) {
Tag a = GUI.a().href(menuItem.getValue()).contents(menuItem.getKey());
Tag li = GUI.li().contents(a);
content.add(li);
}
}

@Override
public String toString() {
return render();
}

public String render(){
List<Tag> content = U.list();
content.add(generateButtonHtmlContent());
Optional<Tag> menuContent = generateMenuHtmlContent();
if(menuContent.isPresent()) {
content.add(menuContent.get());
}
return GUI.div().class_("btn-group").contents(content).toString();
}

public String title() {
return title;
}

public BtnMenu title(String title) {
this.title = title;
return this;
}

public List<Map<Object, String>> items() {
return menuItems;
}

public BtnMenu items(Map<Object, String> items) {
this.menuItems.add(items);
return this;
}

private String title;

private List<Map<Object, String>> menuItems;

public BtnMenu() {
menuItems = U.list();
menuItems.add(new LinkedHashMap<Object, String>());
}

public void addMenuItem(String text, String url) {
menuItems.get(menuItems.size() - 1).put(text, url);
}

public void addSeparator() {
menuItems.add(new LinkedHashMap<Object, String>());
}

private Tag generateButtonHtmlContent() {
Tag span = GUI.span().class_("caret");
return GUI.button().type("button").class_("btn btn-default dropdown-toggle")
.attr("data-toggle", "dropdown")
.attr("aria-haspopup", "true")
.attr("aria-expanded", "false").contents(title + " ", span);
}


private Optional<Tag> generateMenuHtmlContent() {

if (!menuItems.get(0).isEmpty()) {
List<Tag> content = U.list();

for (Iterator<Map<Object, String>> iterator = menuItems.iterator(); iterator.hasNext(); ) {

generateMenuItems(content, iterator);

if (iterator.hasNext()) {
content.add(GUI.li().role("separator").class_("divider"));
}
}

return Optional.of(GUI.ul().class_("dropdown-menu").contents(content));
}
return Optional.empty();
}

private void generateMenuItems(List<Tag> content, Iterator<Map<Object, String>> subMenuIterator) {
for (Map.Entry<Object, String> menuItem : subMenuIterator.next().entrySet()) {
Tag a = GUI.a().href(menuItem.getValue()).contents(menuItem.getKey());
Tag li = GUI.li().contents(a);
content.add(li);
}
}

@Override
public String toString() {
return render();
}

public String render() {
List<Tag> content = U.list();
content.add(generateButtonHtmlContent());
Optional<Tag> menuContent = generateMenuHtmlContent();
if (menuContent.isPresent()) {
content.add(menuContent.get());
}
return GUI.div().class_("btn-group").contents(content).toString();
}

public String title() {
return title;
}

public BtnMenu title(String title) {
this.title = title;
return this;
}

public List<Map<Object, String>> items() {
return menuItems;
}

public BtnMenu items(Map<Object, String> items) {
this.menuItems.add(items);
return this;
}

}
@@ -1,11 +1,5 @@
package org.rapidoid.gui.base;

import java.io.Serializable;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since;
import org.rapidoid.beany.Beany;
Expand All @@ -15,42 +9,12 @@
import org.rapidoid.commons.Arr;
import org.rapidoid.commons.Rnd;
import org.rapidoid.config.Conf;
import org.rapidoid.gui.Btn;
import org.rapidoid.gui.Card;
import org.rapidoid.gui.Debug;
import org.rapidoid.gui.Field;
import org.rapidoid.gui.Form;
import org.rapidoid.gui.FormMode;
import org.rapidoid.gui.Grid;
import org.rapidoid.gui.Highlight;
import org.rapidoid.gui.HtmlPage;
import org.rapidoid.gui.I18N;
import org.rapidoid.gui.KVGrid;
import org.rapidoid.gui.Layout;
import org.rapidoid.gui.Pager;
import org.rapidoid.gui.Panel;
import org.rapidoid.gui.Snippet;
import org.rapidoid.gui.VStream;
import org.rapidoid.gui.*;
import org.rapidoid.gui.reqinfo.ReqInfo;
import org.rapidoid.gui.var.ArrayContainerVar;
import org.rapidoid.gui.var.CollectionContainerVar;
import org.rapidoid.gui.var.EqualityVar;
import org.rapidoid.gui.var.LocalVar;
import org.rapidoid.gui.var.SessionVar;
import org.rapidoid.html.FieldType;
import org.rapidoid.html.FormLayout;
import org.rapidoid.html.HTML;
import org.rapidoid.html.Tag;
import org.rapidoid.html.TagWidget;
import org.rapidoid.gui.var.*;
import org.rapidoid.html.*;
import org.rapidoid.html.customtag.ColspanTag;
import org.rapidoid.html.tag.ATag;
import org.rapidoid.html.tag.ButtonTag;
import org.rapidoid.html.tag.FormTag;
import org.rapidoid.html.tag.InputTag;
import org.rapidoid.html.tag.OptionTag;
import org.rapidoid.html.tag.SelectTag;
import org.rapidoid.html.tag.TableTag;
import org.rapidoid.html.tag.TextareaTag;
import org.rapidoid.html.tag.*;
import org.rapidoid.lambda.Calc;
import org.rapidoid.model.Item;
import org.rapidoid.model.Items;
Expand All @@ -60,6 +24,12 @@
import org.rapidoid.u.U;
import org.rapidoid.var.Var;

import java.io.Serializable;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

/*
* #%L
* rapidoid-gui
Expand Down
30 changes: 8 additions & 22 deletions rapidoid-gui/src/test/java/org/rapidoid/gui/BtnMenuTest.java
@@ -1,30 +1,16 @@
package org.rapidoid.gui;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.rapidoid.html.tag.ObjectTag;
import org.rapidoid.u.U;
import org.rapidoid.annotation.Authors;
import org.rapidoid.annotation.Since;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import static org.junit.Assert.*;

/**
* Created by milievski on 12/23/2015.
*/
@Authors({"Marjan Ilievski", "Nikolche Mihajlovski"})
@Since("5.0.11")
public class BtnMenuTest {


@Test
public void shouldGenerateBtnMenuHtmlContent(){




}
@Test
public void shouldGenerateBtnMenuHtmlContent() {
// FIXME add test
}

}

0 comments on commit 42825de

Please sign in to comment.