Skip to content

Koala user defined custom colors - #3361

Merged
benderl merged 54 commits into
openWB:feature-custom-colorsfrom
Brett-S-OWB:custom-colors-bv
May 19, 2026
Merged

benderl merged 54 commits into
openWB:feature-custom-colorsfrom
Brett-S-OWB:custom-colors-bv

Conversation

@Brett-S-OWB

Copy link
Copy Markdown
Contributor

Benutzerdefinierte Farben im Koala Theme implementiert und konsistent über mehrere UI-Komponenten hinweg integriert.

Die Farben können nun individuell für verschiedene Entitäten (z. B. Ladepunkte, Fahrzeuge, Komponenten) definiert werden (in ui-settings project) und werden automatisch in der gesamten Oberfläche verwendet.

Diagramme

  • Unterstützung benutzerdefinierter Farben im:
    • Energy Flow Chart
    • History Chart
    • Daily Totals Chart

Daily Totals Chart

  • Erweiterung der Batterie-Anzeige:
    • Dropdown bei mehreren Batterien
    • Trennlinie zwischen einzelnen Einträgen
  • Erweiterung der Ladepunkt-Anzeige:
    • Trennlinie zwischen einzelnen Einträgen
  • Verbesserung der Darstellung:
    • Ellipsis (Textverkürzung) für lange Namen bei Batterien und Ladepunkten

Karten (Carousel)
Benutzerdefinierte Farben wurden ergänzt für:

  • Charge Point Cards
  • Vehicle Cards
  • Battery Cards

Tabellenansichten

  • Integration der Farben in:
    • Charge Point Tabelle
    • Vehicle Tabelle
  • Darstellung als visuelle Farbmarkierung pro Zeile

Änderungen an BaseTable
Die bisherige Implementierung der Tabelle hatte zwei unterschiedliche Render-Pfade:
(ChargePointInformation.vue)

  • rowExpandable = true (z. B. kleine Screens)
→ BaseTable hat die komplette Tabellenzeile selbst gerendert (#body Slot)
  • rowExpandable = false (z. B. große Screens)
→ QTable hat das Rendering übernommen (Default-Verhalten)
    Gleichzeitig wurden Inhalte über body-cell-* Slots vom Parent bereitgestellt.
  • Ergebnis:
Zwei unterschiedliche Rendering-Mechanismen je nach Screen-Größe, was zu Inkonsistenzen bei Layout, Spacing und Styling geführt hat.

Problem
Für die neue Funktion einer benutzerdefinierten Farbanzeige pro Zeile (farbiger Indikator / Farbstreifen) war ein konsistenter Zugriff auf die gesamte Zeilenstruktur notwendig.
Durch die unterschiedlichen Render-Pfade war es nicht möglich, diesen Farbindikator zuverlässig und einheitlich darzustellen.

Lösung
Die Tabellenstruktur wurde vereinheitlicht:

  • BaseTable rendert jetzt immer die komplette Tabellenzeile (#body Slot wird immer verwendet)
  • wird zentral in BaseTable erzeugt
  • Parent-Komponenten liefern nur noch den Zelleninhalt über Slots (body-cell-*)
    -Klare Trennung:
  • Struktur & Layout → BaseTable
  • Inhalt → Parent

Neue Funktion: Farbindikator pro Zeile
Im Zuge der Umstellung wurde ein benutzerdefinierter Farbstreifen pro Tabellenzeile eingeführt:

  • Farbe wird über rowColor vom Parent geliefert
  • Darstellung erfolgt zentral in BaseTable
  • Umsetzung über ein background-image (Gradient), um:
    • vertikale Zentrierung
    • Abstand oben/unten
    • Abstand zum linken Rand
Bildschirmfoto 2026-05-11 um 15 47 38 Bildschirmfoto 2026-05-11 um 15 47 16 Bildschirmfoto 2026-05-11 um 15 47 29 Bildschirmfoto 2026-05-11 um 15 47 55 Bildschirmfoto 2026-05-11 um 15 48 21 Bildschirmfoto 2026-05-11 um 15 48 54

@Brett-S-OWB

Copy link
Copy Markdown
Contributor Author

Energy-Flow-Chart: Die SVG-Icons wurden ursprünglich als eigene Vue-Komponenten gekapselt, um sie im Flowchart einfärben zu können. Dies führte jedoch zu unnötig komplexer und tief verschachtelter Struktur.

Als Alternative wurde ein SVG-Sprite geprüft, jedoch verworfen, da die Icons dabei nicht mehr als einzelne, leicht bearbeitbare Dateien im Projekt vorliegen und die Handhabung (insbesondere für dynamische Anpassungen) unflexibel ist.

Stattdessen wurde auf den Vite SVG Loader umgestellt. Dadurch können SVGs direkt als Komponenten importiert werden (?component), bleiben als einzelne Dateien erhalten und lassen sich weiterhin einfach über currentColor dynamisch einfärben. Das reduziert die Komplexität, verbessert Wartbarkeit und Lesbarkeit.

fix redefinition of "fill"
@benderl
benderl force-pushed the feature-custom-colors branch from 0d9c488 to 9c6cce0 Compare May 18, 2026 10:41

@benderl benderl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Die Änderungen an den drei Dateien des Cards Display Themes sind aus Versehen rein gekommen?

@Brett-S-OWB

Copy link
Copy Markdown
Contributor Author

Die Änderungen an den drei Dateien des Cards Display Themes sind aus Versehen rein gekommen?

Ja das sind sie, ich hatte sie gleichseitig offen, können wir ignorieren.

@benderl

benderl commented May 19, 2026

Copy link
Copy Markdown
Contributor

Die Änderungen an den drei Dateien des Cards Display Themes sind aus Versehen rein gekommen?

Ja das sind sie, ich hatte sie gleichseitig offen, können wir ignorieren.

Dann entferne die doch bitte aus dem PR.

@Brett-S-OWB

Copy link
Copy Markdown
Contributor Author

Method Namen korrigiert

@benderl
benderl merged commit 5935e0a into openWB:feature-custom-colors May 19, 2026
1 check passed
benderl added a commit that referenced this pull request May 19, 2026
* Koala - Add custom colors - charge points

* Koala - Add custom colors - battery

* Daily totals - multiple batteries dropdown - icons: user defined colors

* Add user defined colors to history chart

* Add user defined colors to energy flow chart

* Add user defined colors to vehicle cards

* Add user defined colors to tables (vehicle & charge points)

* Use vite-svg-loader for svg icons

* Make CSS consistent of all components

---------

Co-authored-by: Lutz Bender <[email protected]>
Co-authored-by: LKuemmel <[email protected]>
Co-authored-by: benderl <[email protected]>
Co-authored-by: Copilot <[email protected]>
benderl added a commit that referenced this pull request Jun 25, 2026
* Koala - Add custom colors - charge points

* Koala - Add custom colors - battery

* Daily totals - multiple batteries dropdown - icons: user defined colors

* Add user defined colors to history chart

* Add user defined colors to energy flow chart

* Add user defined colors to vehicle cards

* Add user defined colors to tables (vehicle & charge points)

* Use vite-svg-loader for svg icons

* Make CSS consistent of all components

---------

Co-authored-by: Lutz Bender <[email protected]>
Co-authored-by: LKuemmel <[email protected]>
Co-authored-by: benderl <[email protected]>
Co-authored-by: Copilot <[email protected]>
benderl added a commit that referenced this pull request Jun 25, 2026
* custom vehicle and charge point colors

* custom component colors

* update config step 1

* fix upgrade config

* fix component setup

* extend setdata for new vehicle topic

* use bootstrap primary color for charge points

* update logfiles

* rename color constants

* upgrade method

* update dynsec roles

* update dynsec role acls for vehicle color

* Apply suggestions from code review

Co-authored-by: Copilot <[email protected]>

* fix missing color references

* Update packages/helpermodules/update_config.py

catch corrupt log files on update

Co-authored-by: Copilot <[email protected]>

* formatting

* add logging in ComponentSetup

* Koala user defined custom colors (#3361)

* Koala - Add custom colors - charge points

* Koala - Add custom colors - battery

* Daily totals - multiple batteries dropdown - icons: user defined colors

* Add user defined colors to history chart

* Add user defined colors to energy flow chart

* Add user defined colors to vehicle cards

* Add user defined colors to tables (vehicle & charge points)

* Use vite-svg-loader for svg icons

* Make CSS consistent of all components

---------

Co-authored-by: Lutz Bender <[email protected]>
Co-authored-by: LKuemmel <[email protected]>
Co-authored-by: benderl <[email protected]>
Co-authored-by: Copilot <[email protected]>

* fix typescript errors, formatting

* update dependencies

* Koala new design custom colors (#3500)

* Flow chart new design

* DailyTotals new design

* fix battery color in flow diagram

* History chart new design

* Flow chart drop shadows for Safari

* Flow chart CCS for Safari

* Charge point cards new design

* Charge point & vehicle select buttons update to new design

* update icon color

* Vehicle Card new design

* Battery card new design

* Update table background

* custom color card border left

* Change carousel button background color

* new energy flow animation

* fix custom symbol color - Daily totals

* formatting

* Carousel control CSS global in  quasar variables file

* update carousel CSS

* update dropdown menu CSS

* new design CSS for button groups

* flow chart resize soc clip to prevent overlap

* formatting

* update card background - dark theme

* update battery mode buttons to new design

* apply new design to dark theme

* Adjust CSS

* update global CSS

* reorder global CSS color variables

* cleanup global color variables light and dark themes

* remove unused colors

* Global CSS consolidate CSS selectors

* Scheduled /Time plan buttons / plan details info-box - new design

* Centralize message/info box  CSS in global file

* update jsdoc for store

* Koala design custom colors settings build (#3512)

* Flow chart new design

* DailyTotals new design

* fix battery color in flow diagram

* History chart new design

* Flow chart drop shadows for Safari

* Flow chart CCS for Safari

* Charge point cards new design

* Charge point & vehicle select buttons update to new design

* update icon color

* Vehicle Card new design

* Battery card new design

* Update table background

* custom color card border left

* Change carousel button background color

* new energy flow animation

* fix custom symbol color - Daily totals

* formatting

* Carousel control CSS global in  quasar variables file

* update carousel CSS

* update dropdown menu CSS

* new design CSS for button groups

* flow chart resize soc clip to prevent overlap

* formatting

* update card background - dark theme

* update battery mode buttons to new design

* apply new design to dark theme

* Adjust CSS

* update global CSS

* reorder global CSS color variables

* cleanup global color variables light and dark themes

* remove unused colors

* Global CSS consolidate CSS selectors

* Scheduled /Time plan buttons / plan details info-box - new design

* Centralize message/info box  CSS in global file

* update jsdoc for store

* setting build custom colors

* New design Koala build (#3518)

* Flow chart new design

* DailyTotals new design

* fix battery color in flow diagram

* History chart new design

* Flow chart drop shadows for Safari

* Flow chart CCS for Safari

* Charge point cards new design

* Charge point & vehicle select buttons update to new design

* update icon color

* Vehicle Card new design

* Battery card new design

* Update table background

* custom color card border left

* Change carousel button background color

* new energy flow animation

* fix custom symbol color - Daily totals

* formatting

* Carousel control CSS global in  quasar variables file

* update carousel CSS

* update dropdown menu CSS

* new design CSS for button groups

* flow chart resize soc clip to prevent overlap

* formatting

* update card background - dark theme

* update battery mode buttons to new design

* apply new design to dark theme

* Adjust CSS

* update global CSS

* reorder global CSS color variables

* cleanup global color variables light and dark themes

* remove unused colors

* Global CSS consolidate CSS selectors

* Scheduled /Time plan buttons / plan details info-box - new design

* Centralize message/info box  CSS in global file

* update jsdoc for store

* setting build custom colors

* New design Koala build

* remove user defined battery color

* Always use Standard colors for PV, EVU, no  user defined colors

* Charge points revert back to standard color when no user defined color

* update charge point default color

* Update global CSS colors - new design

* Update home icon color - remove q-diagram-color where not required

* Make power and charge mode text same color as icons

* Energy flow chart -  responsive column spacing

* Energy flow chart - Set font - Roboto

* Energy flow chart - Change clip path for label animation

* Daily totals - update secondary counter color

* DailyTotals - Secondary counter custom color

* reinstate custom colors for all components

* Standard color displayed in charts

* remove redundant store function

* daily totals add dropdown for multiple pv systems

* use lighter blue primary color in dark theme

* centralize logic for secondary components configured

* formatting

* centralize settings UI colors

---------

Co-authored-by: Lutz Bender <[email protected]>
Co-authored-by: LKuemmel <[email protected]>
Co-authored-by: benderl <[email protected]>
Co-authored-by: Copilot <[email protected]>
benderl added a commit that referenced this pull request Jul 2, 2026
* Koala - Add custom colors - charge points

* Koala - Add custom colors - battery

* Daily totals - multiple batteries dropdown - icons: user defined colors

* Add user defined colors to history chart

* Add user defined colors to energy flow chart

* Add user defined colors to vehicle cards

* Add user defined colors to tables (vehicle & charge points)

* Use vite-svg-loader for svg icons

* Make CSS consistent of all components

---------

Co-authored-by: Lutz Bender <[email protected]>
Co-authored-by: LKuemmel <[email protected]>
Co-authored-by: benderl <[email protected]>
Co-authored-by: Copilot <[email protected]>
benderl added a commit that referenced this pull request Jul 2, 2026
* custom vehicle and charge point colors

* custom component colors

* update config step 1

* fix upgrade config

* fix component setup

* extend setdata for new vehicle topic

* use bootstrap primary color for charge points

* update logfiles

* rename color constants

* upgrade method

* update dynsec roles

* update dynsec role acls for vehicle color

* Apply suggestions from code review

Co-authored-by: Copilot <[email protected]>

* fix missing color references

* Update packages/helpermodules/update_config.py

catch corrupt log files on update

Co-authored-by: Copilot <[email protected]>

* formatting

* add logging in ComponentSetup

* Koala user defined custom colors (#3361)

* Koala - Add custom colors - charge points

* Koala - Add custom colors - battery

* Daily totals - multiple batteries dropdown - icons: user defined colors

* Add user defined colors to history chart

* Add user defined colors to energy flow chart

* Add user defined colors to vehicle cards

* Add user defined colors to tables (vehicle & charge points)

* Use vite-svg-loader for svg icons

* Make CSS consistent of all components

---------

Co-authored-by: Lutz Bender <[email protected]>
Co-authored-by: LKuemmel <[email protected]>
Co-authored-by: benderl <[email protected]>
Co-authored-by: Copilot <[email protected]>

* fix typescript errors, formatting

* update dependencies

* Koala new design custom colors (#3500)

* Flow chart new design

* DailyTotals new design

* fix battery color in flow diagram

* History chart new design

* Flow chart drop shadows for Safari

* Flow chart CCS for Safari

* Charge point cards new design

* Charge point & vehicle select buttons update to new design

* update icon color

* Vehicle Card new design

* Battery card new design

* Update table background

* custom color card border left

* Change carousel button background color

* new energy flow animation

* fix custom symbol color - Daily totals

* formatting

* Carousel control CSS global in  quasar variables file

* update carousel CSS

* update dropdown menu CSS

* new design CSS for button groups

* flow chart resize soc clip to prevent overlap

* formatting

* update card background - dark theme

* update battery mode buttons to new design

* apply new design to dark theme

* Adjust CSS

* update global CSS

* reorder global CSS color variables

* cleanup global color variables light and dark themes

* remove unused colors

* Global CSS consolidate CSS selectors

* Scheduled /Time plan buttons / plan details info-box - new design

* Centralize message/info box  CSS in global file

* update jsdoc for store

* Koala design custom colors settings build (#3512)

* Flow chart new design

* DailyTotals new design

* fix battery color in flow diagram

* History chart new design

* Flow chart drop shadows for Safari

* Flow chart CCS for Safari

* Charge point cards new design

* Charge point & vehicle select buttons update to new design

* update icon color

* Vehicle Card new design

* Battery card new design

* Update table background

* custom color card border left

* Change carousel button background color

* new energy flow animation

* fix custom symbol color - Daily totals

* formatting

* Carousel control CSS global in  quasar variables file

* update carousel CSS

* update dropdown menu CSS

* new design CSS for button groups

* flow chart resize soc clip to prevent overlap

* formatting

* update card background - dark theme

* update battery mode buttons to new design

* apply new design to dark theme

* Adjust CSS

* update global CSS

* reorder global CSS color variables

* cleanup global color variables light and dark themes

* remove unused colors

* Global CSS consolidate CSS selectors

* Scheduled /Time plan buttons / plan details info-box - new design

* Centralize message/info box  CSS in global file

* update jsdoc for store

* setting build custom colors

* New design Koala build (#3518)

* Flow chart new design

* DailyTotals new design

* fix battery color in flow diagram

* History chart new design

* Flow chart drop shadows for Safari

* Flow chart CCS for Safari

* Charge point cards new design

* Charge point & vehicle select buttons update to new design

* update icon color

* Vehicle Card new design

* Battery card new design

* Update table background

* custom color card border left

* Change carousel button background color

* new energy flow animation

* fix custom symbol color - Daily totals

* formatting

* Carousel control CSS global in  quasar variables file

* update carousel CSS

* update dropdown menu CSS

* new design CSS for button groups

* flow chart resize soc clip to prevent overlap

* formatting

* update card background - dark theme

* update battery mode buttons to new design

* apply new design to dark theme

* Adjust CSS

* update global CSS

* reorder global CSS color variables

* cleanup global color variables light and dark themes

* remove unused colors

* Global CSS consolidate CSS selectors

* Scheduled /Time plan buttons / plan details info-box - new design

* Centralize message/info box  CSS in global file

* update jsdoc for store

* setting build custom colors

* New design Koala build

* remove user defined battery color

* Always use Standard colors for PV, EVU, no  user defined colors

* Charge points revert back to standard color when no user defined color

* update charge point default color

* Update global CSS colors - new design

* Update home icon color - remove q-diagram-color where not required

* Make power and charge mode text same color as icons

* Energy flow chart -  responsive column spacing

* Energy flow chart - Set font - Roboto

* Energy flow chart - Change clip path for label animation

* Daily totals - update secondary counter color

* DailyTotals - Secondary counter custom color

* reinstate custom colors for all components

* Standard color displayed in charts

* remove redundant store function

* daily totals add dropdown for multiple pv systems

* use lighter blue primary color in dark theme

* centralize logic for secondary components configured

* formatting

* centralize settings UI colors

---------

Co-authored-by: Lutz Bender <[email protected]>
Co-authored-by: LKuemmel <[email protected]>
Co-authored-by: benderl <[email protected]>
Co-authored-by: Copilot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants