Skip to content

Commit 4c9f7a6

Browse files
authored
Merge pull request #356 from entrylabs/issue/4685
[#4685] 작품 불러오기 팝업 작품 정렬 및 필터 적용 방식 수정
2 parents baf2d04 + 6430283 commit 4c9f7a6

File tree

2 files changed

+20
-22
lines changed

2 files changed

+20
-22
lines changed

src/components/popup/Contents/Navigation/SearchBox.jsx

+17-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useState } from 'react';
1+
import React, { useCallback, useEffect, useState } from 'react';
22
import { CommonUtils } from '@utils/Common';
33
import Theme from '@utils/Theme';
44
import classname from 'classnames';
@@ -19,20 +19,31 @@ const Index = ({ projectNavOptions, searchOption = {}, triggerSearch, type }) =>
1919
});
2020
const [isActive, setActive] = useState(false);
2121

22-
const search = (e) => {
23-
e.preventDefault();
22+
const search = useCallback(() => {
2423
triggerSearch({
2524
...selected,
2625
searchQuery: query,
2726
type,
2827
});
29-
};
28+
}, [query, selected, triggerSearch, type]);
29+
30+
const handleSearch = useCallback(
31+
(e) => {
32+
e.preventDefault();
33+
search();
34+
},
35+
[search]
36+
);
37+
38+
useEffect(() => {
39+
search();
40+
}, [selected, type]);
3041

3142
const toggleDropDown = (dropdown) => setDropdown(dropdown);
3243
const selectOption = (type) => (option) => select({ ...selected, [type]: option });
3344
return (
3445
<div className={theme.art_sel_area}>
35-
<form onSubmit={search}>
46+
<form onSubmit={handleSearch}>
3647
{Object.keys(SearchOptionMap)
3748
.filter((key) => searchOption[key])
3849
.map((key) => {
@@ -61,7 +72,7 @@ const Index = ({ projectNavOptions, searchOption = {}, triggerSearch, type }) =>
6172
<button
6273
type="button"
6374
className={classname(theme.btn_srch, theme.imbtn_pop_srch)}
64-
onClick={search}
75+
onClick={handleSearch}
6576
>
6677
<span className={theme.blind}>
6778
{CommonUtils.getLang('Menus.search_lang')}

src/components/popup/Contents/Projects/index.jsx

+3-16
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useState, useEffect, useCallback } from 'react';
1+
import React, { useState, useCallback } from 'react';
22
import { connect } from 'react-redux';
33
import { triggerEvent } from '@actions';
44
import { closePopup } from '@actions/popup';
@@ -10,24 +10,10 @@ import EmptyContents from './EmptyContents';
1010
import Item from './Item';
1111
import { MasonryInfiniteGrid } from '@egjs/react-infinitegrid';
1212

13-
const Index = ({
14-
type,
15-
data = [],
16-
avatarImage,
17-
raw,
18-
submit,
19-
fetch,
20-
fetchMore,
21-
HeaderButtonPortal,
22-
}) => {
13+
const Index = ({ type, data = [], avatarImage, raw, submit, fetchMore, HeaderButtonPortal }) => {
2314
const totalCount = raw.total || data.length;
2415
const theme = Theme.getStyle('popup');
2516
const [selected, select] = useState(null);
26-
27-
useEffect(() => {
28-
fetch(type);
29-
}, [type]);
30-
3117
const onRequestAppend = useCallback(
3218
(event) => {
3319
if (!raw.searchAfter || !raw.searchAfter[0] || raw.total === data.length) {
@@ -65,6 +51,7 @@ const Index = ({
6551
isEqualSize={true}
6652
className={theme.list}
6753
gap={15}
54+
align={'start'}
6855
onRequestAppend={onRequestAppend}
6956
>
7057
{data

0 commit comments

Comments
 (0)