diff --git a/frontend/src/pages/wiki2/css/wiki-nav.css b/frontend/src/pages/wiki2/css/wiki-nav.css
index e0897913d1..5cafbac768 100644
--- a/frontend/src/pages/wiki2/css/wiki-nav.css
+++ b/frontend/src/pages/wiki2/css/wiki-nav.css
@@ -223,6 +223,7 @@
.wiki-nav .page-operation-dropdown .page-operation-dropdown-menu {
margin-left: -15px;
margin-top: 4px;
+ overflow-y: visible !important;
}
.page-operation-dropdown-menu .divider {
diff --git a/frontend/src/pages/wiki2/wiki-nav/pages/page-dropdownmenu.js b/frontend/src/pages/wiki2/wiki-nav/pages/page-dropdownmenu.js
index c01a0a52a3..3b87849610 100644
--- a/frontend/src/pages/wiki2/wiki-nav/pages/page-dropdownmenu.js
+++ b/frontend/src/pages/wiki2/wiki-nav/pages/page-dropdownmenu.js
@@ -23,6 +23,9 @@ export default class PageDropdownMenu extends Component {
constructor(props) {
super(props);
this.pageNameMap = this.calculateNameMap();
+ this.state = {
+ isImportPageMenuShown: false,
+ };
}
calculateNameMap = () => {
@@ -33,6 +36,20 @@ export default class PageDropdownMenu extends Component {
}, {});
};
+ showImportPageMenu = (e) => {
+ if (e) e.stopPropagation();
+ if (!this.state.isImportPageMenuShown) {
+ this.setState({ isImportPageMenuShown: true });
+ }
+ };
+
+ hideImportPageMenu = (e) => {
+ if (e) e.stopPropagation();
+ if (this.state.isImportPageMenuShown) {
+ this.setState({ isImportPageMenuShown: false });
+ }
+ };
+
onDropdownToggle = (evt) => {
evt.stopPropagation();
this.props.toggle();
@@ -61,11 +78,11 @@ export default class PageDropdownMenu extends Component {
this.props.duplicatePage({ from_page_id: page.id }, () => {}, this.duplicatePageFailure);
};
- importPage = () => {
+ importPage = (suffix) => {
const { page } = this.props;
const fileInput = document.createElement('input');
fileInput.type = 'file';
- fileInput.accept = '.docx,.md';
+ fileInput.accept = suffix;
fileInput.style.display = 'none';
fileInput.addEventListener('change', (e) => {
@@ -148,7 +165,28 @@ export default class PageDropdownMenu extends Component {
{this.renderItem(this.addPageBelow, 'enlarge', gettext('Add page below'))}
{this.renderItem(this.duplicatePage, 'copy1', gettext('Duplicate page'))}
{canDeletePage && this.renderItem(this.onDeletePage, 'delete1', gettext('Delete page'))}
- {this.renderItem(this.importPage, 'import-sdoc', gettext('Import page'))}
+