mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-18 18:44:16 +00:00
Fix #1751
This commit is contained in:
@@ -206,17 +206,14 @@ class AutoCompleteController extends Controller
|
||||
sort($return);
|
||||
|
||||
if ('' !== $search) {
|
||||
$return = array_values(
|
||||
array_unique(
|
||||
array_filter(
|
||||
$return, function (array $array) use ($search) {
|
||||
$value = $array['name'];
|
||||
|
||||
return !(false === stripos($value, $search));
|
||||
}, ARRAY_FILTER_USE_BOTH
|
||||
)
|
||||
)
|
||||
$return = array_filter(
|
||||
$return, function (array $array) use ($search) {
|
||||
$haystack = $array['name'];
|
||||
$result = stripos($haystack, $search);
|
||||
return !(false === $result);
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
$cache->store($return);
|
||||
|
||||
@@ -311,10 +308,12 @@ class AutoCompleteController extends Controller
|
||||
// find everything:
|
||||
/** @var Collection $collection */
|
||||
$collection = $repository->getAccountsByType($types);
|
||||
$filtered =$collection->filter(function(Account $account) {
|
||||
return $account->active === true;
|
||||
});
|
||||
$return = array_values(array_unique($filtered->pluck('name')->toArray()));
|
||||
$filtered = $collection->filter(
|
||||
function (Account $account) {
|
||||
return $account->active === true;
|
||||
}
|
||||
);
|
||||
$return = array_values(array_unique($filtered->pluck('name')->toArray()));
|
||||
|
||||
return $return;
|
||||
|
||||
|
54
public/js/ff/transactions/show.js
vendored
54
public/js/ff/transactions/show.js
vendored
@@ -25,41 +25,37 @@ $(function () {
|
||||
var transactions = new Bloodhound({
|
||||
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
|
||||
queryTokenizer: Bloodhound.tokenizers.whitespace,
|
||||
identify: function (obj) {
|
||||
return obj.id;
|
||||
},
|
||||
prefetch: {
|
||||
url: autoCompleteUri,
|
||||
filter: function (list) {
|
||||
return $.map(list, function (name) {
|
||||
return {name: name.name};
|
||||
});
|
||||
}
|
||||
url: autoCompleteUri
|
||||
// filter: function (list) {
|
||||
// return $.map(list, function (name) {
|
||||
// return {name: name.name};
|
||||
// });
|
||||
// }
|
||||
},
|
||||
remote: {
|
||||
url: autoCompleteUri + '?search=%QUERY',
|
||||
wildcard: '%QUERY',
|
||||
filter: function (list) {
|
||||
return $.map(list, function (name) {
|
||||
return {name: name.name};
|
||||
});
|
||||
}
|
||||
wildcard: '%QUERY'
|
||||
// filter: function (list) {
|
||||
// return $.map(list, function (name) {
|
||||
// return {name: name.name};
|
||||
// });
|
||||
// }
|
||||
}
|
||||
});
|
||||
transactions.initialize();
|
||||
var input=$("#link_other");
|
||||
var input = $("#link_other");
|
||||
input.typeahead({hint: true, highlight: true,}, {source: transactions, displayKey: 'name', autoSelect: false});
|
||||
|
||||
input.change(function () {
|
||||
var current = input.typeahead("getActive");
|
||||
if (current) {
|
||||
// Some item from your model is active!
|
||||
if (current.name.toLowerCase() ===
|
||||
input.val().toLowerCase()) {
|
||||
// This means the exact match is found. Use toLowerCase() if you want case insensitive match.
|
||||
$('input[name="link_journal_id"]').val(current.id);
|
||||
} else {
|
||||
$('input[name="link_journal_id"]').val(0);
|
||||
}
|
||||
} else {
|
||||
$('input[name="link_journal_id"]').val(0);
|
||||
}
|
||||
});
|
||||
input.bind('typeahead:select', function (ev, suggestion) {
|
||||
console.log('Selection: ' + suggestion.name);
|
||||
if (suggestion.name.toLowerCase() === input.val().toLowerCase()) {
|
||||
// This means the exact match is found. Use toLowerCase() if you want case insensitive match.
|
||||
$('input[name="link_journal_id"]').val(suggestion.id);
|
||||
} else {
|
||||
$('input[name="link_journal_id"]').val(0);
|
||||
}
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user