mirror of https://github.com/halo-dev/halo
Change Tab to Group
parent
e84025e9e3
commit
901a6a0456
|
@ -5,13 +5,13 @@ import lombok.Data;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Theme configuration: Tab entity.
|
* Theme configuration: group entity.
|
||||||
*
|
*
|
||||||
* @author johnniang
|
* @author johnniang
|
||||||
* @date 4/10/19
|
* @date 4/10/19
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class Tab {
|
public class Group {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tab name.
|
* Tab name.
|
|
@ -7,7 +7,7 @@ import run.halo.app.model.enums.InputType;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Theme configuration: Item entity
|
* Theme configuration: item entity
|
||||||
*
|
*
|
||||||
* @author johnniang
|
* @author johnniang
|
||||||
* @date 4/10/19
|
* @date 4/10/19
|
||||||
|
|
|
@ -14,12 +14,12 @@ import java.util.List;
|
||||||
public interface ThemeConfigResolver {
|
public interface ThemeConfigResolver {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolves content as tab.
|
* Resolves content as group list.
|
||||||
*
|
*
|
||||||
* @param content content must not be blank
|
* @param content content must not be blank
|
||||||
* @return a list of tab
|
* @return a list of group
|
||||||
* @throws IOException throws when content conversion fails
|
* @throws IOException throws when content conversion fails
|
||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
List<Tab> resolve(@NonNull String content) throws IOException;
|
List<Group> resolve(@NonNull String content) throws IOException;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,9 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
|
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
|
||||||
import org.springframework.lang.Nullable;
|
import org.springframework.lang.Nullable;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
import run.halo.app.handler.theme.Group;
|
||||||
import run.halo.app.handler.theme.Item;
|
import run.halo.app.handler.theme.Item;
|
||||||
import run.halo.app.handler.theme.Option;
|
import run.halo.app.handler.theme.Option;
|
||||||
import run.halo.app.handler.theme.Tab;
|
|
||||||
import run.halo.app.handler.theme.ThemeConfigResolver;
|
import run.halo.app.handler.theme.ThemeConfigResolver;
|
||||||
import run.halo.app.model.enums.DataType;
|
import run.halo.app.model.enums.DataType;
|
||||||
import run.halo.app.model.enums.InputType;
|
import run.halo.app.model.enums.InputType;
|
||||||
|
@ -29,13 +29,13 @@ public class YamlThemeConfigResolverImpl implements ThemeConfigResolver {
|
||||||
private final ObjectMapper yamlMapper = new ObjectMapper(new YAMLFactory());
|
private final ObjectMapper yamlMapper = new ObjectMapper(new YAMLFactory());
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Tab> resolve(String content) throws IOException {
|
public List<Group> resolve(String content) throws IOException {
|
||||||
return handleTabs(yamlMapper.readValue(content, Object.class));
|
return handleTabs(yamlMapper.readValue(content, Object.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private List<Tab> handleTabs(@Nullable Object config) {
|
private List<Group> handleTabs(@Nullable Object config) {
|
||||||
List<Tab> tabs = new LinkedList<>();
|
List<Group> groups = new LinkedList<>();
|
||||||
|
|
||||||
if (config instanceof List) {
|
if (config instanceof List) {
|
||||||
List configList = (List) config;
|
List configList = (List) config;
|
||||||
|
@ -49,15 +49,15 @@ public class YamlThemeConfigResolverImpl implements ThemeConfigResolver {
|
||||||
|
|
||||||
Map tabMap = ((Map) tabYaml);
|
Map tabMap = ((Map) tabYaml);
|
||||||
|
|
||||||
Tab tab = new Tab();
|
Group group = new Group();
|
||||||
|
|
||||||
tab.setName(tabMap.get("name").toString());
|
group.setName(tabMap.get("name").toString());
|
||||||
tab.setLabel(tabMap.get("label").toString());
|
group.setLabel(tabMap.get("label").toString());
|
||||||
|
|
||||||
// Handle items
|
// Handle items
|
||||||
tab.setItems(handleItems(tabMap.get("items")));
|
group.setItems(handleItems(tabMap.get("items")));
|
||||||
|
|
||||||
tabs.add(tab);
|
groups.add(group);
|
||||||
});
|
});
|
||||||
|
|
||||||
} else if (config instanceof Map) {
|
} else if (config instanceof Map) {
|
||||||
|
@ -71,19 +71,19 @@ public class YamlThemeConfigResolverImpl implements ThemeConfigResolver {
|
||||||
|
|
||||||
Map tabMap = (Map) value;
|
Map tabMap = (Map) value;
|
||||||
|
|
||||||
Tab tab = new Tab();
|
Group group = new Group();
|
||||||
|
|
||||||
tab.setName(key.toString());
|
group.setName(key.toString());
|
||||||
tab.setLabel(tabMap.get("label").toString());
|
group.setLabel(tabMap.get("label").toString());
|
||||||
|
|
||||||
// Handle items
|
// Handle items
|
||||||
tab.setItems(handleItems(tabMap.get("items")));
|
group.setItems(handleItems(tabMap.get("items")));
|
||||||
|
|
||||||
tabs.add(tab);
|
groups.add(group);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return tabs;
|
return groups;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package run.halo.app.utils;
|
package run.halo.app.utils;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import run.halo.app.handler.theme.Tab;
|
import run.halo.app.handler.theme.Group;
|
||||||
import run.halo.app.handler.theme.impl.YamlThemeConfigResolverImpl;
|
import run.halo.app.handler.theme.impl.YamlThemeConfigResolverImpl;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -62,11 +62,11 @@ public class YamlTest {
|
||||||
" - value: false\n" +
|
" - value: false\n" +
|
||||||
" label: 关闭";
|
" label: 关闭";
|
||||||
|
|
||||||
List<Tab> tabs = resolver.resolve(yaml);
|
List<Group> groups = resolver.resolve(yaml);
|
||||||
|
|
||||||
assertThat(tabs.size(), equalTo(2));
|
assertThat(groups.size(), equalTo(2));
|
||||||
assertThat(tabs.get(0).getItems().size(), equalTo(3));
|
assertThat(groups.get(0).getItems().size(), equalTo(3));
|
||||||
assertThat(tabs.get(1).getItems().size(), equalTo(2));
|
assertThat(groups.get(1).getItems().size(), equalTo(2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -119,11 +119,11 @@ public class YamlTest {
|
||||||
" label: 关闭\n";
|
" label: 关闭\n";
|
||||||
|
|
||||||
|
|
||||||
List<Tab> tabs = resolver.resolve(yaml);
|
List<Group> groups = resolver.resolve(yaml);
|
||||||
|
|
||||||
assertThat(tabs.size(), equalTo(2));
|
assertThat(groups.size(), equalTo(2));
|
||||||
assertThat(tabs.get(0).getItems().size(), equalTo(4));
|
assertThat(groups.get(0).getItems().size(), equalTo(4));
|
||||||
assertThat(tabs.get(1).getItems().size(), equalTo(3));
|
assertThat(groups.get(1).getItems().size(), equalTo(3));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -174,12 +174,12 @@ public class YamlTest {
|
||||||
" - value: false\n" +
|
" - value: false\n" +
|
||||||
" label: 关闭";
|
" label: 关闭";
|
||||||
|
|
||||||
List<Tab> tabs = resolver.resolve(yaml);
|
List<Group> groups = resolver.resolve(yaml);
|
||||||
|
|
||||||
assertThat(tabs.size(), equalTo(2));
|
assertThat(groups.size(), equalTo(2));
|
||||||
assertThat(tabs.get(0).getItems().size(), equalTo(4));
|
assertThat(groups.get(0).getItems().size(), equalTo(4));
|
||||||
assertThat(tabs.get(1).getItems().size(), equalTo(3));
|
assertThat(groups.get(1).getItems().size(), equalTo(3));
|
||||||
assertThat(tabs.get(0).getItems().get(0).getOptions().size(), equalTo(2));
|
assertThat(groups.get(0).getItems().get(0).getOptions().size(), equalTo(2));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue