- api routes (but not /swagger.json) are now under /api/v1 - the api has changed a bit, more to come - files are served from the current directory by default, simplifying naming - the startup message is more informative - added some startup hints for the angular client
		
			
				
	
	
		
			89 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<html>
 | 
						|
<head>
 | 
						|
  <meta charset="utf-8">
 | 
						|
  <title>hledger-api example 02</title>
 | 
						|
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
 | 
						|
</head
 | 
						|
 | 
						|
<body>
 | 
						|
  <table border=0 width="100%">
 | 
						|
    <tr valign="top">
 | 
						|
      <td width="50%">
 | 
						|
 | 
						|
        <h2>Commodities</h2> 
 | 
						|
        <pre id="commodities"></pre>
 | 
						|
 | 
						|
        <h2>Market Prices</h2> 
 | 
						|
        <pre id="prices"></pre>
 | 
						|
 | 
						|
        <h2>Account names</h2> 
 | 
						|
        <pre id="accountnames"></pre>
 | 
						|
 | 
						|
      </td>
 | 
						|
      <td width="50%">
 | 
						|
 | 
						|
        <h2>Transactions</h2> 
 | 
						|
        <pre id="transactions"></pre>
 | 
						|
 | 
						|
      </td>
 | 
						|
    </tr>
 | 
						|
  </table>
 | 
						|
 | 
						|
<script>
 | 
						|
 | 
						|
$(document).ready(function(){
 | 
						|
 | 
						|
  get('commodities', id);
 | 
						|
  get('prices', showMarketPrice);
 | 
						|
  get('accountnames', id);
 | 
						|
  get('transactions', showTransaction);
 | 
						|
 | 
						|
});
 | 
						|
 | 
						|
function get(method, showfn) {
 | 
						|
  return $.ajax({
 | 
						|
    url: "http://localhost:8001/api/v1/"+method,
 | 
						|
    context: document.body,
 | 
						|
    success: function(data){
 | 
						|
      $('#'+method).text(data.map(showfn).join('\n'));
 | 
						|
    },
 | 
						|
    error: function(jqXHR, textStatus, errorThrown){
 | 
						|
      alert('error');
 | 
						|
    }
 | 
						|
  });
 | 
						|
}
 | 
						|
 | 
						|
function id(x){ return x; }
 | 
						|
 | 
						|
function showAmount(a) {
 | 
						|
  return a.acommodity + a.aquantity;
 | 
						|
}
 | 
						|
 | 
						|
function showMixedAmount(ma) {
 | 
						|
  return ma.map(showAmount).join(', ');
 | 
						|
}
 | 
						|
 | 
						|
function showMarketPrice(mp) {
 | 
						|
  return mp.mpdate + ' ' + mp.mpcommodity + ' ' + showAmount(mp.mpamount);
 | 
						|
}
 | 
						|
 | 
						|
function showPosting(p) {
 | 
						|
  return p.paccount + '  ' + showMixedAmount(p.pamount);
 | 
						|
}
 | 
						|
 | 
						|
function showPostingLine(p) {
 | 
						|
  return '    ' + showPosting(p) + '\n';
 | 
						|
}
 | 
						|
 | 
						|
function showTransaction(t) {
 | 
						|
  return (
 | 
						|
    t.tdate + ' ' + t.tdescription + '\n'
 | 
						|
    + t.tpostings.map(showPostingLine).join('')
 | 
						|
  );
 | 
						|
}
 | 
						|
 | 
						|
</script>
 | 
						|
 | 
						|
</body>
 | 
						|
</html>
 |