Commit 63fd3adf authored by dpapad's avatar dpapad Committed by Commit Bot

PDF Viewer update: Hook-up sidenav toggle button.

Initial approach where the sidenav gets hidden/shown without
any animation. Also there is a visible flash in the plugin area
as a result of repainting after the sidenav is closed, which will
have to be addressed in follow up polish.

Bug: 1110015
Change-Id: I879198d6d90d2f384998be56186a3fd7f1aabd0b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2324202
Auto-Submit: dpapad <dpapad@chromium.org>
Commit-Queue: John Lee <johntlee@chromium.org>
Reviewed-by: default avatarJohn Lee <johntlee@chromium.org>
Cr-Commit-Position: refs/heads/master@{#792812}
parent 08233057
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
height: 48px; height: 48px;
} }
#menuButton { #sidenavToggle {
margin: 0 6px; margin: 0 6px;
} }
...@@ -135,7 +135,8 @@ ...@@ -135,7 +135,8 @@
<!-- TODO(dpapad): Add aria-label and title for all buttons --> <!-- TODO(dpapad): Add aria-label and title for all buttons -->
<div id="toolbar"> <div id="toolbar">
<div id="start"> <div id="start">
<cr-icon-button id="menuButton" iron-icon="pdf:open-book"> <cr-icon-button id="sidenavToggle" iron-icon="pdf:open-book"
on-click="onSidenavToggleClick_">
</cr-icon-button> </cr-icon-button>
<span id="title">[[docTitle]]</span> <span id="title">[[docTitle]]</span>
</div> </div>
......
...@@ -109,6 +109,11 @@ export class ViewerPdfToolbarNewElement extends PolymerElement { ...@@ -109,6 +109,11 @@ export class ViewerPdfToolbarNewElement extends PolymerElement {
this.zoomTimeout_ = null; this.zoomTimeout_ = null;
} }
/** @private */
onSidenavToggleClick_() {
this.dispatchEvent(new CustomEvent('sidenav-toggle-click'));
}
/** /**
* @return {string} * @return {string}
* @private * @private
......
...@@ -121,6 +121,7 @@ ...@@ -121,6 +121,7 @@
on-change-page="onChangePage_" on-change-page="onChangePage_"
on-dropdown-opened="onDropdownOpened_" on-dropdown-opened="onDropdownOpened_"
on-fit-to-changed="onFitToChanged" on-zoom-in="onZoomIn" on-fit-to-changed="onFitToChanged" on-zoom-in="onZoomIn"
on-sidenav-toggle-click="onSidenavToggleClick_"
on-two-up-view-changed="onTwoUpViewChanged_" on-two-up-view-changed="onTwoUpViewChanged_"
on-zoom-changed="onZoomChanged" on-zoom-changed="onZoomChanged"
on-zoom-out="onZoomOut" on-rotate-left="rotateCounterclockwise" on-zoom-out="onZoomOut" on-rotate-left="rotateCounterclockwise"
...@@ -133,7 +134,7 @@ ...@@ -133,7 +134,7 @@
<template is="dom-if" if="[[pdfViewerUpdateEnabled_]]"> <template is="dom-if" if="[[pdfViewerUpdateEnabled_]]">
<div id="container"> <div id="container">
<div id="sidenav"></div> <div id="sidenav" hidden="[[sidenavCollapsed_]]"></div>
<div id="main" on-scroll="onScroll_"> <div id="main" on-scroll="onScroll_">
<div id="sizer"></div> <div id="sizer"></div>
<div id="content"></div> <div id="content"></div>
......
...@@ -216,6 +216,9 @@ export class PDFViewerElement extends PDFViewerBaseElement { ...@@ -216,6 +216,9 @@ export class PDFViewerElement extends PDFViewerBaseElement {
/** @private {boolean} */ /** @private {boolean} */
this.hadPassword_ = false; this.hadPassword_ = false;
/** @private {boolean} */
this.sidenavCollapsed_ = false;
/** @private {boolean} */ /** @private {boolean} */
this.toolbarEnabled_ = false; this.toolbarEnabled_ = false;
...@@ -875,6 +878,11 @@ export class PDFViewerElement extends PDFViewerBaseElement { ...@@ -875,6 +878,11 @@ export class PDFViewerElement extends PDFViewerBaseElement {
this.navigator_.navigate(e.detail.uri, disposition); this.navigator_.navigate(e.detail.uri, disposition);
} }
/** @private */
onSidenavToggleClick_() {
this.sidenavCollapsed_ = !this.sidenavCollapsed_;
}
/** /**
* Saves the current PDF document to disk. * Saves the current PDF document to disk.
* @param {SaveRequestType} requestType The type of save request. * @param {SaveRequestType} requestType The type of save request.
......
...@@ -182,6 +182,14 @@ const tests = [ ...@@ -182,6 +182,14 @@ const tests = [
}); });
twoPageViewButton.click(); twoPageViewButton.click();
}, },
function testSidenavToggleButton() {
const toolbar = createToolbar();
toolbar.addEventListener(
'sidenav-toggle-click', () => chrome.test.succeed());
const toggleButton = toolbar.shadowRoot.querySelector('#sidenavToggle');
toggleButton.click();
},
]; ];
chrome.test.runTests(tests); chrome.test.runTests(tests);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment