Skip to content

Commit c36c920

Browse files
committed
Fixed margin/padding propagation in Section editor
1 parent 52c57f7 commit c36c920

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/section/ko/sectionEditor.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
BackgroundStylePluginConfig,
1010
TypographyStylePluginConfig,
1111
MarginStylePluginConfig,
12+
PaddingStylePluginConfig,
1213
SizeStylePluginConfig,
1314
BoxStylePluginConfig,
1415
BorderStylePluginConfig,
@@ -44,6 +45,9 @@ export class SectionEditor {
4445
this.sectionSizeStyles = ko.observable<SizeStylePluginConfig>();
4546
this.sectionBox = ko.observable<BoxStylePluginConfig>();
4647
this.containerBox = ko.observable<BoxStylePluginConfig>();
48+
49+
this.updateObservables = this.updateObservables.bind(this);
50+
this.applyChanges = this.applyChanges.bind(this);
4751
}
4852

4953
@Param()
@@ -89,11 +93,15 @@ export class SectionEditor {
8993
this.gridModel = <GridModel>this.model.widgets[0];
9094
const gridLocalStyles = this.gridModel.styles;
9195

92-
const marginStyles = <MarginStylePluginConfig>StyleHelper.getPluginConfigForLocalStyles(gridLocalStyles, "margin", viewport);
93-
const paddingStyles = <MarginStylePluginConfig>StyleHelper.getPluginConfigForLocalStyles(gridLocalStyles, "padding", viewport);
96+
// Keep container box styles non-responsive (same behavior as other widget editors).
97+
// This prevents writing margin/padding into a breakpoint bucket that may not be active.
98+
const marginStyles = <MarginStylePluginConfig>StyleHelper.getPluginConfigForLocalStyles(gridLocalStyles, "margin");
99+
const paddingStyles = <PaddingStylePluginConfig>StyleHelper.getPluginConfigForLocalStyles(gridLocalStyles, "padding");
94100

95101
this.containerBox({ margin: marginStyles, padding: paddingStyles });
96-
this.containerSizeStyles(gridLocalStyles.instance.size);
102+
103+
const containerSizeStyles = <SizeStylePluginConfig>StyleHelper.getPluginConfigForLocalStyles(gridLocalStyles, "size", viewport);
104+
this.containerSizeStyles(containerSizeStyles);
97105

98106
const borderStyles = sectionStyles.plugin("border").getConfig<BorderStylePluginConfig>();
99107
const borderRadiusStyles = sectionStyles.plugin("borderRadius").getConfig<BorderRadiusStylePluginConfig>();
@@ -116,7 +124,6 @@ export class SectionEditor {
116124
const sectionStyles = this.model.styles;
117125
StyleHelper.setPluginConfigForLocalStyles(sectionStyles, "stickTo", this.stickTo(), viewport);
118126
StyleHelper.setPluginConfigForLocalStyles(sectionStyles, "size", this.sectionSizeStyles(), viewport);
119-
StyleHelper.setPluginConfigForLocalStyles(this.model.styles, "stickTo", this.stickTo(), viewport);
120127

121128
/* Grid styles */
122129
const gridStyles = this.gridModel.styles;
@@ -125,8 +132,8 @@ export class SectionEditor {
125132
const containerSizeStyles: SizeStylePluginConfig = this.containerSizeStyles();
126133

127134
StyleHelper.setPluginConfigForLocalStyles(gridStyles, "size", containerSizeStyles);
128-
StyleHelper.setPluginConfigForLocalStyles(gridStyles, "margin", marginStyle, viewport);
129-
StyleHelper.setPluginConfigForLocalStyles(gridStyles, "padding", paddingStyle, viewport);
135+
StyleHelper.setPluginConfigForLocalStyles(gridStyles, "margin", marginStyle);
136+
StyleHelper.setPluginConfigForLocalStyles(gridStyles, "padding", paddingStyle);
130137

131138
this.onChange(this.model);
132139
}

0 commit comments

Comments
 (0)