See Jos Buttler hit an unbeaten 32 off 10 balls as England beat South Africa by 28 runs at Edgbaston.