Browse Source

将高级搜索扩大到全部语言

tags/v18.0
枫谷剑仙 4 years ago
parent
commit
0fee8e6d64
17 changed files with 2806 additions and 2780 deletions
  1. +8
    -1
      languages/en.css
  2. +1
    -0
      languages/en.js
  3. +8
    -1
      languages/ja.css
  4. +1
    -0
      languages/ja.js
  5. +8
    -1
      languages/ko.css
  6. +1
    -0
      languages/ko.js
  7. +0
    -27
      languages/zh-CN.css
  8. +0
    -2725
      languages/zh-CN.js
  9. +8
    -1
      languages/zh-TW.css
  10. +1
    -0
      languages/zh-TW.js
  11. +8
    -1
      languages/zh.css
  12. +7
    -0
      multi.html
  13. +2660
    -18
      script-json_data.js
  14. +66
    -3
      script.js
  15. +7
    -0
      solo.html
  16. +15
    -2
      style.css
  17. +7
    -0
      triple.html

+ 8
- 1
languages/en.css View File

@@ -376,7 +376,8 @@
content: "Reset";
}
.search-box .awoken-clear::before,
.search-box .sawoken-clear::before
.search-box .sawoken-clear::before,
.special-div .special-clear::before
{
content: "Clear";
}
@@ -386,6 +387,12 @@
.search-box .sawoken-div::before{
content: "▼Super Awoken (OR)";
}
.search-box .special-div::before{
content: "▼Special Search";
}
.special-div .special-add::before {
content: "➕";
}
.control-div .search-start::before{
content: "🔍Start Search";
}


+ 1
- 0
languages/en.js View File

@@ -1,5 +1,6 @@
localTranslating = {
webpage_title: `P&D ${teamsCount}P Formation Maker`,
addition_display: "Additional display",
title_blank: "Input Formation Title",
detail_blank: "Input Detail",
sort_name:{


+ 8
- 1
languages/ja.css View File

@@ -368,7 +368,8 @@
content: "リセット";
}
.search-box .awoken-clear::before,
.search-box .sawoken-clear::before
.search-box .sawoken-clear::before,
.special-div .special-clear::before
{
content: "クリア";
}
@@ -378,6 +379,12 @@
.search-box .sawoken-div::before{
content: "▼超覚醒(OR)";
}
.search-box .special-div::before{
content: "▼特別な検索";
}
.special-div .special-add::before {
content: "➕";
}
.control-div .search-start::before{
content: "🔍検索の開始";
}


+ 1
- 0
languages/ja.js View File

@@ -1,5 +1,6 @@
localTranslating = {
webpage_title: `パズル&ドラゴンズ${teamsCount}人のチーム図作成ツール`,
addition_display: "追加の表示",
title_blank: "入力タイトル",
detail_blank: "入力詳細",
sort_name:{


+ 8
- 1
languages/ko.css View File

@@ -365,7 +365,8 @@
content: "재설정";
}
.search-box .awoken-clear::before,
.search-box .sawoken-clear::before
.search-box .sawoken-clear::before,
.special-div .special-clear::before
{
content: "명확한";
}
@@ -375,6 +376,12 @@
.search-box .sawoken-div::before{
content: "▼슈퍼 각성(OR)";
}
.search-box .special-div::before{
content: "▼특별 검색";
}
.special-div .special-add::before {
content: "➕";
}
.control-div .search-start::before{
content: "🔍검색 시작";
}


+ 1
- 0
languages/ko.js View File

@@ -1,5 +1,6 @@
localTranslating = {
webpage_title: `퍼즐앤드래곤 ${teamsCount} 명의 팀 다이어그램 작성 도구`,
addition_display: "추가 표시입니다",
title_blank: "입력 제목",
detail_blank: "입력 내용",
sort_name:{


+ 0
- 27
languages/zh-CN.css View File

@@ -6,31 +6,4 @@
{
font-family: "Microsoft Yahei","Source Han Sans",Arial, Helvetica, sans-serif;
font-weight: bold;
}
.specialSearch {
display: block !important;
min-height: 35px;
}
.specialSearch::before {
content: "▼暂时仅中文有的筛选(缺少翻译)";
display: block;
}
.specialSearch li{
margin-bottom: 5px;
margin-right: 3px;
}
.specialSearch select{
font-size: 20px;
}
.specialSearch .specialSearch-clear,
.specialSearch .specialSearch-add
{
float: right;
padding: 0;
}
.specialSearch .specialSearch-clear::before {
content: "❌";
}
.specialSearch .specialSearch-add::before {
content: "➕";
}

+ 0
- 2725
languages/zh-CN.js
File diff suppressed because it is too large
View File


+ 8
- 1
languages/zh-TW.css View File

@@ -371,7 +371,8 @@
content: "重置";
}
.search-box .awoken-clear::before,
.search-box .sawoken-clear::before
.search-box .sawoken-clear::before,
.special-div .special-clear::before
{
content: "清除";
}
@@ -381,6 +382,12 @@
.search-box .sawoken-div::before{
content: "▼超覺醒(OR)";
}
.search-box .special-div::before{
content: "▼特殊搜索";
}
.special-div .special-add::before {
content: "➕";
}
.control-div .search-start::before{
content: "🔍開始搜索";
}


+ 1
- 0
languages/zh-TW.js View File

@@ -1,5 +1,6 @@
localTranslating = {
webpage_title: `龍族拼圖${teamsCount}人隊伍圖製作工具`,
addition_display: "附加顯示",
title_blank: "輸入隊伍標題",
detail_blank: "輸入說明",
sort_name:{


+ 8
- 1
languages/zh.css View File

@@ -371,7 +371,8 @@
content: "重置";
}
.search-box .awoken-clear::before,
.search-box .sawoken-clear::before
.search-box .sawoken-clear::before,
.special-div .special-clear::before
{
content: "清除";
}
@@ -381,6 +382,12 @@
.search-box .sawoken-div::before{
content: "▼超觉醒(OR)";
}
.search-box .special-div::before{
content: "▼特殊搜索";
}
.special-div .special-add::before {
content: "➕";
}
.control-div .search-start::before{
content: "🔍开始搜索";
}


+ 7
- 0
multi.html View File

@@ -917,6 +917,13 @@ var formation = new Formation(teamsCount,5);
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="81" id="search-awoken-81" /><label class="awoken-icon" data-awoken-icon="81" for="search-awoken-81"></label><!--5色--></li>
</ul>
</div>
<div class="special-div">
<button class="special-add brown-button"></button>
<button class="special-clear brown-button"></button>
<ul class="special-filter-list">
<li><select class="special-filter"></select></li>
</ul>
</div>
<div class="control-div"><!--控制栏-->
<button class="search-start"><!--开始搜索--></button>
<button class="search-close"><!--关闭搜索--></button>


+ 2660
- 18
script-json_data.js
File diff suppressed because it is too large
View File


+ 66
- 3
script.js View File

@@ -27,6 +27,7 @@ if (location.search.includes('&amp;')) {
}
let localTranslating = {
webpage_title: `智龙迷城${teamsCount}人队伍图制作工具`,
addition_display: "💬",
}

//一开始就加载当前语言
@@ -2339,6 +2340,53 @@ function initialize() {
});
};

//特殊搜索部分
const s_specialDiv = searchBox.querySelector(".special-div");
const specialAdd = s_specialDiv.querySelector(".special-add");
const specialClear = s_specialDiv.querySelector(".special-clear");
const specialFilterUl = s_specialDiv.querySelector(".special-filter-list");
const specialFilterFirstLi = specialFilterUl.querySelector("li");
const specialFirstSelect = specialFilterFirstLi.querySelector(".special-filter");
function newSpecialSearchOption(func, idx1, idx2)
{
const funcName = returnMonsterNameArr(func, currentLanguage.searchlist, currentDataSource.code)[0];
return new Option(funcName + (func.addition ? "+" + localTranslating.addition_display : ""), idx1 + (idx2 != null ? "|" + idx2 : ""));
}
specialSearchFunctions.forEach((sfunc,idx)=>{
if (sfunc.group)
{
console.debug(returnMonsterNameArr(sfunc, currentLanguage.searchlist, currentDataSource.code))
const groupName = returnMonsterNameArr(sfunc, currentLanguage.searchlist, currentDataSource.code)[0];
const optgroup = specialFirstSelect.appendChild(document.createElement("optgroup"));
optgroup.label = groupName;
if (sfunc.functions)
{
sfunc.functions.forEach((_sfunc,_idx)=>{
optgroup.appendChild(newSpecialSearchOption(_sfunc, idx, _idx));
});
}
}else
{
specialFirstSelect.options.add(newSpecialSearchOption(sfunc, idx));
}
});
specialAdd.onclick = function()
{
specialFilterUl.appendChild(specialFilterFirstLi.cloneNode(true));
}
specialAdd.onclick(); //先运行一次产生两个
specialClear.onclick = function()
{
/*for (let ci = specialFilterUl.children.length-1; ci>0; ci--)
{
specialFilterUl.children[ci].remove();
}*/
specialFilterUl.innerHTML = "";
specialFilterUl.appendChild(specialFilterFirstLi);
specialFirstSelect.selectedIndex = 0;
}

const s_controlDiv = searchBox.querySelector(".control-div");
const searchStart = s_controlDiv.querySelector(".search-start");
const searchClose = s_controlDiv.querySelector(".search-close");
@@ -2394,7 +2442,7 @@ function initialize() {
showAbilitiesWithAwoken: s_add_show_abilities_with_awoken.checked,
customAddition: typeof customAdditionalFunction == "function" ?
[customAdditionalFunction] :
(Array.isArray(customAdditionalFunction) ? customAdditionalFunction : null)
(Array.isArray(customAdditionalFunction) ? customAdditionalFunction : [])
};
searchMonList.originalHeads = searchArr.map(card => createCardHead(card.id, additionalOption));
searchMonList.customAddition = additionalOption.customAddition;
@@ -2426,6 +2474,7 @@ function initialize() {
s_add_show_abilities_with_awoken.onchange = reShowSearch;

const startSearch = function(cards, customAdditionalFunction) {
if (customAdditionalFunction == undefined) customAdditionalFunction = [];
const attr1Filter = s_attr1s.filter(returnCheckedInput).map(returnInputValue);
const attr2Filter = s_attr2s.filter(returnCheckedInput).map(returnInputValue);
let attr1, attr2;
@@ -2456,7 +2505,7 @@ function initialize() {
num: parseInt(btn.getAttribute("data-awoken-count"), 10)
};
});
const searchResult = searchCards(cards,
let searchResult = searchCards(cards,
attr1, attr2,
s_fixMainColor.checked,
typesFilter,
@@ -2467,7 +2516,20 @@ function initialize() {
s_awokensEquivalent.checked,
s_includeSuperAwoken.checked
);
//console.log("搜索结果", searchResult);

//进行特殊附加搜索
const specialFilters = Array.from(specialFilterUl.querySelectorAll(".special-filter")).map(select=>{
const indexs = select.value.split("|").map(Number);
const funcObj = indexs.length > 1 ? specialSearchFunctions[indexs[0]].functions[indexs[1]] : specialSearchFunctions[indexs[0]];
return funcObj;
});
searchResult = specialFilters.reduce((pre,funcObj)=>
{
if (!funcObj) return pre;
if (funcObj.addition) customAdditionalFunction.push(funcObj.addition); //如果有附加显示,则添加到列表
return funcObj.function(pre); //结果进一步筛选
}, searchResult);
showSearch(searchResult, customAdditionalFunction);
};
searchBox.startSearch = startSearch;
@@ -2488,6 +2550,7 @@ function initialize() {
awokenClear.onclick();
sawokenClear.onclick();
specialClear.onclick();

searchMonList.originalHeads = null;
searchResultCount.setAttribute("data-search-result-count", 0);


+ 7
- 0
solo.html View File

@@ -771,6 +771,13 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="81" id="search-awoken-81" /><label class="awoken-icon" data-awoken-icon="81" for="search-awoken-81"></label><!--5色--></li>
</ul>
</div>
<div class="special-div">
<button class="special-add brown-button"></button>
<button class="special-clear brown-button"></button>
<ul class="special-filter-list">
<li><select class="special-filter"></select></li>
</ul>
</div>
<div class="control-div"><!--控制栏-->
<button class="search-start"><!--开始搜索--></button>
<button class="search-close"><!--关闭搜索--></button>


+ 15
- 2
style.css View File

@@ -1682,7 +1682,9 @@ icon.inflicts::after
}
.search-box .rare-clear::before,
.search-box .awoken-clear::before,
.search-box .sawoken-clear::before
.search-box .sawoken-clear::before,
.search-box .special-add::before,
.search-box .special-clear::before
{
width: 80px;
background-size: 100px 100px;
@@ -1693,7 +1695,9 @@ icon.inflicts::after
padding: 0;
vertical-align: top;
}
.search-box .sawoken-clear::before
.search-box .sawoken-clear::before,
.search-box .special-add::before,
.search-box .special-clear::before
{
width: 50px;
font-size: 14px;
@@ -1827,6 +1831,15 @@ icon.inflicts::after
margin-top: 5px;
}


.special-filter-list>li{
margin-bottom: 5px;
margin-right: 3px;
}
.special-filter-list select{
font-size: 20px;
}

.control-div button{
font-size: 20px;
}


+ 7
- 0
triple.html View File

@@ -1704,6 +1704,13 @@ var formation = new Formation(teamsCount,6);
<li class="awoken-count"><input type="checkbox" class="sawoken-check" name="types" value="81" id="search-awoken-81" /><label class="awoken-icon" data-awoken-icon="81" for="search-awoken-81"></label><!--5色--></li>
</ul>
</div>
<div class="special-div">
<button class="special-add brown-button"></button>
<button class="special-clear brown-button"></button>
<ul class="special-filter-list">
<li><select class="special-filter"></select></li>
</ul>
</div>
<div class="control-div"><!--控制栏-->
<button class="search-start"><!--开始搜索--></button>
<button class="search-close"><!--关闭搜索--></button>


Loading…
Cancel
Save