|
|
@@ -24,18 +24,10 @@ export default class NavigationContainer extends Container {
|
|
|
this.state = {
|
|
|
editorMode: 'view',
|
|
|
|
|
|
- isDeviceSmallerThanMd: null,
|
|
|
- preferDrawerModeByUser: localStorage.preferDrawerModeByUser === 'true',
|
|
|
- preferDrawerModeOnEditByUser: // default: true
|
|
|
- localStorage.preferDrawerModeOnEditByUser == null || localStorage.preferDrawerModeOnEditByUser === 'true',
|
|
|
- isDrawerMode: null,
|
|
|
- isDrawerOpened: false,
|
|
|
-
|
|
|
isScrollTop: true,
|
|
|
};
|
|
|
|
|
|
this.setEditorMode = this.setEditorMode.bind(this);
|
|
|
- this.initDeviceSize();
|
|
|
this.initScrollEvent();
|
|
|
}
|
|
|
|
|
|
@@ -50,26 +42,6 @@ export default class NavigationContainer extends Container {
|
|
|
return this.appContainer.getContainer('PageContainer');
|
|
|
}
|
|
|
|
|
|
- initDeviceSize() {
|
|
|
- const mdOrAvobeHandler = async(mql) => {
|
|
|
- let isDeviceSmallerThanMd;
|
|
|
-
|
|
|
- // sm -> md
|
|
|
- if (mql.matches) {
|
|
|
- isDeviceSmallerThanMd = false;
|
|
|
- }
|
|
|
- // md -> sm
|
|
|
- else {
|
|
|
- isDeviceSmallerThanMd = true;
|
|
|
- }
|
|
|
-
|
|
|
- this.setState({ isDeviceSmallerThanMd });
|
|
|
- this.updateDrawerMode({ ...this.state, isDeviceSmallerThanMd }); // generate newest state object
|
|
|
- };
|
|
|
-
|
|
|
- this.appContainer.addBreakpointListener('md', mdOrAvobeHandler, true);
|
|
|
- }
|
|
|
-
|
|
|
initScrollEvent() {
|
|
|
window.addEventListener('scroll', () => {
|
|
|
const currentYOffset = window.pageYOffset;
|
|
|
@@ -129,37 +101,6 @@ export default class NavigationContainer extends Container {
|
|
|
this.updateDrawerMode({ ...this.state, editorMode }); // generate newest state object
|
|
|
}
|
|
|
|
|
|
- toggleDrawer() {
|
|
|
- const { isDrawerOpened } = this.state;
|
|
|
- this.setState({ isDrawerOpened: !isDrawerOpened });
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Set Sidebar mode preference by user
|
|
|
- * @param {boolean} preferDockMode
|
|
|
- */
|
|
|
- async setDrawerModePreference(bool) {
|
|
|
- this.setState({ preferDrawerModeByUser: bool });
|
|
|
- this.updateDrawerMode({ ...this.state, preferDrawerModeByUser: bool }); // generate newest state object
|
|
|
-
|
|
|
- // store settings to localStorage
|
|
|
- const { localStorage } = window;
|
|
|
- localStorage.preferDrawerModeByUser = bool;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Set Sidebar mode preference by user
|
|
|
- * @param {boolean} preferDockMode
|
|
|
- */
|
|
|
- async setDrawerModePreferenceOnEdit(bool) {
|
|
|
- this.setState({ preferDrawerModeOnEditByUser: bool });
|
|
|
- this.updateDrawerMode({ ...this.state, preferDrawerModeOnEditByUser: bool }); // generate newest state object
|
|
|
-
|
|
|
- // store settings to localStorage
|
|
|
- const { localStorage } = window;
|
|
|
- localStorage.preferDrawerModeOnEditByUser = bool;
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* Update drawer related state by specified 'newState' object
|
|
|
* @param {object} newState A newest state object
|
|
|
@@ -170,19 +111,19 @@ export default class NavigationContainer extends Container {
|
|
|
*
|
|
|
* because updating state of unstated container will be delayed unless you use await
|
|
|
*/
|
|
|
- updateDrawerMode(newState) {
|
|
|
- const {
|
|
|
- editorMode, isDeviceSmallerThanMd, preferDrawerModeByUser, preferDrawerModeOnEditByUser,
|
|
|
- } = newState;
|
|
|
+ // updateDrawerMode(newState) {
|
|
|
+ // const {
|
|
|
+ // editorMode, isDeviceSmallerThanMd, preferDrawerModeByUser, preferDrawerModeOnEditByUser,
|
|
|
+ // } = newState;
|
|
|
|
|
|
- // get preference on view or edit
|
|
|
- const preferDrawerMode = editorMode !== 'view' ? preferDrawerModeOnEditByUser : preferDrawerModeByUser;
|
|
|
+ // // get preference on view or edit
|
|
|
+ // const preferDrawerMode = editorMode !== 'view' ? preferDrawerModeOnEditByUser : preferDrawerModeByUser;
|
|
|
|
|
|
- const isDrawerMode = isDeviceSmallerThanMd || preferDrawerMode;
|
|
|
- const isDrawerOpened = false; // close Drawer anyway
|
|
|
+ // const isDrawerMode = isDeviceSmallerThanMd || preferDrawerMode;
|
|
|
+ // const isDrawerOpened = false; // close Drawer anyway
|
|
|
|
|
|
- this.setState({ isDrawerMode, isDrawerOpened });
|
|
|
- }
|
|
|
+ // this.setState({ isDrawerMode, isDrawerOpened });
|
|
|
+ // }
|
|
|
|
|
|
/**
|
|
|
* Function that implements the click event for realizing smooth scroll
|