Browse Source

laanc 비행구역 저장할 때만 elev값 Redux 저장

pull/2/head
junh_eee(이준희) 11 months ago
parent
commit
b9340db116
  1. 23
      src/components/laanc/map/FlightArea.js
  2. 4
      src/components/laanc/map/LaancAreaMap.js
  3. 7
      src/components/laanc/map/LaancDrawControl.js

23
src/components/laanc/map/FlightArea.js

@ -1,7 +1,6 @@
import 'mapbox-gl/dist/mapbox-gl.css'; import 'mapbox-gl/dist/mapbox-gl.css';
import mapboxgl from 'mapbox-gl'; import mapboxgl from 'mapbox-gl';
import threebox from 'threebox-plugin'; import threebox from 'threebox-plugin';
import * as turf from '@turf/turf';
import MapboxLanguage from '@mapbox/mapbox-gl-language'; import MapboxLanguage from '@mapbox/mapbox-gl-language';
import MapboxDraw from '@mapbox/mapbox-gl-draw'; import MapboxDraw from '@mapbox/mapbox-gl-draw';
import { import {
@ -38,11 +37,10 @@ import flatGimpo from '../../map/geojson/flatGimpoAirportAirArea.json';
import gimpo from '../../map/geojson/gimpoAirportAirArea.json'; import gimpo from '../../map/geojson/gimpoAirportAirArea.json';
import geoJson from '../../map/geojson/airArea.json'; import geoJson from '../../map/geojson/airArea.json';
import axios from '../../../modules/utils/customAxiosUtil'; import axios from '../../../modules/utils/customAxiosUtil';
import { ErrorModal } from '../../modal/ErrorModal';
import { FeatureAirZone } from '../../map/mapbox/feature/FeatureAirZone'; import { FeatureAirZone } from '../../map/mapbox/feature/FeatureAirZone';
import { WeatherContainer } from '../../../containers/basis/flight/plan/WeatherContainer'; import { WeatherContainer } from '../../../containers/basis/flight/plan/WeatherContainer';
import { InfoModal } from '../../modal/InfoModal';
import { initFlightBas } from '../../../modules/laanc/models/laancModels'; import { initFlightBas } from '../../../modules/laanc/models/laancModels';
import * as LaancAction from '../../../modules/laanc/actions/laancActions';
const initialAddData = { const initialAddData = {
isAddable: false, isAddable: false,
@ -78,6 +76,8 @@ export default function FlightArea({
const [addData, setAddData] = useState(initialAddData); const [addData, setAddData] = useState(initialAddData);
const [saveData, setSaveData] = useState(); const [saveData, setSaveData] = useState();
const [saveElev, setSaveElev] = useState();
const { laancElev } = useSelector(state => state.laancState);
//날씨 임시 데이터 //날씨 임시 데이터
const [wheather, setWheather] = useState([]); const [wheather, setWheather] = useState([]);
@ -96,12 +96,19 @@ export default function FlightArea({
const area = areaCoordList[0]; const area = areaCoordList[0];
if (area.areaType && area.areaType !== '') { if (area.areaType && area.areaType !== '') {
if (!centeredModal && previewLayer) handlerPreviewDraw(); if (!centeredModal && previewLayer) handlerPreviewDraw();
// if (!centeredModal && previewLayer) handlerPrivewDrawObj();
} }
setWheather(areaCoordList); setWheather(areaCoordList);
} }
}, [areaCoordList, centeredModal, previewLayer]); }, [areaCoordList, centeredModal, previewLayer]);
// useEffect(() => {
// console.log(saveElev, '---elev');
// }, [saveElev]);
// useEffect(() => {
// console.log(laancElev, '---laancelev');
// }, [laancElev]);
const handlerCreateAirSpace = ( const handlerCreateAirSpace = (
map, map,
useGeoJson = { useGeoJson = {
@ -499,8 +506,6 @@ export default function FlightArea({
.getAll() .getAll()
.features.filter(obj => obj.properties.id !== 'BUFFER'); .features.filter(obj => obj.properties.id !== 'BUFFER');
handlerDrawType(obj[0].properties.id); handlerDrawType(obj[0].properties.id);
} else {
// alert('구역은 최대 2개까지 설정 가능합니다.');
} }
}; };
@ -526,6 +531,10 @@ export default function FlightArea({
dispatch(AREA_COORDINATE_LIST_SAVE(init)); dispatch(AREA_COORDINATE_LIST_SAVE(init));
}; };
const handlerSaveElev = elev => {
setSaveElev(elev);
};
return ( return (
<div className='vertically-centered-modal'> <div className='vertically-centered-modal'>
<div> <div>
@ -562,6 +571,7 @@ export default function FlightArea({
handlerAddChange={handlerAddChange} handlerAddChange={handlerAddChange}
addData={addData} addData={addData}
setSaveData={setSaveData} setSaveData={setSaveData}
handlerSaveElev={handlerSaveElev}
/> />
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
@ -644,6 +654,7 @@ export default function FlightArea({
disabled={!isSaveable} disabled={!isSaveable}
onClick={() => { onClick={() => {
handlerSave(); handlerSave();
dispatch(LaancAction.LAANC_ALTITUDE.success(saveElev));
}} }}
> >
{/* 닫기 */} {/* 닫기 */}

4
src/components/laanc/map/LaancAreaMap.js

@ -42,7 +42,8 @@ export default function LaancAreaMap({
handlerAddChange, handlerAddChange,
addData, addData,
handlerInitCoordinates, handlerInitCoordinates,
setSaveData setSaveData,
handlerSaveElev
}) { }) {
const dispatch = useDispatch(); const dispatch = useDispatch();
const mapControl = useSelector(state => state.controlMapReducer); const mapControl = useSelector(state => state.controlMapReducer);
@ -413,6 +414,7 @@ export default function LaancAreaMap({
handlerInitCoordinates={handlerInitCoordinates} handlerInitCoordinates={handlerInitCoordinates}
setSaveData={setSaveData} setSaveData={setSaveData}
handlerAreaInfoToAreaList={handlerAreaInfoToAreaList} handlerAreaInfoToAreaList={handlerAreaInfoToAreaList}
handlerSaveElev={handlerSaveElev}
/> />
<FeatureAirZone map={mapObject} mapboxgl={mapboxgl} /> <FeatureAirZone map={mapObject} mapboxgl={mapboxgl} />
{modal ? ( {modal ? (

7
src/components/laanc/map/LaancDrawControl.js

@ -20,7 +20,6 @@ export const LaancDrawControl = props => {
const dispatch = useDispatch(); const dispatch = useDispatch();
const mapControl = useSelector(state => state.controlMapReducer); const mapControl = useSelector(state => state.controlMapReducer);
const { laancElev } = useSelector(state => state.laancState);
const drawObj = props.drawObj; const drawObj = props.drawObj;
const mapObject = props.mapObject; const mapObject = props.mapObject;
@ -35,10 +34,6 @@ export const LaancDrawControl = props => {
desc: '' desc: ''
}); });
// useEffect(() => {
// console.log(laancElev, '----elev');
// }, [laancElev]);
useEffect(() => { useEffect(() => {
const areaType = props.areaCoordList[0].areaType; const areaType = props.areaCoordList[0].areaType;
const drawType = mapControl.drawType; const drawType = mapControl.drawType;
@ -214,7 +209,7 @@ export const LaancDrawControl = props => {
console.log('unableElev'); console.log('unableElev');
try { try {
const elev1 = await axios.post(`api/bas/laanc/valid/elev`, areaList); const elev1 = await axios.post(`api/bas/laanc/valid/elev`, areaList);
dispatch(LaancAction.LAANC_ALTITUDE.success(elev1.data)); props.handlerSaveElev(elev1.data);
const elev2 = []; const elev2 = [];
const formatCoords = mode === 'CIRCLE' ? [coords] : coords; const formatCoords = mode === 'CIRCLE' ? [coords] : coords;

Loading…
Cancel
Save