@innovastudio/contentbuilder 1.3.54 → 1.3.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
@@ -14965,17 +14965,19 @@ class HtmlUtil {
|
|
14965
14965
|
|
14966
14966
|
if (this.builder.cleanHtmlFormatting) ;
|
14967
14967
|
|
14968
|
-
const util = this.builder.util;
|
14969
|
-
|
14970
|
-
|
14971
|
-
|
14972
|
-
|
14973
|
-
elm
|
14974
|
-
|
14975
|
-
|
14976
|
-
|
14977
|
-
|
14978
|
-
let tmp = builderStuff.querySelector('#tmp_content');
|
14968
|
+
const util = this.builder.util; // const builderStuff = this.builder.builderStuff;
|
14969
|
+
// //Prepare temporary helpers: #tmp_content & #tmp_buildercontent
|
14970
|
+
// let elm = builderStuff.querySelector('#tmp_content');
|
14971
|
+
// if(elm) builderStuff.removeChild(elm);
|
14972
|
+
// elm = builderStuff.querySelector('#tmp_buildercontent');
|
14973
|
+
// if(elm) builderStuff.removeChild(elm);
|
14974
|
+
// let html = `<div id="tmp_content" style="position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;visibility:hidden;"></div>
|
14975
|
+
// <div id="tmp_buildercontent" style="position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;visibility:hidden;"></div>`;
|
14976
|
+
// dom.appendHtml(builderStuff, html);
|
14977
|
+
|
14978
|
+
let html; // let tmp = builderStuff.querySelector('#tmp_content');
|
14979
|
+
|
14980
|
+
let tmp = document.createElement('div');
|
14979
14981
|
tmp.innerHTML = content.innerHTML; //Find subblocks (previously is-builder) in custom code blocks and save them to data-html-1, data-html-2, and so on.
|
14980
14982
|
|
14981
14983
|
let blocks = tmp.querySelectorAll('[data-html]');
|
@@ -14988,76 +14990,6 @@ class HtmlUtil {
|
|
14988
14990
|
block.setAttribute('data-html-' + index, encodeURIComponent(html));
|
14989
14991
|
index++;
|
14990
14992
|
});
|
14991
|
-
/* OLD
|
14992
|
-
let index = 1;
|
14993
|
-
//let _builders = block.querySelectorAll('.is-builder');
|
14994
|
-
Array.prototype.forEach.call(_builders, (_builder) => {
|
14995
|
-
// let builderhtml = _builder.innerHTML;
|
14996
|
-
//if(dom.parentsHasClass(_builder, 'slick-cloned')) return; // direct LATER
|
14997
|
-
//Cleaning
|
14998
|
-
_builder.style.transform = '';
|
14999
|
-
_builder.style.WebkitTransform= '';
|
15000
|
-
_builder.style.MozTransform= '';
|
15001
|
-
_builder.removeAttribute('data-sort');
|
15002
|
-
dom.removeClass(_builder, 'builder-active');
|
15003
|
-
_builder.removeAttribute('hidesnippetaddtool');
|
15004
|
-
_builder.removeAttribute('gray');
|
15005
|
-
_builder.removeAttribute('rowoutline');
|
15006
|
-
_builder.removeAttribute('grayoutline');
|
15007
|
-
_builder.removeAttribute('hideoutline');
|
15008
|
-
_builder.removeAttribute('leftrowtool');
|
15009
|
-
_builder.removeAttribute('minimal');
|
15010
|
-
_builder.removeAttribute('clean');
|
15011
|
-
_builder.removeAttribute('grideditor');
|
15012
|
-
_builder.removeAttribute('gridoutline');
|
15013
|
-
_builder.removeAttribute('gridoutline'); // old
|
15014
|
-
_builder.removeAttribute('draggridoutline'); // old
|
15015
|
-
_builder.removeAttribute('between-blocks-left'); // old
|
15016
|
-
_builder.removeAttribute('between-blocks-center'); // old
|
15017
|
-
_builder.removeAttribute('hideelementhighlight');
|
15018
|
-
let builderhtml = _builder.innerHTML;
|
15019
|
-
let tmpbuilder = builderStuff.querySelector('#tmp_buildercontent');
|
15020
|
-
tmpbuilder.innerHTML = builderhtml;
|
15021
|
-
let elms = tmp.querySelectorAll('.sortable-chosen');
|
15022
|
-
dom.removeClasses(elms, 'sortable-chosen');
|
15023
|
-
elms = tmp.querySelectorAll('.sortable-ghost');
|
15024
|
-
dom.removeClasses(elms, 'sortable-ghost');
|
15025
|
-
elms = tmpbuilder.querySelectorAll('.elm-active');
|
15026
|
-
dom.removeClasses(elms, 'elm-active');
|
15027
|
-
elms = tmpbuilder.querySelectorAll('.elm-inspected');
|
15028
|
-
dom.removeClasses(elms, 'elm-inspected');
|
15029
|
-
elms = tmpbuilder.querySelectorAll('.cell-active');
|
15030
|
-
dom.removeClasses(elms, 'cell-active');
|
15031
|
-
elms = tmpbuilder.querySelectorAll('.row-active');
|
15032
|
-
dom.removeClasses(elms, 'row-active');
|
15033
|
-
elms = tmpbuilder.querySelectorAll('.row-outline');
|
15034
|
-
dom.removeClasses(elms, 'row-outline');
|
15035
|
-
//elms = tmpbuilder.querySelectorAll('.is-builder');
|
15036
|
-
//dom.removeClasses(elms, 'is-builder');
|
15037
|
-
elms = tmpbuilder.querySelectorAll('.row-outline');
|
15038
|
-
dom.removeClasses(elms, 'row-outline');
|
15039
|
-
elms = tmpbuilder.querySelectorAll('[data-click]');
|
15040
|
-
dom.removeAttributes(elms, 'data-click');
|
15041
|
-
elms = tmpbuilder.querySelectorAll('[contenteditable]');
|
15042
|
-
dom.removeAttributes(elms, 'contenteditable');
|
15043
|
-
elms = tmpbuilder.querySelectorAll('[data-module-active]');
|
15044
|
-
dom.removeAttributes(elms, 'data-module-active');
|
15045
|
-
dom.removeElements( tmpbuilder.querySelectorAll('.is-row-tool') );
|
15046
|
-
dom.removeElements( tmpbuilder.querySelectorAll('.is-rowadd-tool') );
|
15047
|
-
dom.removeElements( tmpbuilder.querySelectorAll('.ovl') );
|
15048
|
-
dom.removeElements( tmpbuilder.querySelectorAll('.irow-add-initial') );
|
15049
|
-
// LATER: rewrite in javascript
|
15050
|
-
//$builder.find('*[class=""]').removeAttr('class');
|
15051
|
-
//$builder.find('*[style=""]').removeAttr('style');
|
15052
|
-
elms = tmpbuilder.querySelectorAll('[data-keep]');
|
15053
|
-
dom.removeAttributes(elms, 'data-keep');
|
15054
|
-
builderhtml = tmpbuilder.innerHTML.trim();
|
15055
|
-
builderhtml = builderhtml.replace(/<font/g, '<span').replace(/<\/font/g, '</span');
|
15056
|
-
|
15057
|
-
block.setAttribute('data-html-' + index, encodeURIComponent(builderhtml));
|
15058
|
-
index++;
|
15059
|
-
});
|
15060
|
-
*/
|
15061
14993
|
}); //Render custom code blocks (including any editable areas within)
|
15062
14994
|
|
15063
14995
|
blocks = tmp.querySelectorAll('[data-html]');
|
@@ -15354,12 +15286,12 @@ class HtmlUtil {
|
|
15354
15286
|
});
|
15355
15287
|
html = tmp.innerHTML.trim();
|
15356
15288
|
html = html.replace(/<font/g, '<span').replace(/<\/font/g, '</span');
|
15357
|
-
}
|
15289
|
+
} // elm = builderStuff.querySelector('#tmp_content');
|
15290
|
+
// if(elm) builderStuff.removeChild(elm);
|
15291
|
+
// elm = builderStuff.querySelector('#tmp_buildercontent');
|
15292
|
+
// if(elm) builderStuff.removeChild(elm);
|
15293
|
+
// return html;
|
15358
15294
|
|
15359
|
-
elm = builderStuff.querySelector('#tmp_content');
|
15360
|
-
if (elm) builderStuff.removeChild(elm);
|
15361
|
-
elm = builderStuff.querySelector('#tmp_buildercontent');
|
15362
|
-
if (elm) builderStuff.removeChild(elm); // return html;
|
15363
15295
|
|
15364
15296
|
let beautify = JsBeautify.html;
|
15365
15297
|
html = beautify(html); // https://stackoverflow.com/questions/22962220/remove-multiple-line-breaks-n-in-javascript
|
@@ -53052,8 +52984,7 @@ class Spacer {
|
|
53052
52984
|
this.showTool(spacer); //Trigger Change event
|
53053
52985
|
|
53054
52986
|
this.builder.opts.onChange(); //Trigger Render event
|
53055
|
-
|
53056
|
-
this.builder.opts.onRender();
|
52987
|
+
// this.builder.opts.onRender();
|
53057
52988
|
});
|
53058
52989
|
});
|
53059
52990
|
}
|
@@ -77338,7 +77269,9 @@ class ContentBuilder {
|
|
77338
77269
|
}
|
77339
77270
|
|
77340
77271
|
handleCellKeydown(col, e) {
|
77272
|
+
this.oriLen = col.textContent.length; // get character length
|
77341
77273
|
// Cleanup unwanted span
|
77274
|
+
|
77342
77275
|
let spans = col.querySelectorAll('span');
|
77343
77276
|
Array.prototype.forEach.call(spans, span => {
|
77344
77277
|
span.setAttribute('data-keep', '');
|
@@ -77842,13 +77775,27 @@ class ContentBuilder {
|
|
77842
77775
|
// jQuery('.cell-active').find('.elm-active').removeClass('elm-active');
|
77843
77776
|
// jQuery("#divElementTool").css("display", "none"); //force hide ellement tool
|
77844
77777
|
// Call onChange to indicate content change
|
77778
|
+
// this.opts.onChange();
|
77779
|
+
// console.log(this.oriLen,col.textContent.length);
|
77780
|
+
|
77845
77781
|
|
77782
|
+
if (this.oriLen !== col.textContent.length) {
|
77783
|
+
// check if typing produce/reduce a character
|
77784
|
+
this.typing();
|
77785
|
+
} // Hide element highlight & tool during typing
|
77846
77786
|
|
77847
|
-
this.opts.onChange(); // Hide element highlight & tool during typing
|
77848
77787
|
|
77849
77788
|
this.elmTool.hide();
|
77850
77789
|
}
|
77851
77790
|
|
77791
|
+
typing() {
|
77792
|
+
// console.log('typing');
|
77793
|
+
if (this.timeoutId) clearTimeout(this.timeoutId);
|
77794
|
+
this.timeoutId = setTimeout(() => {
|
77795
|
+
this.opts.onChange();
|
77796
|
+
}, 2000);
|
77797
|
+
}
|
77798
|
+
|
77852
77799
|
handleCellPaste() {
|
77853
77800
|
this.uo.saveForUndo();
|
77854
77801
|
const util = this.util;
|