From 9744b4695d39fba8f2f937edeead614304f2dce9 Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Sun, 19 Jul 2020 13:00:46 +0200 Subject: [PATCH] pagination navigation is working --- assets/css/app.scss | 110 +++++++++++++++++------------- src/components/Content/EdText.vue | 14 ++-- src/pages/Edition.vue | 101 ++++++++++++++++++++++++++- 3 files changed, 171 insertions(+), 54 deletions(-) diff --git a/assets/css/app.scss b/assets/css/app.scss index de73db8..0f4f151 100644 --- a/assets/css/app.scss +++ b/assets/css/app.scss @@ -342,8 +342,14 @@ section[role="main-content"]{ } >nav{ - >section{ - padding:0 0 0 1.5em; + padding-bottom: 0; + $pager_h:2em; + section#toc{ + box-sizing: content-box; + padding:0 0 1em 1.5em; + height:calc(100% - #{$pager_h}); + overflow-x: hidden; + overflow-y: auto; >ul{ ul{ li{ @@ -396,7 +402,17 @@ section[role="main-content"]{ span.toc-title{font-size: 0.882em;} } } - + div#page-nav{ + height:$pager_h; + overflow: hidden; + box-sizing: content-box; + padding:0 1.5em; + select{ + option{ + padding:0; + } + } + } } } @@ -683,62 +699,62 @@ footer[role="tools"]{ text-transform: uppercase; padding:0; } - .v-select{ + +} +.v-select{ + padding:0; + div[role="combobox"]{ + background-color: #fff; padding:0; - div[role="combobox"]{ - background-color: #fff; - padding:0; - border-radius: 2px; - border: none; + border-radius: 2px; + border: none; + } + input[type="search"]{ + margin:0; + padding:0; + } + .vs__search{ + &, &:focus{ + font-size: 0.756em; + line-height: 1; + height:1.2em; + border:none; + box-sizing: border-box; } - input[type="search"]{ - margin:0; - padding:0; - } - .vs__search{ - &, &:focus{ - font-size: 0.756em; - line-height: 1; - height:1.2em; - border:none; - box-sizing: border-box; + } + .vs__actions{ + padding:1px 3px; + svg[role="presentation"]{ + transform: scale(0.8); + path{ + fill: $bleuroi; } } - .vs__actions{ - padding:1px 3px; - svg[role="presentation"]{ + } + .vs__selected{ + margin:0; + padding:0; + line-height:1; + font-size: 0.756em; + } + // border-radius: 2px; + // border: none; +} +.v-select{ + .vs__selected{ + background-color: #fff; + border:none; + padding:0.3em 0.5em; + button{ + svg{ transform: scale(0.8); path{ fill: $bleuroi; } } } - .vs__selected{ - margin:0; - padding:0; - line-height:1; - font-size: 0.756em; - } - // border-radius: 2px; - // border: none; - } - fieldset.filters .v-select{ - .vs__selected{ - background-color: #fff; - border:none; - padding:0.3em 0.5em; - button{ - svg{ - transform: scale(0.8); - path{ - fill: $bleuroi; - } - } - } - } } } - // vue-select ul[role="listbox"]{ @include fontsans; diff --git a/src/components/Content/EdText.vue b/src/components/Content/EdText.vue index 6289fe9..7706baa 100644 --- a/src/components/Content/EdText.vue +++ b/src/components/Content/EdText.vue @@ -11,7 +11,8 @@ export default { }, data: () => ({ template: null, - html: null + html: null, + pages: [] }), watch: { tei: function (newtei, oldtei) { @@ -26,6 +27,9 @@ export default { this.buildTemplate() } }, + mounted () { + this.$emit('onNewPageBreaks', this.pages) + }, methods: { buildTemplate () { // console.log('EdText buildTemplate: tei', this.tei) @@ -85,7 +89,7 @@ export default { }, parsePageBreaks () { let pbs = this.html.match(/]+><\/span>/g) - console.log('pagebreaks', pbs) + // console.log('pagebreaks', pbs) if (pbs) { let pbparts, newpb, num for (var i = 0; i < pbs.length; i++) { @@ -93,14 +97,16 @@ export default { if (!pbparts) { console.warn(`pageBreak ${i} maformed`, pbs[i]) } else { - console.log('pbparts', pbparts) + // console.log('pbparts', pbparts) num = pbparts[1] + this.pages.push(num) newpb = `` - console.log('newpb', newpb) + // console.log('newpb', newpb) this.html = this.html.replace(pbs[i], newpb) } } diff --git a/src/pages/Edition.vue b/src/pages/Edition.vue index b821737..c28ca51 100644 --- a/src/pages/Edition.vue +++ b/src/pages/Edition.vue @@ -48,6 +48,7 @@ :textid="textid" @onHoverLink="onHoverLink" @onLeaveLink="onLeaveLink" + @onNewPageBreaks="onNewPageBreaks" />