From 7d151cf65cfaac290d0f3ff9e2386adf4d720cc2 Mon Sep 17 00:00:00 2001 From: Damien Vitrac Date: Mon, 27 May 2024 16:15:43 +0200 Subject: [PATCH 1/4] feat: Group versions Resolves #209 --- src/css/main.css | 53 ++++++++++++++++++++++ src/helpers/notEmpty.js | 3 ++ src/helpers/versionTree.js | 27 +++++++++++ src/js/01-nav.js | 10 ++++ src/partials/version.hbs | 93 +++++++++++++++++++++++++++++++------- 5 files changed, 170 insertions(+), 16 deletions(-) create mode 100644 src/helpers/notEmpty.js create mode 100644 src/helpers/versionTree.js diff --git a/src/css/main.css b/src/css/main.css index bbbed92..4ca9407 100644 --- a/src/css/main.css +++ b/src/css/main.css @@ -195,6 +195,10 @@ html.dark-theme #modal-versions .colset .col-right { color: var(--link-font-color); } +#modal-versions ul li.component { + padding-bottom: 1rem; +} + #modal-versions ul li.component > a.title { color: var(--body-font-dark-color); } @@ -211,6 +215,55 @@ html.dark-theme #modal-versions .colset .col-right { list-style: circle; } +#modal-versions .nav-versions .version-item .versions { + display: none; + padding: 0; + margin: 0; + margin-left: 45px; +} + +#modal-versions .nav-versions .version-item.is-active .versions { + display: block; +} + +#modal-versions .nav-versions a.title { + color: var(--body-font-dark-color); + padding-bottom: 10px; +} + +#modal-versions .version-toggle { + position: relative; + border: none; + margin: 8px 0; + padding: 0; + padding-left: 30px; + width: auto; + overflow: visible; + background: transparent; + color: var(--body-font-dark-color); +} + +#modal-versions .version-toggle span { + background: transparent url(../img/chevron.svg) no-repeat center / 50%; + border: none; + outline: none; + line-height: inherit; + position: absolute; + height: 30px; + width: 30px; + left: 0; + top: -4px; + transform: rotate(-90deg); +} + +html.dark-theme #modal-versions .version-toggle span { + background: transparent url(../img/chevron-white.svg) no-repeat center / 50%; +} + +#modal-versions .is-active .version-toggle span { + transform: rotate(0); +} + #modal-versions ul.projects { width: 100%; } diff --git a/src/helpers/notEmpty.js b/src/helpers/notEmpty.js new file mode 100644 index 0000000..69e83fb --- /dev/null +++ b/src/helpers/notEmpty.js @@ -0,0 +1,3 @@ +'use strict' + +module.exports = (a) => a !== null diff --git a/src/helpers/versionTree.js b/src/helpers/versionTree.js new file mode 100644 index 0000000..3384a7d --- /dev/null +++ b/src/helpers/versionTree.js @@ -0,0 +1,27 @@ +'use strict' + +module.exports = (components) => versionTree(components) + +function versionTree (components) { + return components.map((comp) => { + return { + ...comp, + versions: splitVersions(comp.versions), + } + }) +} + +function splitVersions (versions) { + const snapshot = versions.filter((v) => v.version.includes('SNAPSHOT')) + const stable = versions.filter((v) => { + const split = v.version.split('-') + if (split.length === 1) return true + return false + }) + const preview = versions.filter((v) => !snapshot.includes(v) && !stable.includes(v)) + return { + snapshot: snapshot.length > 0 ? snapshot : null, + stable: stable.length > 0 ? stable : null, + preview: preview.length > 0 ? preview : null, + } +} diff --git a/src/js/01-nav.js b/src/js/01-nav.js index 4557106..0f75115 100644 --- a/src/js/01-nav.js +++ b/src/js/01-nav.js @@ -50,6 +50,16 @@ } }) + var versionsToggle = document.querySelectorAll('.version-toggle') + if (versionsToggle) { + versionsToggle.forEach(function (el) { + var container = el.parentElement.parentElement + el.addEventListener('click', function () { + container.classList.toggle('is-active') + }) + }) + } + document.querySelector('#browse-version').addEventListener('click', function () { MicroModal.show('modal-versions', { disableScroll: true, diff --git a/src/partials/version.hbs b/src/partials/version.hbs index 0da5636..5f83238 100644 --- a/src/partials/version.hbs +++ b/src/partials/version.hbs @@ -7,23 +7,84 @@
+
From 27476ed7104a0ea3058821f2e93c5bd6f5f9c100 Mon Sep 17 00:00:00 2001 From: Damien Vitrac Date: Thu, 30 May 2024 14:59:01 +0200 Subject: [PATCH 2/4] Up --- src/partials/version-nav.hbs | 12 +++++++++++ src/partials/version.hbs | 40 ++++-------------------------------- 2 files changed, 16 insertions(+), 36 deletions(-) create mode 100644 src/partials/version-nav.hbs diff --git a/src/partials/version-nav.hbs b/src/partials/version-nav.hbs new file mode 100644 index 0000000..e8b63d5 --- /dev/null +++ b/src/partials/version-nav.hbs @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/src/partials/version.hbs b/src/partials/version.hbs index 5f83238..f644aea 100644 --- a/src/partials/version.hbs +++ b/src/partials/version.hbs @@ -15,6 +15,7 @@ {{{./title}}}
+ {{~#if (notEmpty ./versions.stable)}}
@@ -23,18 +24,7 @@ Stable
- + {{> version-nav ./versions.stable}}
{{/if}} @@ -46,18 +36,7 @@ Preview - + {{> version-nav ./versions.preview}} {{/if}} @@ -69,18 +48,7 @@ Snapshot - + {{> version-nav ./versions.snapshot}} {{/if}} From acdc00d0849bc01a79509c578e09722cf51e9afe Mon Sep 17 00:00:00 2001 From: Damien Vitrac Date: Thu, 30 May 2024 20:22:22 +0200 Subject: [PATCH 3/4] Up --- src/partials/version.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/partials/version.hbs b/src/partials/version.hbs index f644aea..3a54416 100644 --- a/src/partials/version.hbs +++ b/src/partials/version.hbs @@ -29,7 +29,7 @@ {{/if}} {{~#if (notEmpty ./versions.preview)}} -
+