Merge pull request #150 from chenqi146/dev

[fix] 🐛 fix group search in html
This commit is contained in:
shalousun 2021-08-31 09:52:41 +08:00 committed by GitHub
commit 04a253b3d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 67 additions and 96 deletions

View File

@ -71,7 +71,7 @@ public class AdocDocBuilder {
IDocBuildTemplate docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
List<ApiDoc> apiDocList = docBuildTemplate.getApiData(configBuilder);
if (config.isAllInOne()) {
String docName = builderTemplate.allInOneDocName(config,INDEX_DOC,".doc");
String docName = builderTemplate.allInOneDocName(config,INDEX_DOC,".adoc");
apiDocList = docBuildTemplate.handleApiGroup(apiDocList, config);
builderTemplate.buildAllInOne(apiDocList, config, javaProjectBuilder, ALL_IN_ONE_ADOC_TPL, docName);
} else {

View File

@ -162,22 +162,29 @@ public class DocBuilderTemplate extends BaseDocBuilderTemplate {
apiDoc1.setOrder(apiDocs.size() + 1);
apiDocs.add(apiDoc1);
}
boolean isOnlyDefaultGroup = apiDocList.size() == 1;
Map<String, String> titleMap = setDirectoryLanguageVariable(config, tpl);
// set error code
if (CollectionUtil.isNotEmpty(errorCodeList)) {
ApiDoc apiDoc1 = new ApiDoc();
apiDoc1.setOrder(apiDocs.size() + 1);
apiDoc1.setOrder((isOnlyDefaultGroup ? apiDocs.get(0).getChildrenApiDocs().size() : apiDocs.size()) + 1);
apiDoc1.setDesc(titleMap.get(TemplateVariable.ERROR_LIST_TITLE.getVariable()));
apiDoc1.setList(new ArrayList<>(0));
apiDoc1.setLink("error_code_list");
apiDoc1.setAlias("error");
apiDoc1.setGroup(apiDoc1.getDesc());
apiDocs.add(apiDoc1);
if (isOnlyDefaultGroup) {
apiDocs.get(0).getChildrenApiDocs().add(apiDoc1);
} else {
apiDocs.add(apiDoc1);
}
}
// set dict list
List<ApiDocDict> apiDocDictList = DocUtil.buildDictionary(config, javaProjectBuilder);
ApiDoc apiDoc1 = new ApiDoc();
apiDoc1.setOrder(apiDocs.size() + 1);
apiDoc1.setOrder((isOnlyDefaultGroup ? apiDocs.get(0).getChildrenApiDocs().size() : apiDocs.size()) + 1);
apiDoc1.setLink("dict_list");
apiDoc1.setAlias("dict");
apiDoc1.setDesc(titleMap.get(TemplateVariable.DICT_LIST_TITLE.getVariable()));
@ -190,7 +197,11 @@ public class DocBuilderTemplate extends BaseDocBuilderTemplate {
methodDocs.add(methodDoc);
}
apiDoc1.setList(methodDocs);
apiDocs.add(apiDoc1);
if (isOnlyDefaultGroup) {
apiDocs.get(0).getChildrenApiDocs().add(apiDoc1);
} else {
apiDocs.add(apiDoc1);
}
tpl.binding(TemplateVariable.API_DOC_LIST.getVariable(), apiDocs);
FileUtil.nioWriteFile(tpl.render(), config.getOutPath() + FILE_SEPARATOR + SEARCH_JS_OUT);
}

View File

@ -38,6 +38,7 @@ import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
import static com.power.doc.constants.DocGlobalConstants.*;
@ -78,10 +79,10 @@ public class HtmlApiDocBuilder {
List<ApiDoc> apiDocList = docBuildTemplate.getApiData(configBuilder);
Template indexCssTemplate = BeetlTemplateUtil.getByName(ALL_IN_ONE_CSS);
FileUtil.nioWriteFile(indexCssTemplate.render(), config.getOutPath() + FILE_SEPARATOR + ALL_IN_ONE_CSS_OUT);
copyJarFile("js/"+HIGH_LIGHT_JS, config.getOutPath() + FILE_SEPARATOR + HIGH_LIGHT_JS);
copyJarFile("css/"+FONT_STYLE, config.getOutPath() + FILE_SEPARATOR + FONT_STYLE);
copyJarFile("js/"+JQUERY, config.getOutPath() + FILE_SEPARATOR + JQUERY);
copyJarFile("css/"+HIGH_LIGHT_STYLE, config.getOutPath() + FILE_SEPARATOR + HIGH_LIGHT_STYLE);
copyJarFile("js/" + HIGH_LIGHT_JS, config.getOutPath() + FILE_SEPARATOR + HIGH_LIGHT_JS);
copyJarFile("css/" + FONT_STYLE, config.getOutPath() + FILE_SEPARATOR + FONT_STYLE);
copyJarFile("js/" + JQUERY, config.getOutPath() + FILE_SEPARATOR + JQUERY);
copyJarFile("css/" + HIGH_LIGHT_STYLE, config.getOutPath() + FILE_SEPARATOR + HIGH_LIGHT_STYLE);
if (config.isAllInOne()) {
apiDocList = docBuildTemplate.handleApiGroup(apiDocList, config);
if (config.isCreateDebugPage()) {

View File

@ -30,6 +30,7 @@ import com.power.doc.constants.TornaConstants;
import com.power.doc.factory.BuildTemplateFactory;
import com.power.doc.model.ApiConfig;
import com.power.doc.model.ApiDoc;
import com.power.doc.model.ApiGroup;
import com.power.doc.model.torna.Apis;
import com.power.doc.model.torna.TornaApi;
import com.power.doc.model.torna.TornaDic;
@ -119,7 +120,8 @@ public class TornaBuilder {
}
tornaApi.setCommonErrorCodes(buildErrorCode(apiConfig));
tornaApi.setApis(groupApiList);
// delete default group when only default group
tornaApi.setApis(groupApiList.size() == 1 ? groupApiList.get(0).getItems() : groupApiList);
//Build push document information
Map<String, String> requestJson = TornaConstants.buildParams(PUSH, new Gson().toJson(tornaApi), apiConfig);
//Push dictionary information

View File

@ -1,4 +1,6 @@
DELIMITER_STATEMENT_START=<%
DELIMITER_STATEMENT_END=%>
FN.htmlEscape = com.power.doc.function.HtmlEscape
FN.removeLineBreaks = com.power.doc.function.RemoveLineBreaks
FN.removeLineBreaks = com.power.doc.function.RemoveLineBreaks
##??????
FNP.strUtil = org.beetl.ext.fn.StringUtil

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,22 +1,23 @@
let api = [];
const apiDocListSize = ${apiDocList.~size}
<%for(apiGroup in apiDocList) {%>
api.push({
name: '${apiGroup.group}',
name: '${strUtil.replace(apiGroup.group, "\'", "\\'")}',
order: '${apiGroup.order}',
list: []
})
<%for(api in apiGroup.childrenApiDocs) {%>
api[${apiGroupLP.dataIndex}].list.push({
alias: '${api.alias}',
alias: '${strUtil.replace(api.alias, "\'", "\\'")}',
order: '${api.order}',
link: '${removeLineBreaks(api.link)}',
desc: '${removeLineBreaks(api.desc)}',
link: '${strUtil.replace(removeLineBreaks(api.link), "\'", "\\'")}',
desc: '${strUtil.replace(removeLineBreaks(api.desc), "\'", "\\'")}',
list: []
})
<%for(doc in api.list) {%>
api[${apiGroupLP.dataIndex}].list[${apiLP.dataIndex}].list.push({
order: '${doc.order}',
desc: '${removeLineBreaks(doc.desc)}',
desc: '${strUtil.replace(removeLineBreaks(doc.desc), "\'", "\\'")}',
});
<%}%>
<%}%>
@ -66,6 +67,14 @@ function keyDownSearch(e) {
}
}
}
if (apiGroup.name.indexOf(searchValue) > -1) {
searchGroup.push({
name: apiGroup.name,
order: apiGroup.order,
list: searchArr
});
continue;
}
if (searchArr.length === 0) {
continue;
}
@ -110,13 +119,8 @@ function buildAccordion(apiGroups, liClass, display) {
let html = "";
let doc;
if (apiGroups.length > 0) {
for (let i = 0; i < apiGroups.length; i++) {
let apiGroup = apiGroups[i];
html += '<li class="'+liClass+'">';
html += '<a class="dd" href="#_' + apiGroup.name + '">' + apiGroup.order + '.&nbsp;' + apiGroup.name + '</a>';
html += '<ul class="sectlevel1">';
let apiData = apiGroup.list;
if (apiDocListSize == 1) {
let apiData = apiGroups[0].list;
for (let j = 0; j < apiData.length; j++) {
html += '<li class="'+liClass+'">';
html += '<a class="dd" href="#_' + apiData[j].link + '">' + apiData[j].order + '.&nbsp;' + apiData[j].desc + '</a>';
@ -128,9 +132,29 @@ function buildAccordion(apiGroups, liClass, display) {
html += '</ul>';
html += '</li>';
}
} else {
for (let i = 0; i < apiGroups.length; i++) {
let apiGroup = apiGroups[i];
html += '<li class="'+liClass+'">';
html += '<a class="dd" href="#_' + apiGroup.name + '">' + apiGroup.order + '.&nbsp;' + apiGroup.name + '</a>';
html += '<ul class="sectlevel1">';
html += '</ul>';
html += '</li>';
let apiData = apiGroup.list;
for (let j = 0; j < apiData.length; j++) {
html += '<li class="'+liClass+'">';
html += '<a class="dd" href="#_' + apiData[j].link + '">' + apiData[j].order + '.&nbsp;' + apiData[j].desc + '</a>';
html += '<ul class="sectlevel2" style="'+display+'">';
doc = apiData[j].list;
for (let m = 0; m < doc.length; m++) {
html += '<li><a href="#_' + apiData[j].order + '_' + doc[m].order + '_' + doc[m].desc + '">' + apiData[j].order + '.' + doc[m].order + '.&nbsp;' + doc[m].desc + '</a> </li>';
}
html += '</ul>';
html += '</li>';
}
html += '</ul>';
html += '</li>';
}
}
}
return html;