Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

devtools: move topbar out of scrollable container #9077

Merged
merged 55 commits into from
May 30, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
41aa187
report(redesign): update styles for devtools
connorjclark May 22, 2019
000f841
sc
connorjclark May 22, 2019
c0bf21d
report ui features in devtools. add sticky header and topbar
connorjclark May 25, 2019
1e040cc
fix scroll
connorjclark May 25, 2019
a6e722e
remove alt devtools header
connorjclark May 25, 2019
7129ae1
fix highlighter in dt
connorjclark May 25, 2019
ca0afd1
comments
connorjclark May 25, 2019
4a6a796
margin for container
connorjclark May 25, 2019
fe61b86
better comment
connorjclark May 28, 2019
720dbb4
fix type
connorjclark May 28, 2019
0153c0e
fix header check test
connorjclark May 28, 2019
009c7d2
comment
connorjclark May 28, 2019
0ee54c8
report: increase UI density for devtools (#9070)
paulirish May 28, 2019
cc763f8
maybe remove lh container top page margin
connorjclark May 28, 2019
7ace084
remove most of top of page shiiiit
connorjclark May 28, 2019
6650b66
nearly there
connorjclark May 28, 2019
8063f18
display none sticky header
connorjclark May 28, 2019
63c9638
disable anim
connorjclark May 28, 2019
739b20a
Merge remote-tracking branch 'origin/master' into rd-devtools
connorjclark May 28, 2019
4b86fb4
restructure render fn
connorjclark May 28, 2019
bdbf379
toggle dark class on lh-vars el
connorjclark May 28, 2019
181a5ed
comment
connorjclark May 28, 2019
2031b5e
Merge remote-tracking branch 'origin/master' into rd-devtools
connorjclark May 29, 2019
b2016ea
comment
connorjclark May 29, 2019
f16f78f
display none export
connorjclark May 29, 2019
e3a4ba0
remove extra margin
connorjclark May 29, 2019
453e58f
devtools: move topbar out of scrollable container
connorjclark May 29, 2019
0dfc3b2
reorg render fn
connorjclark May 29, 2019
06c9cb4
fix score container size so text does not wrap
connorjclark May 29, 2019
ee239c6
remove extra margin
connorjclark May 29, 2019
19215e9
find first scrollable ancestor
connorjclark May 29, 2019
6059968
comment
connorjclark May 29, 2019
9dd16c1
nit/tuck
connorjclark May 29, 2019
82bb8e6
header gauges
connorjclark May 29, 2019
ca7b9a9
Merge branch 'rd-devtools' into rd-devtools-topbar
connorjclark May 29, 2019
aec1ac3
highlight fix
connorjclark May 29, 2019
3d3a034
Merge branch 'rd-devtools' into rd-devtools-topbar
connorjclark May 29, 2019
0c1b09e
pr changes
connorjclark May 29, 2019
656e941
work around resize event for dt
connorjclark May 30, 2019
8ded84e
types
connorjclark May 30, 2019
6dabf64
bump
connorjclark May 30, 2019
df79fcb
limit resize observer to devtools
connorjclark May 30, 2019
7c9fe63
Merge branch 'rd-devtools' into rd-devtools-topbar
connorjclark May 30, 2019
427baf5
create highlight div in report ui feats
connorjclark May 30, 2019
d383120
comment
connorjclark May 30, 2019
b6879b1
pr
connorjclark May 30, 2019
5dab607
Merge branch 'rd-devtools' into rd-devtools-topbar
connorjclark May 30, 2019
26f2864
lint
connorjclark May 30, 2019
067784b
Merge branch 'rd-devtools' into rd-devtools-topbar
connorjclark May 30, 2019
0345eb7
Merge remote-tracking branch 'origin/master' into rd-devtools-topbar
connorjclark May 30, 2019
9b556cd
fix merge mistake
connorjclark May 30, 2019
c10ea6e
fix container footer cutoff
connorjclark May 30, 2019
f66136f
Update lighthouse-core/report/html/report-styles.css
connorjclark May 30, 2019
c08ce10
reportContainer
connorjclark May 30, 2019
bee3592
Merge branch 'rd-devtools-topbar' of github.com:GoogleChrome/lighthou…
connorjclark May 30, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 29 additions & 30 deletions lighthouse-core/report/html/renderer/report-renderer.js
Original file line number Diff line number Diff line change
Expand Up @@ -184,22 +184,6 @@ class ReportRenderer {
* @return {DocumentFragment}
*/
_renderReport(report) {
const headerContainer = this._dom.createElement('div');
headerContainer.appendChild(this._renderReportHeader());

const container = this._dom.createElement('div', 'lh-container');
const reportSection = container.appendChild(this._dom.createElement('div', 'lh-report'));

reportSection.appendChild(this._renderReportWarnings(report));

let scoreHeader;
const isSoloCategory = Object.keys(report.categories).length === 1;
if (!isSoloCategory) {
scoreHeader = this._dom.createElement('div', 'lh-scores-header');
} else {
headerContainer.classList.add('lh-header--solo-category');
}

const detailsRenderer = new DetailsRenderer(this._dom);
const categoryRenderer = new CategoryRenderer(this._dom, detailsRenderer);
categoryRenderer.setTemplateContext(this._templateContext);
Expand All @@ -213,19 +197,20 @@ class ReportRenderer {
renderer.setTemplateContext(this._templateContext);
});

const categories = reportSection.appendChild(this._dom.createElement('div', 'lh-categories'));
const headerContainer = this._dom.createElement('div');
patrickhulce marked this conversation as resolved.
Show resolved Hide resolved
headerContainer.appendChild(this._renderReportHeader());

for (const category of Object.values(report.categories)) {
const renderer = specificCategoryRenderers[category.id] || categoryRenderer;
// .lh-category-wrapper is full-width and provides horizontal rules between categories.
// .lh-category within has the max-width: var(--report-width);
const wrapper = renderer.dom.createChildOf(categories, 'div', 'lh-category-wrapper');
wrapper.appendChild(renderer.render(category, report.categoryGroups));
}
const reportContainer = this._dom.createElement('div', 'lh-container');
const reportSection = this._dom.createElement('div', 'lh-report');
reportSection.appendChild(this._renderReportWarnings(report));

const reportFragment = this._dom.createFragment();
const topbarDocumentFragment = this._renderReportTopbar(report);
reportFragment.appendChild(topbarDocumentFragment);
let scoreHeader;
patrickhulce marked this conversation as resolved.
Show resolved Hide resolved
const isSoloCategory = Object.keys(report.categories).length === 1;
if (!isSoloCategory) {
scoreHeader = this._dom.createElement('div', 'lh-scores-header');
} else {
headerContainer.classList.add('lh-header--solo-category');
}

if (scoreHeader) {
const scoreScale = this._dom.cloneTemplate('#tmpl-lh-scorescale', this._templateContext);
Expand All @@ -238,11 +223,25 @@ class ReportRenderer {
const stickyHeader = this._dom.createElement('div', 'lh-sticky-header');
stickyHeader.append(
...this._renderScoreGauges(report, categoryRenderer, specificCategoryRenderers));
reportFragment.appendChild(stickyHeader);
reportContainer.appendChild(stickyHeader);
}

const categories = reportSection.appendChild(this._dom.createElement('div', 'lh-categories'));
patrickhulce marked this conversation as resolved.
Show resolved Hide resolved
for (const category of Object.values(report.categories)) {
const renderer = specificCategoryRenderers[category.id] || categoryRenderer;
// .lh-category-wrapper is full-width and provides horizontal rules between categories.
// .lh-category within has the max-width: var(--report-width);
const wrapper = renderer.dom.createChildOf(categories, 'div', 'lh-category-wrapper');
wrapper.appendChild(renderer.render(category, report.categoryGroups));
}

reportFragment.appendChild(headerContainer);
reportFragment.appendChild(container);
const reportFragment = this._dom.createFragment();
const topbarDocumentFragment = this._renderReportTopbar(report);

reportFragment.appendChild(topbarDocumentFragment);
reportFragment.appendChild(reportContainer);
reportContainer.appendChild(headerContainer);
reportContainer.appendChild(reportSection);
reportSection.appendChild(this._renderReportFooter(report));

return reportFragment;
Expand Down
14 changes: 13 additions & 1 deletion lighthouse-core/report/html/report-styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@
--header-padding: 16px 0 16px 0;
--plugin-icon-size: 75%;
--pwa-icon-margin: 0 7px 0 -3px;
--score-container-width: 92px;
--score-container-width: 97px;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's the effect here/why necessary?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the text for the gauge titles was wrapping for Perf/A11y (in DevTools only) b/c the scroll bar steals some width.

--score-number-font-size-big: 34px;
--score-number-font-size: 26px;
--score-shape-margin-left: 2px;
Expand All @@ -285,6 +285,18 @@
--lh-section-vpadding: 8px;
}

.lh-devtools.lh-root {
height: 100%;
}
.lh-devtools .lh-container {
overflow-y: scroll;
height: calc(100% - var(--topbar-height));
}
.lh-devtools .lh-sticky-header {
/* This is normally the height of the topbar, but we want it to stick to the top of our scroll container .lh-container` */
top: 0;
}

@keyframes fadeIn {
0% { opacity: 0;}
100% { opacity: 0.6;}
Expand Down