Browse Source

비행구역 선택 시 목록표시 및 스크롤이동 기능 팝업에도 적용

master
김장현 2 months ago
parent
commit
264eae9e57
  1. 10
      src/containers/flight/OperationApprovalsContainer.js
  2. 25
      src/containers/rightMenuContainer.js

10
src/containers/flight/OperationApprovalsContainer.js

@ -122,6 +122,16 @@ export default function OperationApprovalsContainer({ mode }) {
.find(feature => feature.source === 'operationLayer'); .find(feature => feature.source === 'operationLayer');
if (features) { if (features) {
if (popupRef.current) {
popupRef.current.postMessage({
type: 'matchingRow',
payload: {
selected: features.properties.key,
targetValue: features.properties.key
}
});
return;
}
setSelected([features.properties.key]); setSelected([features.properties.key]);
const targetValue = features.properties.key; const targetValue = features.properties.key;

25
src/containers/rightMenuContainer.js

@ -45,16 +45,33 @@ function RightMenuContainer() {
setEndDate(payload.endDate); setEndDate(payload.endDate);
return; return;
// case 'handlerSearchRs': case 'matchingRow':
// console.log(payload.filter); handlerMatchingRow(payload.selected, payload.targetValue);
// setFilter(payload.filter);
// return; return;
default: default:
break; break;
} }
}; };
const handlerMatchingRow = (selected, targetValue) => {
setSelected([selected]);
const rows = document.getElementsByClassName('ant-table-row');
const matchingRow = Array.from(rows).find(row => {
const rowKey = row.getAttribute('data-row-key');
return rowKey.startsWith(targetValue);
});
if (matchingRow) {
matchingRow.scrollIntoView({
behavior: 'smooth',
block: 'center',
inline: 'nearest'
});
}
};
const handlerOpnerPostMessage = (type, payload) => { const handlerOpnerPostMessage = (type, payload) => {
switch (type) { switch (type) {
case 'initalState': case 'initalState':

Loading…
Cancel
Save