Skip to content

Commit b7a208f

Browse files
feat: Palette UI synchronization ( Fixes #132 )
1 parent 94f3fd9 commit b7a208f

File tree

2 files changed

+31
-12
lines changed

2 files changed

+31
-12
lines changed

4bitcss.com/_includes/SelectPalette.ps1

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,24 @@ function SetPalette() {
3131
palette.id = 'palette'
3232
document.head.appendChild(palette)
3333
}
34-
var selectedPalette = document.getElementById('$SelectPaletteId').value
35-
palette.href = '$PaletteCDN' + selectedPalette + '.css'
34+
var selectPalette = document.getElementById('$SelectPaletteId')
35+
var selectedPalette = selectPalette.value
36+
palette.href = '$PaletteCDN' + selectedPalette + '.css'
37+
38+
const paletteChangedEvent = new CustomEvent('paletteChanged', {
39+
bubbles: true,
40+
detail: {
41+
name: selectedPalette,
42+
href: palette.href
43+
}
44+
})
45+
palette.dispatchEvent(paletteChangedEvent)
46+
palette.addEventListener('paletteChanged', (e)=>{
47+
console.log(e.detail)
48+
})
3649
}
3750
"@
3851

39-
if ($palleteList) {
40-
41-
}
42-
4352
$paletteSelector = @"
4453
<select id='$SelectPaletteId' onchange='SetPalette()'>
4554
$(

4bitcss.com/_views/Palette.ps1

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,27 +58,37 @@ $($site.Palettes.Count) CSS color palettes for web or terminal
5858

5959
@"
6060
<script>
61-
function UpdatePaletteLinks() {
61+
function UpdatePaletteLinks(paletteName) {
62+
if (! paletteName) {
63+
paletteName = getComputedStyle(link).getPropertyValue('--PaletteFileName')
64+
}
65+
6266
document.
6367
querySelectorAll('.paletteLink').
6468
forEach(
65-
(link) => {
66-
var paletteName = getComputedStyle(link).getPropertyValue('--PaletteFileName');
69+
(link) => {
6770
link.href = '/' + paletteName
6871
}
6972
)
7073
7174
document.
7275
querySelectorAll('.paletteFileLink').
7376
forEach(
74-
(link) => {
75-
var paletteName = getComputedStyle(link).getPropertyValue('--PaletteFileName');
77+
(link) => {
7678
link.href = '/css/' + paletteName + '.css'
7779
}
7880
)
7981
}
8082
81-
UpdatePaletteLinks()
83+
var paletteStylesheetLink = document.getElementById('palette')
84+
85+
if (paletteStylesheetLink) {
86+
paletteStylesheetLink.addEventListener('paletteChanged', (event)=>{
87+
UpdatePaletteLinks(event.detail.name)
88+
})
89+
var paletteName = getComputedStyle(paletteStylesheetLink).getPropertyValue('--PaletteFileName')
90+
UpdatePaletteLinks(paletteName)
91+
}
8292
</script>
8393
"@
8494

0 commit comments

Comments
 (0)