More auto-complete migration.

This commit is contained in:
James Cole
2020-07-19 17:24:29 +02:00
parent fd6f1fbbf0
commit 8a4999406b
16 changed files with 248 additions and 229 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -143,7 +143,7 @@ function initCategoryAC() {
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: 'json/categories?uid=' + uid,
url: 'api/v1/autocomplete/categories?uid=' + uid,
filter: function (list) {
return $.map(list, function (object) {
return {name: object.name};
@@ -151,7 +151,7 @@ function initCategoryAC() {
}
},
remote: {
url: 'json/categories?search=%QUERY&uid=' + uid,
url: 'api/v1/autocomplete/categories?query=%QUERY&uid=' + uid,
wildcard: '%QUERY',
filter: function (list) {
return $.map(list, function (object) {
@@ -162,4 +162,4 @@ function initCategoryAC() {
});
categories.initialize();
$('input[name="category"]').typeahead({hint: true, highlight: true,}, {source: categories, displayKey: 'name', autoSelect: false});
}
}

View File

@@ -228,7 +228,7 @@ function updateActionInput(selectList) {
switch (selectList.val()) {
case 'set_category':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
createAutoComplete(inputResult, 'json/categories');
createAutoComplete(inputResult, 'api/v1/autocomplete/categories');
break;
case 'clear_category':
case 'clear_budget':
@@ -240,7 +240,7 @@ function updateActionInput(selectList) {
break;
case 'set_budget':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
createAutoComplete(inputResult, 'json/budgets');
createAutoComplete(inputResult, 'api/v1/autocomplete/budgets');
break;
case 'add_tag':
case 'remove_tag':
@@ -253,27 +253,27 @@ function updateActionInput(selectList) {
break;
case 'set_source_account':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
createAutoComplete(inputResult, 'json/accounts');
createAutoComplete(inputResult, 'api/v1/autocomplete/accounts');
break;
case 'set_destination_account':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
createAutoComplete(inputResult, 'json/accounts');
createAutoComplete(inputResult, 'api/v1/autocomplete/accounts');
break;
case 'convert_withdrawal':
console.log('Select list value is ' + selectList.val() + ', so input needs expense accounts auto complete.');
createAutoComplete(inputResult, 'json/expense-accounts');
createAutoComplete(inputResult, 'api/v1/autocomplete/accounts?types=Expense account&');
break;
case 'convert_deposit':
console.log('Select list value is ' + selectList.val() + ', so input needs revenue accounts auto complete.');
createAutoComplete(inputResult, 'json/revenue-accounts');
createAutoComplete(inputResult, 'api/v1/autocomplete/accounts?types=Revenue account&');
break;
case 'convert_transfer':
console.log('Select list value is ' + selectList.val() + ', so input needs asset accounts auto complete.');
createAutoComplete(inputResult, 'json/asset-accounts');
createAutoComplete(inputResult, 'api/v1/autocomplete/accounts?types=Asset account&');
break;
case 'link_to_bill':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
createAutoComplete(inputResult, 'json/bills');
createAutoComplete(inputResult, 'api/v1/autocomplete/bills');
break;
case 'update_piggy':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
@@ -312,7 +312,7 @@ function updateTriggerInput(selectList) {
case 'to_account_is':
case 'to_account_contains':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
createAutoComplete(inputResult, 'json/accounts');
createAutoComplete(inputResult, 'api/v1/autocomplete/accounts');
break;
case 'tag_is':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
@@ -320,11 +320,11 @@ function updateTriggerInput(selectList) {
break;
case 'budget_is':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
createAutoComplete(inputResult, 'json/budgets');
createAutoComplete(inputResult, 'api/v1/autocomplete/budgets');
break;
case 'category_is':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
createAutoComplete(inputResult, 'json/categories');
createAutoComplete(inputResult, 'api/v1/autocomplete/categories');
break;
case 'transaction_type':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
@@ -377,11 +377,17 @@ function createAutoComplete(input, URI) {
console.log('Now in createAutoComplete("' + URI + '").');
input.typeahead('destroy');
// append URI:
var lastChar = URI[URI.length -1];
var urlParamSplit = '?';
if('&' === lastChar) {
urlParamSplit = '';
}
var source = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: URI + '?uid=' + uid,
url: URI + urlParamSplit + 'uid=' + uid,
filter: function (list) {
return $.map(list, function (item) {
return {name: item.name};
@@ -389,7 +395,7 @@ function createAutoComplete(input, URI) {
}
},
remote: {
url: URI + '?search=%QUERY&uid=' + uid,
url: URI + urlParamSplit + 'query=%QUERY&uid=' + uid,
wildcard: '%QUERY',
filter: function (list) {
return $.map(list, function (item) {

View File

@@ -109,7 +109,7 @@ $(document).ready(function () {
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: 'json/categories?uid=' + uid,
url: 'api/v1/autocomplete/categories?uid=' + uid,
filter: function (list) {
return $.map(list, function (obj) {
return obj;
@@ -117,7 +117,7 @@ $(document).ready(function () {
}
},
remote: {
url: 'json/categories?search=%QUERY&uid=' + uid,
url: 'api/v1/autocomplete/categories?query=%QUERY&uid=' + uid,
wildcard: '%QUERY',
filter: function (list) {
return $.map(list, function (obj) {
@@ -130,4 +130,4 @@ $(document).ready(function () {
$('input[name^="category["]').typeahead({hint: true, highlight: true,}, {source: categories, displayKey: 'name', autoSelect: false});
});
});

View File

@@ -86,7 +86,7 @@ $(document).ready(function () {
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: 'json/categories?uid=' + uid,
url: 'api/v1/autocomplete/categories?uid=' + uid,
filter: function (list) {
return $.map(list, function (name) {
return {name: name};
@@ -94,7 +94,7 @@ $(document).ready(function () {
}
},
remote: {
url: 'json/categories?search=%QUERY&uid=' + uid,
url: 'api/v1/autocomplete/categories?query=%QUERY&uid=' + uid,
wildcard: '%QUERY',
filter: function (list) {
return $.map(list, function (name) {
@@ -391,4 +391,4 @@ function calculateForeignSum() {
$('<span>').text(' (' + accounting.formatMoney(left, foreignCurrencySymbol) + ')').addClass('text-danger amount-warning-foreign').appendTo(paragraph);
}
}
}