<commit_before><table class="ot-branch-build-view">
    <thead>
    <!-- Validation stamps -->
    <tr>
        <th colspan="3" rowspan="2">
            <!-- Filter command -->
            <ng-include src="'app/view/fragment.branchBuildFilter.tpl.html'"></ng-include>
            <!-- Build diff extension commands -->
            <button ng-repeat="action in branchBuildView.buildDiffActions" class="btn btn-default"
                    id="{{action.id}}-top"
                    ng-click="buildDiff(action)">
                {{action.name}}
            </button>
            <!-- Auto refresh -->
            <button class="ot-branch-build-view-auto-refresh"
                  ng-class="{
                    'ot-branch-build-view-auto-refresh-enabled': autoRefresh,
                    'ot-branch-build-view-auto-refresh-disabled': !autoRefresh
                    }"
                  title="{{autoRefresh ? 'Auto refresh is enabled' : 'Auto refresh is disabled'}}"
                  ng-click="toggleAutoRefresh()">
                <span class="fa fa-refresh"></span>
             </button>
            <!-- Validation stamp filtering -->
            <button class="ot-branch-build-view-validation-stamp-filter"
                    title="Filter the validation stamps"
                    ng-class="{
                    'ot-branch-build-view-validation-stamp-filter-enabled': validationStampSelection,
                    'ot-branch-build-view-validation-stamp-filter-disabled': !validationStampSelection
                    }"
                    ng-click="filterValidationStamps()">
                <span class="fa fa-filter"></span>
            </button>
            <!-- Loading -->
            <button ng-show="loadingBuildView" class="btn btn-default" disabled="disabled">
                <span class="fa fa-spinner fa-spin"></span>
                Loading...
            </button>
        </th>
        <!-- All validation stamps -->
        <th ng-repeat="validationStamp in validationStampCollection.resources | filter:validationStampFilter" class="ot-branch-build-view-validation">
            <ot-entity-image entity="validationStamp" link="#/validationStamp/{{validationStamp.id}}"></ot-entity-image>
        </th>
    </tr>
    <!-- Validation stamps decorations -->
    <tr>
        <!-- For each validation stamp -->
        <th ng-repeat="validationStamp in validationStampCollection.resources | filter:validationStampFilter" class="ot-branch-build-view-validation">
            <ot-entity-decorations entity="validationStamp"></ot-entity-decorations>
        </th>
    </tr>
    </thead>
    <tbody>
    <tr ng-repeat="buildView in branchBuildView.buildViews">
        <td>
            <span ng-if="branchBuildView.buildDiffActions">
                <input type="radio" id="build-from-{{buildView.build.id}}" name="selectedBuildFrom"
                       ng-model="selectedBuild.from" ng-value="buildView.build.id"/>
                <input type="radio" id="build-to-{{buildView.build.id}}" name="selectedBuildTo"
                       ng-model="selectedBuild.to" ng-value="buildView.build.id"/>
            </span>
            <span ng-if="!branchBuildView.buildDiffActions">&nbsp;</span>
        </td>
        <td>
            <!-- Build name and link -->
            <a href="#/build/{{buildView.build.id}}" class="ot-branch-build-view-build-name">
                {{buildView.build.name}}
            </a>
            <!-- Build decorations -->
            <ot-entity-decorations entity="buildView.build"></ot-entity-decorations>
            <!-- Signature, without the creator in the overview -->
            <div class="ot-branch-build-view-build-signature">
                {{buildView.build.signature.time | date:'mediumDate'}}
                {{buildView.build.signature.time | date:'shortTime'}}
            </div>
        </td>
        <!-- Promotion runs -->
        <td>
            <span ng-repeat="promotionRun in buildView.promotionRuns">
                <span class="ot-promotion-run">
                    <span class="ot-action" ng-click="displayPromotionRuns(buildView, promotionRun)">
                        <ot-entity-image entity="promotionRun.promotionLevel">
                            {{promotionRun.promotionLevel.name}}
                        </ot-entity-image>
                    </span>
                    <span class="ot-promotion-run-signature">
                        {{promotionRun.signature.time | date:'shortDate'}}
                    </span>
                </span>
                <span ng-if="!$last" class="ot-promotion-run-separator"></span>
            </span>
        </td>
        <!-- Validation runs -->
        <td ng-repeat="validationStampRunView in buildView.validationStampRunViews | filter:validationStampRunViewFilter"
            class="ot-branch-build-view-validation">
            <!-- Not run and validation enabled -->
            <span ng-if="!validationStampRunView.run && buildView.build._validate" class="ot-command"
                  ng-click="createValidationRun(buildView, validationStampRunView)">
                <ot-validation-run-status-none></ot-validation-run-status-none>
            </span>
            <!-- Not run and validation not enabled -->
            <span ng-if="!validationStampRunView.run && !buildView.build._validate">
                <ot-validation-run-status-none></ot-validation-run-status-none>
            </span>
            <!-- Last status -->
            <span ng-if="validationStampRunView.run">
                <span class="ot-action" ng-click="displayValidationRuns(buildView, validationStampRunView)">
                    <ot-validation-run-status status="validationStampRunView.lastStatus"></ot-validation-run-status>
                </span>
            </span>
        </td>
    </tr>
    </tbody>
    <tfoot>
    <tr>
        <td colspan="{{validationStampFilterCount(3)}}">
            <!-- Filter command -->
            <ng-include src="'app/view/fragment.branchBuildFilter.tpl.html'"></ng-include>
            <!-- Build diff extension commands -->
            <button ng-repeat="action in branchBuildView.buildDiffActions" class="btn btn-default"
                    id="{{action.id}}"
                    ng-click="buildDiff(action)">
                {{action.name}}
            </button>
            <!-- Auto refresh -->
            <button class="ot-branch-build-view-auto-refresh"
                    ng-class="{
                    'ot-branch-build-view-auto-refresh-enabled': autoRefresh,
                    'ot-branch-build-view-auto-refresh-disabled': !autoRefresh
                    }"
                    title="{{autoRefresh ? 'Auto refresh is enabled' : 'Auto refresh is disabled'}}"
                    ng-click="toggleAutoRefresh()">
                <span class="fa fa-refresh"></span>
            </button>
        </td>
    </tr>
    </tfoot>
</table><commit_msg>#242 Filter - visible only when number of validation stamps > 10<commit_after><table class="ot-branch-build-view">
    <thead>
    <!-- Validation stamps -->
    <tr>
        <th colspan="3" rowspan="2">
            <!-- Filter command -->
            <ng-include src="'app/view/fragment.branchBuildFilter.tpl.html'"></ng-include>
            <!-- Build diff extension commands -->
            <button ng-repeat="action in branchBuildView.buildDiffActions" class="btn btn-default"
                    id="{{action.id}}-top"
                    ng-click="buildDiff(action)">
                {{action.name}}
            </button>
            <!-- Auto refresh -->
            <button class="ot-branch-build-view-auto-refresh"
                  ng-class="{
                    'ot-branch-build-view-auto-refresh-enabled': autoRefresh,
                    'ot-branch-build-view-auto-refresh-disabled': !autoRefresh
                    }"
                  title="{{autoRefresh ? 'Auto refresh is enabled' : 'Auto refresh is disabled'}}"
                  ng-click="toggleAutoRefresh()">
                <span class="fa fa-refresh"></span>
             </button>
            <!-- Validation stamp filtering -->
            <button class="ot-branch-build-view-validation-stamp-filter"
                    title="Filter the validation stamps"
                    ng-if="validationStampCollection.resources.length > 10"
                    ng-class="{
                    'ot-branch-build-view-validation-stamp-filter-enabled': validationStampSelection,
                    'ot-branch-build-view-validation-stamp-filter-disabled': !validationStampSelection
                    }"
                    ng-click="filterValidationStamps()">
                <span class="fa fa-filter"></span>
            </button>
            <!-- Loading -->
            <button ng-show="loadingBuildView" class="btn btn-default" disabled="disabled">
                <span class="fa fa-spinner fa-spin"></span>
                Loading...
            </button>
        </th>
        <!-- All validation stamps -->
        <th ng-repeat="validationStamp in validationStampCollection.resources | filter:validationStampFilter" class="ot-branch-build-view-validation">
            <ot-entity-image entity="validationStamp" link="#/validationStamp/{{validationStamp.id}}"></ot-entity-image>
        </th>
    </tr>
    <!-- Validation stamps decorations -->
    <tr>
        <!-- For each validation stamp -->
        <th ng-repeat="validationStamp in validationStampCollection.resources | filter:validationStampFilter" class="ot-branch-build-view-validation">
            <ot-entity-decorations entity="validationStamp"></ot-entity-decorations>
        </th>
    </tr>
    </thead>
    <tbody>
    <tr ng-repeat="buildView in branchBuildView.buildViews">
        <td>
            <span ng-if="branchBuildView.buildDiffActions">
                <input type="radio" id="build-from-{{buildView.build.id}}" name="selectedBuildFrom"
                       ng-model="selectedBuild.from" ng-value="buildView.build.id"/>
                <input type="radio" id="build-to-{{buildView.build.id}}" name="selectedBuildTo"
                       ng-model="selectedBuild.to" ng-value="buildView.build.id"/>
            </span>
            <span ng-if="!branchBuildView.buildDiffActions">&nbsp;</span>
        </td>
        <td>
            <!-- Build name and link -->
            <a href="#/build/{{buildView.build.id}}" class="ot-branch-build-view-build-name">
                {{buildView.build.name}}
            </a>
            <!-- Build decorations -->
            <ot-entity-decorations entity="buildView.build"></ot-entity-decorations>
            <!-- Signature, without the creator in the overview -->
            <div class="ot-branch-build-view-build-signature">
                {{buildView.build.signature.time | date:'mediumDate'}}
                {{buildView.build.signature.time | date:'shortTime'}}
            </div>
        </td>
        <!-- Promotion runs -->
        <td>
            <span ng-repeat="promotionRun in buildView.promotionRuns">
                <span class="ot-promotion-run">
                    <span class="ot-action" ng-click="displayPromotionRuns(buildView, promotionRun)">
                        <ot-entity-image entity="promotionRun.promotionLevel">
                            {{promotionRun.promotionLevel.name}}
                        </ot-entity-image>
                    </span>
                    <span class="ot-promotion-run-signature">
                        {{promotionRun.signature.time | date:'shortDate'}}
                    </span>
                </span>
                <span ng-if="!$last" class="ot-promotion-run-separator"></span>
            </span>
        </td>
        <!-- Validation runs -->
        <td ng-repeat="validationStampRunView in buildView.validationStampRunViews | filter:validationStampRunViewFilter"
            class="ot-branch-build-view-validation">
            <!-- Not run and validation enabled -->
            <span ng-if="!validationStampRunView.run && buildView.build._validate" class="ot-command"
                  ng-click="createValidationRun(buildView, validationStampRunView)">
                <ot-validation-run-status-none></ot-validation-run-status-none>
            </span>
            <!-- Not run and validation not enabled -->
            <span ng-if="!validationStampRunView.run && !buildView.build._validate">
                <ot-validation-run-status-none></ot-validation-run-status-none>
            </span>
            <!-- Last status -->
            <span ng-if="validationStampRunView.run">
                <span class="ot-action" ng-click="displayValidationRuns(buildView, validationStampRunView)">
                    <ot-validation-run-status status="validationStampRunView.lastStatus"></ot-validation-run-status>
                </span>
            </span>
        </td>
    </tr>
    </tbody>
    <tfoot>
    <tr>
        <td colspan="{{validationStampFilterCount(3)}}">
            <!-- Filter command -->
            <ng-include src="'app/view/fragment.branchBuildFilter.tpl.html'"></ng-include>
            <!-- Build diff extension commands -->
            <button ng-repeat="action in branchBuildView.buildDiffActions" class="btn btn-default"
                    id="{{action.id}}"
                    ng-click="buildDiff(action)">
                {{action.name}}
            </button>
            <!-- Auto refresh -->
            <button class="ot-branch-build-view-auto-refresh"
                    ng-class="{
                    'ot-branch-build-view-auto-refresh-enabled': autoRefresh,
                    'ot-branch-build-view-auto-refresh-disabled': !autoRefresh
                    }"
                    title="{{autoRefresh ? 'Auto refresh is enabled' : 'Auto refresh is disabled'}}"
                    ng-click="toggleAutoRefresh()">
                <span class="fa fa-refresh"></span>
            </button>
        </td>
    </tr>
    </tfoot>
</table>
{'fraction_non_alphanumeric': 0.14636591478696742, 'fraction_numerical': 0.0009308986752595775, 'mean_word_length': 1.7639026320997426, 'pattern_counts': {'":': 0, '<': 239, '<?xml version=': 0, '>': 241, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1460091', 'n_tokens_mistral': 3707, 'n_tokens_neox': 3526, 'n_words': 596}