Port of TroymediaViewer written in AngularJS