80 lines
3.9 KiB
HTML
80 lines
3.9 KiB
HTML
<div ng-include="'views/resultSubHeader.html'"></div>
|
|
<div class="summary board">
|
|
|
|
<div ng-if="result.blockedRequests">
|
|
<b><ng-pluralize count="result.blockedRequests.length" when="{'0': 'No blocked request', 'one': '1 blocked request', 'other': '{} blocked requests'}"></ng-pluralize>:</b>
|
|
<div ng-repeat="request in result.blockedRequests track by $index">
|
|
{{request}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="globalScore" ng-if="globalScore === 0 || globalScore > 0">
|
|
<div>
|
|
<h2>Global score</h2>
|
|
<div class="globalScoreDisplay">
|
|
<grade score="result.scoreProfiles.generic.globalScore" class="globalGrade"></grade>
|
|
<div class="on100">{{globalScore}}/100</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<a href="result/{{result.runId}}/screenshot">
|
|
<div class="screenshotWrapper" ng-class="result.params.options.device || 'desktop'">
|
|
<div>
|
|
<img ng-if="result.screenshotUrl" class="screenshotImage" ng-src="{{result.screenshotUrl}}"/>
|
|
<span ng-if="!result.screenshotUrl" class="screenshotError">Screenshot not available</span>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 ng-if="!error && !fromSocialShare">Score details</h2>
|
|
<div ng-if="!error && !fromSocialShare" class="notations">
|
|
<div ng-repeat="categoryKey in categoriesOrder" ng-init="category = result.scoreProfiles.generic.categories[categoryKey]">
|
|
<grade score="category.categoryScore" class="categoryScore"></grade>
|
|
<div class="category">{{category.label}}</div>
|
|
<div class="criteria">
|
|
<div class="table" title="Click to see details">
|
|
<a ng-repeat="ruleName in category.rules" ng-if="result.rules[ruleName]" ng-init="rule = result.rules[ruleName]"
|
|
ng-class="{'warning': rule.abnormal}" href="result/{{runId}}/rule/{{ruleName}}">
|
|
<div class="grade">
|
|
<grade score="rule.score"></grade>
|
|
</div>
|
|
<div class="label">{{rule.policy.label}}</div>
|
|
<div class="result">
|
|
<span ng-if="rule.policy.unit == 'bytes'">{{rule.value | bytes}}</span>
|
|
<span ng-if="rule.policy.unit != 'bytes'">{{rule.value}}</span>
|
|
<span ng-if="rule.abnormal" class="icon-warning"></span>
|
|
<span ng-if="rule.abnormalityScore <= -100" class="icon-warning"></span>
|
|
<span ng-if="rule.abnormalityScore <= -300" class="icon-warning"></span>
|
|
</div>
|
|
<div class="info"><span class="icon-question"></span></div>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<%if (sponsoring.dashboard) { %>
|
|
<div ng-if="!error && !fromSocialShare" class="sponsor"><%- sponsoring.dashboard %></div>
|
|
<% } %>
|
|
|
|
|
|
<div class="tweet" ng-if="!error && !fromSocialShare">
|
|
<form ng-submit="sendTweet()">
|
|
<input type="text" class="tweetText" ng-model="tweetText">
|
|
<input type="submit" class="tweetButton" value="Tweet this!" ng-click="shareOnTwitter(tweetText)">
|
|
<input type="submit" class="linkedinButton" value="LinkedIn this!" ng-click="shareOnLinkedin(tweetText)">
|
|
</form>
|
|
</div>
|
|
|
|
<div class="fromShare" ng-if="!error && fromSocialShare">
|
|
<p>Yellow Lab Tools is a free online tool that analyzes performance and front-end quality.</p>
|
|
<a class="linkButton" href="" ng-click="seeFullReport()">See the full report for this page</a>
|
|
<a class="linkButton" href="<%= baseUrl %>">Test another webpage</a>
|
|
</div>
|
|
|
|
<div ng-if="error">
|
|
<h2>Run failed / Run not found</h2>
|
|
</div>
|
|
</div> |