feat: persist inheritance lock state per element via data attribute
- Store unlock state in data-inheritance-unlocked attribute on DOM element - Each element/page now remembers its own inheritance state - Re-locking removes element-specific CSS block to restore inheritance - Elements revert to general styles from TextSettings/PageSettings 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
668d950518
commit
d9f3ede661
2 changed files with 45 additions and 3 deletions
|
|
@ -532,8 +532,8 @@ const open = (pageElement, event, count = 1) => {
|
|||
// Extract template name from data-page-type attribute
|
||||
templateName.value = pageElement.getAttribute('data-page-type') || '';
|
||||
|
||||
// Reset inheritance state when opening
|
||||
inheritanceLocked.value = true;
|
||||
// Read inheritance state from page element's data attribute
|
||||
inheritanceLocked.value = pageElement.dataset.inheritanceUnlocked !== 'true';
|
||||
|
||||
// Load values from stylesheet (@page block)
|
||||
loadValuesFromStylesheet();
|
||||
|
|
@ -583,6 +583,15 @@ const toggleInheritance = () => {
|
|||
const wasLocked = inheritanceLocked.value;
|
||||
inheritanceLocked.value = !inheritanceLocked.value;
|
||||
|
||||
// Store the inheritance state in the page element's data attribute
|
||||
if (selectedPageElement.value) {
|
||||
if (inheritanceLocked.value) {
|
||||
delete selectedPageElement.value.dataset.inheritanceUnlocked;
|
||||
} else {
|
||||
selectedPageElement.value.dataset.inheritanceUnlocked = 'true';
|
||||
}
|
||||
}
|
||||
|
||||
if (inheritanceLocked.value && !wasLocked) {
|
||||
// Re-locking: remove the template-specific block
|
||||
// Fields keep their values, but preview returns to @page defaults
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue