Преглед изворни кода

changed way of doing full-text search

FE_dev
Dzenis Hadzifejzovic пре 2 година
родитељ
комит
d68ef52faa
1 измењених фајлова са 23 додато и 27 уклоњено
  1. 23
    27
      src/pages/FilesPage/FilesViewPage.js

+ 23
- 27
src/pages/FilesPage/FilesViewPage.js Прегледај датотеку

const { data } = useSelector((s) => s.files); const { data } = useSelector((s) => s.files);
const { t } = useTranslation(); const { t } = useTranslation();
const [isSearchFieldVisible, setIsSearchFieldVisible] = useState(false); const [isSearchFieldVisible, setIsSearchFieldVisible] = useState(false);
const [timer, setTimer] = useState(null)
// const [timer, setTimer] = useState(null);


const dispatch = useDispatch(); const dispatch = useDispatch();


}; };


const handleChangeContent = (value) => { const handleChangeContent = (value) => {
// setContent(value)

clearTimeout(timer)

var catFilters = [];
filters.categories
?.filter((n) => n.isChecked)
.forEach((m) => catFilters.push(m.name));

var extFilters = [];
filters.extensions
?.filter((n) => n.isChecked)
.forEach((m) => extFilters.push(m.name));

var tagFilters = [];
filters.tags
?.filter((n) => n.isChecked)
.forEach((m) => tagFilters.push(m.name));
dispatch(setContent(value));
};


dispatch(setContent(value))
const handleKeyDown = (event) => {
console.log(filters.content)
if (event.key === "Enter" && filters.content !== "" ) {
var catFilters = [];
filters.categories
?.filter((n) => n.isChecked)
.forEach((m) => catFilters.push(m.name));


var extFilters = [];
filters.extensions
?.filter((n) => n.isChecked)
.forEach((m) => extFilters.push(m.name));


const newTimer = setTimeout(() => {
var tagFilters = [];
filters.tags
?.filter((n) => n.isChecked)
.forEach((m) => tagFilters.push(m.name));


dispatch( dispatch(
getFilesReq({ getFilesReq({
categories: catFilters, categories: catFilters,
extensions: extFilters, extensions: extFilters,
tags: tagFilters, tags: tagFilters,
content: value,
content: filters.content,
}, },
}) })
); );
}, 3000)

setTimer(newTimer)
}
}
};


const input = ( const input = (
<div> <div>
<input <input
placeholder="Pretrazi..." placeholder="Pretrazi..."
value={filters.content === null ? "" : filters.content}
value={filters.content === undefined ? "" : filters.content}
onChange={(e) => handleChangeContent(e.target.value)} onChange={(e) => handleChangeContent(e.target.value)}
onKeyDown={handleKeyDown}
className="candidate-search-field" className="candidate-search-field"
onClick={stopPropagation} onClick={stopPropagation}
role="input" role="input"

Loading…
Откажи
Сачувај