From 301d128ea6944ce87e9ff52d6837a83389979ce6 Mon Sep 17 00:00:00 2001 From: Eirikur Ingi Magnusson <eiiki0808@gmail.com> Date: Thu, 9 Feb 2017 13:52:11 +0000 Subject: [PATCH] Fix explorer scrolling and closing behavior --- client/src/api/client.js | 1 + client/src/components/explorer/ExplorerPanel.js | 8 ++++++++ client/webpack/base.config.js | 5 +---- .../wagtailadmin/scss/components/_main-nav.scss | 4 ++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/client/src/api/client.js b/client/src/api/client.js index e50021bd6f..830995b358 100644 --- a/client/src/api/client.js +++ b/client/src/api/client.js @@ -1,6 +1,7 @@ import _ from 'lodash'; const fetch = global.fetch; +const Headers = global.Headers; // fetch wrapper for JSON APIs. export const get = (url) => { diff --git a/client/src/components/explorer/ExplorerPanel.js b/client/src/components/explorer/ExplorerPanel.js index 806ae5c709..fa14b56523 100644 --- a/client/src/components/explorer/ExplorerPanel.js +++ b/client/src/components/explorer/ExplorerPanel.js @@ -53,11 +53,19 @@ export default class ExplorerPanel extends React.Component { document.body.classList.add('explorer-open'); document.addEventListener('click', this.clickOutside); + var Anchors = document.getElementsByTagName("a"); + for (var i = 0; i < Anchors.length ; i++) { + Anchors[i].addEventListener("click", this.clickOutside) + } } componentWillUnmount() { document.body.classList.remove('explorer-open'); document.removeEventListener('click', this.clickOutside); + var Anchors = document.getElementsByTagName("a"); + for (var i = 0; i < Anchors.length ; i++) { + Anchors[i].removeEventListener("click", this.clickOutside) + } } clickOutside(e) { diff --git a/client/webpack/base.config.js b/client/webpack/base.config.js index b941c9546a..40de08676c 100644 --- a/client/webpack/base.config.js +++ b/client/webpack/base.config.js @@ -17,7 +17,7 @@ function entryPoint(filename) { var name = appName(filename); var entryName = path.basename(filename, '.entry.js'); var outputPath = path.join('wagtail', name, 'static', name, 'js', entryName); - return [outputPath, ['babel-polyfill', filename]]; + return [outputPath, ['whatwg-fetch', 'babel-polyfill', filename]]; } @@ -46,9 +46,6 @@ module.exports = function exports() { publicPath: '/static/js/' }, plugins: [ - new webpack.ProvidePlugin({ - fetch: 'imports?this=>global!exports?global.fetch!whatwg-fetch' - }), new webpack.optimize.CommonsChunkPlugin('common', COMMON_PATH, Infinity) ], module: { diff --git a/wagtail/wagtailadmin/static_src/wagtailadmin/scss/components/_main-nav.scss b/wagtail/wagtailadmin/static_src/wagtailadmin/scss/components/_main-nav.scss index d80d9c231e..e5af869b13 100644 --- a/wagtail/wagtailadmin/static_src/wagtailadmin/scss/components/_main-nav.scss +++ b/wagtail/wagtailadmin/static_src/wagtailadmin/scss/components/_main-nav.scss @@ -441,9 +441,9 @@ body.explorer-open { .explorer { width: 400px; - position: absolute; + position: fixed; top: 0; - left: 99%; + left: $menu-width; } .dl-menu {