diff --git a/lnbits/extensions/splitpayments/static/js/index.js b/lnbits/extensions/splitpayments/static/js/index.js index 94ece07b..567b8672 100644 --- a/lnbits/extensions/splitpayments/static/js/index.js +++ b/lnbits/extensions/splitpayments/static/js/index.js @@ -58,17 +58,40 @@ new Vue({ this.selectedWallet = wallet this.getTargets() }, + tagChanged(isTag, index) { + // fix percent min and max range + if (isTag) { + this.targets[index].percent = null + this.targets[index].tag.trim() + } + + // remove empty lines (except last) + if (this.targets.length >= 2) { + for (let i = this.targets.length - 2; i >= 0; i--) { + let target = this.targets[i] + if ( + (!target.wallet || target.wallet.trim() === '') && + (!target.alias || target.alias.trim() === '') && + !target.percent + ) { + this.targets.splice(i, 1) + } + } + } + }, + clearChanged(index) { + if(this.targets[index].method == 'split'){ + this.targets[index].tag = null + } + else{ + this.targets[index].percent = null + } + }, percentageChanged(isPercent, index) { // fix percent min and max range if (isPercent) { if (this.targets[index].percent > 100) this.targets[index].percent = 100 if (this.targets[index].percent < 0) this.targets[index].percent = 0 - this.targets[index].tag = '' - } - - // not percentage - if (!isPercent) { - this.targets[index].percent = 0 } // remove empty lines (except last) @@ -78,7 +101,6 @@ new Vue({ if ( (!target.wallet || target.wallet.trim() === '') && (!target.alias || target.alias.trim() === '') && - (!target.tag || target.tag.trim() === '') && !target.percent ) { this.targets.splice(i, 1) diff --git a/lnbits/extensions/splitpayments/templates/splitpayments/index.html b/lnbits/extensions/splitpayments/templates/splitpayments/index.html index 7ea76339..5a3f7895 100644 --- a/lnbits/extensions/splitpayments/templates/splitpayments/index.html +++ b/lnbits/extensions/splitpayments/templates/splitpayments/index.html @@ -37,7 +37,6 @@ v-model="target.alias" label="Alias" :hint="t === targets.length - 1 ? 'A name to identify this target wallet locally.' : undefined" - @input="targetChanged(false)" style="width: 150px" > @@ -46,7 +45,6 @@ v-model="target.wallet" label="Wallet" :hint="t === targets.length - 1 ? 'A wallet ID or invoice key.' : undefined" - @input="targetChanged(false)" option-label="name" style="width: 300px" new-value-mode="add-unique" @@ -64,7 +62,8 @@ style="width: 180px" v-model="target.method" :label="`${target.method}` === 'tag' ? 'Send funds by tag' : `${target.method}` === 'split' ? 'Split funds by %' : 'Split/tag?'" - > + @input="clearChanged(t)" + >