I don't know about the first amendment, but as I said before in this thread: It is in bad taste to drown Trump's right to free speech in their free speech. Some said "nobody sabotaged Trump, he decided to cancel his event on his own". But he did so to prevent violent outbreaks. Had he not canceled his event and there were hundreds of hurt people, you'd hold it against him, too.
The best way to deal with bad people is to let them talk and then reply to them, have discussions with them and call them out on their bs. Unfortunately, something similar is currently happening in Germany. Instead of cool-headedly revealing the AfD's bs, even high-ranking politicians call them and their supporters "Nazi", which only strengthens them (AfD = new rightwing party)