mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 02:36:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			112 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| $(document).ready(function () {
 | |
|     $('.relateTransaction').click(relateTransactionDialog);
 | |
|     //$('.unrelate-checkbox').click(unrelateTransaction);
 | |
| 
 | |
| });
 | |
| 
 | |
| function unrelateTransaction(e) {
 | |
|     var target = $(e.target);
 | |
|     var id = target.data('id');
 | |
|     var parent = target.data('parent');
 | |
| 
 | |
|     if(typeof id == "undefined" && typeof parent == "undefined") {
 | |
|         target = target.parent();
 | |
|         id = target.data('id');
 | |
|         parent = target.data('parent');
 | |
|     }
 | |
|     console.log('unlink ' + id + ' from ' + parent);
 | |
| 
 | |
|     $.post('related/removeRelation/' + id + '/' + parent, {_token: token}).success(function (data) {
 | |
|         target.parent().parent().remove();
 | |
|     }).fail(function () {
 | |
|         alert('Could not!');
 | |
|     });
 | |
| 
 | |
| 
 | |
|     return false;
 | |
| 
 | |
| 
 | |
|     //$.post('related/removeRelation/' + id + '/' + relatedTo, {_token: token}).success(function (data) {
 | |
|     //    target.parent().parent().remove();
 | |
|     //}).fail(function () {
 | |
|     //    alert('Could not!');
 | |
|     //});
 | |
| 
 | |
| }
 | |
| 
 | |
| function relateTransactionDialog(e) {
 | |
|     var target = $(e.target);
 | |
|     var ID = target.data('id');
 | |
| 
 | |
| 
 | |
|     $('#relationModal').empty().load('related/related/' + ID, function () {
 | |
| 
 | |
|         $('#relationModal').modal('show');
 | |
|         getAlreadyRelatedTransactions(e, ID);
 | |
|         $('#searchRelated').submit(function (e) {
 | |
|             searchRelatedTransactions(e, ID);
 | |
| 
 | |
|             return false;
 | |
|         });
 | |
|     });
 | |
| 
 | |
| 
 | |
|     return false;
 | |
| }
 | |
| 
 | |
| 
 | |
| function searchRelatedTransactions(e, ID) {
 | |
|     var searchValue = $('#relatedSearchValue').val();
 | |
|     if (searchValue != '') {
 | |
|         $.post('related/search/' + ID, {searchValue: searchValue, _token: token}).success(function (data) {
 | |
|             // post the results to some div.
 | |
|             $('#relatedSearchResultsTitle').show();
 | |
|             $('#relatedSearchResults').empty().html(data);
 | |
|             // remove any clicks.
 | |
|             $('.relate').unbind('click').on('click', doRelateNewTransaction);
 | |
| 
 | |
|         }).fail(function () {
 | |
|             alert('Could not search. Sorry.');
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     return false;
 | |
| }
 | |
| 
 | |
| function doRelateNewTransaction(e) {
 | |
|     // remove the row from the table:
 | |
|     var target = $(e.target);
 | |
|     var id = target.data('id');
 | |
|     var parent = target.data('parent');
 | |
| 
 | |
|     if (typeof id == "undefined" && typeof parent == "undefined") {
 | |
|         target = target.parent();
 | |
|         console.log(target);
 | |
|         id = target.data('id');
 | |
|         parent = target.data('parent');
 | |
|     }
 | |
| 
 | |
|     console.log('Relate ' + id + ' to ' + parent);
 | |
|     $.post('related/relate/' + parent + '/' + id, {_token: token}).success(function (data) {
 | |
|         // success! remove entry:
 | |
|         target.parent().parent().remove();
 | |
|         // get related stuff (again).
 | |
|         getAlreadyRelatedTransactions(null, parent);
 | |
|     }).fail(function () {
 | |
|         // could not relate.
 | |
|         alert('Could not relate this transaction to the intended target.');
 | |
|     });
 | |
|     return false;
 | |
| }
 | |
| 
 | |
| function getAlreadyRelatedTransactions(e, ID) {
 | |
|     //#alreadyRelated
 | |
|     $.get('related/alreadyRelated/' + ID).success(function (data) {
 | |
|         $('#alreadyRelated').empty().html(data);
 | |
|         // some event triggers.
 | |
|         $('.unrelate').unbind('click').on('click', unrelateTransaction);
 | |
| 
 | |
|     }).fail(function () {
 | |
|         alert('Cannot get related stuff.');
 | |
|     });
 | |
| } |