Start on new tag view

This commit is contained in:
Joseph Schorr 2015-03-09 22:03:39 -07:00
parent 581a284744
commit afc8e95e19
103 changed files with 148505 additions and 458 deletions

View file

@ -0,0 +1,3 @@
<span class="co-checkable-item" ng-click="toggleItem()"
ng-class="controller.isChecked(item, controller.checked) ? 'checked': 'not-checked'">
</span>

View file

@ -0,0 +1 @@
<li><a href="javascript:void(0)" ng-click="selected()"><span ng-transclude/></a></li>

View file

@ -0,0 +1,12 @@
<span class="co-checkable-menu">
<span class="dropdown" style="text-align: left;">
<span class="btn btn-default" data-toggle="dropdown">
<span class="co-checkable-menu-state"
ng-class="getClass(controller.items, controller.checked)"
ng-click="toggleItems($event)">
</span>
<span class="caret"></span>
</span>
<ul class="dropdown-menu" ng-transclude></ul>
</span>
</span>

View file

@ -0,0 +1,25 @@
<div class="cor-confirm-dialog-element">
<div class="modal fade co-dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" ng-show="!working"
data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">{{ dialogTitle }}</h4>
</div>
<div class="modal-body" ng-show="working">
<div class="cor-loader"></div>
</div>
<div class="modal-body" ng-show="!working">
<span ng-transclude/>
</div>
<div class="modal-footer" ng-show="!working">
<button type="button" class="btn btn-primary" ng-click="performAction()">
{{ dialogActionTitle }}
</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</div>

View file

@ -30,7 +30,8 @@
</a>
</div>
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
<i ng-class="repository.is_starred ? 'starred fa fa-star' : 'fa fa-star-o'" class="star-icon" ng-click="toggleStar({repository: repository})"></i>
<span class="repo-star" repository="repository"
star-toggled="starToggled({'repository': repository})"></span>
</div>
</div>
<div class="description markdown-view" content="repository.description" first-line-only="true" placeholder-needed="true"></div>

View file

@ -0,0 +1,5 @@
<span class="repo-star-element">
<i ng-class="repository.is_starred ? 'starred fa fa-star' : 'fa fa-star-o'"
class="star-icon" ng-click="toggleStar()">
</i>
</span>

View file

@ -0,0 +1,9 @@
<div class="repo-panel-info-element">
<!-- Repository Description -->
<div class="description markdown-input"
content="repository.description"
can-write="repository.can_write"
content-changed="updateDescription"
field-title="'repository description'">
</div>
</div>

View file

@ -0,0 +1,116 @@
<div class="repo-panel-tags-element">
<h3 class="tab-header">Repository Tags</h3>
<div class="resource-view" resource="imagesResource" error-message="'Could not load images'">
<div class="co-check-bar">
<span class="cor-checkable-menu" controller="checkedTags">
<div class="cor-checkable-menu-item" item-filter="allTagFilter">
<i class="fa fa-check-square-o"></i>All Tags
</div>
<div class="cor-checkable-menu-item" item-filter="noTagFilter">
<i class="fa fa-square-o"></i>No Tags
</div>
<div class="cor-checkable-menu-item" item-filter="commitTagFilter">
<i class="fa fa-git"></i>Commit SHAs
</div>
</span>
<span class="co-checked-actions" ng-if="checkedTags.checked.length">
<!--<button class="btn btn-default"><i class="fa fa-code-fork"></i> Visualize</button>-->
<button class="btn btn-default" ng-click="askDeleteMultipleTags(checkedTags.checked)">
<i class="fa fa-times"></i> Delete
</button>
</span>
<span class="co-filter-box">
<input class="form-control" type="text" ng-model="options.tagFilter" placeholder="Filter Tags...">
</span>
</div>
<table class="co-table">
<thead>
<td class="checkbox-col"></td>
<td ng-class="tablePredicateClass('name', options.predicate, options.reverse)">
<a href="javascript:void(0)" ng-click="orderBy('name')">Tag</a>
</td>
<td ng-class="tablePredicateClass('last_modified_datetime', options.predicate, options.reverse)">
<a href="javascript:void(0)" ng-click="orderBy('last_modified_datetime')">Last Modified</a>
</td>
<td ng-class="tablePredicateClass('size', options.predicate, options.reverse)">
<a href="javascript:void(0)" ng-click="orderBy('size')">Size</a>
</td>
<td ng-class="tablePredicateClass('image_id', options.predicate, options.reverse)"
colspan="{{ imageTracks.length + 1 }}">
<a href="javascript:void(0)" ng-click="orderBy('image_id')">Image</a>
</td>
<td class="options-col"></td>
</thead>
<tr class="co-checkable-row"
ng-repeat="tag in tags"
ng-class="checkedTags.isChecked(tag, checkedTags.checked) ? 'checked' : ''">
<td><span class="cor-checkable-item" controller="checkedTags" item="tag"></span></td>
<td><i class="fa fa-tag"></i> {{ tag.name }}</td>
<td><span am-time-ago="tag.last_modified"></span></td>
<td>{{ tag.size | bytes }}</td>
<td class="image-track" ng-repeat="it in imageTracks" ng-style="{'color': it.color}">
<span class="image-track-dot" ng-if="it.image_id == tag.image_id"></span>
<span class="image-track-line" ng-class="trackLineClass($parent.$index, it)"
ng-style="{'borderColor': it.color}"></span>
</td>
<td>{{ tag.image_id.substr(0, 12) }}</td>
<td>
<span class="cor-options-menu" ng-if="repository.can_write">
<span class="cor-option" option-click="askDeleteTag(tag.name)">
<i class="fa fa-times"></i> Delete Tag
</span>
</span>
</td>
</tr>
</table>
<div class="empty" ng-if="allTags.length && !tags.length">
<div class="empty-primary-msg">No matching tags found.</div>
<div class="empty-secondary-msg">Try expanding your filtering terms.</div>
</div>
<div class="empty" ng-if="!allTags.length">
<div class="empty-primary-msg">This repository is empty.</div>
<div class="empty-secondary-msg">Push a tag or initiate a build to populate this repository.</div>
</div>
</div>
</div>
<!-- Delete Tags Confirm -->
<div class="cor-confirm-dialog"
dialog-context="deleteMultipleTagsInfo"
dialog-action="deleteMultipleTags(info.tags, callback)"
dialog-title="Delete Tags"
dialog-action-title="Delete Tags">
Are you sure you want to delete the following tags:
<ul>
<li ng-repeat="tag_info in deleteMultipleTagsInfo.tags">
<span class="label label-default tag">{{ tag_info.name }}</span>
</li>
</ul>
<div style="margin-top: 20px">
<strong>Note: </strong>This operation can take several minutes.
</div>
</div>
<!-- Delete Tag Confirm -->
<div class="cor-confirm-dialog"
dialog-context="deleteTagInfo"
dialog-action="deleteTag(info.tags, callback)"
dialog-title="Delete Tag"
dialog-action-title="Delete Tag">
Are you sure you want to delete tag
<span class="label label-default tag">{{ deleteTagInfo.tag }}</span>?
<div class="tag-specific-images-view" tag="deleteTagInfo.tag" repository="repository"
images="images" style="margin-top: 20px">
The following images and any other images not referenced by a tag will be deleted:
</div>
</div>