Skip to content

Commit d25d778

Browse files
author
Lukasz Borowiec
committed
#514: User sees content snapshot on Category Page in Admin Panel - #1 Added config for category
1 parent 18fa7b1 commit d25d778

File tree

3 files changed

+51
-5
lines changed

3 files changed

+51
-5
lines changed

app/code/Magento/PageBuilder/view/adminhtml/ui_component/category_form.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<item name="config" xsi:type="array">
1313
<item name="wysiwygConfigData" xsi:type="array">
1414
<item name="is_pagebuilder_enabled" xsi:type="boolean">true</item>
15+
<item name="pagebuilder_content_snapshot" xsi:type="boolean">true</item>
1516
<item name="pagebuilder_button" xsi:type="boolean">true</item>
1617
</item>
1718
</item>

app/code/Magento/PageBuilder/view/adminhtml/web/js/form/element/wysiwyg.js

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ define([
2525
elementSelector: '> textarea',
2626
stageSelector: '.pagebuilder-stage-wrapper',
2727
pageBuilder: false,
28-
visiblePageBuilder: true,
28+
visiblePageBuilder: false,
2929
isComponentInitialized: false,
3030
wysiwygConfigData: {},
3131
pageBuilderEditButtonText: $t('Edit with Page Builder'),
@@ -38,7 +38,13 @@ define([
3838
*/
3939
initialize: function () {
4040
this._super();
41-
this.initPageBuilder();
41+
42+
switch (true) {
43+
case !this.wysiwygConfigData()['pagebuilder_button']:
44+
case this.wysiwygConfigData()['pagebuilder_content_snapshot']:
45+
this.initPageBuilder();
46+
break;
47+
}
4248

4349
return this;
4450
},
@@ -88,6 +94,13 @@ define([
8894
component: this,
8995
selector: this.stageSelector
9096
}, this.disableDomObserver.bind(this));
97+
98+
switch (true) {
99+
case !this.wysiwygConfigData()['pagebuilder_button']:
100+
case this.wysiwygConfigData()['pagebuilder_content_snapshot']:
101+
this.visiblePageBuilder(true);
102+
break;
103+
}
91104
}
92105
},
93106

@@ -158,13 +171,43 @@ define([
158171
});
159172
}.bind(this), 350);
160173
}
174+
175+
if (this.wysiwygConfigData()['pagebuilder_button'] &&
176+
!this.wysiwygConfigData()['pagebuilder_content_snapshot']) {
177+
// Force full screen mode whilst the animation occurs
178+
this.transitionOut(true);
179+
// Trigger animation out
180+
this.transition(false);
181+
182+
// Reset the transition out class and hide the stage
183+
_.delay(function () {
184+
this.transitionOut(false);
185+
this.visiblePageBuilder(false);
186+
}.bind(this), 185);
187+
}
161188
} else if (args.fullScreen) {
162189
if (this.isWithinModal && this.modal) {
163190
this.modal.css({
164191
transform: 'none',
165192
transition: 'none'
166193
});
167194
}
195+
196+
if (this.wysiwygConfigData()['pagebuilder_button'] &&
197+
!this.wysiwygConfigData()['pagebuilder_content_snapshot']) {
198+
this.visiblePageBuilder(true);
199+
200+
fullScreenDeferred.resolve();
201+
202+
/* eslint-disable max-depth */
203+
// If the stage has already rendered once we don't need to wait until animating the stage in
204+
if (rendered) {
205+
_.defer(function () {
206+
this.transition(true);
207+
}.bind(this));
208+
}
209+
/* eslint-enable max-depth */
210+
}
168211
}
169212
}.bind(this));
170213

app/code/Magento/PageBuilder/view/adminhtml/web/template/form/element/wysiwyg.html

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,18 @@
66
-->
77

88
<div visible="visible" css="{'_disabled': disabled}">
9-
<button type="button"
9+
<button if="wysiwygConfigData()['pagebuilder_button'] || wysiwygConfigData()['pagebuilder_content_snapshot']"
10+
type="button"
1011
class="action-default action"
1112
ko-disabled="disabled"
1213
click="pageBuilderEditButtonClick.bind($data)">
1314
<span translate="pageBuilderEditButtonText" />
1415
</button>
1516
<if args="isComponentInitialized">
1617
<div visible="visiblePageBuilder"
17-
class="pagebuilder-wysiwyg-wrapper">
18-
<with args="pageBuilder">
18+
class="pagebuilder-wysiwyg-wrapper"
19+
css="{'pagebuilder-transition-in': wysiwygConfigData()['pagebuilder_button'] && !wysiwygConfigData()['pagebuilder_content_snapshot'], 'trigger-transition': transition, 'pagebuilder-transition-out': transitionOut}">
20+
<with args="pageBuilder">
1921
<render />
2022
</with>
2123
</div>

0 commit comments

Comments
 (0)