TO recreate: Add some IntranetUserJS that will target spinelabel-print.tt. I added this: if ( $('#labels_spinelabel-print').length ) { $('#labels_spinelabel-print').append('<div>TEST</div>'); console.log('TEST'); } Try to do a quick spine label. Once you have entered a barcode the JS will go off 2x. With the jQuery added you will see 2 div's with the word 'TEST'. Look at the console and you will also see TEST console logged 2x.
Created attachment 124415 [details] [review] Bug 28940: In spinelabel-print.tt call IntranetUserJS only once 1. In IntranetUser add some JS that will target spinelabel-print.tt, I used this: if ( $('#labels_spinelabel-print').length ) { $('#labels_spinelabel-print').append('<div>TEST</div>'); console.log('TEST'); } 2. Generate a quick spine label 3. Once you have entered a barcode the JS will go off 2x. With the jQuery added you will see 2 div's with the word 'TEST'. Look at the console and you will also see TEST console logged 2x. 4. Apply patch 5. Try seto 2 and 3 again, the JS should only be called once.
Created attachment 124843 [details] [review] Bug 28940: In spinelabel-print.tt call IntranetUserJS only once 1. In IntranetUser add some JS that will target spinelabel-print.tt, I used this: if ( $('#labels_spinelabel-print').length ) { $('#labels_spinelabel-print').append('<div>TEST</div>'); console.log('TEST'); } 2. Generate a quick spine label 3. Once you have entered a barcode the JS will go off 2x. With the jQuery added you will see 2 div's with the word 'TEST'. Look at the console and you will also see TEST console logged 2x. 4. Apply patch 5. Try seto 2 and 3 again, the JS should only be called once. Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Created attachment 125320 [details] [review] Bug 28940: In spinelabel-print.tt call IntranetUserJS only once 1. In IntranetUser add some JS that will target spinelabel-print.tt, I used this: if ( $('#labels_spinelabel-print').length ) { $('#labels_spinelabel-print').append('<div>TEST</div>'); console.log('TEST'); } 2. Generate a quick spine label 3. Once you have entered a barcode the JS will go off 2x. With the jQuery added you will see 2 div's with the word 'TEST'. Look at the console and you will also see TEST console logged 2x. 4. Apply patch 5. Try seto 2 and 3 again, the JS should only be called once. Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Pushed to master for 21.11, thanks to everybody involved!
Pushed to 21.05.x for 21.05.05
Pushed to 20.11.x for 20.11.11
Not backported to oldoldstable (20.05.x). Feel free to ask if it's needed.