mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-05 08:35:26 +00:00
36 lines
1.3 KiB
JavaScript
36 lines
1.3 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
let ProjectPanel = {
|
|
// TODO: Expand function to save toggle state.
|
|
toggleSidebar: function() {
|
|
document.querySelector("#project-listing-panel").setAttribute("sidebar-displayed", true);
|
|
document.querySelector("#project-listing-splitter").setAttribute("sidebar-displayed", true);
|
|
},
|
|
|
|
showPopup: function() {
|
|
let deferred = promise.defer();
|
|
|
|
let panelNode = document.querySelector("#project-panel");
|
|
let panelVboxNode = document.querySelector("#project-panel > #project-panel-box");
|
|
let anchorNode = document.querySelector("#project-panel-button > .panel-button-anchor");
|
|
|
|
window.setTimeout(() => {
|
|
// Open the popup only when the projects are added.
|
|
// Not doing it in the next tick can cause mis-calculations
|
|
// of the size of the panel.
|
|
function onPopupShown() {
|
|
panelNode.removeEventListener("popupshown", onPopupShown);
|
|
deferred.resolve();
|
|
}
|
|
|
|
panelNode.addEventListener("popupshown", onPopupShown);
|
|
panelNode.openPopup(anchorNode);
|
|
panelVboxNode.scrollTop = 0;
|
|
}, 0);
|
|
|
|
return deferred.promise;
|
|
}
|
|
};
|