Skip to content

Commit 16c5f12

Browse files
committed
MC-3146: Add new row appearances to configuration
This partially reverts commit e6c3886. - Revert refactoring as it has undesired effects on system
1 parent e6c3886 commit 16c5f12

File tree

6 files changed

+200
-209
lines changed

6 files changed

+200
-209
lines changed

app/code/Magento/PageBuilder/view/adminhtml/web/js/content-type/observable-updater.js

Lines changed: 28 additions & 66 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/code/Magento/PageBuilder/view/adminhtml/web/js/content-type/preview.js

Lines changed: 3 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/content-type/observable-updater.ts

Lines changed: 4 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ import {DataObject} from "../data-store";
1010
import MassConverterPool from "../mass-converter/converter-pool";
1111
import {fromSnakeToCamelCase} from "../utils/string";
1212
import appearanceConfig from "./appearance-config";
13-
import Master from "./master";
14-
import Preview from "./preview";
1513

1614
export default class ObservableUpdater {
1715
private converterPool: typeof ConverterPool;
@@ -33,35 +31,15 @@ export default class ObservableUpdater {
3331
this.converterResolver = converterResolver;
3432
}
3533

36-
/**
37-
* Prepare a view model for preview data to be updated later
38-
*
39-
* @param {Preview} viewModel
40-
* @param {DataObject} data
41-
*/
42-
public prepare(viewModel: Preview, data: DataObject) {
43-
const appearanceConfiguration = this.getAppearanceConfig(viewModel, data);
44-
45-
for (const elementName of Object.keys(appearanceConfiguration.data_mapping.elements)) {
46-
if (viewModel.data[elementName] === undefined) {
47-
viewModel.data[elementName] = {
48-
attributes: ko.observable({}),
49-
style: ko.observable({}),
50-
css: ko.observable({}),
51-
html: ko.observable({}),
52-
};
53-
}
54-
}
55-
}
56-
5734
/**
5835
* Update preview observables after data changed in data store
5936
*
60-
* @param {Preview | Master} viewModel
37+
* @param {object} viewModel
6138
* @param {DataObject} data
6239
*/
63-
public update(viewModel: Preview | Master, data: DataObject) {
64-
const appearanceConfiguration = this.getAppearanceConfig(viewModel, data);
40+
public update(viewModel: object, data: DataObject) {
41+
const appearance = data && data.appearance !== undefined ? data.appearance : undefined;
42+
const appearanceConfiguration = appearanceConfig(viewModel.parent.config.name, appearance);
6543
if (undefined === appearanceConfiguration
6644
|| undefined === appearanceConfiguration.data_mapping
6745
|| undefined === appearanceConfiguration.data_mapping.elements
@@ -221,16 +199,4 @@ export default class ObservableUpdater {
221199
}
222200
return data;
223201
}
224-
225-
/**
226-
* Retrieve the appearance config
227-
*
228-
* @param {Preview | Master} viewModel
229-
* @param {DataObject} data
230-
* @returns {ContentTypeConfigAppearanceInterface}
231-
*/
232-
private getAppearanceConfig(viewModel: Preview | Master, data: DataObject) {
233-
const appearance = data && data.appearance !== undefined ? data.appearance.toString() : undefined;
234-
return appearanceConfig(viewModel.parent.config.name, appearance);
235-
}
236202
}

app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/content-type/preview-data.d.ts

Lines changed: 0 additions & 18 deletions
This file was deleted.

app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/content-type/preview.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,14 @@ import StyleAttributeMapper, {StyleAttributeMapperResult} from "../master-format
2929
import appearanceConfig from "./appearance-config";
3030
import ObservableObject from "./observable-object.d";
3131
import ObservableUpdater from "./observable-updater";
32-
import PreviewData from "./preview-data";
3332

3433
/**
3534
* @api
3635
*/
3736
export default class Preview {
3837
public parent: ContentTypeCollectionInterface;
3938
public config: ContentTypeConfigInterface;
40-
public data: PreviewData = {};
39+
public data: ObservableObject = {};
4140
public displayLabel: KnockoutObservable<string>;
4241
public wrapperElement: Element;
4342

@@ -78,12 +77,6 @@ export default class Preview {
7877
this.displayLabel = ko.observable(this.config.label);
7978
this.setupDataFields();
8079
this.bindEvents();
81-
82-
// Prepare the observable updater to create all observables required on the view model
83-
this.observableUpdater.prepare(
84-
this,
85-
_.extend({}, this.parent.dataStore.get() as DataObject),
86-
);
8780
}
8881

8982
/**
@@ -439,9 +432,9 @@ export default class Preview {
439432
*/
440433
protected bindEvents() {
441434
this.parent.dataStore.subscribe(
442-
_.debounce(() => {
435+
(data: DataObject) => {
443436
this.updateObservables();
444-
}, 10),
437+
},
445438
);
446439
}
447440

0 commit comments

Comments
 (0)