Notes/src/public/app/widgets/mobile_layout.js

88 lines
2.3 KiB
JavaScript
Raw Normal View History

2020-03-01 11:04:42 +01:00
import FlexContainer from "./flex_container.js";
import NoteTitleWidget from "./note_title.js";
import NoteDetailWidget from "./note_detail.js";
import NoteTreeWidget from "./note_tree.js";
2020-03-01 11:53:02 +01:00
import MobileGlobalButtonsWidget from "./mobile_global_buttons.js";
2020-03-01 12:50:02 +01:00
import CloseDetailButtonWidget from "./close_detail_button.js";
import MobileDetailMenuWidget from "./mobile_detail_menu.js";
2020-03-01 15:19:16 +01:00
import ScreenContainer from "./screen_container.js";
2020-03-01 11:04:42 +01:00
const MOBILE_CSS = `
<style>
kbd {
display: none;
}
.dropdown-menu {
font-size: larger;
}
.action-button {
background: none;
border: none;
cursor: pointer;
font-size: 1.5em;
padding-left: 0.5em;
padding-right: 0.5em;
}
</style>`;
const FANCYTREE_CSS = `
<style>
.fancytree-custom-icon {
font-size: 2em;
}
.fancytree-title {
font-size: 1.5em;
margin-left: 0.6em !important;
}
.fancytree-node {
padding: 5px;
}
.fancytree-node .fancytree-expander:before {
font-size: 2em !important;
}
span.fancytree-expander {
width: 24px !important;
}
.fancytree-loading span.fancytree-expander {
width: 24px;
height: 32px;
}
.fancytree-loading span.fancytree-expander:after {
width: 20px;
height: 20px;
margin-top: 4px;
border-width: 2px;
border-style: solid;
}
</style>`;
2020-03-01 11:04:42 +01:00
export default class MobileLayout {
getRootWidget(appContext) {
return new FlexContainer('row').cssBlock(MOBILE_CSS)
2020-03-01 11:04:42 +01:00
.setParent(appContext)
.id('root-widget')
.css('height', '100vh')
2020-03-01 15:19:16 +01:00
.child(new ScreenContainer("tree", 'column')
2020-03-01 12:05:10 +01:00
.class("d-sm-flex d-md-flex d-lg-flex d-xl-flex col-12 col-sm-5 col-md-4 col-lg-4 col-xl-4")
2020-03-01 11:53:02 +01:00
.child(new MobileGlobalButtonsWidget())
.child(new NoteTreeWidget().cssBlock(FANCYTREE_CSS)))
2020-03-01 15:19:16 +01:00
.child(new ScreenContainer("detail", "column")
.class("d-sm-flex d-md-flex d-lg-flex d-xl-flex col-12 col-sm-7 col-md-8 col-lg-8")
2020-03-01 12:50:02 +01:00
.child(new FlexContainer('row')
.child(new MobileDetailMenuWidget())
.child(new NoteTitleWidget()
.css('padding', '10px')
.css('font-size', 'larger'))
2020-03-01 12:50:02 +01:00
.child(new CloseDetailButtonWidget()))
.child(new NoteDetailWidget()
.css('padding', '5px 20px 10px 0')));
2020-03-01 11:04:42 +01:00
}
}