将自动压缩功能修改为非必须

This commit is contained in:
枫谷剑仙 2020-05-04 12:59:06 +08:00
parent 6e51c5248c
commit c74a8aee5d
9 changed files with 46 additions and 8 deletions

View File

@ -248,6 +248,9 @@
.control-box .change-swap-to-copy-lbl::after{ .control-box .change-swap-to-copy-lbl::after{
content:"Change \"Swap\" to \"Copy\" when dragging"; content:"Change \"Swap\" to \"Copy\" when dragging";
} }
.control-box .zip-data-lbl::after{
content:"Auto compress formation data in the URL";
}
.team-total-info .tIf-total-hp::before{ .team-total-info .tIf-total-hp::before{
content: "Team HP(Team Awoken & Badge): "; content: "Team HP(Team Awoken & Badge): ";
} }

View File

@ -241,6 +241,9 @@
.control-box .change-swap-to-copy-lbl::after{ .control-box .change-swap-to-copy-lbl::after{
content:"ドラッグ時に「スワップ」を「コピー」に変更"; content:"ドラッグ時に「スワップ」を「コピー」に変更";
} }
.control-box .zip-data-lbl::after{
content:"URL 内のフォーメーション データを自動圧縮する";
}
.team-total-info .tIf-total-hp::before{ .team-total-info .tIf-total-hp::before{
content: "チームHP(チーム覚醒とバッジ):"; content: "チームHP(チーム覚醒とバッジ):";
} }

View File

@ -241,6 +241,9 @@
.control-box .change-swap-to-copy-lbl::after{ .control-box .change-swap-to-copy-lbl::after{
content:"드래그할 때 \"바꾸기\"를 \"복사\"로 변경"; content:"드래그할 때 \"바꾸기\"를 \"복사\"로 변경";
} }
.control-box .zip-data-lbl::after{
content:"URL에서 형성 데이터를 자동 압축";
}
.team-total-info .tIf-total-hp::before{ .team-total-info .tIf-total-hp::before{
content: "팀 HP(팀 각성 및 배지):"; content: "팀 HP(팀 각성 및 배지):";
} }

View File

@ -247,6 +247,9 @@
.control-box .change-swap-to-copy-lbl::after{ .control-box .change-swap-to-copy-lbl::after{
content:"拖拽時使用“複製”而不是“替換”"; content:"拖拽時使用“複製”而不是“替換”";
} }
.control-box .zip-data-lbl::after{
content:"自動壓縮URL中的隊伍數據";
}
.team-total-info .tIf-total-hp::before{ .team-total-info .tIf-total-hp::before{
content: "隊伍HP(隊伍覺醒和徽章)"; content: "隊伍HP(隊伍覺醒和徽章)";
} }

View File

@ -247,6 +247,9 @@
.control-box .change-swap-to-copy-lbl::after{ .control-box .change-swap-to-copy-lbl::after{
content:"拖拽时使用“复制”而不是“替换”"; content:"拖拽时使用“复制”而不是“替换”";
} }
.control-box .zip-data-lbl::after{
content:"自动压缩URL中的队伍数据";
}
.team-total-info .tIf-total-hp::before{ .team-total-info .tIf-total-hp::before{
content: "队伍HP(队伍觉醒和徽章)"; content: "队伍HP(队伍觉醒和徽章)";
} }

View File

@ -50,6 +50,7 @@ var formation = new Formation(teamsCount,5);
<input type="checkbox" class="config-checkbox-ipt" name="show-mon-id" id="show-mon-id" onclick="toggleDomClassName(this,'not-show-mon-id',false);" checked><label class="config-checkbox-lbl show-mon-id-lbl" for="show-mon-id"><div class="config-checkbox-lbl-cicle"></div></label> <input type="checkbox" class="config-checkbox-ipt" name="show-mon-id" id="show-mon-id" onclick="toggleDomClassName(this,'not-show-mon-id',false);" checked><label class="config-checkbox-lbl show-mon-id-lbl" for="show-mon-id"><div class="config-checkbox-lbl-cicle"></div></label>
<input type="checkbox" class="config-checkbox-ipt" name="btn-show-mon-skill-cd" id="btn-show-mon-skill-cd" onclick="toggleDomClassName(this,'show-mon-skill-cd');"><label class="config-checkbox-lbl btn-show-mon-skill-cd-lbl" for="btn-show-mon-skill-cd"><div class="config-checkbox-lbl-cicle"></div></label> <input type="checkbox" class="config-checkbox-ipt" name="btn-show-mon-skill-cd" id="btn-show-mon-skill-cd" onclick="toggleDomClassName(this,'show-mon-skill-cd');"><label class="config-checkbox-lbl btn-show-mon-skill-cd-lbl" for="btn-show-mon-skill-cd"><div class="config-checkbox-lbl-cicle"></div></label>
<input type="checkbox" class="config-checkbox-ipt" name="change-swap-to-copy" id="change-swap-to-copy"><label class="config-checkbox-lbl change-swap-to-copy-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label> <input type="checkbox" class="config-checkbox-ipt" name="change-swap-to-copy" id="change-swap-to-copy"><label class="config-checkbox-lbl change-swap-to-copy-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label>
<input type="checkbox" class="config-checkbox-ipt" name="zip-data" id="zip-data"><label class="config-checkbox-lbl zip-data-lbl" for="zip-data"><div class="config-checkbox-lbl-cicle"></div></label>
</div> </div>
<div class="status"><span class="icon"></span><span class="text"></span></div> <div class="status"><span class="icon"></span><span class="text"></span></div>
</div> </div>

View File

@ -13,6 +13,7 @@ var statusLine; //储存状态栏
var formationBox; //储存整个formationBox var formationBox; //储存整个formationBox
var editBox; //储存整个editBox var editBox; //储存整个editBox
var showSearch; //整个程序都可以用的显示搜索函数 var showSearch; //整个程序都可以用的显示搜索函数
var zipURL; //储存是否压缩网址数据
const dataStructure = 3; //阵型输出数据的结构版本 const dataStructure = 3; //阵型输出数据的结构版本
const className_displayNone = "display-none"; const className_displayNone = "display-none";
@ -338,6 +339,15 @@ window.onload = function()
{ {
controlBox = document.body.querySelector(".control-box"); controlBox = document.body.querySelector(".control-box");
statusLine = controlBox.querySelector(".status"); //显示当前状态的 statusLine = controlBox.querySelector(".status"); //显示当前状态的
const zipClassName = 'zip-data';
const zipData = controlBox.querySelector(`#${zipClassName}`);
zipData.onchange = function(){
localStorage.setItem("PADDF-" + zipClassName, this.checked ? 1 : 0);
zipURL = this.checked;
}
zipData.checked = Boolean(parseInt(localStorage.getItem("PADDF-" + zipClassName)));
zipData.onchange();
const helpLink = controlBox.querySelector(".help-link"); const helpLink = controlBox.querySelector(".help-link");
interchangeSVG = document.body.querySelector("#interchange-line"); interchangeSVG = document.body.querySelector("#interchange-line");
interchangeSVG.line = interchangeSVG.querySelector("g line"); interchangeSVG.line = interchangeSVG.querySelector("g line");
@ -602,8 +612,9 @@ function reloadFormationData()
{ {
if (parameterDataString.charAt(0) != '{') if (parameterDataString.charAt(0) != '{')
{ {
console.log('数据字符串:',parameterDataString.length,parameterDataString);
parameterDataString = pako.inflate(parameterDataString,{to:'string'}) parameterDataString = pako.inflate(parameterDataString,{to:'string'})
console.log('数据字符串解压结果:',parameterDataString); console.log('数据字符串解压结果:',parameterDataString.length,parameterDataString);
} }
formationData = JSON.parse(parameterDataString); formationData = JSON.parse(parameterDataString);
} }
@ -633,12 +644,21 @@ function creatNewUrl(arg){
if (datasource && datasource!="ja") newSearch.set("s",datasource); if (datasource && datasource!="ja") newSearch.set("s",datasource);
const dataJsonStr = JSON.stringify(outObj); //数据部分的字符串 const dataJsonStr = JSON.stringify(outObj); //数据部分的字符串
const deflate = pako.deflate(dataJsonStr,{to:'string'}); if (zipURL.checked)
{
if (outObj) newSearch.set("d", const deflate = pako.deflate(dataJsonStr,{to:'string'});
deflate.length < dataJsonStr.length ? //压缩后长度小于压缩前长度 const teamSearch1 = new URLSearchParams();
deflate : //使用压缩字符串 const teamSearch2 = new URLSearchParams();
dataJsonStr); //使用原始字符串 teamSearch1.set('d',dataJsonStr);
teamSearch2.set('d',deflate);
if (outObj) newSearch.set("d",
teamSearch2.length < teamSearch1.length ? //压缩后长度小于压缩前长度
deflate : //使用压缩字符串
dataJsonStr); //使用原始字符串
}else
{
newSearch.set("d", dataJsonStr);
}
const newUrl = (arg.url || "") + '?' + newSearch.toString(); const newUrl = (arg.url || "") + '?' + newSearch.toString();
@ -1239,8 +1259,8 @@ function initialize()
{ {
refreshLatent(latent,monid,monEditLatents); refreshLatent(latent,monid,monEditLatents);
}; };
const s_hideLessUseLetent = settingBox.querySelector("#hide-less-use-latent");
const hideClassName = 'hide-less-use-latent'; const hideClassName = 'hide-less-use-latent';
const s_hideLessUseLetent = settingBox.querySelector(`#${hideClassName}`);
s_hideLessUseLetent.onchange = function(){ s_hideLessUseLetent.onchange = function(){
toggleDomClassName(this, hideClassName, true, monEditLatentAllowableUl); toggleDomClassName(this, hideClassName, true, monEditLatentAllowableUl);
localStorage.setItem("PADDF-" + hideClassName, this.checked ? 1 : 0); localStorage.setItem("PADDF-" + hideClassName, this.checked ? 1 : 0);

View File

@ -49,6 +49,7 @@ var formation = new Formation(teamsCount,6);
<input type="checkbox" class="config-checkbox-ipt" name="show-mon-id" id="show-mon-id" onclick="toggleDomClassName(this,'not-show-mon-id',false);" checked><label class="config-checkbox-lbl show-mon-id-lbl" for="show-mon-id"><div class="config-checkbox-lbl-cicle"></div></label> <input type="checkbox" class="config-checkbox-ipt" name="show-mon-id" id="show-mon-id" onclick="toggleDomClassName(this,'not-show-mon-id',false);" checked><label class="config-checkbox-lbl show-mon-id-lbl" for="show-mon-id"><div class="config-checkbox-lbl-cicle"></div></label>
<input type="checkbox" class="config-checkbox-ipt" name="btn-show-mon-skill-cd" id="btn-show-mon-skill-cd" onclick="toggleDomClassName(this,'show-mon-skill-cd');"><label class="config-checkbox-lbl btn-show-mon-skill-cd-lbl" for="btn-show-mon-skill-cd"><div class="config-checkbox-lbl-cicle"></div></label> <input type="checkbox" class="config-checkbox-ipt" name="btn-show-mon-skill-cd" id="btn-show-mon-skill-cd" onclick="toggleDomClassName(this,'show-mon-skill-cd');"><label class="config-checkbox-lbl btn-show-mon-skill-cd-lbl" for="btn-show-mon-skill-cd"><div class="config-checkbox-lbl-cicle"></div></label>
<input type="checkbox" class="config-checkbox-ipt" name="change-swap-to-copy" id="change-swap-to-copy"><label class="config-checkbox-lbl change-swap-to-copy-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label> <input type="checkbox" class="config-checkbox-ipt" name="change-swap-to-copy" id="change-swap-to-copy"><label class="config-checkbox-lbl change-swap-to-copy-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label>
<input type="checkbox" class="config-checkbox-ipt" name="zip-data" id="zip-data"><label class="config-checkbox-lbl zip-data-lbl" for="zip-data"><div class="config-checkbox-lbl-cicle"></div></label>
</div> </div>
<div class="status"><span class="icon"></span><span class="text"></span></div> <div class="status"><span class="icon"></span><span class="text"></span></div>
</div> </div>

View File

@ -64,6 +64,7 @@ var formation = new Formation(teamsCount,6);
<input type="checkbox" class="config-checkbox-ipt" name="btn-show-mon-skill-cd" id="btn-show-mon-skill-cd" onclick="toggleDomClassName(this,'show-mon-skill-cd');"><label class="config-checkbox-lbl btn-show-mon-skill-cd-lbl" for="btn-show-mon-skill-cd"><div class="config-checkbox-lbl-cicle"></div></label> <input type="checkbox" class="config-checkbox-ipt" name="btn-show-mon-skill-cd" id="btn-show-mon-skill-cd" onclick="toggleDomClassName(this,'show-mon-skill-cd');"><label class="config-checkbox-lbl btn-show-mon-skill-cd-lbl" for="btn-show-mon-skill-cd"><div class="config-checkbox-lbl-cicle"></div></label>
<input type="checkbox" class="config-checkbox-ipt" name="btn-show-awoken-count" id="btn-show-awoken-count" onclick="toggleDomClassName(this,'not-show-awoken-count',false);" checked><label class="config-checkbox-lbl btn-show-awoken-count-lbl" for="btn-show-awoken-count"><div class="config-checkbox-lbl-cicle"></div></label> <input type="checkbox" class="config-checkbox-ipt" name="btn-show-awoken-count" id="btn-show-awoken-count" onclick="toggleDomClassName(this,'not-show-awoken-count',false);" checked><label class="config-checkbox-lbl btn-show-awoken-count-lbl" for="btn-show-awoken-count"><div class="config-checkbox-lbl-cicle"></div></label>
<input type="checkbox" class="config-checkbox-ipt" name="change-swap-to-copy" id="change-swap-to-copy"><label class="config-checkbox-lbl change-swap-to-copy-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label> <input type="checkbox" class="config-checkbox-ipt" name="change-swap-to-copy" id="change-swap-to-copy"><label class="config-checkbox-lbl change-swap-to-copy-lbl" for="change-swap-to-copy"><div class="config-checkbox-lbl-cicle"></div></label>
<input type="checkbox" class="config-checkbox-ipt" name="zip-data" id="zip-data"><label class="config-checkbox-lbl zip-data-lbl" for="zip-data"><div class="config-checkbox-lbl-cicle"></div></label>
</div> </div>
<div class="status"><span class="icon"></span><span class="text"></span></div> <div class="status"><span class="icon"></span><span class="text"></span></div>
</div> </div>