From 3c7253331a3f56200f44bb855baa5a7f04c8c936 Mon Sep 17 00:00:00 2001 From: Murod Khaydarov Date: Tue, 15 Jan 2019 17:23:46 +0300 Subject: [PATCH] add margin --- public/dist/main.css | 2 +- src/frontend/styles/components/writing.pcss | 4 +++ src/routes/middlewares/pages.js | 19 +++++++++++--- src/views/pages/form.twig | 28 ++++++++++++--------- 4 files changed, 37 insertions(+), 16 deletions(-) diff --git a/public/dist/main.css b/public/dist/main.css index f909892..24b8928 100644 --- a/public/dist/main.css +++ b/public/dist/main.css @@ -1 +1 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--color-text-main:#1d202b;--color-text-second:#7b7e89;--color-line-gray:#e8e8eb;--color-link-active:#388ae5;--layout-padding-horisontal:40px;--layout-padding-vertical:40px;--layout-width-aside:200px;--layout-width-main-col:650px}.docs{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 40px;padding:0 var(--layout-padding-horisontal)}.docs__aside{width:200px;width:var(--layout-width-aside)}.docs__content{-webkit-box-flex:2;-ms-flex-positive:2;flex-grow:2;word-wrap:break-word}.docs__content-inner{max-width:650px;max-width:var(--layout-width-main-col);margin:0 auto}.docs__aside,.docs__content{padding:40px 0;padding:var(--layout-padding-vertical) 0}.docs-header{font-size:15.8px;border-bottom:1px solid #e8e8eb;border-bottom:1px solid var(--color-line-gray);line-height:50px;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 40px;padding:0 var(--layout-padding-horisontal)}.docs-header a{text-decoration:none;display:inline-block}.docs-header__logo{font-weight:700;color:inherit}.docs-header__menu{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0 0 0 auto}.docs-header__menu li{list-style:none;margin-left:20px}.docs-header__menu a:not(.docs-header__button){color:inherit}.docs-header__menu a:not(.docs-header__button):hover{color:#388ae5;color:var(--color-link-active)}.docs-header__button{display:inline-block;background:#388ae5;background:var(--color-link-active);color:#fff;border-radius:3px;padding:9px 15px;font-size:14px;line-height:1em;text-decoration:none}.docs-header__button svg{margin:0 .3em 0 -.05em}.docs-header__button:hover{background:#387ecc}.docs-header__button{margin:auto 30px auto auto}.docs-aside{font-size:15px;color:#7b7e89;color:var(--color-text-second)}.docs-aside a{text-decoration:none}.docs-aside__section{margin-bottom:30px}.docs-aside__section-title{margin-bottom:15px;color:#388ae5;color:var(--color-link-active)}.docs-aside__section-list{padding-left:0;list-style:none}.docs-aside__section-list a{display:inline-block;color:inherit;padding:8px 0}.writing-header{display:-webkit-box;display:-ms-flexbox;display:flex;padding:15px 0;margin-top:-40px;margin-top:calc(-1*var(--layout-padding-vertical));position:-webkit-sticky;position:sticky;top:0;background:#fff;z-index:2;-webkit-box-shadow:0 3px 10px #fff;box-shadow:0 3px 10px #fff}.writing-header__save{display:inline-block;background:#388ae5;background:var(--color-link-active);color:#fff;border-radius:3px;padding:9px 15px;font-size:14px;line-height:1em;text-decoration:none}.writing-header__save svg{margin:0 .3em 0 -.05em}.writing-header__save:hover{background:#387ecc}.writing-header__save{margin-left:auto}.writing-header__left{margin:auto 0;color:#7b7e89;color:var(--color-text-second)}.page{font-size:16px;line-height:1.6}.page__header{display:-webkit-box;display:-ms-flexbox;display:flex;color:#7b7e89;color:var(--color-text-second)}.page__header-nav{color:inherit;text-decoration:none}.page__header-nav:hover{color:#388ae5;color:var(--color-link-active)}.page__header-nav:not(:last-of-type):after{content:"\BB";margin:0 .7em 0 .45em}.page__header-time{margin-left:auto}.page__header-button{display:inline-block;background:#388ae5;background:var(--color-link-active);color:#fff;border-radius:3px;padding:9px 15px;font-size:14px;line-height:1em;text-decoration:none}.page__header-button svg{margin:0 .3em 0 -.05em}.page__header-button:hover{background:#387ecc}.page__header-button{padding:5px 10px;font-size:13px;margin-left:10px}.page__title{font-size:26px;font-weight:700;letter-spacing:-.04px;margin-bottom:-.2em}.block-header{margin:1.5em 0 .5em}.block-header--2{font-size:22px;font-weight:500}.block-header--3{font-size:18px;font-weight:500}.block-code{padding:20px!important;font-size:13px;border-radius:3px;border:1px solid #e8e8eb;border:1px solid var(--color-line-gray);font-family:Menlo,Monaco,Consolas,Courier New,monospace;line-height:1.7em}.block-list li{margin:10px 0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,Verdana;color:#1d202b;color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}svg{fill:currentColor} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--color-text-main:#1d202b;--color-text-second:#7b7e89;--color-line-gray:#e8e8eb;--color-link-active:#388ae5;--layout-padding-horisontal:40px;--layout-padding-vertical:40px;--layout-width-aside:200px;--layout-width-main-col:650px}.docs{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 40px;padding:0 var(--layout-padding-horisontal)}.docs__aside{width:200px;width:var(--layout-width-aside)}.docs__content{-webkit-box-flex:2;-ms-flex-positive:2;flex-grow:2;word-wrap:break-word}.docs__content-inner{max-width:650px;max-width:var(--layout-width-main-col);margin:0 auto}.docs__aside,.docs__content{padding:40px 0;padding:var(--layout-padding-vertical) 0}.docs-header{font-size:15.8px;border-bottom:1px solid #e8e8eb;border-bottom:1px solid var(--color-line-gray);line-height:50px;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 40px;padding:0 var(--layout-padding-horisontal)}.docs-header a{text-decoration:none;display:inline-block}.docs-header__logo{font-weight:700;color:inherit}.docs-header__menu{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0 0 0 auto}.docs-header__menu li{list-style:none;margin-left:20px}.docs-header__menu a:not(.docs-header__button){color:inherit}.docs-header__menu a:not(.docs-header__button):hover{color:#388ae5;color:var(--color-link-active)}.docs-header__button{display:inline-block;background:#388ae5;background:var(--color-link-active);color:#fff;border-radius:3px;padding:9px 15px;font-size:14px;line-height:1em;text-decoration:none}.docs-header__button svg{margin:0 .3em 0 -.05em}.docs-header__button:hover{background:#387ecc}.docs-header__button{margin:auto 30px auto auto}.docs-aside{font-size:15px;color:#7b7e89;color:var(--color-text-second)}.docs-aside a{text-decoration:none}.docs-aside__section{margin-bottom:30px}.docs-aside__section-title{margin-bottom:15px;color:#388ae5;color:var(--color-link-active)}.docs-aside__section-list{padding-left:0;list-style:none}.docs-aside__section-list a{display:inline-block;color:inherit;padding:8px 0}.writing-header{display:-webkit-box;display:-ms-flexbox;display:flex;padding:15px 0;margin-top:-40px;margin-top:calc(-1*var(--layout-padding-vertical));position:-webkit-sticky;position:sticky;top:0;background:#fff;z-index:2;-webkit-box-shadow:0 3px 10px #fff;box-shadow:0 3px 10px #fff}.writing-header__save{display:inline-block;background:#388ae5;background:var(--color-link-active);color:#fff;border-radius:3px;padding:9px 15px;font-size:14px;line-height:1em;text-decoration:none}.writing-header__save svg{margin:0 .3em 0 -.05em}.writing-header__save:hover{background:#387ecc}.writing-header__save{margin-left:auto}.writing-header__left{margin:auto 0;color:#7b7e89;color:var(--color-text-second)}.writing-header__left span{margin-right:10px}.page{font-size:16px;line-height:1.6}.page__header{display:-webkit-box;display:-ms-flexbox;display:flex;color:#7b7e89;color:var(--color-text-second)}.page__header-nav{color:inherit;text-decoration:none}.page__header-nav:hover{color:#388ae5;color:var(--color-link-active)}.page__header-nav:not(:last-of-type):after{content:"\BB";margin:0 .7em 0 .45em}.page__header-time{margin-left:auto}.page__header-button{display:inline-block;background:#388ae5;background:var(--color-link-active);color:#fff;border-radius:3px;padding:9px 15px;font-size:14px;line-height:1em;text-decoration:none}.page__header-button svg{margin:0 .3em 0 -.05em}.page__header-button:hover{background:#387ecc}.page__header-button{padding:5px 10px;font-size:13px;margin-left:10px}.page__title{font-size:26px;font-weight:700;letter-spacing:-.04px;margin-bottom:-.2em}.block-header{margin:1.5em 0 .5em}.block-header--2{font-size:22px;font-weight:500}.block-header--3{font-size:18px;font-weight:500}.block-code{padding:20px!important;font-size:13px;border-radius:3px;border:1px solid #e8e8eb;border:1px solid var(--color-line-gray);font-family:Menlo,Monaco,Consolas,Courier New,monospace;line-height:1.7em}.block-list li{margin:10px 0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,Verdana;color:#1d202b;color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}svg{fill:currentColor} diff --git a/src/frontend/styles/components/writing.pcss b/src/frontend/styles/components/writing.pcss index a557019..a0940c9 100644 --- a/src/frontend/styles/components/writing.pcss +++ b/src/frontend/styles/components/writing.pcss @@ -16,5 +16,9 @@ &__left { margin: auto 0; color: var(--color-text-second); + + & span { + margin-right: 10px; + } } } diff --git a/src/routes/middlewares/pages.js b/src/routes/middlewares/pages.js index 72370b5..b4739eb 100644 --- a/src/routes/middlewares/pages.js +++ b/src/routes/middlewares/pages.js @@ -1,17 +1,30 @@ const Pages = require('../../controllers/pages'); -const pagesOrder = require('../../controllers/pagesOrder'); +const PagesOrder = require('../../controllers/pagesOrder'); const asyncMiddleware = require('../../utils/asyncMiddleware'); +const RootPage = '0'; /** * Process one-level pages list to parent-children list * @param {Page[]} pages - list of all available pages * @return {Page[]} */ async function createMenuTree(pages) { - return Promise.all(pages.filter(page => page._parent === '0').map(async page => { + + const children = await PagesOrder.get(RootPage); + const firstLevelPages = []; + + children.order.forEach(pageId => { + pages.forEach(page => { + if (page._id === pageId) { + firstLevelPages.push(page); + } + }); + }); + + return Promise.all(firstLevelPages.map(async page => { const childrenOrdered = []; try { - const children = await pagesOrder.get(page._id); + const children = await PagesOrder.get(page._id); children.order.forEach(pageId => { pages.forEach(_page => { if (_page._id === pageId) { diff --git a/src/views/pages/form.twig b/src/views/pages/form.twig index 120e6b4..475dc23 100644 --- a/src/views/pages/form.twig +++ b/src/views/pages/form.twig @@ -14,29 +14,33 @@
+ New Page at the {% set currentPageId = 0 %} {% if page is not empty %} {% set currentPageId = page._id %} {% endif %} - - {% for _page in pagesAvailable %} - {% if _page._id != currentPageId %} - - {% endif %} - {% endfor %} + {% endif %} + {% endfor %} + {% if parentsChildrenOrdered is not empty %} - Put Above - + + Put Above + + {% endif %}