<div class="image-upload" ng-class="{'has-error': error != null}"> <div class="preview" ng-class="{canOpen: isImageLoaded}" ng-click="previewImage()"><img ng-show="isImageLoaded" /></div> <p> Image must be a PNG or JPEG that is at least 350x350. <br /> <input type="file" onchange="angular.element(this).scope().setImageFile(this)" /> </p> <div class="btn-group"> <a href="#" pfm-popup="image-selector" pfm-popup-close-on-click class="btn btn-default btn-sm"><i class="fa fa-picture"></i> Gallery</a> <a href="#" pfm-eat-click ng-click="uploadImage()" class="btn btn-info btn-sm"><i class="fa fa-upload"></i> Upload</a> <a href="#" pfm-eat-click ng-click="clearImage()" class="btn btn-danger btn-sm" ng-show="isImageLoaded"><i class="fa fa-remove"></i></a> </div> <div id="image-selector" class="pfm-popup image-selector"> <ul> <li ng-repeat="image in images track by image.id" ng-click="selectGalleryImage(image)"> <img ng-src="{{::image.urls.small}}" /> </li> </ul> </div> <div class="error" ng-show="error != null">{{error}}</div> </div>