app/views/attach-image.html
<div class="attach-image" ng-controller="AttachImageCtrl">
<div class="content-row">
<div class="left-pane sources list-group">
<a
class="list-group-item"
ng-repeat="source in sources"
ng-click="select(source)"
ng-class="{active: selected.value==source.value}"
data-test="select-{{selected.value}}"
ng-bind="source.description"
>
</a>
</div>
<div
class="right-pane source"
ng-include="selected.url"
>
</div>
</div>
<div class="basket-container">
<div class="basket-head">
<span class="description">{{ ::('aes.label.selectedimages'|trans) }}</span>
<span class="badge" ng-bind="images.collected.length"></span>
{{'aes.label.imagescount'|transChoice: images.collected.length }}
</div>
<div class="basket">
<div
ng-repeat="image in images.collected"
class="thumbnail-wrapper"
ng-class="{attached: images.isAttached(image.id)}"
ng-click="images.toggleCollect(image.id)"
title="{{image.description || 'aes.label.nodescription'|trans}}"
>
<div class="toggler">
<span class="glyphicon glyphicon-minus"></span>
</div>
<img
class="thumbnail"
ng-src="{{root}}/images/thumbnails/{{image.thumbnailPath}}"
alt="{{image.description || 'aes.label.nodescription'|trans}}"
>
<div class="img-metadata">
{{image.description || 'aes.label.nodescription'|trans}}<br/>
<span class="size-info">{{image.width}} x {{image.height}}</span>
</div>
</div>
</div>
</div>
<div class="commands-bar">
<button
type="button"
class="btn btn-default"
ng-disabled="images.images2upload.length > 0"
ng-click="discardChanges($event)"
data-test-button="modal-close"
data-dismiss="modal">
{{ ::('aes.btn.discard'|trans) }}
</button>
<button
type="button"
class="btn btn-primary"
ng-disabled="images.collected.length < 1 || images.images2upload.length > 0"
ng-click="attachCollected()">
{{ ::('aes.label.attachimages'|trans) }}
</button>
</div>
</div>