Browse Source

Merge pull request #1023 from tommedema/master Fixes #989

implemented removeEmptyTextNodes boolean, fixes #989
pull/1045/head
Artur Arseniev 8 years ago
committed by GitHub
parent
commit
5b3f01e698
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      src/editor/config/config.js
  2. 1
      src/editor/index.js
  3. 9
      src/parser/model/ParserHtml.js
  4. 9
      src/selector_manager/index.js

3
src/editor/config/config.js

@ -96,6 +96,9 @@ module.exports = {
// Ending tag for variable inside scripts in Components
tagVarEnd: ' ]}',
// Remove empty text nodes when parsed, unless they contain a space
removeEmptyTextNodes: true,
// Return JS of components inside HTML from 'editor.getHtml()'
jsInHtml: true,

1
src/editor/index.js

@ -83,6 +83,7 @@
* @param {Object} [config.domComponents={}] Components configuration, see the relative documentation
* @param {Object} [config.panels={}] Panels configuration, see the relative documentation
* @param {Object} [config.showDevices=true] If true render a select of available devices inside style manager panel
* @param {Boolean} [config.removeEmptyTextNodes=true] If true, removes empty text nodes when parsed, unless they contain a space
* @param {string} [config.defaultCommand='select-comp'] Command to execute when no other command is running
* @param {Array} [config.plugins=[]] Array of plugins to execute on start
* @param {Object} [config.pluginsOpts={}] Custom options for plugins

9
src/parser/model/ParserHtml.js

@ -57,6 +57,7 @@ module.exports = config => {
* @return {Array<Object>}
*/
parseNode(el) {
const config = (c.em && c.em.get('Config')) || {};
const result = [];
const nodes = el.childNodes;
@ -152,9 +153,11 @@ module.exports = config => {
}
// Throw away empty nodes (keep spaces)
const content = node.nodeValue;
if (content != ' ' && !content.trim()) {
continue;
if (config.removeEmptyTextNodes !== false) {
const content = node.nodeValue;
if (content != ' ' && !content.trim()) {
continue;
}
}
}

9
src/selector_manager/index.js

@ -73,6 +73,15 @@ module.exports = config => {
* @private
*/
name: 'SelectorManager',
/**
* Get configuration object
* @return {Object}
* @private
*/
getConfig() {
return c;
},
getConfig() {
return c;

Loading…
Cancel
Save