ekonstantinidis/trevor

View on GitHub
www/templates/builds.html

Summary

Maintainability
Test Coverage
<ion-view view-title="Builds">

    <ion-nav-buttons side="right">
      <button class="button button-icon button-dark" ng-class="{true: 'ion-ios-heart', false: 'ion-ios-heart-outline'}[isFavourite]" ng-click="toggleFavourite()"></button>
    </ion-nav-buttons>

    <ion-content class="builds">

        <ion-refresher
            pulling-text="Pull to refresh"
            on-refresh="fetchData()"
            spinner="ripple">
        </ion-refresher>

        <div class="repo-name" ng-if="repoName">
            <span class="octicon octicon-mark-github"></span> {{ repoName }}
        </div>

        <div class="row button-bar" ng-init="showBuilds = 'builds'">
            <div class="col col-33"><a class="button button-full" ng-click="showBuilds = 'all'" ng-class="{'all': 'active'}[showBuilds]">All</a></div>
            <div class="col col-33"><a class="button button-full" ng-click="showBuilds = 'builds'" ng-class="{'builds': 'active'}[showBuilds]">Builds</a></div>
            <div class="col col-33"><a class="button button-full" ng-click="showBuilds = 'pr'" ng-class="{'pr': 'active'}[showBuilds]">Pull Requests</a></div>
        </div>

        <a class="item" ui-sref="tab.build({ buildid: build.id, ispro: isPro })" ng-repeat="build in builds | toggleTo:showBuilds">

            <div class="name">{{ build.commit.message }}</div>

            <div class="status bg-status-{{build.state}}">
                <i class="icon" ng-class="{ 'created': 'ion-ios-circle-filled', 'passed': 'ion-checkmark-circled', 'started': 'ion-ios-circle-filled', 'failed': 'ion-close-circled', 'errored': 'ion-alert-circled', 'canceled': 'ion-alert-circled', 'received': 'ion-ios-circle-filled' }[build.state]"></i>
                <span class="octicon" ng-class="{true: 'octicon-git-pull-request', false: 'octicon-repo-push'}[build.pull_request]"></span>
            </div>

            <span class="build-number text-status-{{build.state}}"><span class="octicon octicon-tools"></span> {{ build.number }}</span>

            <span class="build-status" ng-if="!build.duration">
                <span class="octicon octicon-hourglass"></span> {{ build.state }}
            </span>

            <span class="build-duration" ng-if="build.duration">
                <i class="icon ion-clock"></i> Run for {{build.duration | convertSeconds }}
            </span>

            <div class="build-finished" ng-if="build.finished_at">
                <i class="icon ion-calendar"></i> {{ build.finished_at | timeAgo }}
            </div>

            <div class="build-started" ng-if="!build.finished_at">
                <i class="icon ion-calendar"></i> {{ build.started_at | timeAgo }}
            </div>

            <div class="build-branch"><span class="octicon octicon-git-branch"></span> {{ build.commit.branch }}</div>

            <div class="build-pr" ng-if="build.pull_request">
                <span class="octicon octicon-git-pull-request"></span> {{ build.pull_request_number }}: {{ build.pull_request_title }}
            </div>

        </a>

    </ion-content>
</ion-view>