From b118635abdebda316c0190148309e76e15db3328 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 15 Jan 2017 19:00:06 +0100 Subject: [PATCH] Update views and JS for edit single transaction. --- .../Transaction/SingleController.php | 2 +- public/js/ff/transactions/single/edit.js | 96 +++++++++++++++++++ .../views/transactions/{ => single}/edit.twig | 3 +- 3 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 public/js/ff/transactions/single/edit.js rename resources/views/transactions/{ => single}/edit.twig (98%) diff --git a/app/Http/Controllers/Transaction/SingleController.php b/app/Http/Controllers/Transaction/SingleController.php index bdb4226d84..83f3b93dc9 100644 --- a/app/Http/Controllers/Transaction/SingleController.php +++ b/app/Http/Controllers/Transaction/SingleController.php @@ -241,7 +241,7 @@ class SingleController extends Controller Session::forget('transactions.edit.fromUpdate'); return view( - 'transactions.edit', + 'transactions.single.edit', compact('journal', 'optionalFields', 'assetAccounts', 'what', 'budgetList', 'subTitle') )->with('data', $preFilled); } diff --git a/public/js/ff/transactions/single/edit.js b/public/js/ff/transactions/single/edit.js new file mode 100644 index 0000000000..e122ca0e04 --- /dev/null +++ b/public/js/ff/transactions/single/edit.js @@ -0,0 +1,96 @@ +/* + * edit.js + * Copyright (C) 2016 thegrumpydictator@gmail.com + * + * This software may be modified and distributed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International License. + * + * See the LICENSE file for details. + */ + +$(document).ready(function () { + "use strict"; + // no special JS for edit transaction. + + // the destination account name is always an expense account name. + if ($('input[name="destination_account_name"]').length > 0) { + $.getJSON('json/expense-accounts').done(function (data) { + $('input[name="destination_account_name"]').typeahead({source: data}); + }); + } + + // also for multi input + if ($('input[name="destination_account_name[]"]').length > 0) { + $.getJSON('json/expense-accounts').done(function (data) { + $('input[name="destination_account_name[]"]').typeahead({source: data}); + }); + } + + if ($('input[name="tags"]').length > 0) { + $.getJSON('json/tags').done(function (data) { + + var opt = { + typeahead: { + source: data, + afterSelect: function(val) { this.$element.val(""); } + } + }; + $('input[name="tags"]').tagsinput( + opt + ); + }); + } + + // the source account name is always a revenue account name. + if ($('input[name="source_account_name"]').length > 0) { + $.getJSON('json/revenue-accounts').done(function (data) { + $('input[name="source_account_name"]').typeahead({source: data}); + }); + } + // also for multi-input: + if ($('input[name="source_account_name[]"]').length > 0) { + $.getJSON('json/revenue-accounts').done(function (data) { + $('input[name="source_account_name[]"]').typeahead({source: data}); + }); + } + // and for split: + if ($('input[name="journal_source_account_name"]').length > 0) { + $.getJSON('json/revenue-accounts').done(function (data) { + $('input[name="journal_source_account_name"]').typeahead({source: data}); + }); + } + + + if ($('input[name="description"]').length > 0 && !(typeof what === "undefined")) { + $.getJSON('json/transaction-journals/' + what).done(function (data) { + $('input[name="description"]').typeahead({source: data}); + }); + } + // also for multi input: + if ($('input[name="description[]"]').length > 0 && !(typeof what === "undefined")) { + $.getJSON('json/transaction-journals/' + what).done(function (data) { + $('input[name="description[]"]').typeahead({source: data}); + }); + } + // and for the (rare) journal_description: + if ($('input[name="journal_description"]').length > 0 && !(typeof what === "undefined")) { + $.getJSON('json/transaction-journals/' + what).done(function (data) { + $('input[name="journal_description"]').typeahead({source: data}); + }); + } + + if ($('input[name="category"]').length > 0) { + $.getJSON('json/categories').done(function (data) { + $('input[name="category"]').typeahead({source: data}); + }); + } + + // also for multi input: + if ($('input[name^="category["]').length > 0) { + $.getJSON('json/categories').done(function (data) { + $('input[name^="category["]').typeahead({source: data}); + }); + } + + +}); diff --git a/resources/views/transactions/edit.twig b/resources/views/transactions/single/edit.twig similarity index 98% rename from resources/views/transactions/edit.twig rename to resources/views/transactions/single/edit.twig index b3e3a37326..ce096966b5 100644 --- a/resources/views/transactions/edit.twig +++ b/resources/views/transactions/single/edit.twig @@ -233,8 +233,7 @@ - - + {% endblock %} {% block styles %}