kahuna/public/js/leases/leases.html (149 lines of code) (raw):
<span>
<span ng-if="ctrl.receivingBatch">Updating...</span>
</span>
<button ng-class="{'small': ctrl.grSmall}"
ng-click="ctrl.editing = true"
ng-if="ctrl.userCanEdit && !ctrl.receivingBatch"
gr-tooltip="Add lease"
gr-tooltip-position="left"
aria-label="Add lease to image">
<gr-icon data-cy="it-add-lease-icon" ng-show="!ctrl.editing" ng-class="{'spin': ctrl.adding}">add_box</gr-icon>
<span>
<span ng-show="ctrl.adding">Updating...</span>
</span>
</button>
<span ng-if="ctrl.withBatch && !ctrl.leasesUpdatedByTemplate" class="leases__apply-all">
<button
title="Apply these leases to all your current uploads"
ng-if="!ctrl.confirmDelete"
ng-click="ctrl.batchApplyLeases()"
aria-label="Apply these leases to all current uploads"
>⇔</button>
<button title="Remove ALL leases"
class="button button--confirm-delete"
ng-if="ctrl.confirmDelete"
ng-click="ctrl.batchRemoveLeases()"
aria-label="Remove all leases">
<gr-icon>warning</gr-icon>Remove ALL leases in job?
</button>
</span>
<form class="lease__form full-width"
ng-show="!ctrl.adding && ctrl.editing"
ng-submit="ctrl.save()">
<select ng-model="ctrl.access" ng-required="required">
<option ng-selected="true" value="">Please select access</option>
<optgroup label="Usage">
<option value="allow-use">Allow use</option>
<option value="deny-use">Deny use</option>
</optgroup>
<optgroup label="Syndication">
<option value="allow-syndication">Allow syndication</option>
<option value="deny-syndication">Deny syndication</option>
</optgroup>
</select>
<div ng-switch="ctrl.access">
<div ng-switch-when="deny-syndication">
<div class="flex-container">
<label class="full-width">
<input type="checkbox" ng-model="showCal" />
Expire
</label>
</div>
<gu-date ng-if="showCal"
class="full-width"
date="ctrl.newLease.endDate"
min-date="ctrl.midnightTomorrow"
label="after">
</gu-date>
</div>
<div ng-switch-when="allow-syndication">
<div class="flex-container">
<label class="full-width">
<input type="checkbox" ng-model="showCal" />
Delay
</label>
</div>
<gu-date ng-if="showCal"
class="full-width"
date="ctrl.newLease.startDate"
min-date="ctrl.midnightTomorrow"
label="after">
</gu-date>
<div class="flex-container">
<label class="full-width">
<input type="checkbox" ng-model="ctrl.noteCallAgencyClause" />
Call Agency
</label>
<label class="full-width">
<input type="checkbox" ng-model="ctrl.notePremiumClause" />
Premium
</label>
</div>
</div>
<div ng-switch-default>
<gu-date-range-x ng-if="ctrl.access"
start="ctrl.newLease.startDate"
end="ctrl.newLease.endDate">
</gu-date-range-x>
</div>
</div>
<input type="text"
ng-if="ctrl.access"
ng-model="ctrl.newLease.notes"
placeholder="Notes..."/>
<div class="lease__form__buttons">
<button class="lease__form__buttons__button-cancel button-cancel" type="button" ng-click="ctrl.cancel()" title="Close">
<gr-icon-label gr-icon="close"><span ng-hide="ctrl.grSmall">Cancel</span></gr-icon-label>
</button>
<button
class="lease__form__buttons__button-save button-save"
type="submit"
title="Save new lease"
ng-disabled="ctrl.adding">
<gr-icon-label data-cy="it-save-lease" gr-icon="check">
<span ng-hide="ctrl.grSmall">Save</span>
</gr-icon-label>
</button>
</div>
</form>
<div class="leases__wrapper image-info__wrap" ng-if="!ctrl.receivingBatch">
<div class="image-info__lease" ng-if="ctrl.totalImages > 1">
{{ctrl.activeLeases(ctrl.leases)}} current leases + {{ctrl.inactiveLeases(ctrl.leases)}} inactive leases
</div>
<ul ng-if="ctrl.totalImages === 1" ng-switch="ctrl.leasesUpdatedByTemplate">
<li ng-switch-when="true"
ng-repeat="lease in ctrl.updatedLeases"
class="lease__item"
ng-class="{'lease__item-preview' : lease.fromTemplate}">
<div class="lease__wrapper" ng-class="ctrl.leaseClass(lease)">
<div class="lease">
<div class="lease__text">
<div>{{ctrl.leaseName(lease)}}</div>
<p>{{::ctrl.formatStartTimestamp(lease.startDate)}}</p>
<p>{{::ctrl.formatEndTimestamp(lease.endDate)}}</p>
<div>{{lease.notes}}</div>
</div>
</div>
</div>
</li>
<li ng-switch-default
ng-repeat="lease in ctrl.leases.leases"
gr-tooltip="{{ctrl.toolTip(lease)}}"
class="lease__item"
gr-tooltip-position="bottom">
<div class="lease__wrapper" ng-class="ctrl.leaseClass(lease)">
<div class="lease">
<div class="lease__text">
<div>{{ctrl.leaseName(lease)}}</div>
<p>{{::ctrl.formatStartTimestamp(lease.startDate)}}</p>
<p>{{::ctrl.formatEndTimestamp(lease.endDate)}}</p>
<div>{{lease.notes}}</div>
</div>
<gr-confirm-delete ng-if="ctrl.userCanEdit" data-cy="it-confirm-delete-lease" class="gr-delete-lease flex-right"
gr-on-confirm="ctrl.delete(lease)">
</gr-confirm-delete>
</div>
</div>
</li>
</ul>
</div>