Merge commit 'a785508b45aa296454cf19f5c95892703cdfaa6c' into develop

This commit is contained in:
harukin-expo-dev-env 2025-02-08 10:46:35 +00:00
commit a6b676fe9d

View File

@ -26,21 +26,19 @@ export const injectJavascriptData: InjectJavascriptData = (
document.querySelector('#headerStr').style.display = 'none'; document.querySelector('#headerStr').style.display = 'none';
`; `;
// 何これ // 上部ヘッダーの取り扱い、自動再読み込み、setStringsの実行
const bootData = ` const bootData = `
const setReload = () =>{ const setReload = () =>{
try{ try{
document.getElementById('refreshIcon').click(); document.getElementById('refreshIcon').click();
setStrings(); setStrings();
}catch{ }catch(error){}
}
setTimeout(setReload, 10000); setTimeout(setReload, 10000);
} }
setReload(); setReload();
`; `;
// 左か右かを判定してアイコンを設置する // 左か右かを判定してアイコンを設置する
const trainIconMaker = ` const trainIcon = `
const setStationIcon = (setIconElem,img) =>{ const setStationIcon = (setIconElem,img) =>{
if(setIconElem.getAttribute("style").includes("left")){ if(setIconElem.getAttribute("style").includes("left")){
setIconElem.insertAdjacentHTML('beforebegin', "<img src="+img+" style='float:left;height:20px;'>"); setIconElem.insertAdjacentHTML('beforebegin', "<img src="+img+" style='float:left;height:20px;'>");
@ -50,11 +48,7 @@ export const injectJavascriptData: InjectJavascriptData = (
} }
setIconElem.remove(); setIconElem.remove();
} }
`; const setTrainIcon = (,e) =>{
const trainIcon =
iconSetting == "true"
? `
switch(){ switch(){
//しおかぜメイン //しおかぜメイン
//8000 ノーマル //8000 ノーマル
@ -76,14 +70,14 @@ export const injectJavascriptData: InjectJavascriptData = (
case "25M": case "25M":
case "27M": case "27M":
case "29M": case "29M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s8000nr.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s8000nr.png');
break; break;
//8000 アンパン //8000 アンパン
case "10M": case "10M":
case "22M": case "22M":
case "9M": case "9M":
case "21M": case "21M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s8000ap.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s8000ap.png');
break; break;
@ -96,7 +90,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "11M": case "11M":
case "19M": case "19M":
case "23M": case "23M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s8600.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s8600.png');
break; break;
//いしづちメイン //いしづちメイン
@ -119,7 +113,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "1025M": case "1025M":
case "1027M": case "1027M":
case "1029M": case "1029M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s8000no.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s8000no.png');
break; break;
//8000 アンパン //8000 アンパン
@ -127,7 +121,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "1022M": case "1022M":
case "1009M": case "1009M":
case "1021M": case "1021M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s8000ap.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s8000ap.png');
break; break;
//8600 //8600
@ -139,29 +133,29 @@ export const injectJavascriptData: InjectJavascriptData = (
case "1011M": case "1011M":
case "1019M": case "1019M":
case "1023M": case "1023M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s8600_isz.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s8600_isz.png');
break; break;
//MEXP //MEXP
//8000 //8000
case "1092M": case "1092M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s8000nr.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s8000nr.png');
break; break;
//8600 //8600
case "1091M": case "1091M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s8600_isz.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s8600_isz.png');
break; break;
//三桁いしづち //三桁いしづち
//8000 アンパン //8000 アンパン
case "1041M": case "1041M":
case "1044M": case "1044M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s8000ap.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s8000ap.png');
break; break;
//8600 //8600
case "1043M": case "1043M":
case "1042M": case "1042M":
case "1046M": case "1046M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s8600_isz.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s8600_isz.png');
break; break;
@ -184,7 +178,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "51D": case "51D":
case "53D": case "53D":
case "55D": case "55D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s2700.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2700.png');
break; break;
//2700アンパン //2700アンパン
case "32D": case "32D":
@ -197,7 +191,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "45D": case "45D":
case "49D": case "49D":
case "57D": case "57D":
setStationIcon(element.querySelector("img"),'https://n8n.haruk.in/webhook/dosan-anpanman-pictures.png?trainNum='+); setStationIcon(e.querySelector("img"),'https://n8n.haruk.in/webhook/dosan-anpanman-pictures.png?trainNum='+);
break; break;
@ -217,7 +211,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "3007D": case "3007D":
case "3025D": case "3025D":
case "3031D": case "3031D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s2700_uzu.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2700_uzu.png');
break; break;
//2700 二両編成 //2700 二両編成
@ -230,7 +224,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "3017D": case "3017D":
case "3019D": case "3019D":
case "3023D": case "3023D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s2700_uzu.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2700_uzu.png');
break; break;
//2600 //2600
@ -244,13 +238,13 @@ export const injectJavascriptData: InjectJavascriptData = (
case "3021D": case "3021D":
case "3027D": case "3027D":
case "3033D": case "3033D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s2600.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2600.png');
break; break;
//キハ185 //キハ185
case "3001D": case "3001D":
case "3008D": case "3008D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s185tu_uzu.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s185tu_uzu.png');
break; break;
//マリンライナー //マリンライナー
@ -322,14 +316,14 @@ export const injectJavascriptData: InjectJavascriptData = (
case "3167M": case "3167M":
case "3169M": case "3169M":
case "3175M": case "3175M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s5001.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s5001.png');
break; break;
case "3102M": case "3102M":
case "3101M": case "3101M":
case "3103M": case "3103M":
case "3171M": case "3171M":
case "3173M": case "3173M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s5001k.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s5001k.png');
break; break;
//サンライズ瀬戸 //サンライズ瀬戸
@ -337,7 +331,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "5031M": case "5031M":
case "8041M": //琴平延長高松迄 case "8041M": //琴平延長高松迄
case "8031M": //琴平延長高松以降 case "8031M": //琴平延長高松以降
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/w285.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/w285.png');
break; break;
//宇和海 //宇和海
@ -366,7 +360,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "1075D": case "1075D":
case "1077D": case "1077D":
case "1079D": case "1079D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s2000_uwa.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2000_uwa.png');
break; break;
//2000 アンパン込み //2000 アンパン込み
case "1054D": case "1054D":
@ -377,7 +371,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "1061D": case "1061D":
case "1067D": case "1067D":
case "1081D": case "1081D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s2002a.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2002a.png');
break; break;
//しまんと //しまんと
case "2002D": case "2002D":
@ -388,7 +382,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "2003D": case "2003D":
case "2005D": case "2005D":
case "2007D": case "2007D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s2700_smn.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2700_smn.png');
break; break;
//あしずり 2000 //あしずり 2000
@ -400,7 +394,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "2073D": case "2073D":
case "2079D": case "2079D":
case "2081D": case "2081D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s2000_asi.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2000_asi.png');
break; break;
//あしずり 2700 //あしずり 2700
@ -411,7 +405,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "2077D": case "2077D":
case "2072D": case "2072D":
case "2083D": case "2083D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s2700_asi.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2700_asi.png');
break; break;
//剣山 //剣山
case "4002D": case "4002D":
@ -425,19 +419,19 @@ export const injectJavascriptData: InjectJavascriptData = (
case "4007D": case "4007D":
case "4009D": case "4009D":
case "4011D": case "4011D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s185tu.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s185tu.png');
break; break;
//むろと //むろと
case "8051D": case "8051D":
case "8052D": case "8052D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s185_mrt.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s185_mrt.png');
break; break;
//よしのがわトロッコ //よしのがわトロッコ
case "8452D": case "8452D":
case "8451D": case "8451D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s185to_ai.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s185to_ai.png');
break; break;
//岡山高松アントロ //岡山高松アントロ
@ -446,14 +440,14 @@ export const injectJavascriptData: InjectJavascriptData = (
//岡山琴平アントロ //岡山琴平アントロ
case "8277D": case "8277D":
case "8278D": case "8278D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s32to4.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s32to4.png');
break; break;
//千年ものがたり //千年ものがたり
case "8021D": case "8021D":
case "8022D": case "8022D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s185mm1.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s185mm1.png');
break; break;
//夜明けものがたり //夜明けものがたり
@ -461,18 +455,18 @@ export const injectJavascriptData: InjectJavascriptData = (
case "8083D": case "8083D":
case "8073D": case "8073D":
case "8074D": case "8074D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s185ym1.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s185ym1.png');
break; break;
//ラマルドボア //ラマルドボア
case "9253M": case "9253M":
case "9256M": case "9256M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/w213w.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/w213w.png');
break; break;
// 貨物 // 貨物
case "74": case "74":
case "75": case "75":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/ef65_rp0.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/ef65_rp0.png');
break; break;
case "70": case "70":
case "71": case "71":
@ -490,7 +484,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "8071": case "8071":
case "8072": case "8072":
case "8077": case "8077":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/ef210a.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/ef210a.png');
break; break;
// 普通列車系統、6000系運用 // 普通列車系統、6000系運用
@ -506,7 +500,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "147M": case "147M":
//962運用 //962運用
case "114M": case "114M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s6000p.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s6000p.png');
break; break;
@ -514,31 +508,31 @@ export const injectJavascriptData: InjectJavascriptData = (
// ごな線 // ごな線
case "5851D": //219D併結 [ToDo: 219Dとの分割対策] case "5851D": //219D併結 [ToDo: 219Dとの分割対策]
case "5854D": case "5854D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/tosa9640jgr.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/tosa9640jgr.png');
break; break;
//JR車両乗り入れ運用 //JR車両乗り入れ運用
case "5858D": case "5858D":
case "5869D": case "5869D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s1000.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1000.png');
break; break;
//併結運用の併結される側 [ToDo: 分割対策] //併結運用の併結される側 [ToDo: 分割対策]
case "5845D": case "5845D":
case "5851D": case "5851D":
case "5818D": case "5818D":
case "5820D": case "5820D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/tosa9640.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/tosa9640.png');
break; break;
// 土讃線単体列車のキハ32運用 // 土讃線単体列車のキハ32運用
case "715D": case "715D":
case "718D": case "718D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s32ns.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s32ns.png');
break; break;
// サンライズに伴う気動車代走 // サンライズに伴う気動車代走
case "6219D": case "6219D":
case "6222D": case "6222D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s1000.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1000.png');
break; break;
// それ以外の土讃線ごな線直通列車 // それ以外の土讃線ごな線直通列車
case "5811D": case "5811D":
@ -567,7 +561,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "5876D": case "5876D":
case "5880D": case "5880D":
case "5882D": case "5882D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/tosa9640.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/tosa9640.png');
break; break;
// それ以外の土讃線普通列車(1000) // それ以外の土讃線普通列車(1000)
case "4210D": case "4210D":
@ -688,7 +682,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "757D": case "757D":
case "761D": case "761D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s1000.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1000.png');
break; break;
// 予讃線/土讃線普通列車運用(7000,7200) // 予讃線/土讃線普通列車運用(7000,7200)
// 下り列車(伊予西条-松山は全て7000系) // 下り列車(伊予西条-松山は全て7000系)
@ -742,7 +736,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "155M": case "155M":
case "1263M": case "1263M":
case "157M": case "157M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s7200.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s7200.png');
break; break;
// 下り7000系 // 下り7000系
case "101M": case "101M":
@ -754,7 +748,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "555M": case "555M":
case "4565M": case "4565M":
case "159M": case "159M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s7000.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s7000.png');
break; break;
// 上り列車 7200系 // 上り列車 7200系
case "5102M": case "5102M":
@ -808,7 +802,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "1606M": case "1606M":
case "5160M": case "5160M":
case "5256M": case "5256M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s7200.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s7200.png');
break; break;
// 上り7000系 // 上り7000系
case "114M": case "114M":
@ -819,7 +813,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "4542M": case "4542M":
case "162M": case "162M":
case "4166M": case "4166M":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s7000.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s7000.png');
break; break;
// 松山界隈気動車運用 // 松山界隈気動車運用
// 上り下りの概念アリ // 上り下りの概念アリ
@ -842,28 +836,28 @@ export const injectJavascriptData: InjectJavascriptData = (
case "4824D": case "4824D":
case "4813D": case "4813D":
case "4664D": case "4664D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s32s.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s32s.png');
break; break;
// 河童うようよ号偶数 // 河童うようよ号偶数
case "4816D": case "4816D":
case "4830D": case "4830D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s32kpuy2.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s32kpuy2.png');
break; break;
// 河童うようよ号奇数 // 河童うようよ号奇数
case "4827D": case "4827D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s32kpuy1.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s32kpuy1.png');
break; break;
// 新幹線偶数 // 新幹線偶数
case "4810D": case "4810D":
case "4822D": case "4822D":
case "4826D": case "4826D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s32tht.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s32tht.png');
break; break;
// 新幹線奇数 // 新幹線奇数
case "4817D": case "4817D":
case "4823D": case "4823D":
case "4829D": case "4829D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s32thtk.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s32thtk.png');
break; break;
// キハ54 通常運用 // キハ54 通常運用
case "4632D": case "4632D":
@ -906,29 +900,29 @@ export const injectJavascriptData: InjectJavascriptData = (
case "4922D": case "4922D":
case "4923D": case "4923D":
case "4663D": case "4663D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s54s.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s54s.png');
break; break;
// 54しまんとろっこ // 54しまんとろっこ
case "4623D": case "4623D":
case "8814D": case "8814D":
case "8819D": case "8819D":
case "4662D": case "4662D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s54to0ys.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s54to0ys.png');
break; break;
// キハ185 通常運用 // キハ185 通常運用
case "911D": case "911D":
case "628D": case "628D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s185cm.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s185cm.png');
break; break;
// 伊予灘ものがたり 赤 // 伊予灘ものがたり 赤
case "8091D": case "8091D":
case "8093D": case "8093D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s185iyor.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s185iyor.png');
break; break;
// 伊予灘ものがたり 黄 // 伊予灘ものがたり 黄
case "8092D": case "8092D":
case "8094D": case "8094D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s185iyoy.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s185iyoy.png');
break; break;
// 高徳線、徳島線、牟岐線、鳴門線普通列車系統 // 高徳線、徳島線、牟岐線、鳴門線普通列車系統
// キハ40・47 // キハ40・47
@ -955,7 +949,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "976D": case "976D":
case "980D": case "980D":
case "982D": case "982D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s40.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s40.png');
break; break;
// 1000形 // 1000形
case "4309D": case "4309D":
@ -968,7 +962,7 @@ export const injectJavascriptData: InjectJavascriptData = (
case "473D": case "473D":
case "450D": case "450D":
case "480D": case "480D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s1000.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1000.png');
break; break;
// 1200形 // 1200形
case "4301D": case "4301D":
@ -1016,129 +1010,163 @@ export const injectJavascriptData: InjectJavascriptData = (
case "4962D": case "4962D":
case "4966D": case "4966D":
case "4978D": case "4978D":
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s1200n.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1200n.png');
break; break;
default: //指定車両でなく、Regexでの指定に移動 default: //指定車両でなく、Regexでの指定に移動
// 琴平直通系普通電車 // 琴平直通系普通電車
if(new RegExp(/^(1|4|5)2\\d\\dM$/).test()){ if(new RegExp(/^(1|4|5)2\\d\\dM$/).test()){
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s7200.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s7200.png');
break; break;
} }
else if(new RegExp(/^(1|4|5)(1|5|6)\\d\\dM$/).test()){ else if(new RegExp(/^(1|4|5)(1|5|6)\\d\\dM$/).test()){
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s7000.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s7000.png');
break; break;
} }
else if(new RegExp(/^(1|5|6)\\d\\dM$/).test()){ else if(new RegExp(/^(1|5|6)\\d\\dM$/).test()){
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s7000.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s7000.png');
break; break;
}// 高徳線 普通列車系統 }// 高徳線 普通列車系統
else if(new RegExp(/^(4|5)3\\d\\dD$/).test()){ else if(new RegExp(/^(4|5)3\\d\\dD$/).test()){
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s1500.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png');
break; break;
} }
else if(new RegExp(/^3\\d\\dD$/).test()){ else if(new RegExp(/^3\\d\\dD$/).test()){
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s1500.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png');
break; break;
}// 徳島線 普通列車系統 }// 徳島線 普通列車系統
else if(new RegExp(/^(4|5)4\\d\\dD$/).test()){ else if(new RegExp(/^(4|5)4\\d\\dD$/).test()){
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s1500.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png');
break; break;
} }
else if(new RegExp(/^4\\d\\dD$/).test()){ else if(new RegExp(/^4\\d\\dD$/).test()){
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s1500.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png');
break; break;
}// 鳴門線普通列車系統 }// 鳴門線普通列車系統
else if(new RegExp(/^(4|5)9(5|6|7|8)\\dD$/).test()){ else if(new RegExp(/^(4|5)9(5|6|7|8)\\dD$/).test()){
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s1500.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png');
break; break;
} }
else if(new RegExp(/^9(5|6|7|8)\\dD$/).test()){ else if(new RegExp(/^9(5|6|7|8)\\dD$/).test()){
setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s1500.png'); setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png');
break; break;
} }
// 牟岐線普通列車系統 一旦閉鎖 // 牟岐線普通列車系統 一旦閉鎖
// else if(new RegExp(/^(4|5)5\\d\\dD$/).test(列番データ)){ // else if(new RegExp(/^(4|5)5\\d\\dD$/).test(列番データ)){
// setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s7200.png'); // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s7200.png');
// break; // break;
// } // }
// else if(new RegExp(/^5\\d\\dD$/).test(列番データ)){ // else if(new RegExp(/^5\\d\\dD$/).test(列番データ)){
// setStationIcon(element.querySelector("img"),'https://storage.haruk.in/s7000.png'); // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s7000.png');
// break; // break;
// } // }
break; break;
} }
` }
: ``; `;
const normal_train_name = ` const normal_train_name = `
const nameReplace = (,,) =>{
let isWanman = false;
let trainName = "";
let viaData = "";
let ToData = "";
let TrainNumber = ;
try{
const diagram = trainTimeInfo[];
if(diagram){
const diagramData = diagram.split("#");
ToData = diagramData[diagramData.length - 2].split(",")[0];
}
}catch(e){}
if(.split(":")[1]){
const textBase = .split(":")[1].replace("\\r","");
trainName = textBase;
}
if(.match("サンポート")){ if(.match("サンポート")){
const textBase = .split(":")[1]; const textBase = .split(":")[1].replace("\\r","");
.innerText = textBase+.innerText; .innerText = textBase+.innerText;
trainName = textBase;
} }
if(new RegExp(/^4[1-9]\\d\\d[DM]$/).test() || new RegExp(/^5[1-7]\\d\\d[DM]$/).test() || ==="3621D"){ if(new RegExp(/^4[1-9]\\d\\d[DM]$/).test() || new RegExp(/^5[1-7]\\d\\d[DM]$/).test() || ==="3621D"){
.innerText = "ワンマン\\n"+.innerText; .innerText = "ワンマン\\n"+.innerText;
flag=true; flag=true;
isWanman = true;
} }
if(new RegExp(/^49[0-4]\\dD$/).test() || new RegExp(/^9[0-4]\\dD$/).test()){ if(new RegExp(/^49[0-4]\\dD$/).test() || new RegExp(/^9[0-4]\\dD$/).test()){
.innerText = "(海経由)"+(flag ? "" : "\\n")+.innerText; .innerText = "(海経由)"+(flag ? "" : "\\n")+.innerText;
viaData = "(海経由)";
} }
if(new RegExp(/^46\\d\\dD$/).test() || new RegExp(/^6\\d\\dD$/).test()){ if(new RegExp(/^46\\d\\dD$/).test() || new RegExp(/^6\\d\\dD$/).test()){
.innerText = "(内子経由)"+(flag ? "" : "\\n")+.innerText; .innerText = "(内子経由)"+(flag ? "" : "\\n")+.innerText;
viaData = "(内子経由)";
} }
if(.indexOf("H") != -1){ if(.indexOf("H") != -1){
.innerText = .innerText+"試運転\\n"; .innerText = .innerText+"試運転\\n";
trainName = "試運転";
} }
else if(.indexOf("R") != -1){ else if(.indexOf("R") != -1){
.innerText = .innerText+"回送\\n"; .innerText = .innerText+"回送\\n";
trainName = "回送";
} }
else if(.indexOf("S") != -1){ else if(.indexOf("S") != -1){
.innerText = .innerText+"臨時列車\\n"; .innerText = .innerText+"臨時列車\\n";
trainName = "臨時列車";
} }
`;
const JRF_name = ` let JRF = false;
let JRF = false; const getJRF = num =>{
const getJRF = num =>{
switch(num){ switch(num){
case "71": case "71":
trainName = "東京(タ)→高松(タ)";
return "東京(タ)→高松(タ)"+"\\n"; return "東京(タ)→高松(タ)"+"\\n";
case "73": case "73":
case "75": case "75":
trainName = "大阪(タ)→高松(タ)";
return "大阪(タ)→高松(タ)"+"\\n"; return "大阪(タ)→高松(タ)"+"\\n";
case "3079": case "3079":
trainName = "高松(タ)→伊予三島";
return "高松(タ)→伊予三島"+"\\n"; return "高松(タ)→伊予三島"+"\\n";
case "3071": case "3071":
case "3077": case "3077":
trainName = "高松(タ)→新居浜";
return "高松(タ)→新居浜"+"\\n"; return "高松(タ)→新居浜"+"\\n";
case "3073": case "3073":
trainName = "高松(タ)→松山貨物";
return "高松(タ)→松山貨物"+"\\n"; return "高松(タ)→松山貨物"+"\\n";
case "70": case "70":
trainName = "高松(タ)→東京(タ)";
return "高松(タ)→東京(タ)"+"\\n"; return "高松(タ)→東京(タ)"+"\\n";
case "74": case "74":
case "76": case "76":
trainName = "高松(タ)→大阪(タ)";
return "高松(タ)→大阪(タ)"+"\\n"; return "高松(タ)→大阪(タ)"+"\\n";
case "3078": case "3078":
trainName = "伊予三島→高松(タ)";
return "伊予三島→高松(タ)"+"\\n"; return "伊予三島→高松(タ)"+"\\n";
case "3070": case "3070":
trainName = "新居浜→高松(タ)";
return "新居浜→高松(タ)"+"\\n"; return "新居浜→高松(タ)"+"\\n";
case "3076": case "3076":
trainName = "新居浜→高松(タ)";
return "新居浜→高松(タ)"+"\\n"; return "新居浜→高松(タ)"+"\\n";
case "3072": case "3072":
trainName = "松山貨物→高松(タ)";
return "松山貨物→高松(タ)"+"\\n"; return "松山貨物→高松(タ)"+"\\n";
case "9070": case "9070":
trainName = "臨時貨物";
return "臨時貨物"+"\\n"; return "臨時貨物"+"\\n";
default: default:
JRF = true; JRF = true;
return null; return null;
} }
} }
const data = getJRF(); const data = getJRF();
.innerText = data != null ? data+行き先情報.innerText : 行き先情報.innerText; .innerText = data != null ? data+行き先情報.innerText : 行き先情報.innerText;
`;
const Other_Name = `
const getThrew = num =>{ const getThrew = num =>{
switch(num){ switch(num){
@ -1146,57 +1174,93 @@ const data = getJRF(列番データ);
case "351D": case "351D":
case "468D": case "468D":
case "484D": case "484D":
viaData = "牟岐線直通";
ToData = "牟岐";
return "牟岐線直通\\n牟岐行"; return "牟岐線直通\\n牟岐行";
case "951D": case "951D":
viaData = "牟岐線直通";
ToData = "桑野";
return "牟岐線直通\\n桑野行"; return "牟岐線直通\\n桑野行";
case "4430D": case "4430D":
case "4472D": case "4472D":
viaData = "牟岐線直通";
isWanman = true;
ToData = "牟岐";
return "牟岐線直通\\nワンマン 牟岐行"; return "牟岐線直通\\nワンマン 牟岐行";
case "434D": case "434D":
case "474D": case "474D":
case "478D": case "478D":
case "480D": case "480D":
viaData = "牟岐線直通";
ToData = "阿南";
return "牟岐線直通\\n阿南行"; return "牟岐線直通\\n阿南行";
case "5444D": case "5444D":
case "4452D": case "4452D":
case "4458D": case "4458D":
case "4460D": case "4460D":
case "4466D": case "4466D":
viaData = "牟岐線直通";
isWanman = true;
ToData = "阿南";
return "牟岐線直通\\nワンマン 阿南行"; return "牟岐線直通\\nワンマン 阿南行";
case "4464D": case "4464D":
viaData = "牟岐線直通";
isWanman = true;
ToData = "阿波海南"
return "牟岐線直通\\nワンマン 阿波海南行"; return "牟岐線直通\\nワンマン 阿波海南行";
//安芸行と併結列車を個別に表示、それ以外をdefaultで下りなら既定の行き先を、上りなら奈半利行を設定 //安芸行と併結列車を個別に表示、それ以外をdefaultで下りなら既定の行き先を、上りなら奈半利行を設定
case "5814D": case "5814D":
case "5816D": case "5816D":
viaData = "ごめん・なはり線[快速]";
ToData = "奈半利";
return "ごめん・なはり線直通\\n快速 奈半利行"; return "ごめん・なはり線直通\\n快速 奈半利行";
case "5812D": case "5812D":
viaData = "ごめん・なはり線[快速]";
ToData = "安芸";
return "ごめん・なはり線直通\\n快速 安芸行"; return "ごめん・なはり線直通\\n快速 安芸行";
case "5874D": case "5874D":
case "5882D": case "5882D":
case "5878D": case "5878D":
viaData = "ごめん・なはり線[各停]";
ToData = "安芸";
return "ごめん・なはり線直通\\n各停 安芸行"; return "ごめん・なはり線直通\\n各停 安芸行";
case "246D": case "246D":
case "750D": case "750D":
viaData = "ごめん・なはり線[快速]";
ToData = "(後免にて解結)土佐山田/奈半利";
return "土佐山田/奈半利行\\n(後免にて解結)\\nごめん・なはり線快速"; return "土佐山田/奈半利行\\n(後免にて解結)\\nごめん・なはり線快速";
default: default:
if(new RegExp(/^58[1-3][1,3,5,7,9][DM]$/).test()){ if(new RegExp(/^58[1-3][1,3,5,7,9][DM]$/).test()){
viaData = "ごめん・なはり線[快速]";
return "ごめん・なはり線直通\\n快速 "+.innerText; return "ごめん・なはり線直通\\n快速 "+.innerText;
} }
else if(new RegExp(/^58[4-9][1,3,5,7,9][DM]$/).test()){ else if(new RegExp(/^58[4-9][1,3,5,7,9][DM]$/).test()){
viaData = "ごめん・なはり線[各停]";
return "ごめん・なはり線直通\\n各停 "+.innerText; return "ごめん・なはり線直通\\n各停 "+.innerText;
} }
else if(new RegExp(/^58[3-4][0,2,4,6,8][DM]$/).test()){ else if(new RegExp(/^58[3-4][0,2,4,6,8][DM]$/).test()){
viaData = "ごめん・なはり線[快速]";
ToData = "奈半利";
return "ごめん・なはり線直通\\n快速 奈半利行"; return "ごめん・なはり線直通\\n快速 奈半利行";
} }
else if(new RegExp(/^58[5-9][0,2,4,6,8][DM]$/).test()){ else if(new RegExp(/^58[5-9][0,2,4,6,8][DM]$/).test()){
viaData = "ごめん・なはり線[各停]";
ToData = "奈半利";
return "ごめん・なはり線直通\\n各停 奈半利行"; return "ごめん・なはり線直通\\n各停 奈半利行";
} }
} }
} }
.innerText = getThrew() || .innerText; .innerText = getThrew() || .innerText;
//列番付与
`; .innerText = .innerText++(JRF ? "":"レ");
const returnText1 = (isWanman ? "ワンマン " : "") + trainName + viaData;
const returnText2 = (ToData ? ToData+"行 " : ToData)+ TrainNumber;
.innerText = "";
.insertAdjacentHTML('beforebegin', "<p style='font-size:10px;font-weight:bold;padding:0;'>" + returnText1 + "</p>");
.insertAdjacentHTML('beforebegin', "<div style='display:inline-flex;flex-direction:row;'><p style='font-size:10px;font-weight: bold;padding:0;'>" + (ToData ? ToData + "行 " : ToData) + "</p><p style='font-size:10px;padding:0;'>" + TrainNumber + (JRF ? "":"レ") + "</p></div>");
}
`;
const textInsert = const textInsert =
` `
@ -1205,24 +1269,18 @@ const setStrings = () =>{
try { try {
const elements = document.querySelectorAll('#disp > div > div > div[onclick]'); const elements = document.querySelectorAll('#disp > div > div > div[onclick]');
for (let element of elements) { for (let element of elements) {
if(!element.getAttribute('offclick')){ if(element.getAttribute('offclick')){ continue; }
element.setAttribute('offclick',element.getAttribute('onclick')) element.setAttribute('offclick',element.getAttribute('onclick'))
}
var = element.getElementsByTagName("p")[0]; var = element.getElementsByTagName("p")[0];
var = element.getAttribute('offclick').split('"')[1]; var = element.getAttribute('offclick').split('"')[1];
var = element.getAttribute('offclick').split('"')[3]; var = element.getAttribute('offclick').split('"')[3];
var flag=false; var flag=false;
var TrainType = undefined; var TrainType = undefined;
setTrainMenuDialog(element) setTrainMenuDialog(element)
if(.innerText.includes())continue; //回避
` + ${iconSetting == "true" ? "setTrainIcon(列番データ,element);" : ""}
trainIcon + nameReplace(,,);
normal_train_name +
JRF_name +
Other_Name +
`
//列番付与
.innerText = .innerText++(JRF ? "":"レ");
} }
try{ try{
for(let d of document.getElementById('disp').childNodes){ for(let d of document.getElementById('disp').childNodes){
@ -1319,26 +1377,24 @@ textInsert.observe(document.getElementById('disp'), {
}); });
`; `;
// 列車メニュー表示の起動用スクリプト
const makeTrainView = ` const makeTrainView = `
const makeTrainView = new MutationObserver( (mutations) => {
const makeTrainView = new MutationObserver( (mutations) => {
for(let d of modal_content.getElementsByTagName("button") ){ for(let d of modal_content.getElementsByTagName("button") ){
const data = d.onclick.toString().split("\\"")[1]; const data = d.onclick.toString().split("\\"")[1];
d.onclick = () => window.ReactNativeWebView.postMessage(data) d.onclick = () => window.ReactNativeWebView.postMessage(data)
} }
}); });
// 監視を開始
// 監視を開始 makeTrainView.observe(document.getElementById('modal_content'), {
makeTrainView.observe(document.getElementById('modal_content'), {
//attributes: true, // 属性変化の監視 //attributes: true, // 属性変化の監視
//attributeOldValue: true, // 変化前の属性値を matation.oldValue に格納する //attributeOldValue: true, // 変化前の属性値を matation.oldValue に格納する
//characterData: true, // テキストノードの変化を監視 //characterData: true, // テキストノードの変化を監視
//characterDataOldValue: true, // 変化前のテキストを matation.oldValue に格納する //characterDataOldValue: true, // 変化前のテキストを matation.oldValue に格納する
childList: true, // 子ノードの変化を監視 childList: true, // 子ノードの変化を監視
//subtree: true // 子孫ノードも監視対象に含める //subtree: true // 子孫ノードも監視対象に含める
}); });
`; `;
const makeTrainMenu = const makeTrainMenu =
trainMenu == "true" trainMenu == "true"
? ` ? `
@ -1415,8 +1471,9 @@ setStationMenuDialog.observe(document.querySelector('#disp'), {
return ( return (
bootData + bootData +
topMenu + topMenu +
trainIcon +
normal_train_name +
makeTrainView + makeTrainView +
trainIconMaker +
makeTrainMenu + makeTrainMenu +
textInsert + textInsert +
makeStationMenu makeStationMenu