Browse Source

Remove `config.wrapperIsBody` and `config.exportWrapper` options.

pull/4160/head
Artur Arseniev 4 years ago
parent
commit
592b5f6929
  1. 6
      src/code_manager/model/CssGenerator.js
  2. 16
      src/code_manager/model/HtmlGenerator.js
  3. 20
      src/css_composer/model/CssRule.js
  4. 3
      src/dom_components/index.js
  5. 1
      src/dom_components/model/ComponentWrapper.js
  6. 7
      src/dom_components/view/ComponentWrapperView.js
  7. 6
      src/editor/config/config.js
  8. 7
      src/editor/model/Editor.js

6
src/code_manager/model/CssGenerator.js

@ -27,17 +27,13 @@ export default Backbone.Model.extend({
const avoidInline = em && em.getConfig('avoidInlineStyle'); const avoidInline = em && em.getConfig('avoidInlineStyle');
const style = model.styleToString(); const style = model.styleToString();
const classes = model.get('classes'); const classes = model.get('classes');
const wrapperIsBody = opts.wrapperIsBody;
const isWrapper = model.get('wrapper');
this.ids.push(`#${model.getId()}`); this.ids.push(`#${model.getId()}`);
// Let's know what classes I've found // Let's know what classes I've found
classes.each(model => this.compCls.push(model.getFullName())); classes.each(model => this.compCls.push(model.getFullName()));
if (!avoidInline && style) { if (!avoidInline && style) {
let selector = `#${model.getId()}`; code = `#${model.getId()}{${style}}`;
selector = wrapperIsBody && isWrapper ? 'body' : selector;
code = `${selector}{${style}}`;
} }
const components = model.components(); const components = model.components();

16
src/code_manager/model/HtmlGenerator.js

@ -2,7 +2,6 @@ import { Model } from 'backbone';
export default class HTMLGenerator extends Model { export default class HTMLGenerator extends Model {
build(model, opts = {}) { build(model, opts = {}) {
const models = model.components();
const htmlOpts = {}; const htmlOpts = {};
const { em } = opts; const { em } = opts;
@ -33,19 +32,6 @@ export default class HTMLGenerator extends Model {
}; };
} }
if (opts.exportWrapper) { return model.toHTML(htmlOpts);
return model.toHTML({
...htmlOpts,
...(opts.wrapperIsBody && model.is('wrapper') && { tag: 'body' })
});
}
return this.buildModels(models, htmlOpts);
}
buildModels(models, opts = {}) {
let code = '';
models.forEach(mod => (code += mod.toHTML(opts)));
return code;
} }
} }

20
src/css_composer/model/CssRule.js

@ -36,7 +36,7 @@ export default class CssRule extends Model.extend(Styleable) {
singleAtRule: false, singleAtRule: false,
important: false, important: false,
group: '', group: '',
_undo: true _undo: true,
}; };
} }
@ -115,15 +115,11 @@ export default class CssRule extends Model.extend(Styleable) {
selectorsToString(opts = {}) { selectorsToString(opts = {}) {
const result = []; const result = [];
const state = this.get('state'); const state = this.get('state');
const wrapper = this.get('wrapper');
const addSelector = this.get('selectorsAdd'); const addSelector = this.get('selectorsAdd');
const isBody = wrapper && opts.body;
const selOpts = { const selOpts = {
escape: str => (CSS && CSS.escape ? CSS.escape(str) : str) escape: str => (CSS && CSS.escape ? CSS.escape(str) : str),
}; };
const selectors = isBody const selectors = this.get('selectors').getFullString(0, selOpts);
? 'body'
: this.get('selectors').getFullString(0, selOpts);
const stateStr = state && !opts.skipState ? `:${state}` : ''; const stateStr = state && !opts.skipState ? `:${state}` : '';
selectors && result.push(`${selectors}${stateStr}`); selectors && result.push(`${selectors}${stateStr}`);
addSelector && !opts.skipAdd && result.push(addSelector); addSelector && !opts.skipAdd && result.push(addSelector);
@ -169,10 +165,7 @@ export default class CssRule extends Model.extend(Styleable) {
if (atRuleType !== 'media' || !mediaText) { if (atRuleType !== 'media' || !mediaText) {
return deviceDefault || null; return deviceDefault || null;
} }
return ( return devices.filter(d => d.getWidthMedia() === getMediaLength(mediaText))[0] || null;
devices.filter(d => d.getWidthMedia() === getMediaLength(mediaText))[0] ||
null
);
} }
/** /**
@ -262,10 +255,7 @@ export default class CssRule extends Model.extend(Styleable) {
const wd = width || ''; const wd = width || '';
const selAdd = ruleProps.selectorsAdd || ''; const selAdd = ruleProps.selectorsAdd || '';
let atRule = ruleProps.atRuleType || ''; let atRule = ruleProps.atRuleType || '';
const sel = const sel = !isArray(selectors) && !selectors.models ? [selectors] : selectors.models || selectors;
!isArray(selectors) && !selectors.models
? [selectors]
: selectors.models || selectors;
// Fix atRuleType in case is not specified with width // Fix atRuleType in case is not specified with width
if (wd && !atRule) atRule = 'media'; if (wd && !atRule) atRule = 'media';

3
src/dom_components/index.js

@ -58,6 +58,7 @@ import defaults from './config/config';
import Component, { keyUpdate, keyUpdateInside } from './model/Component'; import Component, { keyUpdate, keyUpdateInside } from './model/Component';
import Components from './model/Components'; import Components from './model/Components';
import ComponentView from './view/ComponentView'; import ComponentView from './view/ComponentView';
import ComponentWrapperView from './view/ComponentWrapperView';
import ComponentsView from './view/ComponentsView'; import ComponentsView from './view/ComponentsView';
import ComponentTableCell from './model/ComponentTableCell'; import ComponentTableCell from './model/ComponentTableCell';
import ComponentTableCellView from './view/ComponentTableCellView'; import ComponentTableCellView from './view/ComponentTableCellView';
@ -196,7 +197,7 @@ export default () => {
{ {
id: 'wrapper', id: 'wrapper',
model: ComponentWrapper, model: ComponentWrapper,
view: ComponentView, view: ComponentWrapperView,
}, },
{ {
id: 'default', id: 'default',

1
src/dom_components/model/ComponentWrapper.js

@ -4,6 +4,7 @@ export default class ComponentWrapper extends Component {
defaults() { defaults() {
return { return {
...Component.getDefaults(), ...Component.getDefaults(),
tagName: 'body',
removable: false, removable: false,
copyable: false, copyable: false,
draggable: false, draggable: false,

7
src/dom_components/view/ComponentWrapperView.js

@ -0,0 +1,7 @@
import ComponentView from './ComponentView';
export default class ComponentWrapperView extends ComponentView {
tagName() {
return 'div';
}
}

6
src/editor/config/config.js

@ -114,12 +114,6 @@ export default {
// Enable multiple selection // Enable multiple selection
multipleSelection: 1, multipleSelection: 1,
// Show the wrapper component in the final code, eg. in editor.getHtml()
exportWrapper: 0,
// The wrapper, if visible, will be shown as a `<body>`
wrapperIsBody: 1,
// Pass default available options wherever `editor.getHtml()` is called // Pass default available options wherever `editor.getHtml()` is called
optsHtml: {}, optsHtml: {},

7
src/editor/model/Editor.js

@ -557,13 +557,11 @@ export default class EditorModel extends Model {
*/ */
getHtml(opts = {}) { getHtml(opts = {}) {
const { config } = this; const { config } = this;
const { optsHtml, exportWrapper, wrapperIsBody } = config; const { optsHtml } = config;
const js = config.jsInHtml ? this.getJs(opts) : ''; const js = config.jsInHtml ? this.getJs(opts) : '';
const cmp = opts.component || this.get('DomComponents').getComponent(); const cmp = opts.component || this.get('DomComponents').getComponent();
let html = cmp let html = cmp
? this.get('CodeManager').getCode(cmp, 'html', { ? this.get('CodeManager').getCode(cmp, 'html', {
exportWrapper,
wrapperIsBody,
...optsHtml, ...optsHtml,
...opts, ...opts,
}) })
@ -580,7 +578,7 @@ export default class EditorModel extends Model {
*/ */
getCss(opts = {}) { getCss(opts = {}) {
const config = this.config; const config = this.config;
const { optsCss, wrapperIsBody } = config; const { optsCss } = config;
const avoidProt = opts.avoidProtected; const avoidProt = opts.avoidProtected;
const keepUnusedStyles = !isUndefined(opts.keepUnusedStyles) ? opts.keepUnusedStyles : config.keepUnusedStyles; const keepUnusedStyles = !isUndefined(opts.keepUnusedStyles) ? opts.keepUnusedStyles : config.keepUnusedStyles;
const cssc = this.get('CssComposer'); const cssc = this.get('CssComposer');
@ -590,7 +588,6 @@ export default class EditorModel extends Model {
wrp && wrp &&
this.get('CodeManager').getCode(wrp, 'css', { this.get('CodeManager').getCode(wrp, 'css', {
cssc, cssc,
wrapperIsBody,
keepUnusedStyles, keepUnusedStyles,
...optsCss, ...optsCss,
...opts, ...opts,

Loading…
Cancel
Save