initializeTrainPairListを移動
This commit is contained in:
parent
6300259e70
commit
4219e12164
@ -48,7 +48,7 @@ export const EachTrainInfo = (props) => {
|
|||||||
const [trainPositionSwitch, setTrainPositionSwitch] = useState("false");
|
const [trainPositionSwitch, setTrainPositionSwitch] = useState("false");
|
||||||
|
|
||||||
const { currentTrain } = useCurrentTrain();
|
const { currentTrain } = useCurrentTrain();
|
||||||
const { trainPairData } = useBusAndTrainData();
|
const { initializeTrainPairList } = useBusAndTrainData();
|
||||||
|
|
||||||
const [currentTrainData, setCurrentTrainData] = useState([]);
|
const [currentTrainData, setCurrentTrainData] = useState([]);
|
||||||
const [nearTrainIDList, setNearTrainIDList] = useState([]);
|
const [nearTrainIDList, setNearTrainIDList] = useState([]);
|
||||||
@ -57,10 +57,8 @@ export const EachTrainInfo = (props) => {
|
|||||||
|
|
||||||
//裏列車探索
|
//裏列車探索
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const trainPairList = {};
|
const trainPairList = initializeTrainPairList();
|
||||||
trainPairData.forEach((d) => {
|
|
||||||
trainPairList[Object.keys(d)[0]] = d[Object.keys(d)[0]];
|
|
||||||
});
|
|
||||||
const returnArray = [];
|
const returnArray = [];
|
||||||
if (!data.trainNum) return;
|
if (!data.trainNum) return;
|
||||||
if (trainPairList[data.trainNum]) {
|
if (trainPairList[data.trainNum]) {
|
||||||
@ -89,33 +87,45 @@ export const EachTrainInfo = (props) => {
|
|||||||
}, [data]);
|
}, [data]);
|
||||||
|
|
||||||
const openBackTrainInfo = (stationInfo, currentTrainIndex) => {
|
const openBackTrainInfo = (stationInfo, currentTrainIndex) => {
|
||||||
console.log(trainData);
|
console.log(trainData); //trainDataは現在の列車の停車駅リスト
|
||||||
console.log(showNearTrain);
|
console.log(showNearTrain); //showNearTrainは裏列車の停車駅リスト
|
||||||
const stationPosition = showNearTrain.findIndex(
|
const mainTrainStationPosition = trainData.findIndex(
|
||||||
(d) => d.split(",")[0] == stationInfo
|
(d) => d.split(",")[0] == stationInfo
|
||||||
);
|
);
|
||||||
const relationBackTrain =
|
const relationMain =
|
||||||
stationPosition == 0
|
mainTrainStationPosition == 0
|
||||||
? "head"
|
? "head"
|
||||||
: stationPosition == showNearTrain.length - 1
|
: mainTrainStationPosition == trainData.length - 1
|
||||||
? "tail"
|
? "tail"
|
||||||
: "middle";
|
: "middle";
|
||||||
if (relationBackTrain === "head") {
|
console.log(relationMain);
|
||||||
|
|
||||||
|
const subTrainStationPosition = showNearTrain.findIndex(
|
||||||
|
(d) => d.split(",")[0] == stationInfo
|
||||||
|
);
|
||||||
|
const relationSub =
|
||||||
|
subTrainStationPosition == 0
|
||||||
|
? "head"
|
||||||
|
: subTrainStationPosition == showNearTrain.length - 1
|
||||||
|
? "tail"
|
||||||
|
: "middle";
|
||||||
|
console.log(relationSub);
|
||||||
|
if (relationSub === "head") {
|
||||||
const migrationTrainData = [
|
const migrationTrainData = [
|
||||||
...trainData.slice(0, currentTrainIndex),
|
...trainData.slice(0, currentTrainIndex),
|
||||||
...showNearTrain,
|
...showNearTrain,
|
||||||
];
|
];
|
||||||
setTrainData(migrationTrainData);
|
setTrainData(migrationTrainData);
|
||||||
} else if (relationBackTrain === "tail") {
|
} else if (relationSub === "tail") {
|
||||||
const migrationTrainData = [
|
const migrationTrainData = [
|
||||||
...showNearTrain.slice(0, showNearTrain.length - 1),
|
...showNearTrain.slice(0, showNearTrain.length - 1),
|
||||||
...trainData.slice(currentTrainIndex),
|
...trainData.slice(currentTrainIndex),
|
||||||
];
|
];
|
||||||
setTrainData(migrationTrainData);
|
setTrainData(migrationTrainData);
|
||||||
} else if (relationBackTrain === "middle") {
|
} else if (relationSub === "middle") {
|
||||||
const migrationTrainData = [
|
const migrationTrainData = [
|
||||||
...trainData.slice(0, currentTrainIndex),
|
...trainData.slice(0, currentTrainIndex),
|
||||||
...showNearTrain.slice(0, stationPosition),
|
...showNearTrain.slice(0, subTrainStationPosition),
|
||||||
...trainData.slice(currentTrainIndex),
|
...trainData.slice(currentTrainIndex),
|
||||||
];
|
];
|
||||||
setTrainData(migrationTrainData);
|
setTrainData(migrationTrainData);
|
||||||
|
@ -4,6 +4,7 @@ const initialState = {
|
|||||||
setBusAndTrainData: () => {},
|
setBusAndTrainData: () => {},
|
||||||
trainPairData: [],
|
trainPairData: [],
|
||||||
setTrainPairData: () => {},
|
setTrainPairData: () => {},
|
||||||
|
initializeTrainPairList: () => {},
|
||||||
};
|
};
|
||||||
|
|
||||||
const BusAndTrainDataContext = createContext(initialState);
|
const BusAndTrainDataContext = createContext(initialState);
|
||||||
@ -15,7 +16,13 @@ export const useBusAndTrainData = () => {
|
|||||||
export const BusAndTrainDataProvider = ({ children }) => {
|
export const BusAndTrainDataProvider = ({ children }) => {
|
||||||
const [busAndTrainData, setBusAndTrainData] = useState([]);
|
const [busAndTrainData, setBusAndTrainData] = useState([]);
|
||||||
const [trainPairData, setTrainPairData] = useState([]);
|
const [trainPairData, setTrainPairData] = useState([]);
|
||||||
|
const initializeTrainPairList = () => {
|
||||||
|
const trainPairList = {};
|
||||||
|
trainPairData.forEach((d) => {
|
||||||
|
trainPairList[Object.keys(d)[0]] = d[Object.keys(d)[0]];
|
||||||
|
});
|
||||||
|
return trainPairList;
|
||||||
|
};
|
||||||
return (
|
return (
|
||||||
<BusAndTrainDataContext.Provider
|
<BusAndTrainDataContext.Provider
|
||||||
value={{
|
value={{
|
||||||
@ -23,6 +30,7 @@ export const BusAndTrainDataProvider = ({ children }) => {
|
|||||||
setBusAndTrainData,
|
setBusAndTrainData,
|
||||||
trainPairData,
|
trainPairData,
|
||||||
setTrainPairData,
|
setTrainPairData,
|
||||||
|
initializeTrainPairList,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
|
Loading…
Reference in New Issue
Block a user