From 3864f27cc6dbf22cffbd6f71ef29090a6ef22ef6 Mon Sep 17 00:00:00 2001 From: Yaro Kasear Date: Wed, 31 Dec 2025 13:06:41 -0600 Subject: [PATCH] More improvement for toolbar. --- inventory/static/css/components/draw.css | 122 ++++++- inventory/templates/components/draw.html | 424 ++++++++++++----------- inventory/templates/testing.html | 9 +- 3 files changed, 338 insertions(+), 217 deletions(-) diff --git a/inventory/static/css/components/draw.css b/inventory/static/css/components/draw.css index 11470be..a0cee01 100644 --- a/inventory/static/css/components/draw.css +++ b/inventory/static/css/components/draw.css @@ -1,9 +1,15 @@ +:root { + --tb-h: 34px; +} + .grid-widget { display: flex; flex-direction: column; height: 100%; min-width: 0; min-height: 0; + position: relative; + isolation: isolate; } .grid-widget .grid-wrap { @@ -13,6 +19,7 @@ position: relative; overflow: hidden; min-height: 0; + z-index: 0; } .grid-widget [data-grid] { @@ -23,10 +30,12 @@ touch-action: none; margin: 0 auto; max-width: 100%; + z-index: 0; } .grid-widget [data-toolbar]::-webkit-scrollbar { height: 8px; + z-index: 10; } .grid-widget [data-grid-wrap] { @@ -51,6 +60,9 @@ box-sizing: border-box; margin: 0 auto; max-width: 100%; + position: relative; + z-index: 10; + overflow: visible; } .grid-widget [data-dot] { @@ -60,12 +72,25 @@ } .grid-widget .toolbar { - display: flex; - flex-wrap: nowrap; - overflow-x: auto; - overflow-y: visible; + display: grid; gap: .5rem; +} + +.grid-widget .toolbar-row { + display: flex; align-items: center; + gap: .5rem; + min-width: 0; + flex-wrap: nowrap; +} + +.toolbar-row--primary { + overflow-x: auto; +} + +.toolbar-row--secondary { + overflow-x: auto; + opacity: .95; } .grid-widget .toolbar-range { @@ -75,10 +100,13 @@ } .grid-widget .dropdown-menu { - z-index: 2000; - min-width: 220px; + min-width: 200px; padding: .5rem .75rem; - border-radius: .5rem; + border-radius: .75rem; + box-shadow: 0 10px 30px rgba(0, 0, 0, .12); + position: absolute; + z-index: 1000 !important; + pointer-events: auto; } .grid-widget .dropdown-menu>*:first-child { @@ -105,4 +133,82 @@ .grid-widget [data-toolbar] .vr { align-self: stretch; -} \ No newline at end of file +} + +.grid-widget [data-toolbar] .btn-group, +.grid-widget [data-toolbar] .dropdown, +.grid-widget [data-toolbar] .vr { + flex: 0 0 auto; +} + +.grid-widget .toolbar-group { + display: flex; + align-items: center; + gap: .25rem; + padding: .25rem; + border: 1px solid rgba(0, 0, 0, .08); + border-radius: .5rem; + background: rgba(0, 0, 0, .02); +} + +.grid-widget .btn, +.grid-widget .form-control, +.grid-widget .badge { + height: var(--tb-h); +} + +.grid-widget .toolbar .btn { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0 .5rem; +} + +.grid-widget .toolbar .form-control-color { + width: var(--tb-h); + padding: 0; +} + +.grid-widget .tb-btn { + flex-direction: column; + gap: 2px; + line-height: 1; +} + +.grid-widget .tb-btn small { + font-size: 11px; + opacity: .75; +} + +.grid-widget .dropdown-toggle::after { + display: none; +} + +.grid-widget .toolbar .btn-group .btn { + border-radius: 0; +} + +.grid-widget .toolbar .btn-group .btn:first-child { + border-top-left-radius: .5rem; + border-bottom-left-radius: .5rem; +} + +.grid-widget .toolbar .btn-group .btn:last-child { + border-top-right-radius: .5rem; + border-bottom-right-radius: .5rem; +} + +.grid-widget .btn-check:checked+.btn { + background: rgba(0, 0, 0, .08); + border-color: rgba(0, 0, 0, .18); +} + +.grid-widget [data-toolbar], +.grid-widget [data-grid] { + margin-inline: auto; +} + +.grid-widget [data-toolbar] { + max-width: var(--grid-maxw, 100%); + width: 100%; +} diff --git a/inventory/templates/components/draw.html b/inventory/templates/components/draw.html index 6bf02fc..fefc903 100644 --- a/inventory/templates/components/draw.html +++ b/inventory/templates/components/draw.html @@ -2,222 +2,230 @@
-
- +
+
+
+ + - + + - + + - + +
+
+
+ + + + +
-
- -
-
- - +
+
+
+ + + + + + + + +
+
+
+ - - + - - + - - - - - - - - -
- -
-
- - - - - - - - -
-
-
- - - - + +
diff --git a/inventory/templates/testing.html b/inventory/templates/testing.html index 2e8736f..26e8c8f 100644 --- a/inventory/templates/testing.html +++ b/inventory/templates/testing.html @@ -7,7 +7,14 @@ {% endblock %} {% block main %} -{{ draw.drawWidget('test1') }} +
+
+ {{ draw.drawWidget('test1') }} +
+
+ {{ draw.drawWidget('test2') }} +
+
{% endblock %} {% block scriptincludes %}