@@ -23,11 +23,15 @@ class invoice2 extends Base {
2323 this . invoiceText = this . config . get ( 'invoiceText' ) ? this . config . get ( 'invoiceText' ) : '' ;
2424 this . invoicePositionText = this . config . get ( 'invoicePositionText' ) ;
2525 this . invoicePositionExtra = this . config . get ( 'invoicePositionExtra' ) ;
26- this . invoicePositionExtraText = this . config . get ( 'invoicePositionExtraText' ) ;
27- this . invoicePositionExtraValue = parseFloat ( this . config . get ( 'invoicePositionExtraValue' ) ) ;
28- if ( ! this . invoicePositionExtraValue > 0 ) {
29- this . invoicePositionExtraValue = 0.0 ;
30- }
26+ this . invoicePositionExtraTexts = this . config . get ( 'invoicePositionExtraText' ) ;
27+ this . invoicePositionExtraValues = this . config . get ( 'invoicePositionExtraValue' ) . map (
28+ ( v ) => {
29+ const value = parseFloat ( v ) ;
30+ return value > 0 ? value : 0 ; // NaN -> 0
31+ } ) ;
32+ this . invoicePositionExtraTotal = 0.0 ;
33+ this . invoicePositionExtraValues . forEach ( v => ( this . invoicePositionExtraTotal += v ) ) ;
34+
3135 this . invoiceCurrencyMaxUnit = this . config . get ( 'invoiceCurrencyMaxUnit' ) ;
3236 this . invoiceTimeMaxUnit = this . config . get ( 'invoiceTimeMaxUnit' ) ;
3337
@@ -48,7 +52,7 @@ class invoice2 extends Base {
4852 ) ;
4953 } ) ;
5054
51- let invoiceTotal = this . invoicePositionExtraValue ;
55+ let invoiceTotal = this . invoicePositionExtraTotal ;
5256 Object . keys ( this . invoicePositions ) . forEach (
5357 k => {
5458 invoiceTotal += this . invoicePositions [ k ] [ 3 ] ;
@@ -169,15 +173,17 @@ class invoice2 extends Base {
169173 ) ;
170174
171175 let extra = "" ;
172- if ( this . invoicePositionExtra || this . invoicePositionExtraValue > 0 ) {
176+ if ( this . invoicePositionExtra || this . invoicePositionExtraTotal > 0 ) {
173177 if ( this . invoicePositionExtra ) {
174178 extra += `<div class="position">${ this . invoicePositionExtra } </div>` ;
175179 }
176- extra +=
177- `
178- <div class="positionDesc">${ this . invoicePositionExtraText } </div>
179- <div class="positionValue">${ this . invoiceCurrency } ${ this . invoicePositionExtraValue . toFixed ( 2 ) } </div>
180- ` ;
180+ for ( var i in this . invoicePositionExtraTexts ) {
181+ extra +=
182+ `
183+ <div class="positionDesc">${ this . invoicePositionExtraTexts [ i ] } </div>
184+ <div class="positionValue">${ this . invoiceCurrency } ${ this . invoicePositionExtraValues [ i ] . toFixed ( 2 ) } </div>
185+ ` ;
186+ }
181187 }
182188
183189 this . out +=
0 commit comments