1<div class="table__row-value row column"> 2 <div class="certificate__type-cell bold"> 3 {{cert.Description}} 4 </div> 5 <div class="certificate__title-inline"> 6 Valid from: 7 </div> 8 <div class="certificate__date-cell"> 9 {{cert.ValidNotBefore | localeDate}} 10 </div> 11 <div class="certificate__title-inline"> 12 Valid until: 13 </div> 14 <div class="certificate__status-cell"> 15 <span class="inline" 16 ng-class="{'icon__warning' : cert.isExpiring , 'icon__critical' : cert.isExpired}" 17 ng-if="cert.isExpired || cert.isExpiring"></span> 18 </div> 19 <div class="certificate__date-cell"> 20 {{cert.ValidNotAfter | localeDate}} 21 </div> 22 <div class="certificate__buttons-cell"> 23 <button type="button" class="btn btn-tertiary certificate__button"> 24 <icon file="icon-replace.svg" ng-click="cert.upload = true" 25 aria-label="Replace certificate"></icon> 26 </button> 27 </div> 28 <div ng-show="cert.upload === true" class="upload__certificate"> 29 <div class="certificate__upload-chooser row"> 30 <div class="small-1 column"> 31 <button type="button"> 32 <icon file="icon-close.svg" ng-click="cert.upload=false"></icon> 33 </button> 34 </div> 35 <div class="small-2 column"> 36 <label for='upload_{{cert.Description + cert.Id}}'> 37 <input name="upload_{{cert.Description + cert.Id}}" 38 id="upload_{{cert.Description + cert.Id}}" 39 type="file" file="cert.file" class="hide"/> 40 <span class="btn btn-secondary">Choose file</span> 41 </label> 42 </div> 43 <div class="small-6 column"> 44 <span ng-if="!cert.file">No file selected</span> 45 <span>{{cert.file.name}}</span> 46 <button type="button" ng-if="cert.file.name" ng-click="cert.file = '';"> 47 <icon file="icon-close.svg"></icon> 48 </button> 49 </div> 50 <div class="small-3 column"> 51 <button type="button" ng-class="{disabled:!cert.file}" 52 class="btn btn-primary" 53 ng-click="replaceCertificate(cert)">Replace</button> 54 </div> 55 </div> 56 </div> 57</div>