mirror of
https://github.com/Neetpone/ponepaste.git
synced 2025-03-12 06:30:07 +01:00
fix: improve archive search
This commit is contained in:
parent
6f684e0283
commit
2bccaf408f
8 changed files with 32 additions and 11 deletions
|
@ -229,13 +229,19 @@ const dumbFilterCallback = (datum, query) => {
|
|||
return true;
|
||||
}
|
||||
|
||||
if (datum.title.indexOf(query) !== -1) {
|
||||
const queryLower = query.toLowerCase();
|
||||
|
||||
if (queryLower === 'untagged' && datum.tags.length === 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (datum.title.toLowerCase().indexOf(queryLower) !== -1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* this is inefficient */
|
||||
for (const tag of datum.tags) {
|
||||
if (tag.name.toLowerCase() === query.toLowerCase()) {
|
||||
if (tag.name.toLowerCase().indexOf(queryLower) !== -1) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,7 +35,10 @@ $pastes = Paste::with([
|
|||
|
||||
|
||||
if (!empty($filter_value)) {
|
||||
$pastes = $pastes->where('title', 'LIKE', '%' . escapeLikeQuery($filter_value) . '%');
|
||||
$pastes = $pastes->where('title', 'LIKE', '%' . escapeLikeQuery($filter_value) . '%')
|
||||
->orWhereHas('tags', function($q) use ($filter_value) {
|
||||
$q->where('name', 'LIKE', '%' . escapeLikeQuery($filter_value) . '%');
|
||||
});
|
||||
}
|
||||
|
||||
$total_results = $pastes->count();
|
||||
|
|
|
@ -274,13 +274,19 @@ const dumbFilterCallback = (datum, query) => {
|
|||
return true;
|
||||
}
|
||||
|
||||
if (datum.title.indexOf(query) !== -1) {
|
||||
const queryLower = query.toLowerCase();
|
||||
|
||||
if (queryLower === 'untagged' && datum.tags.length === 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (datum.title.toLowerCase().indexOf(queryLower) !== -1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* this is inefficient */
|
||||
for (const tag of datum.tags) {
|
||||
if (tag.name.toLowerCase() === query.toLowerCase()) {
|
||||
if (tag.name.toLowerCase().indexOf(queryLower) !== -1) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
2
public/assets/bundle/archive.min.js
vendored
2
public/assets/bundle/archive.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -274,13 +274,19 @@ const dumbFilterCallback = (datum, query) => {
|
|||
return true;
|
||||
}
|
||||
|
||||
if (datum.title.indexOf(query) !== -1) {
|
||||
const queryLower = query.toLowerCase();
|
||||
|
||||
if (queryLower === 'untagged' && datum.tags.length === 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (datum.title.toLowerCase().indexOf(queryLower) !== -1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* this is inefficient */
|
||||
for (const tag of datum.tags) {
|
||||
if (tag.name.toLowerCase() === query.toLowerCase()) {
|
||||
if (tag.name.toLowerCase().indexOf(queryLower) !== -1) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
2
public/assets/bundle/user_profile.min.js
vendored
2
public/assets/bundle/user_profile.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue