diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-13 17:24:34 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-13 17:24:49 -0500 |
| commit | 04c7ebaa049f7d82c8adbe95f7ba72a2adf4fb4e (patch) | |
| tree | 56519ee887b2a92b3014ab4821b24b205bb2c91f /scripts/theme-studio/app-core.js | |
| parent | 37316f7132cba73b97077530c0a1925bc3eab167 (diff) | |
| download | dotemacs-04c7ebaa049f7d82c8adbe95f7ba72a2adf4fb4e.tar.gz dotemacs-04c7ebaa049f7d82c8adbe95f7ba72a2adf4fb4e.zip | |
Add theme studio column delete
Diffstat (limited to 'scripts/theme-studio/app-core.js')
| -rw-r--r-- | scripts/theme-studio/app-core.js | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/scripts/theme-studio/app-core.js b/scripts/theme-studio/app-core.js index 5e889bed7..264c7be9c 100644 --- a/scripts/theme-studio/app-core.js +++ b/scripts/theme-studio/app-core.js @@ -189,6 +189,15 @@ function clearPalettePlan(palette,ground){ return {palette:keep,removed}; } +function deletePaletteColumnPlan(palette,ground,columnId){ + const normalized=palette.map(normalizePaletteEntryCore),removed=[],keep=[]; + for(const entry of normalized){ + if(groundRoleOfEntry(entry,ground)||columnIdOf(entry)!==columnId)keep.push(entry); + else removed.push({hex:entry[0],name:entry[1]}); + } + return {palette:keep,removed}; +} + function areAllLocked(keys,locked){ const has=k=>locked instanceof Set?locked.has(k):Array.isArray(locked)&&locked.includes(k); return !!(keys&&keys.length)&&keys.every(has); @@ -281,4 +290,4 @@ function paletteOptionList(cur,palette,ground){ return out; } -export { nameToHex, normalizePkgFace, buildPkgmap, packagesForExport, mergePackagesInto, effResolve, optList, paletteOptionList, slugify, ramp, fgSetFor, floor, lMax, COVERED_FACES, columnsFromPalette, regenColumn, rankByLightness, stepRepointPlan, sortColumns, sortColumnMembers, groundRoleOfEntry, groundColumnMembersFromPalette, clearPalettePlan, areAllLocked, lockToggleLabel, toggleLockSet }; +export { nameToHex, normalizePkgFace, buildPkgmap, packagesForExport, mergePackagesInto, effResolve, optList, paletteOptionList, slugify, ramp, fgSetFor, floor, lMax, COVERED_FACES, columnsFromPalette, regenColumn, rankByLightness, stepRepointPlan, sortColumns, sortColumnMembers, groundRoleOfEntry, groundColumnMembersFromPalette, clearPalettePlan, deletePaletteColumnPlan, areAllLocked, lockToggleLabel, toggleLockSet }; |
