Property Gallery
+${chunkHTML}
+ diff --git a/force-app/main/default/lwc/propertyTemplateSelector/propertyTemplateSelector.html b/force-app/main/default/lwc/propertyTemplateSelector/propertyTemplateSelector.html index e5d4fd1..7d73e68 100644 --- a/force-app/main/default/lwc/propertyTemplateSelector/propertyTemplateSelector.html +++ b/force-app/main/default/lwc/propertyTemplateSelector/propertyTemplateSelector.html @@ -1212,7 +1212,7 @@
diff --git a/force-app/main/default/lwc/propertyTemplateSelector/propertyTemplateSelector.js b/force-app/main/default/lwc/propertyTemplateSelector/propertyTemplateSelector.js index 2a863c6..bb3cfe1 100644 --- a/force-app/main/default/lwc/propertyTemplateSelector/propertyTemplateSelector.js +++ b/force-app/main/default/lwc/propertyTemplateSelector/propertyTemplateSelector.js @@ -830,11 +830,23 @@ export default class PropertyTemplateSelector extends LightningElement { case "sample-template": this.selectedTemplateId = "sample-template"; break; - case "luxury-mansion-template": - this.selectedTemplateId = "luxury-mansion-template"; - break; - default: - break; + case "luxury-mansion-template": + this.selectedTemplateId = "luxury-mansion-template"; + break; + case "modern-home-a3-template": + this.selectedTemplateId = "modern-home-a3-template"; + break; + case "grand-oak-villa-a3-template": + this.selectedTemplateId = "grand-oak-villa-a3-template"; + break; + case "serenity-house-a3-template": + this.selectedTemplateId = "serenity-house-a3-template"; + break; + case "luxury-mansion-a3-template": + this.selectedTemplateId = "luxury-mansion-a3-template"; + break; + default: + break; } // Visually mark the selected template card with a black border @@ -1143,24 +1155,52 @@ export default class PropertyTemplateSelector extends LightningElement { // Initialize viewport with exact PDF dimensions this.initializeViewportDimensions(); - // Special handling for A3 mode to prevent image reset - if (newPageSize === "A3") { - console.log("A3 mode selected - preserving all image positions"); - // For A3, we need to be extra careful about position preservation - setTimeout(() => { - this.restoreCurrentImageState(currentImageState); - // Additional position preservation for A3 - this.preserveElementPositions(); - // Extra A3-specific position lock - setTimeout(() => { - this.preserveElementPositions(); - console.log("A3 mode - final position preservation completed"); - }, 100); - }, 300); - } else { - // Normal restoration for other page sizes - this.restoreCurrentImageState(currentImageState); - } + // Switch to appropriate A3 template if switching to A3, or back to A4 template + if (newPageSize === "A3") { + // Switch to A3 version of current template + if (this.selectedTemplateId === "modern-home-template") { + this.selectedTemplateId = "modern-home-a3-template"; + } else if (this.selectedTemplateId === "grand-oak-villa-template") { + this.selectedTemplateId = "grand-oak-villa-a3-template"; + } else if (this.selectedTemplateId === "serenity-house-template") { + this.selectedTemplateId = "serenity-house-a3-template"; + } else if (this.selectedTemplateId === "luxury-mansion-template") { + this.selectedTemplateId = "luxury-mansion-a3-template"; + } + } else if (newPageSize === "A4") { + // Switch back to A4 version of current template + if (this.selectedTemplateId === "modern-home-a3-template") { + this.selectedTemplateId = "modern-home-template"; + } else if (this.selectedTemplateId === "grand-oak-villa-a3-template") { + this.selectedTemplateId = "grand-oak-villa-template"; + } else if (this.selectedTemplateId === "serenity-house-a3-template") { + this.selectedTemplateId = "serenity-house-template"; + } else if (this.selectedTemplateId === "luxury-mansion-a3-template") { + this.selectedTemplateId = "luxury-mansion-template"; + } + } + + // Clear cached content to force regeneration with new template + this.cachedTemplateContent = null; + + // Special handling for A3 mode to prevent image reset + if (newPageSize === "A3") { + console.log("A3 mode selected - preserving all image positions"); + // For A3, we need to be extra careful about position preservation + setTimeout(() => { + this.restoreCurrentImageState(currentImageState); + // Additional position preservation for A3 + this.preserveElementPositions(); + // Extra A3-specific position lock + setTimeout(() => { + this.preserveElementPositions(); + console.log("A3 mode - final position preservation completed"); + }, 100); + }, 300); + } else { + // Normal restoration for other page sizes + this.restoreCurrentImageState(currentImageState); + } // Re-fit to width when page size changes setTimeout(() => this.fitToWidth(), 0); @@ -4109,6 +4149,14 @@ export default class PropertyTemplateSelector extends LightningElement { return this.createSerenityHouseTemplate(); case "luxury-mansion-template": return this.createLuxuryMansionTemplate(); + case "modern-home-a3-template": + return this.createModernHomeA3Template(); + case "grand-oak-villa-a3-template": + return this.createGrandOakVillaA3Template(); + case "serenity-house-a3-template": + return this.createSerenityHouseA3Template(); + case "luxury-mansion-a3-template": + return this.createLuxuryMansionA3Template(); default: return this.createBlankTemplate(); } @@ -5486,7 +5534,7 @@ export default class PropertyTemplateSelector extends LightningElement {