增加type的and与or选择

This commit is contained in:
枫谷剑仙 2020-04-15 15:32:35 +08:00
parent 02a1ce2ca6
commit 6a05d94354
11 changed files with 59 additions and 38 deletions

View File

@ -255,13 +255,13 @@
content: "Simple Search";
}
.search-box::before{
content: "Search Cards";
content: "Search Cards";
}
.search-box .attrs .attr-list-1::before{
content: "Attribute 1";
content: "Attribute 1:";
}
.search-box .attrs .attr-list-2::before{
content: "Attribute 2";
content: "Attribute 2:";
}
.search-box .attrs .fix-main-color-label::after{
content: "Fix attr-1 for main-attr, attr-2 for sub-attr.";
@ -281,7 +281,7 @@
.search-box .sort-reverse-label::after{
content: "Same";
}
.search-box #sort-reverse:checked+ .sort-reverse-label::after{
.search-box input:checked+ .sort-reverse-label::after{
content: "Reverse";
}
.attrs .attr-all::before{
@ -291,13 +291,13 @@
content: "None";
}
.search-box .types-div::before{
content: "Type (OR)";
content: "Type:";
}
.search-box .awoken-div::before{
content: "Awoken (AND) (Tips: Click on number to reduce value)";
content: "Awoken (AND) (Tips: Click on number to reduce value)";
}
.search-box .sawoken-div::before{
content: "Super Awoken (OR)";
content: "Super Awoken (OR)";
}
.control-div .search-start::before{
content: "🔍Start Search";

View File

@ -248,13 +248,13 @@
content: "簡単な検索";
}
.search-box::before{
content: "モンスターの検索";
content: "モンスターの検索";
}
.search-box .attrs .attr-list-1::before{
content: "属性 1";
content: "属性 1:";
}
.search-box .attrs .attr-list-2::before{
content: "属性 2";
content: "属性 2:";
}
.search-box .attrs .fix-main-color-label::after{
content: "限定 属性 1->主属性,属性 2->副属性";
@ -274,7 +274,7 @@
.search-box .sort-reverse-label::after{
content: "正序";
}
.search-box #sort-reverse:checked+ .sort-reverse-label::after{
.search-box input:checked+ .sort-reverse-label::after{
content: "逆序";
}
.attrs .attr-all::before{
@ -284,13 +284,13 @@
content: "空";
}
.search-box .types-div::before{
content: "タイプOR";
content: "タイプ:";
}
.search-box .awoken-div::before{
content: "覚醒ANDしえ:数値をクリックすると数値が減少します)";
content: "覚醒ANDしえ:数値をクリックすると数値が減少します)";
}
.search-box .sawoken-div::before{
content: "超覚醒OR";
content: "超覚醒OR";
}
.control-div .search-start::before{
content: "🔍検索の開始";

View File

@ -248,13 +248,13 @@
content: "간단한 검색";
}
.search-box::before{
content: "몬스터 검색";
content: "몬스터 검색";
}
.search-box .attrs .attr-list-1::before{
content: "속성 1";
content: "속성 1:";
}
.search-box .attrs .attr-list-2::before{
content: "속성 1";
content: "속성 1:";
}
.search-box .attrs .fix-main-color-label::after{
content: "제한 속성 1은 기본 속성 이며 속성 2 하위 속성입니다.";
@ -274,7 +274,7 @@
.search-box .sort-reverse-label::after{
content: "양의";
}
.search-box #sort-reverse:checked+ .sort-reverse-label::after{
.search-box input:checked+ .sort-reverse-label::after{
content: "역순";
}
.attrs .attr-all::before{
@ -284,13 +284,13 @@
content: "없음";
}
.search-box .types-div::before{
content: "형식OR";
content: "형식:";
}
.search-box .awoken-div::before{
content: "각성AND번째:숫자를 누르면 숫자가 낮아집니다)";
content: "각성AND번째:숫자를 누르면 숫자가 낮아집니다)";
}
.search-box .sawoken-div::before{
content: "슈퍼 각성OR";
content: "슈퍼 각성OR";
}
.control-div .search-start::before{
content: "🔍검색 시작";

View File

@ -254,13 +254,13 @@
content: "簡易搜索";
}
.search-box::before{
content: "搜索怪物";
content: "搜索怪物";
}
.search-box .attrs .attr-list-1::before{
content: "屬性 1";
content: "屬性 1";
}
.search-box .attrs .attr-list-2::before{
content: "屬性 2";
content: "屬性 2";
}
.search-box .attrs .fix-main-color-label::after{
content: "限制屬性 1 爲主屬性,屬性 2 爲副屬性";
@ -280,7 +280,7 @@
.search-box .sort-reverse-label::after{
content: "順序";
}
.search-box #sort-reverse:checked+ .sort-reverse-label::after{
.search-box input:checked+ .sort-reverse-label::after{
content: "逆序";
}
.attrs .attr-all::before{
@ -290,13 +290,13 @@
content: "無";
}
.search-box .types-div::before{
content: "類型OR";
content: "類型";
}
.search-box .awoken-div::before{
content: "覺醒AND提示點擊數字可減少數值";
content: "覺醒AND提示點擊數字可減少數值";
}
.search-box .sawoken-div::before{
content: "超覺醒OR";
content: "超覺醒OR";
}
.control-div .search-start::before{
content: "🔍開始搜索";

View File

@ -254,13 +254,13 @@
content: "简易搜索";
}
.search-box::before{
content: "搜索怪物";
content: "搜索怪物";
}
.search-box .attrs .attr-list-1::before{
content: "属性 1";
content: "属性 1";
}
.search-box .attrs .attr-list-2::before{
content: "属性 2";
content: "属性 2";
}
.search-box .attrs .fix-main-color-label::after{
content: "限制属性 1 为主属性,属性 2 为副属性";
@ -280,7 +280,7 @@
.search-box .sort-reverse-label::after{
content: "顺序";
}
.search-box #sort-reverse:checked+ .sort-reverse-label::after{
.search-box input:checked+ .sort-reverse-label::after{
content: "逆序";
}
.attrs .attr-all::before{
@ -290,13 +290,13 @@
content: "无";
}
.search-box .types-div::before{
content: "类型OR";
content: "类型";
}
.search-box .awoken-div::before{
content: "觉醒AND提示点击数字可减少数值";
content: "觉醒AND提示点击数字可减少数值";
}
.search-box .sawoken-div::before{
content: "超觉醒OR";
content: "超觉醒OR";
}
.control-div .search-start::before{
content: "🔍开始搜索";

View File

@ -482,6 +482,7 @@ var formation = new Formation(teamsCount,5);
<li><input type="checkbox" class="type-check" name="types" value="15" id="search-type-15" /><label class="type-icon" data-type-icon="15" for="search-type-15"><!--販賣用--></label></li>
<!--<li><input type="checkbox" class="type-check" name="types" value="9" id="search-type-9" /><label class="display-none" data-type-icon="9" for="search-type-9"></label></li>--><!--特别保护-->
</ul>
<input type="checkbox" class="config-checkbox-ipt" name="type-and-or" id="type-and-or"><label class="config-checkbox-lbl type-and-or-label" for="type-and-or"><div class="config-checkbox-lbl-cicle"></div></label>
</div>
<div class="awoken-div"><!--觉醒-->
<button class="awoken-clear" ></button>

View File

@ -353,7 +353,7 @@ function calculateAbility(member = null, assist = null, solo = true)
return abilitys;
}
//搜索卡片用
function searchCards(cards,attr1,attr2,fixMainColor,types,awokens,sawokens,equalAk,incSawoken)
function searchCards(cards,attr1,attr2,fixMainColor,types,typeAndOr,awokens,sawokens,equalAk,incSawoken)
{
let cardsRange = cards.concat(); //这里需要复制一份原来的数组不然若无筛选后面的排序会改变初始Cards
//属性
@ -384,7 +384,10 @@ function searchCards(cards,attr1,attr2,fixMainColor,types,awokens,sawokens,equal
//类型
if (types.length>0)
{
cardsRange = cardsRange.filter(c=>types.some(t=>c.types.includes(t)));
cardsRange = cardsRange.filter(c=>typeAndOr ?
types.every(t=>c.types.includes(t)) : //所有type都满足
types.some(t=>c.types.includes(t)) //只需要满足一个type
);
}
//觉醒
//等效觉醒时,事先去除大觉醒

View File

@ -807,6 +807,7 @@ function initialize()
const s_attr2s = Array.from(searchBox.querySelectorAll(".attrs .attr-list-2 .attr-radio"));
const s_fixMainColor = searchBox.querySelector("#fix-main-color");
const s_types = Array.from(searchBox.querySelectorAll(".types-div .type-check"));
const s_typeAndOr = searchBox.querySelector("#type-and-or");
const s_awokensItems = Array.from(searchBox.querySelectorAll(".awoken-div .awoken-count"));
const s_awokensIcons = s_awokensItems.map(it=>it.querySelector(".awoken-icon"));
const s_awokensCounts = s_awokensItems.map(it=>it.querySelector(".count"));
@ -945,6 +946,7 @@ function initialize()
attr1,attr2,
s_fixMainColor.checked,
typesFilter,
s_typeAndOr.checked,
awokensFilter,
sawokensFilter,
s_awokensEquivalent.checked,
@ -1633,9 +1635,9 @@ function changeid(mon,monDom,latentDom)
levelDom.classList.remove("_110");
}
}
const awokenIcon = monDom.querySelector(".awoken-count");
if (mon.awoken>-1) //如果提供了觉醒
{
const awokenIcon = monDom.querySelector(".awoken-count");
if (mon.awoken == 0 || card.awakenings.length < 1 || !awokenIcon) //没觉醒
{
awokenIcon.classList.add(className_displayNone);
@ -1652,6 +1654,9 @@ function changeid(mon,monDom,latentDom)
awokenIcon.classList.remove("full-awoken");
}
}
}else if (card.awakenings.length < 1)
{
awokenIcon.classList.add("display-none");
}
const sawoken = monDom.querySelector(".super-awoken");
if (sawoken) //如果存在超觉醒的DOM且提供了超觉醒

View File

@ -434,6 +434,7 @@ var formation = new Formation(teamsCount,6);
<li><input type="checkbox" class="type-check" name="types" value="15" id="search-type-15" /><label class="type-icon" data-type-icon="15" for="search-type-15"><!--販賣用--></label></li>
<!--<li><input type="checkbox" class="type-check" name="types" value="9" id="search-type-9" /><label class="display-none" data-type-icon="9" for="search-type-9"></label></li>--><!--特别保护-->
</ul>
<input type="checkbox" class="config-checkbox-ipt" name="type-and-or" id="type-and-or"><label class="config-checkbox-lbl type-and-or-label" for="type-and-or"><div class="config-checkbox-lbl-cicle"></div></label>
</div>
<div class="awoken-div"><!--觉醒-->
<button class="awoken-clear" ></button>

View File

@ -130,6 +130,12 @@ body{
margin-right: 20px;
display: inline-block;
}
.config-checkbox-lbl[for$=and-or]::after{
content: "OR";
}
input:checked+ .config-checkbox-lbl[for$=and-or]::after{
content: "AND";
}
.status{
line-height: 16px;
@ -841,6 +847,10 @@ ul{
.types-div .type-list input:checked~label{
opacity: 1;
}
.types-div .type-and-or-label{
margin-left: 10px;
margin-right: 0;
}
/*.search-box .awoken-div::before{
content: "觉醒";
}*/

View File

@ -1069,6 +1069,7 @@ var formation = new Formation(teamsCount,6);
<li><input type="checkbox" class="type-check" name="types" value="15" id="search-type-15" /><label class="type-icon" data-type-icon="15" for="search-type-15"><!--販賣用--></label></li>
<!--<li><input type="checkbox" class="type-check" name="types" value="9" id="search-type-9" /><label class="display-none" data-type-icon="9" for="search-type-9"></label></li>--><!--特别保护-->
</ul>
<input type="checkbox" class="config-checkbox-ipt" name="type-and-or" id="type-and-or"><label class="config-checkbox-lbl type-and-or-label" for="type-and-or"><div class="config-checkbox-lbl-cicle"></div></label>
</div>
<div class="awoken-div"><!--觉醒-->
<button class="awoken-clear" ></button>