@innovastudio/contentbuilder 1.3.86 → 1.4.0
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 +1 -1
- package/public/contentbuilder/contentbuilder.css +132 -71
- package/public/contentbuilder/contentbuilder.esm.js +1701 -738
- package/public/contentbuilder/contentbuilder.min.js +8 -8
- package/public/contentbuilder/lang/en.js +8 -1
- package/public/contentbuilder/lang/fr.js +8 -1
- package/public/contentbuilder/themes/colored-blue.css +9 -4
- package/public/contentbuilder/themes/colored-blue2.css +9 -4
- package/public/contentbuilder/themes/colored-blue3.css +9 -4
- package/public/contentbuilder/themes/colored-blue4.css +9 -4
- package/public/contentbuilder/themes/colored-blue5.css +9 -4
- package/public/contentbuilder/themes/colored-blue6.css +9 -4
- package/public/contentbuilder/themes/colored-blue7.css +9 -4
- package/public/contentbuilder/themes/colored-blue8.css +9 -4
- package/public/contentbuilder/themes/colored-dark.css +9 -4
- package/public/contentbuilder/themes/colored-darkblue.css +9 -4
- package/public/contentbuilder/themes/colored-gray.css +9 -4
- package/public/contentbuilder/themes/colored-green.css +9 -4
- package/public/contentbuilder/themes/colored-green2.css +9 -4
- package/public/contentbuilder/themes/colored-green3.css +9 -4
- package/public/contentbuilder/themes/colored-green4.css +9 -4
- package/public/contentbuilder/themes/colored-green5.css +9 -4
- package/public/contentbuilder/themes/colored-magenta.css +9 -4
- package/public/contentbuilder/themes/colored-orange.css +9 -4
- package/public/contentbuilder/themes/colored-orange2.css +9 -4
- package/public/contentbuilder/themes/colored-orange3.css +9 -4
- package/public/contentbuilder/themes/colored-pink.css +9 -4
- package/public/contentbuilder/themes/colored-pink2.css +9 -4
- package/public/contentbuilder/themes/colored-pink3.css +9 -4
- package/public/contentbuilder/themes/colored-pink4.css +9 -4
- package/public/contentbuilder/themes/colored-purple.css +9 -4
- package/public/contentbuilder/themes/colored-purple2.css +9 -4
- package/public/contentbuilder/themes/colored-red.css +9 -4
- package/public/contentbuilder/themes/colored-red2.css +9 -4
- package/public/contentbuilder/themes/colored-red3.css +9 -4
- package/public/contentbuilder/themes/colored-red4.css +9 -4
- package/public/contentbuilder/themes/colored-red5.css +9 -4
- package/public/contentbuilder/themes/colored-yellow.css +9 -4
- package/public/contentbuilder/themes/colored-yellow2.css +9 -4
- package/public/contentbuilder/themes/dark-blue.css +15 -4
- package/public/contentbuilder/themes/dark-blue2.css +15 -4
- package/public/contentbuilder/themes/dark-blue3.css +15 -4
- package/public/contentbuilder/themes/dark-gray.css +15 -4
- package/public/contentbuilder/themes/dark-pink.css +15 -4
- package/public/contentbuilder/themes/dark-purple.css +15 -4
- package/public/contentbuilder/themes/dark-red.css +15 -4
- package/public/contentbuilder/themes/dark.css +15 -4
- package/public/contentbuilder/themes/light-blue.css +9 -4
- package/public/contentbuilder/themes/light-blue2.css +9 -4
- package/public/contentbuilder/themes/light-blue3.css +9 -4
- package/public/contentbuilder/themes/light-cyan.css +9 -4
- package/public/contentbuilder/themes/light-gray.css +9 -4
- package/public/contentbuilder/themes/light-gray2.css +9 -4
- package/public/contentbuilder/themes/light-gray3.css +9 -4
- package/public/contentbuilder/themes/light-green.css +9 -4
- package/public/contentbuilder/themes/light-pink.css +9 -4
- package/public/contentbuilder/themes/light-pink2.css +9 -4
- package/public/contentbuilder/themes/light-purple.css +9 -4
- package/public/contentbuilder/themes/light-purple2.css +9 -4
- package/public/contentbuilder/themes/light-red.css +9 -4
- package/public/contentbuilder/themes/light-yellow.css +9 -4
- package/public/contentbuilder/themes/light-yellow2.css +9 -4
@@ -14683,7 +14683,7 @@ var loader = {
|
|
14683
14683
|
__getMonacoInstance: __getMonacoInstance
|
14684
14684
|
};
|
14685
14685
|
|
14686
|
-
const dom$
|
14686
|
+
const dom$j = new Dom();
|
14687
14687
|
let hash$1 = {};
|
14688
14688
|
class HtmlUtil {
|
14689
14689
|
constructor(builder) {
|
@@ -14731,28 +14731,28 @@ class HtmlUtil {
|
|
14731
14731
|
</div>
|
14732
14732
|
|
14733
14733
|
`;
|
14734
|
-
dom$
|
14734
|
+
dom$j.appendHtml(builderStuff, html);
|
14735
14735
|
viewhtml = builderStuff.querySelector('.viewhtml');
|
14736
14736
|
let viewhtmlmonaco = builderStuff.querySelector('.viewhtmlmonaco');
|
14737
14737
|
let viewhtmlexternal = builderStuff.querySelector('.viewhtmlexternal');
|
14738
14738
|
let elm = viewhtml.querySelector('.input-ok');
|
14739
|
-
dom$
|
14739
|
+
dom$j.addEventListener(elm, 'click', () => {
|
14740
14740
|
this.applyHtml(viewhtml);
|
14741
14741
|
});
|
14742
14742
|
elm = viewhtml.querySelector('.input-cancel');
|
14743
|
-
dom$
|
14743
|
+
dom$j.addEventListener(elm, 'click', () => {
|
14744
14744
|
this.builder.hideModal(viewhtml);
|
14745
14745
|
});
|
14746
14746
|
elm = viewhtmlmonaco.querySelector('.input-ok');
|
14747
|
-
dom$
|
14747
|
+
dom$j.addEventListener(elm, 'click', () => {
|
14748
14748
|
this.applyHtml(viewhtmlmonaco);
|
14749
14749
|
});
|
14750
14750
|
elm = viewhtmlmonaco.querySelector('.input-cancel');
|
14751
|
-
dom$
|
14751
|
+
dom$j.addEventListener(elm, 'click', () => {
|
14752
14752
|
this.builder.hideModal(viewhtmlmonaco);
|
14753
14753
|
});
|
14754
14754
|
elm = viewhtmlexternal.querySelector('.input-ok');
|
14755
|
-
dom$
|
14755
|
+
dom$j.addEventListener(elm, 'click', () => {
|
14756
14756
|
const source = document.querySelector('textarea[data-source-active]');
|
14757
14757
|
const selectorOk = source.getAttribute('data-source-ok');
|
14758
14758
|
source.removeAttribute('data-source-active');
|
@@ -14762,7 +14762,7 @@ class HtmlUtil {
|
|
14762
14762
|
this.builder.hideModal(viewhtmlexternal);
|
14763
14763
|
});
|
14764
14764
|
elm = viewhtmlexternal.querySelector('.input-cancel');
|
14765
|
-
dom$
|
14765
|
+
dom$j.addEventListener(elm, 'click', () => {
|
14766
14766
|
const source = document.querySelector('textarea[data-source-active]');
|
14767
14767
|
const selectorCancel = source.getAttribute('data-source-cancel');
|
14768
14768
|
source.removeAttribute('data-source-active');
|
@@ -15049,7 +15049,7 @@ class HtmlUtil {
|
|
15049
15049
|
|
15050
15050
|
this.builder.cleanHtmlFormatting = false; //Change to row selection
|
15051
15051
|
|
15052
|
-
dom$
|
15052
|
+
dom$j.removeClass(row, 'row-outline');
|
15053
15053
|
}
|
15054
15054
|
|
15055
15055
|
if (mode === 'full') {
|
@@ -15294,112 +15294,116 @@ class HtmlUtil {
|
|
15294
15294
|
|
15295
15295
|
_builder.removeAttribute('data-sort');
|
15296
15296
|
|
15297
|
-
dom$
|
15298
|
-
const rows = dom$
|
15297
|
+
dom$j.removeClass(_builder, 'builder-active');
|
15298
|
+
const rows = dom$j.elementChildren(_builder);
|
15299
15299
|
rows.forEach(row => {
|
15300
|
-
const cols = dom$
|
15300
|
+
const cols = dom$j.elementChildren(row);
|
15301
15301
|
cols.forEach(col => {
|
15302
15302
|
col.style.cursor = '';
|
15303
15303
|
});
|
15304
15304
|
});
|
15305
15305
|
}); // cleanup cursor from drag to resize columns
|
15306
15306
|
|
15307
|
-
const rows = dom$
|
15307
|
+
const rows = dom$j.elementChildren(tmp);
|
15308
15308
|
rows.forEach(row => {
|
15309
15309
|
row.style.cursor = ''; //if tmp is row html, then this is a column
|
15310
15310
|
|
15311
|
-
const cols = dom$
|
15311
|
+
const cols = dom$j.elementChildren(row);
|
15312
15312
|
cols.forEach(col => {
|
15313
15313
|
col.style.cursor = '';
|
15314
15314
|
});
|
15315
15315
|
});
|
15316
15316
|
let elms = tmp.querySelectorAll('.sortable-chosen');
|
15317
|
-
dom$
|
15317
|
+
dom$j.removeClasses(elms, 'sortable-chosen');
|
15318
15318
|
elms = tmp.querySelectorAll('.sortable-ghost');
|
15319
|
-
dom$
|
15319
|
+
dom$j.removeClasses(elms, 'sortable-ghost');
|
15320
15320
|
elms = tmp.querySelectorAll('.elm-active');
|
15321
|
-
dom$
|
15321
|
+
dom$j.removeClasses(elms, 'elm-active');
|
15322
15322
|
elms = tmp.querySelectorAll('.elm-inspected');
|
15323
|
-
dom$
|
15323
|
+
dom$j.removeClasses(elms, 'elm-inspected');
|
15324
15324
|
elms = tmp.querySelectorAll('.cell-active');
|
15325
|
-
dom$
|
15325
|
+
dom$j.removeClasses(elms, 'cell-active');
|
15326
15326
|
elms = tmp.querySelectorAll('.row-active');
|
15327
|
-
dom$
|
15327
|
+
dom$j.removeClasses(elms, 'row-active');
|
15328
15328
|
elms = tmp.querySelectorAll('.row-outline');
|
15329
|
-
dom$
|
15329
|
+
dom$j.removeClasses(elms, 'row-outline');
|
15330
15330
|
elms = tmp.querySelectorAll('.is-builder');
|
15331
|
-
dom$
|
15331
|
+
dom$j.removeClasses(elms, 'is-builder');
|
15332
15332
|
elms = tmp.querySelectorAll('.row-outline');
|
15333
|
-
dom$
|
15333
|
+
dom$j.removeClasses(elms, 'row-outline');
|
15334
15334
|
elms = tmp.querySelectorAll('[data-click]');
|
15335
|
-
dom$
|
15335
|
+
dom$j.removeAttributes(elms, 'data-click');
|
15336
15336
|
elms = tmp.querySelectorAll('[contenteditable]');
|
15337
|
-
dom$
|
15337
|
+
dom$j.removeAttributes(elms, 'contenteditable');
|
15338
15338
|
elms = tmp.querySelectorAll('[draggridoutline]');
|
15339
|
-
dom$
|
15339
|
+
dom$j.removeAttributes(elms, 'draggridoutline');
|
15340
15340
|
elms = tmp.querySelectorAll('[between-blocks-left]');
|
15341
|
-
dom$
|
15341
|
+
dom$j.removeAttributes(elms, 'between-blocks-left');
|
15342
15342
|
elms = tmp.querySelectorAll('[between-blocks-center]');
|
15343
|
-
dom$
|
15343
|
+
dom$j.removeAttributes(elms, 'between-blocks-center');
|
15344
15344
|
elms = tmp.querySelectorAll('[hideelementhighlight]');
|
15345
|
-
dom$
|
15345
|
+
dom$j.removeAttributes(elms, 'hideelementhighlight');
|
15346
15346
|
elms = tmp.querySelectorAll('[data-module-active]');
|
15347
|
-
dom$
|
15347
|
+
dom$j.removeAttributes(elms, 'data-module-active');
|
15348
15348
|
elms = tmp.querySelectorAll('[draggable]');
|
15349
|
-
dom$
|
15349
|
+
dom$j.removeAttributes(elms, 'draggable');
|
15350
15350
|
elms = tmp.querySelectorAll('[data-animated]');
|
15351
|
-
dom$
|
15351
|
+
dom$j.removeAttributes(elms, 'data-animated');
|
15352
15352
|
elms = tmp.querySelectorAll('[data-saveforundo]');
|
15353
|
-
dom$
|
15353
|
+
dom$j.removeAttributes(elms, 'data-saveforundo');
|
15354
15354
|
elms = tmp.querySelectorAll('[hidesnippetaddtool]');
|
15355
|
-
dom$
|
15355
|
+
dom$j.removeAttributes(elms, 'hidesnippetaddtool');
|
15356
15356
|
elms = tmp.querySelectorAll('[gray]');
|
15357
|
-
dom$
|
15357
|
+
dom$j.removeAttributes(elms, 'gray');
|
15358
15358
|
elms = tmp.querySelectorAll('[rowoutline]');
|
15359
|
-
dom$
|
15359
|
+
dom$j.removeAttributes(elms, 'rowoutline');
|
15360
15360
|
elms = tmp.querySelectorAll('[hidecolumntool]');
|
15361
|
-
dom$
|
15361
|
+
dom$j.removeAttributes(elms, 'hidecolumntool');
|
15362
15362
|
elms = tmp.querySelectorAll('[grayoutline]');
|
15363
|
-
dom$
|
15363
|
+
dom$j.removeAttributes(elms, 'grayoutline');
|
15364
15364
|
elms = tmp.querySelectorAll('[hideoutline]');
|
15365
|
-
dom$
|
15365
|
+
dom$j.removeAttributes(elms, 'hideoutline');
|
15366
15366
|
elms = tmp.querySelectorAll('[leftrowtool]');
|
15367
|
-
dom$
|
15367
|
+
dom$j.removeAttributes(elms, 'leftrowtool');
|
15368
15368
|
elms = tmp.querySelectorAll('[minimal]');
|
15369
|
-
dom$
|
15369
|
+
dom$j.removeAttributes(elms, 'minimal');
|
15370
15370
|
elms = tmp.querySelectorAll('[clean]');
|
15371
|
-
dom$
|
15371
|
+
dom$j.removeAttributes(elms, 'clean');
|
15372
15372
|
elms = tmp.querySelectorAll('[grideditor]');
|
15373
|
-
dom$
|
15373
|
+
dom$j.removeAttributes(elms, 'grideditor');
|
15374
15374
|
elms = tmp.querySelectorAll('[gridoutline]');
|
15375
|
-
dom$
|
15376
|
-
dom$
|
15377
|
-
dom$
|
15378
|
-
dom$
|
15379
|
-
dom$
|
15380
|
-
dom$
|
15375
|
+
dom$j.removeAttributes(elms, 'gridoutline');
|
15376
|
+
dom$j.removeElements(tmp.querySelectorAll('.is-row-tool'));
|
15377
|
+
dom$j.removeElements(tmp.querySelectorAll('.is-col-tool'));
|
15378
|
+
dom$j.removeElements(tmp.querySelectorAll('.is-rowadd-tool'));
|
15379
|
+
dom$j.removeElements(tmp.querySelectorAll('.ovl'));
|
15380
|
+
dom$j.removeElements(tmp.querySelectorAll('.row-add-initial')); //Extra cleaning
|
15381
15381
|
|
15382
15382
|
elms = tmp.querySelectorAll('.aos-init');
|
15383
|
-
dom$
|
15383
|
+
dom$j.removeClasses(elms, 'aos-init');
|
15384
15384
|
elms = tmp.querySelectorAll('.aos-animate');
|
15385
|
-
dom$
|
15385
|
+
dom$j.removeClasses(elms, 'aos-animate');
|
15386
15386
|
elms = tmp.querySelectorAll('.skrollable');
|
15387
|
-
dom$
|
15387
|
+
dom$j.removeClasses(elms, 'skrollable');
|
15388
15388
|
elms = tmp.querySelectorAll('.skrollable-after');
|
15389
|
-
dom$
|
15389
|
+
dom$j.removeClasses(elms, 'skrollable-after');
|
15390
15390
|
elms = tmp.querySelectorAll('.skrollable-before');
|
15391
|
-
dom$
|
15391
|
+
dom$j.removeClasses(elms, 'skrollable-before');
|
15392
15392
|
elms = tmp.querySelectorAll('.skrollable-between');
|
15393
|
-
dom$
|
15393
|
+
dom$j.removeClasses(elms, 'skrollable-between');
|
15394
15394
|
elms = tmp.querySelectorAll('.is-inview');
|
15395
|
-
dom$
|
15395
|
+
dom$j.removeClasses(elms, 'is-inview');
|
15396
15396
|
let emptyclasses = tmp.querySelectorAll('[class=""]');
|
15397
15397
|
Array.prototype.forEach.call(emptyclasses, emptyclass => {
|
15398
15398
|
emptyclass.removeAttribute('class');
|
15399
15399
|
});
|
15400
|
-
|
15400
|
+
let unusedOverlays = tmp.querySelectorAll('.is-row-overlay');
|
15401
|
+
Array.prototype.forEach.call(unusedOverlays, unusedOverlay => {
|
15402
|
+
if (!unusedOverlay.hasAttribute('style')) unusedOverlay.parentNode.removeChild(unusedOverlay);
|
15403
|
+
});
|
15404
|
+
dom$j.removeEmptyStyle(tmp);
|
15401
15405
|
elms = tmp.querySelectorAll('[data-keep]');
|
15402
|
-
dom$
|
15406
|
+
dom$j.removeAttributes(elms, 'data-keep'); //Backward compatible: cleanup button <span contenteditable="false"><a contenteditable="true">button</a></span>
|
15403
15407
|
|
15404
15408
|
let links = tmp.querySelectorAll('a');
|
15405
15409
|
Array.prototype.forEach.call(links, link => {
|
@@ -15415,77 +15419,77 @@ class HtmlUtil {
|
|
15415
15419
|
//ContentBox
|
15416
15420
|
// Remove dummy DIV after last section
|
15417
15421
|
let elms = tmp.querySelectorAll('.is-dummy');
|
15418
|
-
dom$
|
15422
|
+
dom$j.removeElements(elms);
|
15419
15423
|
elms = tmp.querySelectorAll('[data-scroll]');
|
15420
|
-
dom$
|
15424
|
+
dom$j.removeAttributes(elms, 'data-scroll');
|
15421
15425
|
elms = tmp.querySelectorAll('[data-scroll-once]');
|
15422
|
-
dom$
|
15426
|
+
dom$j.removeAttributes(elms, 'data-scroll-once');
|
15423
15427
|
|
15424
15428
|
if (this.builder.shortenOutput) {
|
15425
15429
|
elms = tmp.querySelectorAll('[data-noedit]');
|
15426
|
-
dom$
|
15430
|
+
dom$j.removeAttributes(elms, 'data-noedit');
|
15427
15431
|
elms = tmp.querySelectorAll('[data-module]');
|
15428
|
-
dom$
|
15432
|
+
dom$j.removeAttributes(elms, 'data-module');
|
15429
15433
|
elms = tmp.querySelectorAll('[data-module-desc]');
|
15430
|
-
dom$
|
15434
|
+
dom$j.removeAttributes(elms, 'data-module-desc');
|
15431
15435
|
elms = tmp.querySelectorAll('[data-dialog-width]');
|
15432
|
-
dom$
|
15436
|
+
dom$j.removeAttributes(elms, 'data-dialog-width');
|
15433
15437
|
elms = tmp.querySelectorAll('[data-dialog-height]');
|
15434
|
-
dom$
|
15438
|
+
dom$j.removeAttributes(elms, 'data-dialog-height');
|
15435
15439
|
elms = tmp.querySelectorAll('[data-html]');
|
15436
|
-
dom$
|
15440
|
+
dom$j.removeAttributes(elms, 'data-html');
|
15437
15441
|
elms = tmp.querySelectorAll('[data-settings]');
|
15438
|
-
dom$
|
15442
|
+
dom$j.removeAttributes(elms, 'data-settings');
|
15439
15443
|
elms = tmp.querySelectorAll('[data-html-1]');
|
15440
|
-
dom$
|
15444
|
+
dom$j.removeAttributes(elms, 'data-html-1');
|
15441
15445
|
elms = tmp.querySelectorAll('[data-html-2]');
|
15442
|
-
dom$
|
15446
|
+
dom$j.removeAttributes(elms, 'data-html-2');
|
15443
15447
|
elms = tmp.querySelectorAll('[data-html-3]');
|
15444
|
-
dom$
|
15448
|
+
dom$j.removeAttributes(elms, 'data-html-3');
|
15445
15449
|
elms = tmp.querySelectorAll('[data-html-4]');
|
15446
|
-
dom$
|
15450
|
+
dom$j.removeAttributes(elms, 'data-html-4');
|
15447
15451
|
elms = tmp.querySelectorAll('[data-html-5]');
|
15448
|
-
dom$
|
15452
|
+
dom$j.removeAttributes(elms, 'data-html-5');
|
15449
15453
|
elms = tmp.querySelectorAll('[data-html-6]');
|
15450
|
-
dom$
|
15454
|
+
dom$j.removeAttributes(elms, 'data-html-6');
|
15451
15455
|
elms = tmp.querySelectorAll('[data-html-7]');
|
15452
|
-
dom$
|
15456
|
+
dom$j.removeAttributes(elms, 'data-html-7');
|
15453
15457
|
elms = tmp.querySelectorAll('[data-html-8]');
|
15454
|
-
dom$
|
15458
|
+
dom$j.removeAttributes(elms, 'data-html-8');
|
15455
15459
|
elms = tmp.querySelectorAll('[data-html-9]');
|
15456
|
-
dom$
|
15460
|
+
dom$j.removeAttributes(elms, 'data-html-9');
|
15457
15461
|
elms = tmp.querySelectorAll('[data-html-10]');
|
15458
|
-
dom$
|
15462
|
+
dom$j.removeAttributes(elms, 'data-html-10');
|
15459
15463
|
elms = tmp.querySelectorAll('[data-html-12]');
|
15460
|
-
dom$
|
15464
|
+
dom$j.removeAttributes(elms, 'data-html-12');
|
15461
15465
|
elms = tmp.querySelectorAll('[data-html-13]');
|
15462
|
-
dom$
|
15466
|
+
dom$j.removeAttributes(elms, 'data-html-13');
|
15463
15467
|
elms = tmp.querySelectorAll('[data-html-14]');
|
15464
|
-
dom$
|
15468
|
+
dom$j.removeAttributes(elms, 'data-html-14');
|
15465
15469
|
elms = tmp.querySelectorAll('[data-html-15]');
|
15466
|
-
dom$
|
15470
|
+
dom$j.removeAttributes(elms, 'data-html-15');
|
15467
15471
|
elms = tmp.querySelectorAll('[data-html-16]');
|
15468
|
-
dom$
|
15472
|
+
dom$j.removeAttributes(elms, 'data-html-16');
|
15469
15473
|
elms = tmp.querySelectorAll('[data-html-17]');
|
15470
|
-
dom$
|
15474
|
+
dom$j.removeAttributes(elms, 'data-html-17');
|
15471
15475
|
elms = tmp.querySelectorAll('[data-html-18]');
|
15472
|
-
dom$
|
15476
|
+
dom$j.removeAttributes(elms, 'data-html-18');
|
15473
15477
|
elms = tmp.querySelectorAll('[data-html-19]');
|
15474
|
-
dom$
|
15478
|
+
dom$j.removeAttributes(elms, 'data-html-19');
|
15475
15479
|
elms = tmp.querySelectorAll('[data-html-20]');
|
15476
|
-
dom$
|
15480
|
+
dom$j.removeAttributes(elms, 'data-html-20');
|
15477
15481
|
elms = tmp.querySelectorAll('[data-html-21]');
|
15478
|
-
dom$
|
15482
|
+
dom$j.removeAttributes(elms, 'data-html-21');
|
15479
15483
|
elms = tmp.querySelectorAll('[data-html-21]');
|
15480
|
-
dom$
|
15484
|
+
dom$j.removeAttributes(elms, 'data-html-21');
|
15481
15485
|
elms = tmp.querySelectorAll('[data-html-22]');
|
15482
|
-
dom$
|
15486
|
+
dom$j.removeAttributes(elms, 'data-html-22');
|
15483
15487
|
elms = tmp.querySelectorAll('[data-html-23]');
|
15484
|
-
dom$
|
15488
|
+
dom$j.removeAttributes(elms, 'data-html-23');
|
15485
15489
|
elms = tmp.querySelectorAll('[data-html-24]');
|
15486
|
-
dom$
|
15490
|
+
dom$j.removeAttributes(elms, 'data-html-24');
|
15487
15491
|
elms = tmp.querySelectorAll('[data-html-25]');
|
15488
|
-
dom$
|
15492
|
+
dom$j.removeAttributes(elms, 'data-html-25');
|
15489
15493
|
} // cleaning
|
15490
15494
|
|
15491
15495
|
|
@@ -15500,23 +15504,23 @@ class HtmlUtil {
|
|
15500
15504
|
});
|
15501
15505
|
elms = tmp.querySelectorAll('.is-animated');
|
15502
15506
|
Array.prototype.forEach.call(elms, elm => {
|
15503
|
-
dom$
|
15504
|
-
dom$
|
15505
|
-
dom$
|
15506
|
-
dom$
|
15507
|
-
dom$
|
15508
|
-
|
15509
|
-
dom$
|
15510
|
-
dom$
|
15511
|
-
dom$
|
15512
|
-
dom$
|
15513
|
-
dom$
|
15514
|
-
dom$
|
15515
|
-
dom$
|
15516
|
-
dom$
|
15517
|
-
dom$
|
15518
|
-
dom$
|
15519
|
-
dom$
|
15507
|
+
dom$j.removeClass(elm, 'animated');
|
15508
|
+
dom$j.removeClass(elm, 'pulse');
|
15509
|
+
dom$j.removeClass(elm, 'bounceIn');
|
15510
|
+
dom$j.removeClass(elm, 'fadeIn');
|
15511
|
+
dom$j.removeClass(elm, 'fadeOut'); //new
|
15512
|
+
|
15513
|
+
dom$j.removeClass(elm, 'fadeInDown');
|
15514
|
+
dom$j.removeClass(elm, 'fadeInLeft');
|
15515
|
+
dom$j.removeClass(elm, 'fadeInRight');
|
15516
|
+
dom$j.removeClass(elm, 'fadeInUp');
|
15517
|
+
dom$j.removeClass(elm, 'flipInX');
|
15518
|
+
dom$j.removeClass(elm, 'flipInY');
|
15519
|
+
dom$j.removeClass(elm, 'slideInUp');
|
15520
|
+
dom$j.removeClass(elm, 'slideInDown');
|
15521
|
+
dom$j.removeClass(elm, 'slideInLeft');
|
15522
|
+
dom$j.removeClass(elm, 'slideInRight');
|
15523
|
+
dom$j.removeClass(elm, 'zoomIn');
|
15520
15524
|
elm.style.animationDelay = '';
|
15521
15525
|
elm.style.transitionDelay = '';
|
15522
15526
|
elm.style.transitionDuration = '';
|
@@ -15530,39 +15534,39 @@ class HtmlUtil {
|
|
15530
15534
|
|
15531
15535
|
elms = tmp.querySelectorAll('.is-appeared');
|
15532
15536
|
Array.prototype.forEach.call(elms, elm => {
|
15533
|
-
dom$
|
15537
|
+
dom$j.removeClass(elm, 'is-appeared');
|
15534
15538
|
});
|
15535
15539
|
elms = tmp.querySelectorAll('.box-active');
|
15536
15540
|
Array.prototype.forEach.call(elms, elm => {
|
15537
|
-
dom$
|
15541
|
+
dom$j.removeClass(elm, 'box-active');
|
15538
15542
|
});
|
15539
15543
|
elms = tmp.querySelectorAll('.section-active');
|
15540
15544
|
Array.prototype.forEach.call(elms, elm => {
|
15541
|
-
dom$
|
15545
|
+
dom$j.removeClass(elm, 'section-active');
|
15542
15546
|
});
|
15543
15547
|
elms = tmp.querySelectorAll('.section-select');
|
15544
15548
|
Array.prototype.forEach.call(elms, elm => {
|
15545
|
-
dom$
|
15549
|
+
dom$j.removeClass(elm, 'section-select');
|
15546
15550
|
});
|
15547
15551
|
elms = tmp.querySelectorAll('.box-select');
|
15548
15552
|
Array.prototype.forEach.call(elms, elm => {
|
15549
|
-
dom$
|
15553
|
+
dom$j.removeClass(elm, 'box-select');
|
15550
15554
|
});
|
15551
15555
|
elms = tmp.querySelectorAll('.is-section-tool');
|
15552
|
-
dom$
|
15556
|
+
dom$j.removeElements(elms);
|
15553
15557
|
elms = tmp.querySelectorAll('.is-box-tool');
|
15554
|
-
dom$
|
15558
|
+
dom$j.removeElements(elms);
|
15555
15559
|
elms = tmp.querySelectorAll('.is-section-info');
|
15556
|
-
dom$
|
15560
|
+
dom$j.removeElements(elms);
|
15557
15561
|
var html_content = '';
|
15558
15562
|
var html_footer = '';
|
15559
15563
|
var html_others = ''; // Apply behavior on each row
|
15560
15564
|
|
15561
|
-
const sections = dom$
|
15565
|
+
const sections = dom$j.elementChildren(tmp);
|
15562
15566
|
sections.forEach(section => {
|
15563
15567
|
let currentSection = section;
|
15564
15568
|
|
15565
|
-
if (dom$
|
15569
|
+
if (dom$j.hasClass(currentSection, 'is-section')) {
|
15566
15570
|
var secclass = ''; // var secstyle = '';
|
15567
15571
|
|
15568
15572
|
if (currentSection.getAttribute('class')) secclass = ' class="' + currentSection.getAttribute('class') + '"'; // if (currentSection.getAttribute('style')) secstyle = ' style="' + currentSection.getAttribute('style') + '"';
|
@@ -15604,69 +15608,69 @@ class HtmlUtil {
|
|
15604
15608
|
|
15605
15609
|
if (this.builder.shortenOutput) {
|
15606
15610
|
elms = tmp.querySelectorAll('[data-noedit]');
|
15607
|
-
dom$
|
15611
|
+
dom$j.removeAttributes(elms, 'data-noedit');
|
15608
15612
|
elms = tmp.querySelectorAll('[data-module]');
|
15609
|
-
dom$
|
15613
|
+
dom$j.removeAttributes(elms, 'data-module');
|
15610
15614
|
elms = tmp.querySelectorAll('[data-module-desc]');
|
15611
|
-
dom$
|
15615
|
+
dom$j.removeAttributes(elms, 'data-module-desc');
|
15612
15616
|
elms = tmp.querySelectorAll('[data-dialog-width]');
|
15613
|
-
dom$
|
15617
|
+
dom$j.removeAttributes(elms, 'data-dialog-width');
|
15614
15618
|
elms = tmp.querySelectorAll('[data-dialog-height]');
|
15615
|
-
dom$
|
15619
|
+
dom$j.removeAttributes(elms, 'data-dialog-height');
|
15616
15620
|
elms = tmp.querySelectorAll('[data-html]');
|
15617
|
-
dom$
|
15621
|
+
dom$j.removeAttributes(elms, 'data-html');
|
15618
15622
|
elms = tmp.querySelectorAll('[data-settings]');
|
15619
|
-
dom$
|
15623
|
+
dom$j.removeAttributes(elms, 'data-settings');
|
15620
15624
|
elms = tmp.querySelectorAll('[data-html-1]');
|
15621
|
-
dom$
|
15625
|
+
dom$j.removeAttributes(elms, 'data-html-1');
|
15622
15626
|
elms = tmp.querySelectorAll('[data-html-2]');
|
15623
|
-
dom$
|
15627
|
+
dom$j.removeAttributes(elms, 'data-html-2');
|
15624
15628
|
elms = tmp.querySelectorAll('[data-html-3]');
|
15625
|
-
dom$
|
15629
|
+
dom$j.removeAttributes(elms, 'data-html-3');
|
15626
15630
|
elms = tmp.querySelectorAll('[data-html-4]');
|
15627
|
-
dom$
|
15631
|
+
dom$j.removeAttributes(elms, 'data-html-4');
|
15628
15632
|
elms = tmp.querySelectorAll('[data-html-5]');
|
15629
|
-
dom$
|
15633
|
+
dom$j.removeAttributes(elms, 'data-html-5');
|
15630
15634
|
elms = tmp.querySelectorAll('[data-html-6]');
|
15631
|
-
dom$
|
15635
|
+
dom$j.removeAttributes(elms, 'data-html-6');
|
15632
15636
|
elms = tmp.querySelectorAll('[data-html-7]');
|
15633
|
-
dom$
|
15637
|
+
dom$j.removeAttributes(elms, 'data-html-7');
|
15634
15638
|
elms = tmp.querySelectorAll('[data-html-8]');
|
15635
|
-
dom$
|
15639
|
+
dom$j.removeAttributes(elms, 'data-html-8');
|
15636
15640
|
elms = tmp.querySelectorAll('[data-html-9]');
|
15637
|
-
dom$
|
15641
|
+
dom$j.removeAttributes(elms, 'data-html-9');
|
15638
15642
|
elms = tmp.querySelectorAll('[data-html-10]');
|
15639
|
-
dom$
|
15643
|
+
dom$j.removeAttributes(elms, 'data-html-10');
|
15640
15644
|
elms = tmp.querySelectorAll('[data-html-12]');
|
15641
|
-
dom$
|
15645
|
+
dom$j.removeAttributes(elms, 'data-html-12');
|
15642
15646
|
elms = tmp.querySelectorAll('[data-html-13]');
|
15643
|
-
dom$
|
15647
|
+
dom$j.removeAttributes(elms, 'data-html-13');
|
15644
15648
|
elms = tmp.querySelectorAll('[data-html-14]');
|
15645
|
-
dom$
|
15649
|
+
dom$j.removeAttributes(elms, 'data-html-14');
|
15646
15650
|
elms = tmp.querySelectorAll('[data-html-15]');
|
15647
|
-
dom$
|
15651
|
+
dom$j.removeAttributes(elms, 'data-html-15');
|
15648
15652
|
elms = tmp.querySelectorAll('[data-html-16]');
|
15649
|
-
dom$
|
15653
|
+
dom$j.removeAttributes(elms, 'data-html-16');
|
15650
15654
|
elms = tmp.querySelectorAll('[data-html-17]');
|
15651
|
-
dom$
|
15655
|
+
dom$j.removeAttributes(elms, 'data-html-17');
|
15652
15656
|
elms = tmp.querySelectorAll('[data-html-18]');
|
15653
|
-
dom$
|
15657
|
+
dom$j.removeAttributes(elms, 'data-html-18');
|
15654
15658
|
elms = tmp.querySelectorAll('[data-html-19]');
|
15655
|
-
dom$
|
15659
|
+
dom$j.removeAttributes(elms, 'data-html-19');
|
15656
15660
|
elms = tmp.querySelectorAll('[data-html-20]');
|
15657
|
-
dom$
|
15661
|
+
dom$j.removeAttributes(elms, 'data-html-20');
|
15658
15662
|
elms = tmp.querySelectorAll('[data-html-21]');
|
15659
|
-
dom$
|
15663
|
+
dom$j.removeAttributes(elms, 'data-html-21');
|
15660
15664
|
elms = tmp.querySelectorAll('[data-html-21]');
|
15661
|
-
dom$
|
15665
|
+
dom$j.removeAttributes(elms, 'data-html-21');
|
15662
15666
|
elms = tmp.querySelectorAll('[data-html-22]');
|
15663
|
-
dom$
|
15667
|
+
dom$j.removeAttributes(elms, 'data-html-22');
|
15664
15668
|
elms = tmp.querySelectorAll('[data-html-23]');
|
15665
|
-
dom$
|
15669
|
+
dom$j.removeAttributes(elms, 'data-html-23');
|
15666
15670
|
elms = tmp.querySelectorAll('[data-html-24]');
|
15667
|
-
dom$
|
15671
|
+
dom$j.removeAttributes(elms, 'data-html-24');
|
15668
15672
|
elms = tmp.querySelectorAll('[data-html-25]');
|
15669
|
-
dom$
|
15673
|
+
dom$j.removeAttributes(elms, 'data-html-25');
|
15670
15674
|
}
|
15671
15675
|
|
15672
15676
|
html = tmp.innerHTML.trim();
|
@@ -22045,7 +22049,7 @@ _extends(Remove, {
|
|
22045
22049
|
Sortable.mount(new AutoScrollPlugin());
|
22046
22050
|
Sortable.mount(Remove, Revert);
|
22047
22051
|
|
22048
|
-
const dom$
|
22052
|
+
const dom$i = new Dom();
|
22049
22053
|
|
22050
22054
|
class Select {
|
22051
22055
|
constructor(dropDown) {
|
@@ -22070,14 +22074,14 @@ class Select {
|
|
22070
22074
|
this.toggle(false);
|
22071
22075
|
dropDown.dispatchEvent(new Event('change'));
|
22072
22076
|
toggler.focus();
|
22073
|
-
let elms = dom$
|
22077
|
+
let elms = dom$i.elementChildren(menu);
|
22074
22078
|
elms.forEach(elm => {
|
22075
|
-
dom$
|
22079
|
+
dom$i.removeClass(elm, 'selected');
|
22076
22080
|
});
|
22077
22081
|
let optionselected = menu.querySelector('[data-value="' + val + '"]');
|
22078
22082
|
|
22079
22083
|
if (optionselected) {
|
22080
|
-
dom$
|
22084
|
+
dom$i.addClass(optionselected, 'selected');
|
22081
22085
|
}
|
22082
22086
|
};
|
22083
22087
|
|
@@ -22132,7 +22136,7 @@ class Select {
|
|
22132
22136
|
let optionselected = menu.querySelector('[data-value="' + this.value + '"]');
|
22133
22137
|
|
22134
22138
|
if (optionselected) {
|
22135
|
-
dom$
|
22139
|
+
dom$i.addClass(optionselected, 'selected');
|
22136
22140
|
optionselected.focus();
|
22137
22141
|
}
|
22138
22142
|
|
@@ -55578,424 +55582,6 @@ class Element$1 {
|
|
55578
55582
|
|
55579
55583
|
}
|
55580
55584
|
|
55581
|
-
class RowTool {
|
55582
|
-
constructor(builder) {
|
55583
|
-
this.builder = builder;
|
55584
|
-
const util = this.builder.util;
|
55585
|
-
this.util = util;
|
55586
|
-
const builderStuff = this.builder.builderStuff;
|
55587
|
-
const dom = this.builder.dom;
|
55588
|
-
this.dom = dom;
|
55589
|
-
this.grid = new Grid(builder);
|
55590
|
-
let rowMore = builderStuff.querySelector('.rowmore');
|
55591
|
-
let htmlbutton = '';
|
55592
|
-
if (builder.opts.rowHtmlEditor) htmlbutton = `<button type="button" title="${util.out('HTML')}" class="row-html">
|
55593
|
-
<span><svg class="is-icon-flex" style="margin-right:-3px;width:12px;height:12px;"><use xlink:href="#ion-ios-arrow-left"></use></svg><svg class="is-icon-flex" style="margin-left:-2px;width:12px;height:12px;"><use xlink:href="#ion-ios-arrow-right"></use></svg></span>${util.out('HTML')}
|
55594
|
-
</button>`;
|
55595
|
-
|
55596
|
-
if (!rowMore) {
|
55597
|
-
let html = `<div class="is-pop rowmore" style="z-index:10002;" tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true">
|
55598
|
-
<div style="display:flex;flex-flow:wrap;">
|
55599
|
-
<button type="button" title="${util.out('Move Up')}" class="row-up"><span><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-up"></use></svg></span>${util.out('Move Up')}</button>
|
55600
|
-
<button type="button" title="${util.out('Move Down')}" class="row-down"><span><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-down"></use></svg></span>${util.out('Move Down')}</button>
|
55601
|
-
<button type="button" title="${util.out('Duplicate')}" class="row-duplicate"><span><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-ios-photos-outline"></use></svg></span>${util.out('Duplicate')}</button>
|
55602
|
-
${htmlbutton}
|
55603
|
-
</div>
|
55604
|
-
</div>`;
|
55605
|
-
dom.appendHtml(builderStuff, html);
|
55606
|
-
rowMore = builderStuff.querySelector('.rowmore');
|
55607
|
-
let elm = rowMore.querySelector('.row-up');
|
55608
|
-
if (elm) dom.addEventListener(elm, 'click', () => {
|
55609
|
-
this.grid.moveRowUp(); // util.clearControls();
|
55610
|
-
});
|
55611
|
-
elm = rowMore.querySelector('.row-down');
|
55612
|
-
if (elm) dom.addEventListener(elm, 'click', () => {
|
55613
|
-
this.grid.moveRowDown(); // util.clearControls();
|
55614
|
-
});
|
55615
|
-
elm = rowMore.querySelector('.row-duplicate');
|
55616
|
-
if (elm) dom.addEventListener(elm, 'click', () => {
|
55617
|
-
this.grid.duplicateRow(); // this.rowMore.style.display = '';
|
55618
|
-
|
55619
|
-
util.hidePop(rowMore); //Hide Column tool (new!)
|
55620
|
-
|
55621
|
-
util.hideColumnTool();
|
55622
|
-
util.clearControls();
|
55623
|
-
});
|
55624
|
-
elm = rowMore.querySelector('.row-html');
|
55625
|
-
if (elm) dom.addEventListener(elm, 'click', () => {
|
55626
|
-
// const cell = util.cellSelected();
|
55627
|
-
// if(!cell) return;
|
55628
|
-
let row;
|
55629
|
-
let cell = util.cellSelected();
|
55630
|
-
|
55631
|
-
if (cell) {
|
55632
|
-
row = cell.parentNode;
|
55633
|
-
} else {
|
55634
|
-
row = util.rowSelected();
|
55635
|
-
}
|
55636
|
-
|
55637
|
-
if (!row) return;
|
55638
|
-
const htmlutil = new HtmlUtil(builder);
|
55639
|
-
htmlutil.view('row');
|
55640
|
-
});
|
55641
|
-
}
|
55642
|
-
|
55643
|
-
this.rowMore = rowMore; // // Click anywhere will hide Column tool
|
55644
|
-
// document.addEventListener('mousedown', (e) => {
|
55645
|
-
// e = e || window.event;
|
55646
|
-
// var target = e.target || e.srcElement;
|
55647
|
-
// if(rowMore.style.display === 'flex'){
|
55648
|
-
// let a = dom.parentsHasClass(target, 'rowmore');
|
55649
|
-
// let b = dom.parentsHasClass(target, 'row-more');
|
55650
|
-
// if(a||b) {
|
55651
|
-
// return;
|
55652
|
-
// }
|
55653
|
-
// else {
|
55654
|
-
// // rowMore.style.display = '';
|
55655
|
-
// util.hidePop(rowMore);
|
55656
|
-
// }
|
55657
|
-
// }
|
55658
|
-
// });
|
55659
|
-
}
|
55660
|
-
|
55661
|
-
render(row) {
|
55662
|
-
const dom = this.dom;
|
55663
|
-
const util = this.builder.util;
|
55664
|
-
const builderStuff = this.builder.builderStuff;
|
55665
|
-
let rowMore = this.rowMore;
|
55666
|
-
let rowtool = row.querySelector('.is-row-tool');
|
55667
|
-
|
55668
|
-
if (!rowtool) {
|
55669
|
-
let html = `<div class="is-tool is-row-tool">
|
55670
|
-
<div title="${util.out('Move')}" role="button" tabindex="-1" class="row-handle" style="width:100%;cursor:move;text-align:center;"><svg class="is-icon-flex"><use xlink:href="#ion-move"></use></svg></div>
|
55671
|
-
<button type="button" tabindex="-1" title="${util.out('More')}" class="row-more"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>
|
55672
|
-
<button type="button" tabindex="-1" title="${util.out('Grid Editor')}" class="row-grideditor"><svg class="is-icon-flex"><use xlink:href="#ion-grid"></use></svg></button>
|
55673
|
-
<button type="button" tabindex="-1" title="${util.out('Delete')}" class="row-remove"><svg class="is-icon-flex"><use xlink:href="#ion-ios-close-empty"></use></svg></button>
|
55674
|
-
</div>
|
55675
|
-
<div class="is-tool is-col-tool">
|
55676
|
-
<button type="button" tabindex="-1" title="${util.out('Add')}" class="cell-add"><svg class="is-icon-flex"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>
|
55677
|
-
<button type="button" tabindex="-1" title="${util.out('More')}" class="cell-more"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>
|
55678
|
-
<button type="button" tabindex="-1" title="${util.out('Delete')}" class="cell-remove"><svg class="is-icon-flex" style="margin-left:-1px"><use xlink:href="#ion-ios-close-empty"></use></svg></button>
|
55679
|
-
</div>
|
55680
|
-
`;
|
55681
|
-
dom.appendHtml(row, html);
|
55682
|
-
rowtool = row.querySelector('.is-row-tool'); // Prepare for tooltip
|
55683
|
-
|
55684
|
-
let elms = rowtool.querySelectorAll('[title]');
|
55685
|
-
Array.prototype.forEach.call(elms, elm => {
|
55686
|
-
elm.setAttribute('data-title', elm.getAttribute('title'));
|
55687
|
-
|
55688
|
-
if (!this.builder.iframe) {
|
55689
|
-
this.builder.tooltip.set(elm, 5, 3);
|
55690
|
-
} else {
|
55691
|
-
this.builder.tooltip.set(elm, 5, 3, true);
|
55692
|
-
}
|
55693
|
-
});
|
55694
|
-
let coltool = row.querySelector('.is-col-tool'); // Prepare for tooltip
|
55695
|
-
|
55696
|
-
elms = coltool.querySelectorAll('[title]');
|
55697
|
-
Array.prototype.forEach.call(elms, elm => {
|
55698
|
-
elm.setAttribute('data-title', elm.getAttribute('title'));
|
55699
|
-
|
55700
|
-
if (!this.builder.iframe) {
|
55701
|
-
this.builder.tooltip.set(elm, 5, 3);
|
55702
|
-
} else {
|
55703
|
-
this.builder.tooltip.set(elm, 5, 3, true);
|
55704
|
-
}
|
55705
|
-
}); // Check for backward compatibility
|
55706
|
-
|
55707
|
-
let marginLeft = window.getComputedStyle(coltool, null).getPropertyValue('margin-left');
|
55708
|
-
|
55709
|
-
if (parseInt(marginLeft) === 0) {
|
55710
|
-
this.builder.backwardCompatible();
|
55711
|
-
}
|
55712
|
-
|
55713
|
-
const btnCellAdd = coltool.querySelector('.cell-add');
|
55714
|
-
if (btnCellAdd) dom.addEventListener(btnCellAdd, 'click', () => {
|
55715
|
-
let cell = util.cellSelected();
|
55716
|
-
if (!cell) return;
|
55717
|
-
let quickadd = this.builder.builderStuff.querySelector('.is-pop.quickadd');
|
55718
|
-
let tabs = quickadd.querySelector('.is-pop-tabs');
|
55719
|
-
tabs.style.display = 'flex';
|
55720
|
-
let top, left;
|
55721
|
-
|
55722
|
-
if (!this.builder.iframe) {
|
55723
|
-
top = btnCellAdd.getBoundingClientRect().top + window.pageYOffset;
|
55724
|
-
left = btnCellAdd.getBoundingClientRect().left + window.pageXOffset;
|
55725
|
-
} else {
|
55726
|
-
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
55727
|
-
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
55728
|
-
top = btnCellAdd.getBoundingClientRect().top + adjY + 10;
|
55729
|
-
left = btnCellAdd.getBoundingClientRect().left + adjX + 5;
|
55730
|
-
} // quickadd.style.display = 'flex';
|
55731
|
-
|
55732
|
-
|
55733
|
-
util.showPop(quickadd, false, btnCellAdd); //const w = quickadd.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
55734
|
-
//const h = quickadd.offsetHeight;
|
55735
|
-
|
55736
|
-
quickadd.style.top = top + 35 + 'px';
|
55737
|
-
quickadd.style.left = left + 'px';
|
55738
|
-
dom.removeClass(quickadd, 'arrow-bottom');
|
55739
|
-
dom.removeClass(quickadd, 'arrow-left');
|
55740
|
-
dom.removeClass(quickadd, 'arrow-right');
|
55741
|
-
dom.removeClass(quickadd, 'center');
|
55742
|
-
dom.removeClass(quickadd, 'right');
|
55743
|
-
dom.addClass(quickadd, 'arrow-top');
|
55744
|
-
dom.addClass(quickadd, 'left');
|
55745
|
-
let val = quickadd.querySelector('.active').getAttribute('data-value');
|
55746
|
-
|
55747
|
-
if (val === 'left') {
|
55748
|
-
quickadd.setAttribute('data-mode', 'cell-left');
|
55749
|
-
} else {
|
55750
|
-
quickadd.setAttribute('data-mode', 'cell-right');
|
55751
|
-
}
|
55752
|
-
});
|
55753
|
-
const btnCellMore = coltool.querySelector('.cell-more');
|
55754
|
-
if (btnCellMore) dom.addEventListener(btnCellMore, 'click', () => {
|
55755
|
-
let cell = util.cellSelected();
|
55756
|
-
if (!cell) return;
|
55757
|
-
let top, left;
|
55758
|
-
|
55759
|
-
if (!this.builder.iframe) {
|
55760
|
-
top = btnCellMore.getBoundingClientRect().top + window.pageYOffset;
|
55761
|
-
left = btnCellMore.getBoundingClientRect().left + window.pageXOffset;
|
55762
|
-
} else {
|
55763
|
-
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
55764
|
-
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
55765
|
-
top = btnCellMore.getBoundingClientRect().top + adjY;
|
55766
|
-
left = btnCellMore.getBoundingClientRect().left + adjX;
|
55767
|
-
}
|
55768
|
-
|
55769
|
-
const columnMore = builderStuff.querySelector('.columnmore'); // columnMore.style.display = 'flex';
|
55770
|
-
|
55771
|
-
util.showPop(columnMore, false, btnCellMore); //const w = columnMore.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
55772
|
-
//const h = columnMore.offsetHeight;
|
55773
|
-
|
55774
|
-
columnMore.style.top = top + 35 + 'px';
|
55775
|
-
columnMore.style.left = left - 7 + 'px';
|
55776
|
-
dom.removeClass(columnMore, 'arrow-bottom');
|
55777
|
-
dom.removeClass(columnMore, 'arrow-left');
|
55778
|
-
dom.removeClass(columnMore, 'arrow-right');
|
55779
|
-
dom.removeClass(columnMore, 'center');
|
55780
|
-
dom.removeClass(columnMore, 'right');
|
55781
|
-
dom.addClass(columnMore, 'arrow-top');
|
55782
|
-
dom.addClass(columnMore, 'left');
|
55783
|
-
const btnCellLocking = columnMore.querySelector('.cell-locking');
|
55784
|
-
|
55785
|
-
if (cell.hasAttribute('data-noedit')) {
|
55786
|
-
dom.addClass(btnCellLocking, 'on'); // btnCellLocking.innerHTML = '<svg class="is-icon-flex"><use xlink:href="#icon-lock"></use></svg>';
|
55787
|
-
} else {
|
55788
|
-
dom.removeClass(btnCellLocking, 'on'); // btnCellLocking.innerHTML = '<svg class="is-icon-flex"><use xlink:href="#icon-lock-off"></use></svg>';
|
55789
|
-
}
|
55790
|
-
});
|
55791
|
-
const btnCellRemove = coltool.querySelector('.cell-remove');
|
55792
|
-
if (btnCellRemove) dom.addEventListener(btnCellRemove, 'click', () => {
|
55793
|
-
const grid = new Grid(this.builder);
|
55794
|
-
grid.removeColumn();
|
55795
|
-
util.clearControls();
|
55796
|
-
});
|
55797
|
-
let btnGridEditor = rowtool.querySelector('.row-grideditor');
|
55798
|
-
if (btnGridEditor) dom.addEventListener(btnGridEditor, 'click', () => {
|
55799
|
-
const grideditor = builderStuff.querySelector('.grideditor');
|
55800
|
-
|
55801
|
-
if (dom.hasClass(grideditor, 'active')) {
|
55802
|
-
dom.removeClass(grideditor, 'active');
|
55803
|
-
const builders = document.querySelectorAll(this.builder.opts.container);
|
55804
|
-
Array.prototype.forEach.call(builders, builder => {
|
55805
|
-
builder.removeAttribute('grideditor');
|
55806
|
-
});
|
55807
|
-
} else {
|
55808
|
-
// dom.addClass(grideditor, 'active');
|
55809
|
-
this.util.showModal(grideditor, false, () => {
|
55810
|
-
btnGridEditor.removeAttribute('data-focus');
|
55811
|
-
btnGridEditor.focus();
|
55812
|
-
});
|
55813
|
-
btnGridEditor.setAttribute('data-focus', true);
|
55814
|
-
const builders = document.querySelectorAll(this.builder.opts.container);
|
55815
|
-
Array.prototype.forEach.call(builders, builder => {
|
55816
|
-
builder.setAttribute('grideditor', '');
|
55817
|
-
}); // Grid Editor Status
|
55818
|
-
// On/off outline button
|
55819
|
-
|
55820
|
-
const btnGridOutline = grideditor.querySelector('.grid-outline');
|
55821
|
-
const container = document.querySelector(this.builder.opts.container); // get one
|
55822
|
-
|
55823
|
-
if (container.hasAttribute('gridoutline')) {
|
55824
|
-
dom.addClass(btnGridOutline, 'on');
|
55825
|
-
} else {
|
55826
|
-
dom.removeClass(btnGridOutline, 'on');
|
55827
|
-
} // On/off lock button
|
55828
|
-
|
55829
|
-
|
55830
|
-
const btnCellLocking = grideditor.querySelector('.cell-locking');
|
55831
|
-
let cell = util.cellSelected();
|
55832
|
-
|
55833
|
-
if (cell) {
|
55834
|
-
if (cell.hasAttribute('data-noedit')) {
|
55835
|
-
dom.addClass(btnCellLocking, 'on');
|
55836
|
-
} else {
|
55837
|
-
dom.removeClass(btnCellLocking, 'on');
|
55838
|
-
}
|
55839
|
-
} else {
|
55840
|
-
dom.removeClass(btnCellLocking, 'on');
|
55841
|
-
}
|
55842
|
-
}
|
55843
|
-
});
|
55844
|
-
const btnMore = rowtool.querySelector('.row-more');
|
55845
|
-
if (btnMore) dom.addEventListener(btnMore, 'click', () => {
|
55846
|
-
let row;
|
55847
|
-
let cell = util.cellSelected();
|
55848
|
-
|
55849
|
-
if (cell) {
|
55850
|
-
row = cell.parentNode;
|
55851
|
-
} else {
|
55852
|
-
row = util.rowSelected();
|
55853
|
-
}
|
55854
|
-
|
55855
|
-
if (!row) return; //Change to row selection
|
55856
|
-
|
55857
|
-
dom.removeClass(row, 'row-outline'); //Hide Column tool (new!)
|
55858
|
-
|
55859
|
-
util.hideColumnTool(); // const top = btnMore.getBoundingClientRect().top + window.pageYOffset;
|
55860
|
-
// const left = btnMore.getBoundingClientRect().left + window.pageXOffset;
|
55861
|
-
|
55862
|
-
let top, left;
|
55863
|
-
|
55864
|
-
if (!this.builder.iframe) {
|
55865
|
-
top = btnMore.getBoundingClientRect().top + window.pageYOffset;
|
55866
|
-
left = btnMore.getBoundingClientRect().left + window.pageXOffset;
|
55867
|
-
} else {
|
55868
|
-
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
55869
|
-
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
55870
|
-
top = btnMore.getBoundingClientRect().top + adjY;
|
55871
|
-
left = btnMore.getBoundingClientRect().left + adjX;
|
55872
|
-
} // rowMore.style.display = 'flex';
|
55873
|
-
|
55874
|
-
|
55875
|
-
util.showPop(rowMore, false, btnMore); //const w = rowMore.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
55876
|
-
//const h = rowMore.offsetHeight;
|
55877
|
-
|
55878
|
-
rowMore.style.top = top - 8 + 'px';
|
55879
|
-
dom.removeClass(rowMore, 'arrow-bottom');
|
55880
|
-
dom.removeClass(rowMore, 'arrow-left');
|
55881
|
-
dom.removeClass(rowMore, 'arrow-right');
|
55882
|
-
dom.removeClass(rowMore, 'center');
|
55883
|
-
dom.removeClass(rowMore, 'right');
|
55884
|
-
dom.removeClass(rowMore, 'left');
|
55885
|
-
|
55886
|
-
if (this.builder.opts.rowTool === 'right') {
|
55887
|
-
rowMore.style.left = left - rowMore.offsetWidth - 10 + 'px';
|
55888
|
-
dom.addClass(rowMore, 'arrow-right');
|
55889
|
-
dom.addClass(rowMore, 'left');
|
55890
|
-
} else {
|
55891
|
-
rowMore.style.left = left + 35 + 'px';
|
55892
|
-
dom.addClass(rowMore, 'arrow-left');
|
55893
|
-
dom.addClass(rowMore, 'left');
|
55894
|
-
}
|
55895
|
-
|
55896
|
-
let btnRowHtml = rowMore.querySelector('.row-html');
|
55897
|
-
let btnRowDuplicate = rowMore.querySelector('.row-duplicate');
|
55898
|
-
|
55899
|
-
if (row.querySelector('[data-html]')) {
|
55900
|
-
if (btnRowHtml) btnRowHtml.style.display = 'none';
|
55901
|
-
if (btnRowDuplicate) btnRowDuplicate.style.display = 'none';
|
55902
|
-
} else {
|
55903
|
-
if (btnRowHtml) btnRowHtml.style.display = '';
|
55904
|
-
if (btnRowDuplicate) btnRowDuplicate.style.display = '';
|
55905
|
-
}
|
55906
|
-
});
|
55907
|
-
let elm = rowtool.querySelector('.row-remove');
|
55908
|
-
if (elm) dom.addEventListener(elm, 'click', () => {
|
55909
|
-
this.grid.removeRow();
|
55910
|
-
util.clearControls();
|
55911
|
-
});
|
55912
|
-
}
|
55913
|
-
}
|
55914
|
-
|
55915
|
-
}
|
55916
|
-
|
55917
|
-
class RowAddTool {
|
55918
|
-
constructor(builder) {
|
55919
|
-
this.builder = builder;
|
55920
|
-
const dom = this.builder.dom;
|
55921
|
-
this.dom = dom;
|
55922
|
-
}
|
55923
|
-
|
55924
|
-
render(row) {
|
55925
|
-
const dom = this.dom;
|
55926
|
-
const util = this.builder.util;
|
55927
|
-
const quickadd = renderQuickAdd(this.builder);
|
55928
|
-
let rowaddtool = row.querySelector('.is-rowadd-tool');
|
55929
|
-
|
55930
|
-
if (!rowaddtool) {
|
55931
|
-
const html = `<div class="is-rowadd-tool" style="height:0">
|
55932
|
-
<button type="button" tabindex="-1" title="${util.out('Add')}" title="${util.out('Add')}" style="outline:none;line-height:1;margin:0;padding:0;cursor:pointer;background-color:rgba(255,255,255,0.9);"><svg class="is-icon-flex" style="fill:rgba(0, 0, 0, 0.8);width:17px;height:17px;"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>
|
55933
|
-
</div>`;
|
55934
|
-
dom.appendHtml(row, html);
|
55935
|
-
rowaddtool = row.querySelector('.is-rowadd-tool'); // Prepare for tooltip
|
55936
|
-
|
55937
|
-
let elms = rowaddtool.querySelectorAll('[title]');
|
55938
|
-
Array.prototype.forEach.call(elms, elm => {
|
55939
|
-
elm.setAttribute('data-title', elm.getAttribute('title'));
|
55940
|
-
|
55941
|
-
if (!this.builder.iframe) {
|
55942
|
-
this.builder.tooltip.set(elm, 5, 3);
|
55943
|
-
} else {
|
55944
|
-
this.builder.tooltip.set(elm, 5, 3, true);
|
55945
|
-
}
|
55946
|
-
});
|
55947
|
-
}
|
55948
|
-
|
55949
|
-
let btnRowAdd = rowaddtool.querySelector('button');
|
55950
|
-
dom.addEventListener(btnRowAdd, 'click', () => {
|
55951
|
-
let tabs = quickadd.querySelector('.is-pop-tabs');
|
55952
|
-
tabs.style.display = 'none';
|
55953
|
-
const viewportHeight = window.innerHeight;
|
55954
|
-
let top, left;
|
55955
|
-
|
55956
|
-
if (!this.builder.iframe) {
|
55957
|
-
top = btnRowAdd.getBoundingClientRect().top;
|
55958
|
-
left = btnRowAdd.getBoundingClientRect().left;
|
55959
|
-
} else {
|
55960
|
-
let adjY = this.builder.iframe.getBoundingClientRect().top;
|
55961
|
-
let adjX = this.builder.iframe.getBoundingClientRect().left;
|
55962
|
-
top = btnRowAdd.getBoundingClientRect().top + adjY;
|
55963
|
-
left = btnRowAdd.getBoundingClientRect().left + adjX;
|
55964
|
-
} // quickadd.style.display = 'flex';
|
55965
|
-
|
55966
|
-
|
55967
|
-
util.showPop(quickadd, false, btnRowAdd);
|
55968
|
-
const w = quickadd.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
55969
|
-
|
55970
|
-
const h = quickadd.offsetHeight;
|
55971
|
-
|
55972
|
-
if (viewportHeight - top > h) {
|
55973
|
-
quickadd.style.top = top + window.pageYOffset + 27 + 'px';
|
55974
|
-
quickadd.style.left = left - w / 2 + 7 + 'px';
|
55975
|
-
dom.removeClass(quickadd, 'arrow-bottom');
|
55976
|
-
dom.removeClass(quickadd, 'arrow-right');
|
55977
|
-
dom.removeClass(quickadd, 'arrow-left');
|
55978
|
-
dom.removeClass(quickadd, 'center');
|
55979
|
-
dom.addClass(quickadd, 'arrow-top');
|
55980
|
-
dom.addClass(quickadd, 'center');
|
55981
|
-
} else {
|
55982
|
-
quickadd.style.top = top + window.pageYOffset - h - 8 + 'px';
|
55983
|
-
quickadd.style.left = left - w / 2 + 7 + 'px';
|
55984
|
-
dom.removeClass(quickadd, 'arrow-top');
|
55985
|
-
dom.removeClass(quickadd, 'arrow-right');
|
55986
|
-
dom.removeClass(quickadd, 'arrow-left');
|
55987
|
-
dom.removeClass(quickadd, 'center');
|
55988
|
-
dom.addClass(quickadd, 'arrow-bottom');
|
55989
|
-
dom.addClass(quickadd, 'center');
|
55990
|
-
}
|
55991
|
-
|
55992
|
-
quickadd.setAttribute('data-mode', 'row');
|
55993
|
-
return false;
|
55994
|
-
});
|
55995
|
-
}
|
55996
|
-
|
55997
|
-
}
|
55998
|
-
|
55999
55585
|
class Modal {
|
56000
55586
|
constructor(opts = {}) {
|
56001
55587
|
let defaults = {
|
@@ -57781,6 +57367,939 @@ var parseGradient = function (regExpLib, input) {
|
|
57781
57367
|
return result;
|
57782
57368
|
};
|
57783
57369
|
|
57370
|
+
class RowTool {
|
57371
|
+
constructor(builder) {
|
57372
|
+
this.builder = builder;
|
57373
|
+
const util = this.builder.util;
|
57374
|
+
this.util = util;
|
57375
|
+
const builderStuff = this.builder.builderStuff;
|
57376
|
+
const dom = this.builder.dom;
|
57377
|
+
this.dom = dom;
|
57378
|
+
this.grid = new Grid(builder);
|
57379
|
+
let rowMore = builderStuff.querySelector('.rowmore');
|
57380
|
+
let htmlbutton = '';
|
57381
|
+
if (builder.opts.rowHtmlEditor) htmlbutton = `<button type="button" title="${util.out('HTML')}" class="row-html">
|
57382
|
+
<span><svg class="is-icon-flex" style="margin-right:-3px;width:12px;height:12px;"><use xlink:href="#ion-ios-arrow-left"></use></svg><svg class="is-icon-flex" style="margin-left:-2px;width:12px;height:12px;"><use xlink:href="#ion-ios-arrow-right"></use></svg></span>${util.out('HTML')}
|
57383
|
+
</button>`;
|
57384
|
+
|
57385
|
+
if (!rowMore) {
|
57386
|
+
let html = `<div class="is-pop rowmore" style="z-index:10002;" tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true">
|
57387
|
+
<div style="display:flex;flex-flow:wrap;">
|
57388
|
+
<button type="button" title="${util.out('Move Up')}" class="row-up"><span><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-up"></use></svg></span>${util.out('Move Up')}</button>
|
57389
|
+
<button type="button" title="${util.out('Move Down')}" class="row-down"><span><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-ios-arrow-thin-down"></use></svg></span>${util.out('Move Down')}</button>
|
57390
|
+
<button type="button" title="${util.out('Duplicate')}" class="row-duplicate"><span><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-ios-photos-outline"></use></svg></span>${util.out('Duplicate')}</button>
|
57391
|
+
${htmlbutton}
|
57392
|
+
<div class="is-separator"></div>
|
57393
|
+
<button type="button" title="${util.out('Lock')}" class="row-locking"><span><svg class="is-icon-flex" style="width:13px;height:13px;"><use xlink:href="#icon-lock"></use></svg></span>${util.out('Lock')}</button>
|
57394
|
+
<button type="button" title="${util.out('Settings')}" class="row-settings"><span><svg class="is-icon-flex" style="width:12px;height:12px;"><use xlink:href="#ion-ios-gear"></use></svg></span>${util.out('Settings')}</button>
|
57395
|
+
</div>
|
57396
|
+
</div>
|
57397
|
+
|
57398
|
+
<div class="is-modal rowsettings" tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true">
|
57399
|
+
<div class="is-modal-content">
|
57400
|
+
<div class="is-modal-bar is-draggable">
|
57401
|
+
${util.out('Row Settings')}
|
57402
|
+
<button class="is-modal-close" title="${util.out('Close')}" tabindex="-1">✕</button>
|
57403
|
+
</div>
|
57404
|
+
|
57405
|
+
<div style="padding:0;margin-top:35px;">
|
57406
|
+
|
57407
|
+
<div class="is-tabs" data-group="rowsettings">
|
57408
|
+
<a title="${util.out('General')}" id="tabRowGeneral" href="#" data-content="divRowGeneral" class="active">${util.out('General')}</a>
|
57409
|
+
<a title="${util.out('More')}" id="tabRowMore" href="#" data-content="divRowMore">${util.out('More')}</a>
|
57410
|
+
</div>
|
57411
|
+
<div id="divRowGeneral" class="is-tab-content active" data-group="rowsettings" style="display:flex" tabindex="-1">
|
57412
|
+
|
57413
|
+
<div style="padding-bottom: 3px;">${util.out('Background Color')}:</div>
|
57414
|
+
<div style="display:flex;">
|
57415
|
+
<button title="${util.out('Background Color')}" class="input-row-bgcolor is-btn-color" style="margin-right:15px"></button>
|
57416
|
+
<button title="${util.out('Gradient')}" class="input-row-gradient classic" data-value="+"> ${util.out('Gradient')} </button>
|
57417
|
+
</div>
|
57418
|
+
|
57419
|
+
<div style="padding-top:20px;padding-bottom: 3px;">${util.out('Background Image')}:</div>
|
57420
|
+
<div>
|
57421
|
+
<div class="cell-bgimage-preview"></div>
|
57422
|
+
<div style="display: flex">
|
57423
|
+
<button title="${util.out('Image')}" class="input-cell-bgimage">
|
57424
|
+
<svg class="is-icon-flex"><use xlink:href="#ion-image"></use></svg>
|
57425
|
+
<span>${util.out('Image')}</span>
|
57426
|
+
</button>
|
57427
|
+
<button title="${util.out('Select')}" class="input-select"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>
|
57428
|
+
<button title="${util.out('Remove')}" class="input-row-bgremove"><svg class="is-icon-flex" style="width:11px;height:11px;"><use xlink:href="#icon-clean"></use></svg></button>
|
57429
|
+
<button title="${util.out('Adjust')}" class="input-row-bgimageadjust" style="width:40px"><svg class="is-icon-flex"><use xlink:href="#ion-wrench"></use></svg></button>
|
57430
|
+
</div>
|
57431
|
+
</div>
|
57432
|
+
|
57433
|
+
<div style="padding:30px 0 10px;">
|
57434
|
+
<label class="label-row-grayscale label-checkbox" for="chkRowGrayscale"><input id="chkRowGrayscale" class="chk-row-grayscale" type="checkbox" /> ${util.out('Grayscale')}</label>
|
57435
|
+
</div>
|
57436
|
+
|
57437
|
+
<div class="is-separator"></div>
|
57438
|
+
|
57439
|
+
<div class="div-target" style="display: flex;justify-content: flex-end;padding: 5px 0 0;">
|
57440
|
+
<button title="${util.out('Desktop')}" class="input-device on" data-value="" style="width:40px;height:25px;">
|
57441
|
+
<svg class="is-icon-flex" style="width:16px;height:16px"><use xlink:href="#icon-device-desktop"></use></svg>
|
57442
|
+
</button>
|
57443
|
+
<button title="${util.out('Tablet')}" class="input-device" data-value="sm" style="width:40px;height:25px;">
|
57444
|
+
<svg class="is-icon-flex" style="width:16px;height:16px"><use xlink:href="#icon-device-tablet"></use></svg>
|
57445
|
+
</button>
|
57446
|
+
<button title="${util.out('Mobile')}" class="input-device" data-value="xs" style="width:40px;height:25px;">
|
57447
|
+
<svg class="is-icon-flex" style="width:13px;height:13px"><use xlink:href="#icon-device-mobile"></use></svg>
|
57448
|
+
</button>
|
57449
|
+
</div>
|
57450
|
+
|
57451
|
+
<div style="padding-top:0;padding-bottom:3px;">${util.out('Visibility')}:</div>
|
57452
|
+
<div class="div-visibility" style="display:flex;">
|
57453
|
+
<button title="${util.out('Visible')}" class="input-visible on" data-value="sm" style="width:100px;height:34px;">
|
57454
|
+
<svg class="is-icon-flex" style="width:16px;height:16px"><use xlink:href="#icon-eye"></use></svg>
|
57455
|
+
<span>${util.out('Visible')}</span>
|
57456
|
+
</button>
|
57457
|
+
<button title="${util.out('Hidden')}" class="input-hidden" data-value="xs" style="width:100px;height:34px;">
|
57458
|
+
<svg class="is-icon-flex" style="width:16px;height:16px"><use xlink:href="#icon-eye-off"></use></svg>
|
57459
|
+
<span>${util.out('Hidden')}</span>
|
57460
|
+
</button>
|
57461
|
+
</div>
|
57462
|
+
|
57463
|
+
</div>
|
57464
|
+
|
57465
|
+
<div id="divRowMore" class="is-tab-content" data-group="rowsettings" tabindex="-1">
|
57466
|
+
|
57467
|
+
<label for="inpRowId">${util.out('Add Row ID')}:</label>
|
57468
|
+
<div>
|
57469
|
+
<input id="inpRowId" class="input-row-id" type="text" onkeypress="return /[0-9a-zA-Z_]/i.test(event.key)" style="height:38px">
|
57470
|
+
</div>
|
57471
|
+
|
57472
|
+
<label for="inpRowCssClasses" style="padding:20px 0 3px;">${util.out('Add Css Classes')}:</label>
|
57473
|
+
<div>
|
57474
|
+
<input id="inpRowCssClasses" class="input-row-classes" type="text" style="height:38px">
|
57475
|
+
</div>
|
57476
|
+
|
57477
|
+
</div>
|
57478
|
+
|
57479
|
+
</div>
|
57480
|
+
|
57481
|
+
</div>
|
57482
|
+
</div>
|
57483
|
+
|
57484
|
+
`;
|
57485
|
+
dom.appendHtml(builderStuff, html);
|
57486
|
+
rowMore = builderStuff.querySelector('.rowmore');
|
57487
|
+
const rowSettings = builderStuff.querySelector('.is-modal.rowsettings');
|
57488
|
+
const imageSource = document.querySelector('.is-modal.imagesource');
|
57489
|
+
const imageAdjust = document.querySelector('.is-modal.imageadjust');
|
57490
|
+
const imageAdjust2 = document.querySelector('.is-modal.imageadjust2');
|
57491
|
+
this.rowSettings = rowSettings;
|
57492
|
+
this.imageSource = imageSource;
|
57493
|
+
this.imageAdjust = imageAdjust;
|
57494
|
+
this.imageAdjust2 = imageAdjust2;
|
57495
|
+
this.divRowGeneral = builderStuff.querySelector('#divRowGeneral'); // Open Row Settings
|
57496
|
+
|
57497
|
+
let elm = rowMore.querySelector('.row-settings');
|
57498
|
+
if (elm) dom.addEventListener(elm, 'click', () => {
|
57499
|
+
const row = this.rowOverlay();
|
57500
|
+
if (!row) return;
|
57501
|
+
this.readRowStyles(row); //save selection
|
57502
|
+
|
57503
|
+
util.saveSelection();
|
57504
|
+
util.showModal(rowSettings, false, () => {
|
57505
|
+
let rtetool = builderStuff.querySelector('.is-rte-tool');
|
57506
|
+
|
57507
|
+
if (rtetool.style.display === 'flex') {
|
57508
|
+
// means text selection
|
57509
|
+
util.restoreSelection();
|
57510
|
+
}
|
57511
|
+
}); // this.rowMore.style.display = '';
|
57512
|
+
|
57513
|
+
util.hidePop(this.rowMore);
|
57514
|
+
}); // Row Background color
|
57515
|
+
|
57516
|
+
let btnRowBgColor = rowSettings.querySelector('.input-row-bgcolor');
|
57517
|
+
btnRowBgColor.addEventListener('click', e => {
|
57518
|
+
this.builder.uo.saveForUndo(true); // checkLater = true
|
57519
|
+
|
57520
|
+
let elm = e.target;
|
57521
|
+
this.builder.colorPicker.open(color => {
|
57522
|
+
const row = this.rowOverlay();
|
57523
|
+
if (!row) return;
|
57524
|
+
row.style.backgroundColor = color;
|
57525
|
+
elm.style.backgroundColor = color; // preview
|
57526
|
+
//Trigger Change event
|
57527
|
+
|
57528
|
+
this.builder.opts.onChange();
|
57529
|
+
}, rowSettings.querySelector('.input-row-bgcolor').style.backgroundColor, () => {
|
57530
|
+
btnRowBgColor.removeAttribute('data-focus');
|
57531
|
+
btnRowBgColor.focus();
|
57532
|
+
});
|
57533
|
+
btnRowBgColor.setAttribute('data-focus', true);
|
57534
|
+
}); // Row Background Image
|
57535
|
+
|
57536
|
+
const btnRowBgImage = rowSettings.querySelector('.input-cell-bgimage');
|
57537
|
+
if (btnRowBgImage) dom.addEventListener(btnRowBgImage, 'click', () => {
|
57538
|
+
const row = this.rowOverlay();
|
57539
|
+
if (!row) return; //Get current value
|
57540
|
+
|
57541
|
+
let imgUrl = '';
|
57542
|
+
|
57543
|
+
if (row.style.backgroundImage) {
|
57544
|
+
if (row.style.backgroundImage.indexOf('url(') !== -1) {
|
57545
|
+
imgUrl = row.style.backgroundImage.slice(4, -1).replace(/["']/g, '');
|
57546
|
+
}
|
57547
|
+
}
|
57548
|
+
|
57549
|
+
this.builder.colTool.openImagePicker(imgUrl, url => {
|
57550
|
+
const row = this.rowOverlay();
|
57551
|
+
if (!row) return;
|
57552
|
+
this.builder.uo.saveForUndo();
|
57553
|
+
row.style.backgroundImage = `url("${url}")`;
|
57554
|
+
row.style.backgroundSize = 'cover';
|
57555
|
+
row.style.backgroundRepeat = 'no-repeat';
|
57556
|
+
const div = rowSettings.querySelector('.cell-bgimage-preview');
|
57557
|
+
const btnImageAdjust = this.rowSettings.querySelector('.input-row-bgimageadjust');
|
57558
|
+
const btnImageRemove = this.rowSettings.querySelector('.input-row-bgremove');
|
57559
|
+
btnImageAdjust.style.display = 'none';
|
57560
|
+
btnImageRemove.style.display = 'none';
|
57561
|
+
|
57562
|
+
if (url !== '') {
|
57563
|
+
div.innerHTML = `<img src="${url}">`;
|
57564
|
+
btnImageAdjust.style.display = 'flex';
|
57565
|
+
btnImageRemove.style.display = 'flex';
|
57566
|
+
} else {
|
57567
|
+
div.innerHTML = '';
|
57568
|
+
} //Trigger Change event
|
57569
|
+
|
57570
|
+
|
57571
|
+
this.builder.opts.onChange();
|
57572
|
+
}, btnRowBgImage);
|
57573
|
+
}); // Row Background Image Adjust
|
57574
|
+
|
57575
|
+
const btnImageAdjust = rowSettings.querySelector('.input-row-bgimageadjust');
|
57576
|
+
if (btnImageAdjust) dom.addEventListener(btnImageAdjust, 'click', () => {
|
57577
|
+
const row = this.rowOverlay();
|
57578
|
+
if (!row) return;
|
57579
|
+
this.builder.colTool.openImageAdjust(row, btnImageAdjust);
|
57580
|
+
});
|
57581
|
+
elm = rowSettings.querySelector('.input-row-bgremove');
|
57582
|
+
if (elm) dom.addEventListener(elm, 'click', () => {
|
57583
|
+
const row = this.rowOverlay();
|
57584
|
+
if (!row) return;
|
57585
|
+
this.builder.uo.saveForUndo();
|
57586
|
+
row.style.backgroundImage = '';
|
57587
|
+
row.style.backgroundSize = '';
|
57588
|
+
row.style.backgroundRepeat = '';
|
57589
|
+
row.style.backgroundPosition = '';
|
57590
|
+
const div = rowSettings.querySelector('.cell-bgimage-preview');
|
57591
|
+
const btnImageAdjust = this.rowSettings.querySelector('.input-row-bgimageadjust');
|
57592
|
+
const btnImageRemove = this.rowSettings.querySelector('.input-row-bgremove');
|
57593
|
+
btnImageAdjust.style.display = 'none';
|
57594
|
+
btnImageRemove.style.display = 'none';
|
57595
|
+
div.innerHTML = ''; //Trigger Change event
|
57596
|
+
|
57597
|
+
this.builder.opts.onChange();
|
57598
|
+
}); // Row Background Image Open Asset
|
57599
|
+
|
57600
|
+
if (!this.builder.opts.onImageSelectClick && this.builder.opts.imageselect === '') {
|
57601
|
+
this.divRowGeneral.querySelector('.input-select').style.display = 'none';
|
57602
|
+
}
|
57603
|
+
|
57604
|
+
const btnRowBgImageOpenAsset = this.divRowGeneral.querySelector('.input-select');
|
57605
|
+
this.builder.renderSelectAsset(btnRowBgImageOpenAsset, 'image', url => {
|
57606
|
+
const row = this.rowOverlay();
|
57607
|
+
if (!row) return;
|
57608
|
+
this.builder.uo.saveForUndo();
|
57609
|
+
row.style.backgroundImage = `url("${url}")`;
|
57610
|
+
row.style.backgroundSize = 'cover';
|
57611
|
+
row.style.backgroundRepeat = 'no-repeat';
|
57612
|
+
const div = rowSettings.querySelector('.cell-bgimage-preview');
|
57613
|
+
const btnImageAdjust = this.rowSettings.querySelector('.input-row-bgimageadjust');
|
57614
|
+
const btnImageRemove = this.rowSettings.querySelector('.input-row-bgremove');
|
57615
|
+
btnImageAdjust.style.display = 'none';
|
57616
|
+
btnImageRemove.style.display = 'none';
|
57617
|
+
|
57618
|
+
if (url !== '') {
|
57619
|
+
div.innerHTML = `<img src="${url}">`;
|
57620
|
+
btnImageAdjust.style.display = 'flex';
|
57621
|
+
btnImageRemove.style.display = 'flex';
|
57622
|
+
} else {
|
57623
|
+
div.innerHTML = '';
|
57624
|
+
} //Trigger Change event
|
57625
|
+
|
57626
|
+
|
57627
|
+
this.builder.opts.onChange();
|
57628
|
+
}); // Background gradient
|
57629
|
+
|
57630
|
+
const gradientPicker = new GradientPicker({
|
57631
|
+
colors: this.builder.colors,
|
57632
|
+
gradientcolors: this.builder.opts.gradientcolors,
|
57633
|
+
lang: this.builder.opts.lang
|
57634
|
+
});
|
57635
|
+
let btnRowGradient = rowSettings.querySelector('.input-row-gradient');
|
57636
|
+
btnRowGradient.addEventListener('click', () => {
|
57637
|
+
this.builder.uo.saveForUndo(true); // checkLater = true
|
57638
|
+
|
57639
|
+
const row = this.rowOverlay();
|
57640
|
+
if (!row) return;
|
57641
|
+
gradientPicker.open(row, () => {
|
57642
|
+
const btnImageAdjust = this.rowSettings.querySelector('.input-row-bgimageadjust');
|
57643
|
+
btnImageAdjust.style.display = 'none';
|
57644
|
+
const btnImageRemove = this.rowSettings.querySelector('.input-row-bgremove');
|
57645
|
+
btnImageRemove.style.display = 'none';
|
57646
|
+
const div = this.rowSettings.querySelector('.cell-bgimage-preview');
|
57647
|
+
div.innerHTML = '';
|
57648
|
+
const inpSrc = this.imageSource.querySelector('.input-src');
|
57649
|
+
inpSrc.value = ''; //Trigger Change event
|
57650
|
+
|
57651
|
+
this.builder.opts.onChange();
|
57652
|
+
}, isChanged => {
|
57653
|
+
|
57654
|
+
btnRowGradient.removeAttribute('data-focus');
|
57655
|
+
btnRowGradient.focus();
|
57656
|
+
});
|
57657
|
+
btnRowGradient.setAttribute('data-focus', true);
|
57658
|
+
});
|
57659
|
+
const chkRowGrayscale = rowSettings.querySelector('.chk-row-grayscale');
|
57660
|
+
chkRowGrayscale.addEventListener('click', () => {
|
57661
|
+
this.builder.uo.saveForUndo();
|
57662
|
+
const row = this.rowOverlay();
|
57663
|
+
if (!row) return;
|
57664
|
+
|
57665
|
+
if (chkRowGrayscale.checked) {
|
57666
|
+
row.style.filter = 'grayscale(1)';
|
57667
|
+
} else {
|
57668
|
+
if (row.style.filter) {
|
57669
|
+
row.style.filter = row.style.filter.replace('grayscale(1)', '');
|
57670
|
+
}
|
57671
|
+
} //Trigger Change event
|
57672
|
+
|
57673
|
+
|
57674
|
+
this.builder.opts.onChange();
|
57675
|
+
}); // Responsive Visibility
|
57676
|
+
|
57677
|
+
let btns = this.rowSettings.querySelectorAll('.input-device');
|
57678
|
+
btns.forEach(btn => {
|
57679
|
+
btn.addEventListener('click', () => {
|
57680
|
+
let row = util.rowSelected();
|
57681
|
+
if (!row) return;
|
57682
|
+
let elms = this.rowSettings.querySelectorAll('.input-device');
|
57683
|
+
elms.forEach(elm => {
|
57684
|
+
elm.classList.remove('on');
|
57685
|
+
});
|
57686
|
+
btn.classList.add('on');
|
57687
|
+
this.realtimeVisibility(row);
|
57688
|
+
});
|
57689
|
+
});
|
57690
|
+
let btnVisible = this.rowSettings.querySelector('.input-visible');
|
57691
|
+
let btnHidden = this.rowSettings.querySelector('.input-hidden');
|
57692
|
+
btnVisible.addEventListener('click', () => {
|
57693
|
+
let row = util.rowSelected();
|
57694
|
+
if (!row) return;
|
57695
|
+
row.classList.remove('hideonmobile');
|
57696
|
+
let divTarget = this.rowSettings.querySelector('.div-target');
|
57697
|
+
let target = this.builder.responsive.readTarget(divTarget);
|
57698
|
+
|
57699
|
+
if (target === 'xs') {
|
57700
|
+
row.classList.remove('xs-hidden');
|
57701
|
+
} else if (target === 'sm') {
|
57702
|
+
row.classList.remove('sm-hidden');
|
57703
|
+
} else if (target === '') {
|
57704
|
+
row.classList.remove('desktop-hidden');
|
57705
|
+
}
|
57706
|
+
|
57707
|
+
btnVisible.classList.add('on');
|
57708
|
+
btnHidden.classList.remove('on');
|
57709
|
+
});
|
57710
|
+
btnHidden.addEventListener('click', () => {
|
57711
|
+
let row = util.rowSelected();
|
57712
|
+
if (!row) return;
|
57713
|
+
row.classList.remove('hideonmobile');
|
57714
|
+
let divTarget = this.rowSettings.querySelector('.div-target');
|
57715
|
+
let target = this.builder.responsive.readTarget(divTarget);
|
57716
|
+
|
57717
|
+
if (target === 'xs') {
|
57718
|
+
row.classList.add('xs-hidden');
|
57719
|
+
} else if (target === 'sm') {
|
57720
|
+
row.classList.add('sm-hidden');
|
57721
|
+
} else if (target === '') {
|
57722
|
+
row.classList.add('desktop-hidden');
|
57723
|
+
}
|
57724
|
+
|
57725
|
+
btnVisible.classList.remove('on');
|
57726
|
+
btnHidden.classList.add('on');
|
57727
|
+
}); //More
|
57728
|
+
|
57729
|
+
let inpRowId = rowSettings.querySelector('.input-row-id');
|
57730
|
+
inpRowId.addEventListener('change', () => {
|
57731
|
+
let row = util.rowSelected();
|
57732
|
+
if (!row) return;
|
57733
|
+
this.builder.uo.saveForUndo();
|
57734
|
+
|
57735
|
+
if (inpRowId.value !== '') {
|
57736
|
+
row.setAttribute('id', inpRowId.value);
|
57737
|
+
} else {
|
57738
|
+
row.removeAttribute('id');
|
57739
|
+
} //Trigger Change event
|
57740
|
+
|
57741
|
+
|
57742
|
+
this.builder.opts.onChange();
|
57743
|
+
});
|
57744
|
+
let inpRowCssClasses = rowSettings.querySelector('.input-row-classes');
|
57745
|
+
inpRowCssClasses.addEventListener('change', () => {
|
57746
|
+
let row = util.rowSelected();
|
57747
|
+
if (!row) return;
|
57748
|
+
this.builder.uo.saveForUndo();
|
57749
|
+
let arrCurrentClasses = [];
|
57750
|
+
let currentClasses = row.getAttribute('data-class');
|
57751
|
+
if (currentClasses) arrCurrentClasses = currentClasses.split(' ');
|
57752
|
+
let arrNewClasses = [];
|
57753
|
+
let newClasses = inpRowCssClasses.value;
|
57754
|
+
arrNewClasses = newClasses.split(' ');
|
57755
|
+
arrCurrentClasses.forEach(item => {
|
57756
|
+
if (!arrNewClasses.includes(item)) {
|
57757
|
+
row.classList.remove(item);
|
57758
|
+
}
|
57759
|
+
});
|
57760
|
+
arrNewClasses.forEach(item => {
|
57761
|
+
if (item !== '') row.classList.add(item);
|
57762
|
+
}); // save
|
57763
|
+
|
57764
|
+
row.setAttribute('data-class', newClasses);
|
57765
|
+
if (row.getAttribute('data-class') === '') row.removeAttribute('data-class'); //Trigger Change event
|
57766
|
+
|
57767
|
+
this.builder.opts.onChange();
|
57768
|
+
}); //-----------------
|
57769
|
+
|
57770
|
+
elm = rowMore.querySelector('.row-up');
|
57771
|
+
if (elm) dom.addEventListener(elm, 'click', () => {
|
57772
|
+
this.grid.moveRowUp(); // util.clearControls();
|
57773
|
+
});
|
57774
|
+
elm = rowMore.querySelector('.row-down');
|
57775
|
+
if (elm) dom.addEventListener(elm, 'click', () => {
|
57776
|
+
this.grid.moveRowDown(); // util.clearControls();
|
57777
|
+
});
|
57778
|
+
elm = rowMore.querySelector('.row-duplicate');
|
57779
|
+
if (elm) dom.addEventListener(elm, 'click', () => {
|
57780
|
+
this.grid.duplicateRow(); // this.rowMore.style.display = '';
|
57781
|
+
|
57782
|
+
util.hidePop(rowMore); //Hide Column tool (new!)
|
57783
|
+
|
57784
|
+
util.hideColumnTool();
|
57785
|
+
util.clearControls();
|
57786
|
+
});
|
57787
|
+
elm = rowMore.querySelector('.row-html');
|
57788
|
+
if (elm) dom.addEventListener(elm, 'click', () => {
|
57789
|
+
// const cell = util.cellSelected();
|
57790
|
+
// if(!cell) return;
|
57791
|
+
let row;
|
57792
|
+
let cell = util.cellSelected();
|
57793
|
+
|
57794
|
+
if (cell) {
|
57795
|
+
row = cell.parentNode;
|
57796
|
+
} else {
|
57797
|
+
row = util.rowSelected();
|
57798
|
+
}
|
57799
|
+
|
57800
|
+
if (!row) return;
|
57801
|
+
const htmlutil = new HtmlUtil(builder);
|
57802
|
+
htmlutil.view('row');
|
57803
|
+
}); // Lock/Unlock Row
|
57804
|
+
|
57805
|
+
const btnRowLocking = rowMore.querySelector('.row-locking');
|
57806
|
+
if (btnRowLocking) dom.addEventListener(btnRowLocking, 'click', e => {
|
57807
|
+
let row = util.rowSelected();
|
57808
|
+
if (!row) return;
|
57809
|
+
let currentLocking = false;
|
57810
|
+
let elms = row.querySelectorAll('[data-noedit]');
|
57811
|
+
elms.forEach(elm => {
|
57812
|
+
if (!elm.hasAttribute('data-html')) {
|
57813
|
+
currentLocking = true;
|
57814
|
+
}
|
57815
|
+
});
|
57816
|
+
|
57817
|
+
if (!currentLocking) {
|
57818
|
+
Array.from(row.children).map(cell => {
|
57819
|
+
if (cell.classList.contains('is-row-tool')) return;
|
57820
|
+
if (cell.classList.contains('is-col-tool')) return;
|
57821
|
+
if (cell.classList.contains('is-rowadd-tool')) return;
|
57822
|
+
if (cell.classList.contains('is-row-overlay')) return;
|
57823
|
+
cell.setAttribute('data-noedit', '');
|
57824
|
+
cell.contentEditable = false;
|
57825
|
+
this.util.clearActiveElement(true);
|
57826
|
+
this.builder.colTool.showHideLockIndicator(cell);
|
57827
|
+
this.builder.element.applyBehavior(cell);
|
57828
|
+
});
|
57829
|
+
dom.addClass(btnRowLocking, 'on');
|
57830
|
+
} else {
|
57831
|
+
Array.from(row.children).map(cell => {
|
57832
|
+
if (cell.classList.contains('is-row-tool')) return;
|
57833
|
+
if (cell.classList.contains('is-col-tool')) return;
|
57834
|
+
if (cell.classList.contains('is-rowadd-tool')) return;
|
57835
|
+
if (cell.classList.contains('is-row-overlay')) return;
|
57836
|
+
cell.removeAttribute('data-noedit');
|
57837
|
+
cell.contentEditable = true;
|
57838
|
+
this.builder.colTool.showHideLockIndicator(cell);
|
57839
|
+
this.builder.element.applyBehavior(cell);
|
57840
|
+
});
|
57841
|
+
dom.removeClass(btnRowLocking, 'on');
|
57842
|
+
}
|
57843
|
+
|
57844
|
+
util.hidePop(rowMore);
|
57845
|
+
e.preventDefault();
|
57846
|
+
});
|
57847
|
+
}
|
57848
|
+
|
57849
|
+
this.rowMore = rowMore; // // Click anywhere will hide Column tool
|
57850
|
+
// document.addEventListener('mousedown', (e) => {
|
57851
|
+
// e = e || window.event;
|
57852
|
+
// var target = e.target || e.srcElement;
|
57853
|
+
// if(rowMore.style.display === 'flex'){
|
57854
|
+
// let a = dom.parentsHasClass(target, 'rowmore');
|
57855
|
+
// let b = dom.parentsHasClass(target, 'row-more');
|
57856
|
+
// if(a||b) {
|
57857
|
+
// return;
|
57858
|
+
// }
|
57859
|
+
// else {
|
57860
|
+
// // rowMore.style.display = '';
|
57861
|
+
// util.hidePop(rowMore);
|
57862
|
+
// }
|
57863
|
+
// }
|
57864
|
+
// });
|
57865
|
+
}
|
57866
|
+
|
57867
|
+
realtimeVisibility(row) {
|
57868
|
+
let divTarget = this.rowSettings.querySelector('.div-target');
|
57869
|
+
let divVisibility = this.rowSettings.querySelector('.div-visibility');
|
57870
|
+
let target = this.builder.responsive.readTarget(divTarget);
|
57871
|
+
let valVisibility = this.builder.responsive.getVisibility(row, target);
|
57872
|
+
this.builder.responsive.showVisibility(divVisibility, valVisibility);
|
57873
|
+
}
|
57874
|
+
|
57875
|
+
render(row) {
|
57876
|
+
const dom = this.dom;
|
57877
|
+
const util = this.builder.util;
|
57878
|
+
const builderStuff = this.builder.builderStuff;
|
57879
|
+
let rowMore = this.rowMore;
|
57880
|
+
let rowtool = row.querySelector('.is-row-tool');
|
57881
|
+
|
57882
|
+
if (!rowtool) {
|
57883
|
+
let html = `<div class="is-tool is-row-tool">
|
57884
|
+
<div title="${util.out('Move')}" role="button" tabindex="-1" class="row-handle" style="width:100%;cursor:move;text-align:center;"><svg class="is-icon-flex"><use xlink:href="#ion-move"></use></svg></div>
|
57885
|
+
<button type="button" tabindex="-1" title="${util.out('More')}" class="row-more"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>
|
57886
|
+
<button type="button" tabindex="-1" title="${util.out('Grid Editor')}" class="row-grideditor"><svg class="is-icon-flex"><use xlink:href="#ion-grid"></use></svg></button>
|
57887
|
+
<button type="button" tabindex="-1" title="${util.out('Delete')}" class="row-remove"><svg class="is-icon-flex"><use xlink:href="#ion-ios-close-empty"></use></svg></button>
|
57888
|
+
</div>
|
57889
|
+
<div class="is-tool is-col-tool">
|
57890
|
+
<button type="button" tabindex="-1" title="${util.out('Add')}" class="cell-add"><svg class="is-icon-flex"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>
|
57891
|
+
<button type="button" tabindex="-1" title="${util.out('More')}" class="cell-more"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>
|
57892
|
+
<button type="button" tabindex="-1" title="${util.out('Delete')}" class="cell-remove"><svg class="is-icon-flex" style="margin-left:-1px"><use xlink:href="#ion-ios-close-empty"></use></svg></button>
|
57893
|
+
</div>
|
57894
|
+
`;
|
57895
|
+
dom.appendHtml(row, html);
|
57896
|
+
rowtool = row.querySelector('.is-row-tool'); // Prepare for tooltip
|
57897
|
+
|
57898
|
+
let elms = rowtool.querySelectorAll('[title]');
|
57899
|
+
Array.prototype.forEach.call(elms, elm => {
|
57900
|
+
elm.setAttribute('data-title', elm.getAttribute('title'));
|
57901
|
+
|
57902
|
+
if (!this.builder.iframe) {
|
57903
|
+
this.builder.tooltip.set(elm, 5, 3);
|
57904
|
+
} else {
|
57905
|
+
this.builder.tooltip.set(elm, 5, 3, true);
|
57906
|
+
}
|
57907
|
+
});
|
57908
|
+
let coltool = row.querySelector('.is-col-tool'); // Prepare for tooltip
|
57909
|
+
|
57910
|
+
elms = coltool.querySelectorAll('[title]');
|
57911
|
+
Array.prototype.forEach.call(elms, elm => {
|
57912
|
+
elm.setAttribute('data-title', elm.getAttribute('title'));
|
57913
|
+
|
57914
|
+
if (!this.builder.iframe) {
|
57915
|
+
this.builder.tooltip.set(elm, 5, 3);
|
57916
|
+
} else {
|
57917
|
+
this.builder.tooltip.set(elm, 5, 3, true);
|
57918
|
+
}
|
57919
|
+
}); // Check for backward compatibility
|
57920
|
+
|
57921
|
+
let marginLeft = window.getComputedStyle(coltool, null).getPropertyValue('margin-left');
|
57922
|
+
|
57923
|
+
if (parseInt(marginLeft) === 0) {
|
57924
|
+
this.builder.backwardCompatible();
|
57925
|
+
}
|
57926
|
+
|
57927
|
+
const btnCellAdd = coltool.querySelector('.cell-add');
|
57928
|
+
if (btnCellAdd) dom.addEventListener(btnCellAdd, 'click', () => {
|
57929
|
+
let cell = util.cellSelected();
|
57930
|
+
if (!cell) return;
|
57931
|
+
let quickadd = this.builder.builderStuff.querySelector('.is-pop.quickadd');
|
57932
|
+
let tabs = quickadd.querySelector('.is-pop-tabs');
|
57933
|
+
tabs.style.display = 'flex';
|
57934
|
+
let top, left;
|
57935
|
+
|
57936
|
+
if (!this.builder.iframe) {
|
57937
|
+
top = btnCellAdd.getBoundingClientRect().top + window.pageYOffset;
|
57938
|
+
left = btnCellAdd.getBoundingClientRect().left + window.pageXOffset;
|
57939
|
+
} else {
|
57940
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
57941
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
57942
|
+
top = btnCellAdd.getBoundingClientRect().top + adjY + 10;
|
57943
|
+
left = btnCellAdd.getBoundingClientRect().left + adjX + 5;
|
57944
|
+
} // quickadd.style.display = 'flex';
|
57945
|
+
|
57946
|
+
|
57947
|
+
util.showPop(quickadd, false, btnCellAdd); //const w = quickadd.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
57948
|
+
//const h = quickadd.offsetHeight;
|
57949
|
+
|
57950
|
+
quickadd.style.top = top + 35 + 'px';
|
57951
|
+
quickadd.style.left = left + 'px';
|
57952
|
+
dom.removeClass(quickadd, 'arrow-bottom');
|
57953
|
+
dom.removeClass(quickadd, 'arrow-left');
|
57954
|
+
dom.removeClass(quickadd, 'arrow-right');
|
57955
|
+
dom.removeClass(quickadd, 'center');
|
57956
|
+
dom.removeClass(quickadd, 'right');
|
57957
|
+
dom.addClass(quickadd, 'arrow-top');
|
57958
|
+
dom.addClass(quickadd, 'left');
|
57959
|
+
let val = quickadd.querySelector('.active').getAttribute('data-value');
|
57960
|
+
|
57961
|
+
if (val === 'left') {
|
57962
|
+
quickadd.setAttribute('data-mode', 'cell-left');
|
57963
|
+
} else {
|
57964
|
+
quickadd.setAttribute('data-mode', 'cell-right');
|
57965
|
+
}
|
57966
|
+
});
|
57967
|
+
const btnCellMore = coltool.querySelector('.cell-more');
|
57968
|
+
if (btnCellMore) dom.addEventListener(btnCellMore, 'click', () => {
|
57969
|
+
let cell = util.cellSelected();
|
57970
|
+
if (!cell) return;
|
57971
|
+
let top, left;
|
57972
|
+
|
57973
|
+
if (!this.builder.iframe) {
|
57974
|
+
top = btnCellMore.getBoundingClientRect().top + window.pageYOffset;
|
57975
|
+
left = btnCellMore.getBoundingClientRect().left + window.pageXOffset;
|
57976
|
+
} else {
|
57977
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
57978
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
57979
|
+
top = btnCellMore.getBoundingClientRect().top + adjY;
|
57980
|
+
left = btnCellMore.getBoundingClientRect().left + adjX;
|
57981
|
+
}
|
57982
|
+
|
57983
|
+
const columnMore = builderStuff.querySelector('.columnmore'); // columnMore.style.display = 'flex';
|
57984
|
+
|
57985
|
+
util.showPop(columnMore, false, btnCellMore); //const w = columnMore.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
57986
|
+
//const h = columnMore.offsetHeight;
|
57987
|
+
|
57988
|
+
columnMore.style.top = top + 35 + 'px';
|
57989
|
+
columnMore.style.left = left - 7 + 'px';
|
57990
|
+
dom.removeClass(columnMore, 'arrow-bottom');
|
57991
|
+
dom.removeClass(columnMore, 'arrow-left');
|
57992
|
+
dom.removeClass(columnMore, 'arrow-right');
|
57993
|
+
dom.removeClass(columnMore, 'center');
|
57994
|
+
dom.removeClass(columnMore, 'right');
|
57995
|
+
dom.addClass(columnMore, 'arrow-top');
|
57996
|
+
dom.addClass(columnMore, 'left');
|
57997
|
+
const btnCellLocking = columnMore.querySelector('.cell-locking');
|
57998
|
+
|
57999
|
+
if (cell.hasAttribute('data-noedit')) {
|
58000
|
+
dom.addClass(btnCellLocking, 'on'); // btnCellLocking.innerHTML = '<svg class="is-icon-flex"><use xlink:href="#icon-lock"></use></svg>';
|
58001
|
+
} else {
|
58002
|
+
dom.removeClass(btnCellLocking, 'on'); // btnCellLocking.innerHTML = '<svg class="is-icon-flex"><use xlink:href="#icon-lock-off"></use></svg>';
|
58003
|
+
}
|
58004
|
+
});
|
58005
|
+
const btnCellRemove = coltool.querySelector('.cell-remove');
|
58006
|
+
if (btnCellRemove) dom.addEventListener(btnCellRemove, 'click', () => {
|
58007
|
+
const grid = new Grid(this.builder);
|
58008
|
+
grid.removeColumn();
|
58009
|
+
util.clearControls();
|
58010
|
+
});
|
58011
|
+
let btnGridEditor = rowtool.querySelector('.row-grideditor');
|
58012
|
+
if (btnGridEditor) dom.addEventListener(btnGridEditor, 'click', () => {
|
58013
|
+
const grideditor = builderStuff.querySelector('.grideditor');
|
58014
|
+
|
58015
|
+
if (dom.hasClass(grideditor, 'active')) {
|
58016
|
+
dom.removeClass(grideditor, 'active');
|
58017
|
+
const builders = document.querySelectorAll(this.builder.opts.container);
|
58018
|
+
Array.prototype.forEach.call(builders, builder => {
|
58019
|
+
builder.removeAttribute('grideditor');
|
58020
|
+
});
|
58021
|
+
} else {
|
58022
|
+
// dom.addClass(grideditor, 'active');
|
58023
|
+
this.util.showModal(grideditor, false, () => {
|
58024
|
+
btnGridEditor.removeAttribute('data-focus');
|
58025
|
+
btnGridEditor.focus();
|
58026
|
+
});
|
58027
|
+
btnGridEditor.setAttribute('data-focus', true);
|
58028
|
+
const builders = document.querySelectorAll(this.builder.opts.container);
|
58029
|
+
Array.prototype.forEach.call(builders, builder => {
|
58030
|
+
builder.setAttribute('grideditor', '');
|
58031
|
+
}); // Grid Editor Status
|
58032
|
+
// On/off outline button
|
58033
|
+
|
58034
|
+
const btnGridOutline = grideditor.querySelector('.grid-outline');
|
58035
|
+
const container = document.querySelector(this.builder.opts.container); // get one
|
58036
|
+
|
58037
|
+
if (container.hasAttribute('gridoutline')) {
|
58038
|
+
dom.addClass(btnGridOutline, 'on');
|
58039
|
+
} else {
|
58040
|
+
dom.removeClass(btnGridOutline, 'on');
|
58041
|
+
} // On/off lock button
|
58042
|
+
|
58043
|
+
|
58044
|
+
const btnCellLocking = grideditor.querySelector('.cell-locking');
|
58045
|
+
let cell = util.cellSelected();
|
58046
|
+
|
58047
|
+
if (cell) {
|
58048
|
+
if (cell.hasAttribute('data-noedit')) {
|
58049
|
+
dom.addClass(btnCellLocking, 'on');
|
58050
|
+
} else {
|
58051
|
+
dom.removeClass(btnCellLocking, 'on');
|
58052
|
+
}
|
58053
|
+
} else {
|
58054
|
+
dom.removeClass(btnCellLocking, 'on');
|
58055
|
+
}
|
58056
|
+
}
|
58057
|
+
});
|
58058
|
+
const btnMore = rowtool.querySelector('.row-more');
|
58059
|
+
if (btnMore) dom.addEventListener(btnMore, 'click', () => {
|
58060
|
+
let row;
|
58061
|
+
let cell = util.cellSelected();
|
58062
|
+
|
58063
|
+
if (cell) {
|
58064
|
+
row = cell.parentNode;
|
58065
|
+
} else {
|
58066
|
+
row = util.rowSelected();
|
58067
|
+
}
|
58068
|
+
|
58069
|
+
if (!row) return; //Change to row selection
|
58070
|
+
|
58071
|
+
dom.removeClass(row, 'row-outline'); //Hide Column tool (new!)
|
58072
|
+
|
58073
|
+
util.hideColumnTool(); // const top = btnMore.getBoundingClientRect().top + window.pageYOffset;
|
58074
|
+
// const left = btnMore.getBoundingClientRect().left + window.pageXOffset;
|
58075
|
+
|
58076
|
+
let top, left;
|
58077
|
+
|
58078
|
+
if (!this.builder.iframe) {
|
58079
|
+
top = btnMore.getBoundingClientRect().top + window.pageYOffset;
|
58080
|
+
left = btnMore.getBoundingClientRect().left + window.pageXOffset;
|
58081
|
+
} else {
|
58082
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
58083
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
58084
|
+
top = btnMore.getBoundingClientRect().top + adjY;
|
58085
|
+
left = btnMore.getBoundingClientRect().left + adjX;
|
58086
|
+
} // rowMore.style.display = 'flex';
|
58087
|
+
|
58088
|
+
|
58089
|
+
util.showPop(rowMore, false, btnMore); //const w = rowMore.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
58090
|
+
//const h = rowMore.offsetHeight;
|
58091
|
+
|
58092
|
+
rowMore.style.top = top - 8 + 'px';
|
58093
|
+
dom.removeClass(rowMore, 'arrow-bottom');
|
58094
|
+
dom.removeClass(rowMore, 'arrow-left');
|
58095
|
+
dom.removeClass(rowMore, 'arrow-right');
|
58096
|
+
dom.removeClass(rowMore, 'center');
|
58097
|
+
dom.removeClass(rowMore, 'right');
|
58098
|
+
dom.removeClass(rowMore, 'left');
|
58099
|
+
|
58100
|
+
if (this.builder.opts.rowTool === 'right') {
|
58101
|
+
rowMore.style.left = left - rowMore.offsetWidth - 10 + 'px';
|
58102
|
+
dom.addClass(rowMore, 'arrow-right');
|
58103
|
+
dom.addClass(rowMore, 'left');
|
58104
|
+
} else {
|
58105
|
+
rowMore.style.left = left + 35 + 'px';
|
58106
|
+
dom.addClass(rowMore, 'arrow-left');
|
58107
|
+
dom.addClass(rowMore, 'left');
|
58108
|
+
}
|
58109
|
+
|
58110
|
+
let btnRowHtml = rowMore.querySelector('.row-html');
|
58111
|
+
let btnRowDuplicate = rowMore.querySelector('.row-duplicate');
|
58112
|
+
|
58113
|
+
if (row.querySelector('[data-html]')) {
|
58114
|
+
if (btnRowHtml) btnRowHtml.style.display = 'none';
|
58115
|
+
if (btnRowDuplicate) btnRowDuplicate.style.display = 'none';
|
58116
|
+
} else {
|
58117
|
+
if (btnRowHtml) btnRowHtml.style.display = '';
|
58118
|
+
if (btnRowDuplicate) btnRowDuplicate.style.display = '';
|
58119
|
+
}
|
58120
|
+
|
58121
|
+
let currentLocking = false;
|
58122
|
+
let elms = row.querySelectorAll('[data-noedit]');
|
58123
|
+
elms.forEach(elm => {
|
58124
|
+
if (!elm.hasAttribute('data-html')) {
|
58125
|
+
currentLocking = true;
|
58126
|
+
}
|
58127
|
+
});
|
58128
|
+
const btnRowLocking = rowMore.querySelector('.row-locking');
|
58129
|
+
|
58130
|
+
if (currentLocking) {
|
58131
|
+
dom.addClass(btnRowLocking, 'on');
|
58132
|
+
} else {
|
58133
|
+
dom.removeClass(btnRowLocking, 'on');
|
58134
|
+
}
|
58135
|
+
});
|
58136
|
+
let elm = rowtool.querySelector('.row-remove');
|
58137
|
+
if (elm) dom.addEventListener(elm, 'click', () => {
|
58138
|
+
this.grid.removeRow();
|
58139
|
+
util.clearControls();
|
58140
|
+
});
|
58141
|
+
}
|
58142
|
+
}
|
58143
|
+
|
58144
|
+
readRowStyles(row) {
|
58145
|
+
this.util.clearActiveElement(); // Background color
|
58146
|
+
|
58147
|
+
let s = row.style.backgroundColor;
|
58148
|
+
let btn = this.rowSettings.querySelector('.input-row-bgcolor');
|
58149
|
+
if (s) btn.style.backgroundColor = s;else btn.style.backgroundColor = 'transparent';
|
58150
|
+
let imgUrl = '';
|
58151
|
+
const div = this.rowSettings.querySelector('.cell-bgimage-preview');
|
58152
|
+
const btnImageAdjust = this.rowSettings.querySelector('.input-row-bgimageadjust');
|
58153
|
+
btnImageAdjust.style.display = 'none';
|
58154
|
+
const btnImageRemove = this.rowSettings.querySelector('.input-row-bgremove');
|
58155
|
+
btnImageRemove.style.display = 'none';
|
58156
|
+
|
58157
|
+
if (row.style.backgroundImage) {
|
58158
|
+
if (row.style.backgroundImage.indexOf('url(') !== -1) {
|
58159
|
+
imgUrl = row.style.backgroundImage.slice(4, -1).replace(/["']/g, '');
|
58160
|
+
div.innerHTML = `<img src="${imgUrl}">`;
|
58161
|
+
btnImageAdjust.style.display = 'flex';
|
58162
|
+
btnImageRemove.style.display = 'flex';
|
58163
|
+
} else {
|
58164
|
+
div.innerHTML = '';
|
58165
|
+
}
|
58166
|
+
} else {
|
58167
|
+
div.innerHTML = '';
|
58168
|
+
}
|
58169
|
+
|
58170
|
+
const chkRowGrayscale = this.rowSettings.querySelector('.chk-row-grayscale');
|
58171
|
+
chkRowGrayscale.checked = false;
|
58172
|
+
|
58173
|
+
if (row.style.filter) {
|
58174
|
+
if (row.style.filter.indexOf('grayscale') !== -1) {
|
58175
|
+
chkRowGrayscale.checked = true;
|
58176
|
+
}
|
58177
|
+
}
|
58178
|
+
|
58179
|
+
let actualRow = row.parentNode; // row is actually row overlay
|
58180
|
+
|
58181
|
+
this.realtimeVisibility(actualRow); //More
|
58182
|
+
|
58183
|
+
let inpRowId = this.rowSettings.querySelector('.input-row-id');
|
58184
|
+
inpRowId.value = '';
|
58185
|
+
const rowId = actualRow.getAttribute('id');
|
58186
|
+
|
58187
|
+
if (rowId) {
|
58188
|
+
inpRowId.value = rowId;
|
58189
|
+
}
|
58190
|
+
|
58191
|
+
let inpRowClasses = this.rowSettings.querySelector('.input-row-classes');
|
58192
|
+
inpRowClasses.value = '';
|
58193
|
+
const classes = actualRow.getAttribute('data-class');
|
58194
|
+
inpRowClasses.value = classes;
|
58195
|
+
}
|
58196
|
+
|
58197
|
+
rowOverlay() {
|
58198
|
+
// let row;
|
58199
|
+
// let cell = util.cellSelected();
|
58200
|
+
// if(cell) {
|
58201
|
+
// row = cell.parentNode;
|
58202
|
+
// } else {
|
58203
|
+
// row = util.rowSelected();
|
58204
|
+
// }
|
58205
|
+
// if(!row) return;
|
58206
|
+
let row = this.util.rowSelected();
|
58207
|
+
if (!row) return false;
|
58208
|
+
let rowOverlay = row.querySelector('.is-row-overlay');
|
58209
|
+
|
58210
|
+
if (!rowOverlay) {
|
58211
|
+
this.dom.appendHtml(row, '<div class="is-row-overlay"></div>');
|
58212
|
+
rowOverlay = row.querySelector('.is-row-overlay');
|
58213
|
+
}
|
58214
|
+
|
58215
|
+
row.classList.add('relative');
|
58216
|
+
return rowOverlay;
|
58217
|
+
}
|
58218
|
+
|
58219
|
+
}
|
58220
|
+
|
58221
|
+
class RowAddTool {
|
58222
|
+
constructor(builder) {
|
58223
|
+
this.builder = builder;
|
58224
|
+
const dom = this.builder.dom;
|
58225
|
+
this.dom = dom;
|
58226
|
+
}
|
58227
|
+
|
58228
|
+
render(row) {
|
58229
|
+
const dom = this.dom;
|
58230
|
+
const util = this.builder.util;
|
58231
|
+
const quickadd = renderQuickAdd(this.builder);
|
58232
|
+
let rowaddtool = row.querySelector('.is-rowadd-tool');
|
58233
|
+
|
58234
|
+
if (!rowaddtool) {
|
58235
|
+
const html = `<div class="is-rowadd-tool" style="height:0">
|
58236
|
+
<button type="button" tabindex="-1" title="${util.out('Add')}" title="${util.out('Add')}" style="outline:none;line-height:1;margin:0;padding:0;cursor:pointer;background-color:rgba(255,255,255,0.9);"><svg class="is-icon-flex" style="fill:rgba(0, 0, 0, 0.8);width:17px;height:17px;"><use xlink:href="#ion-ios-plus-empty"></use></svg></button>
|
58237
|
+
</div>`;
|
58238
|
+
dom.appendHtml(row, html);
|
58239
|
+
rowaddtool = row.querySelector('.is-rowadd-tool'); // Prepare for tooltip
|
58240
|
+
|
58241
|
+
let elms = rowaddtool.querySelectorAll('[title]');
|
58242
|
+
Array.prototype.forEach.call(elms, elm => {
|
58243
|
+
elm.setAttribute('data-title', elm.getAttribute('title'));
|
58244
|
+
|
58245
|
+
if (!this.builder.iframe) {
|
58246
|
+
this.builder.tooltip.set(elm, 5, 3);
|
58247
|
+
} else {
|
58248
|
+
this.builder.tooltip.set(elm, 5, 3, true);
|
58249
|
+
}
|
58250
|
+
});
|
58251
|
+
}
|
58252
|
+
|
58253
|
+
let btnRowAdd = rowaddtool.querySelector('button');
|
58254
|
+
dom.addEventListener(btnRowAdd, 'click', () => {
|
58255
|
+
let tabs = quickadd.querySelector('.is-pop-tabs');
|
58256
|
+
tabs.style.display = 'none';
|
58257
|
+
const viewportHeight = window.innerHeight;
|
58258
|
+
let top, left;
|
58259
|
+
|
58260
|
+
if (!this.builder.iframe) {
|
58261
|
+
top = btnRowAdd.getBoundingClientRect().top;
|
58262
|
+
left = btnRowAdd.getBoundingClientRect().left;
|
58263
|
+
} else {
|
58264
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top;
|
58265
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left;
|
58266
|
+
top = btnRowAdd.getBoundingClientRect().top + adjY;
|
58267
|
+
left = btnRowAdd.getBoundingClientRect().left + adjX;
|
58268
|
+
} // quickadd.style.display = 'flex';
|
58269
|
+
|
58270
|
+
|
58271
|
+
util.showPop(quickadd, false, btnRowAdd);
|
58272
|
+
const w = quickadd.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
58273
|
+
|
58274
|
+
const h = quickadd.offsetHeight;
|
58275
|
+
|
58276
|
+
if (viewportHeight - top > h) {
|
58277
|
+
quickadd.style.top = top + window.pageYOffset + 27 + 'px';
|
58278
|
+
quickadd.style.left = left - w / 2 + 7 + 'px';
|
58279
|
+
dom.removeClass(quickadd, 'arrow-bottom');
|
58280
|
+
dom.removeClass(quickadd, 'arrow-right');
|
58281
|
+
dom.removeClass(quickadd, 'arrow-left');
|
58282
|
+
dom.removeClass(quickadd, 'center');
|
58283
|
+
dom.addClass(quickadd, 'arrow-top');
|
58284
|
+
dom.addClass(quickadd, 'center');
|
58285
|
+
} else {
|
58286
|
+
quickadd.style.top = top + window.pageYOffset - h - 8 + 'px';
|
58287
|
+
quickadd.style.left = left - w / 2 + 7 + 'px';
|
58288
|
+
dom.removeClass(quickadd, 'arrow-top');
|
58289
|
+
dom.removeClass(quickadd, 'arrow-right');
|
58290
|
+
dom.removeClass(quickadd, 'arrow-left');
|
58291
|
+
dom.removeClass(quickadd, 'center');
|
58292
|
+
dom.addClass(quickadd, 'arrow-bottom');
|
58293
|
+
dom.addClass(quickadd, 'center');
|
58294
|
+
}
|
58295
|
+
|
58296
|
+
quickadd.setAttribute('data-mode', 'row');
|
58297
|
+
return false;
|
58298
|
+
});
|
58299
|
+
}
|
58300
|
+
|
58301
|
+
}
|
58302
|
+
|
57784
58303
|
class ColumnTool {
|
57785
58304
|
constructor(builder) {
|
57786
58305
|
this.builder = builder;
|
@@ -57850,6 +58369,7 @@ class ColumnTool {
|
|
57850
58369
|
${this.builder.useLightbox ? `
|
57851
58370
|
<a title="${util.out('On Click')}" id="tabCellClick" href="#" data-content="divCellClick">${util.out('On Click')}</a>
|
57852
58371
|
` : ''}
|
58372
|
+
<a title="${util.out('More')}" id="tabCellMore" href="#" data-content="divCellMore">${util.out('More')}</a>
|
57853
58373
|
</div>
|
57854
58374
|
<div id="divCellGeneral" class="is-tab-content active" data-group="cellsettings" style="display:flex" tabindex="-1">
|
57855
58375
|
|
@@ -57869,7 +58389,7 @@ class ColumnTool {
|
|
57869
58389
|
</button>
|
57870
58390
|
<button title="${util.out('Select')}" class="input-select"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>
|
57871
58391
|
<button title="${util.out('Remove')}" class="input-cell-bgremove"><svg class="is-icon-flex" style="width:11px;height:11px;"><use xlink:href="#icon-clean"></use></svg></button>
|
57872
|
-
<button title="${util.out('Adjust')}" class="input-cell-bgimageadjust"><svg class="is-icon-flex"><use xlink:href="#ion-wrench"></use></svg></button>
|
58392
|
+
<button title="${util.out('Adjust')}" class="input-cell-bgimageadjust" style="width:40px"><svg class="is-icon-flex"><use xlink:href="#ion-wrench"></use></svg></button>
|
57873
58393
|
</div>
|
57874
58394
|
</div>
|
57875
58395
|
|
@@ -58046,10 +58566,26 @@ class ColumnTool {
|
|
58046
58566
|
<p>${util.out('You can test the On-Click action on page if you lock the column by clicking the lock button')} <svg class="is-icon-flex"><use xlink:href="#icon-lock"></use></svg>.</p>
|
58047
58567
|
|
58048
58568
|
</div>
|
58569
|
+
|
58570
|
+
<div id="divCellMore" class="is-tab-content" data-group="cellsettings" tabindex="-1">
|
58571
|
+
|
58572
|
+
<label for="inpCellId">${util.out('Add Column ID')}:</label>
|
58573
|
+
<div>
|
58574
|
+
<input id="inpCellId" class="input-cell-id" type="text" onkeypress="return /[0-9a-zA-Z_]/i.test(event.key)" style="height:38px">
|
58575
|
+
</div>
|
58576
|
+
|
58577
|
+
<label for="inpCellCssClasses" style="padding:20px 0 3px;">${util.out('Add Css Classes')}:</label>
|
58578
|
+
<div>
|
58579
|
+
<input id="inpCellCssClasses" class="input-cell-classes" type="text" style="height:38px">
|
58580
|
+
</div>
|
58581
|
+
|
58582
|
+
</div>
|
58583
|
+
|
58049
58584
|
|
58050
58585
|
</div>
|
58051
58586
|
|
58052
58587
|
</div>
|
58588
|
+
|
58053
58589
|
</div>
|
58054
58590
|
|
58055
58591
|
<div class="is-modal imageadjust" tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true">
|
@@ -58338,6 +58874,47 @@ class ColumnTool {
|
|
58338
58874
|
}); // this.columnMore.style.display = '';
|
58339
58875
|
|
58340
58876
|
util.hidePop(this.columnMore);
|
58877
|
+
}); //More
|
58878
|
+
|
58879
|
+
let inpCellId = cellSettings.querySelector('.input-cell-id');
|
58880
|
+
inpCellId.addEventListener('change', () => {
|
58881
|
+
let cell = util.cellSelected();
|
58882
|
+
if (!cell) return;
|
58883
|
+
this.builder.uo.saveForUndo();
|
58884
|
+
|
58885
|
+
if (inpCellId.value !== '') {
|
58886
|
+
cell.setAttribute('id', inpCellId.value);
|
58887
|
+
} else {
|
58888
|
+
cell.removeAttribute('id');
|
58889
|
+
} //Trigger Change event
|
58890
|
+
|
58891
|
+
|
58892
|
+
this.builder.opts.onChange();
|
58893
|
+
});
|
58894
|
+
let inpCellCssClasses = cellSettings.querySelector('.input-cell-classes');
|
58895
|
+
inpCellCssClasses.addEventListener('change', () => {
|
58896
|
+
let cell = util.cellSelected();
|
58897
|
+
if (!cell) return;
|
58898
|
+
this.builder.uo.saveForUndo();
|
58899
|
+
let arrCurrentClasses = [];
|
58900
|
+
let currentClasses = cell.getAttribute('data-class');
|
58901
|
+
if (currentClasses) arrCurrentClasses = currentClasses.split(' ');
|
58902
|
+
let arrNewClasses = [];
|
58903
|
+
let newClasses = inpCellCssClasses.value;
|
58904
|
+
arrNewClasses = newClasses.split(' ');
|
58905
|
+
arrCurrentClasses.forEach(item => {
|
58906
|
+
if (!arrNewClasses.includes(item)) {
|
58907
|
+
cell.classList.remove(item);
|
58908
|
+
}
|
58909
|
+
});
|
58910
|
+
arrNewClasses.forEach(item => {
|
58911
|
+
if (item !== '') cell.classList.add(item);
|
58912
|
+
}); // save
|
58913
|
+
|
58914
|
+
cell.setAttribute('data-class', newClasses);
|
58915
|
+
if (cell.getAttribute('data-class') === '') cell.removeAttribute('data-class'); //Trigger Change event
|
58916
|
+
|
58917
|
+
this.builder.opts.onChange();
|
58341
58918
|
}); // Column Background color
|
58342
58919
|
|
58343
58920
|
let btnCellBgColor = cellSettings.querySelector('.input-cell-bgcolor');
|
@@ -58412,6 +58989,7 @@ class ColumnTool {
|
|
58412
58989
|
cell.style.backgroundImage = '';
|
58413
58990
|
cell.style.backgroundSize = '';
|
58414
58991
|
cell.style.backgroundRepeat = '';
|
58992
|
+
cell.style.backgroundPosition = '';
|
58415
58993
|
const div = cellSettings.querySelector('.cell-bgimage-preview');
|
58416
58994
|
const btnImageAdjust = this.cellSettings.querySelector('.input-cell-bgimageadjust');
|
58417
58995
|
const btnImageRemove = this.cellSettings.querySelector('.input-cell-bgremove');
|
@@ -59766,7 +60344,20 @@ class ColumnTool {
|
|
59766
60344
|
dom.addClass(btn, 'on');
|
59767
60345
|
}
|
59768
60346
|
|
59769
|
-
this.realtimeVisibility(cell);
|
60347
|
+
this.realtimeVisibility(cell); //More
|
60348
|
+
|
60349
|
+
let inpCellId = this.cellSettings.querySelector('.input-cell-id');
|
60350
|
+
inpCellId.value = '';
|
60351
|
+
const rowId = cell.getAttribute('id');
|
60352
|
+
|
60353
|
+
if (rowId) {
|
60354
|
+
inpCellId.value = rowId;
|
60355
|
+
}
|
60356
|
+
|
60357
|
+
let inpCellClasses = this.cellSettings.querySelector('.input-cell-classes');
|
60358
|
+
inpCellClasses.value = '';
|
60359
|
+
const classes = cell.getAttribute('data-class');
|
60360
|
+
inpCellClasses.value = classes;
|
59770
60361
|
}
|
59771
60362
|
|
59772
60363
|
realtimeVisibility(cell) {
|
@@ -59904,9 +60495,15 @@ class ColumnTool {
|
|
59904
60495
|
inpImageHorSlider.value = 50;
|
59905
60496
|
inpImageVertSlider.value = 60;
|
59906
60497
|
inpImageScaleSlider.value = 0;
|
60498
|
+
|
60499
|
+
if (elm.classList.contains('cell-active') || elm.classList.contains('is-row-overlay')) {
|
60500
|
+
inpImageHorSlider.value = 0;
|
60501
|
+
inpImageVertSlider.value = 0;
|
60502
|
+
}
|
60503
|
+
|
59907
60504
|
elm.style.backgroundPositionX = '';
|
59908
60505
|
elm.style.backgroundPositionY = '';
|
59909
|
-
elm.style.backgroundSize = ''; // Clean unused
|
60506
|
+
elm.style.backgroundSize = 'cover'; // Clean unused
|
59910
60507
|
|
59911
60508
|
elm.style.left = '';
|
59912
60509
|
elm.style.top = '';
|
@@ -60418,7 +61015,7 @@ class ColumnTool {
|
|
60418
61015
|
|
60419
61016
|
}
|
60420
61017
|
|
60421
|
-
const dom$
|
61018
|
+
const dom$h = new Dom();
|
60422
61019
|
|
60423
61020
|
class ELementStyleEditor {
|
60424
61021
|
constructor(builder) {
|
@@ -60451,21 +61048,21 @@ class ELementStyleEditor {
|
|
60451
61048
|
</div>
|
60452
61049
|
</div>
|
60453
61050
|
`;
|
60454
|
-
dom$
|
61051
|
+
dom$h.appendHtml(builderStuff, html);
|
60455
61052
|
modalStyles = builderStuff.querySelector('.editstyles');
|
60456
61053
|
let btn = modalStyles.querySelector('.is-modal-close');
|
60457
|
-
dom$
|
60458
|
-
dom$
|
61054
|
+
dom$h.addEventListener(btn, 'click', () => {
|
61055
|
+
dom$h.removeClass(modalStyles, 'active');
|
60459
61056
|
var panel = this.builderStuff.querySelector('.is-side.elementstyles'); // if all close
|
60460
61057
|
|
60461
|
-
if (!dom$
|
61058
|
+
if (!dom$h.hasClass(panel, 'active')) {
|
60462
61059
|
let elms = document.querySelectorAll('[data-saveforundo]');
|
60463
61060
|
Array.prototype.forEach.call(elms, elm => {
|
60464
61061
|
elm.removeAttribute('data-saveforundo');
|
60465
61062
|
});
|
60466
61063
|
elms = document.querySelectorAll('.elm-inspected');
|
60467
61064
|
Array.prototype.forEach.call(elms, elm => {
|
60468
|
-
dom$
|
61065
|
+
dom$h.removeClass(elm, 'elm-inspected');
|
60469
61066
|
});
|
60470
61067
|
}
|
60471
61068
|
});
|
@@ -60476,29 +61073,29 @@ class ELementStyleEditor {
|
|
60476
61073
|
|
60477
61074
|
let bElmActive = false;
|
60478
61075
|
|
60479
|
-
if (dom$
|
61076
|
+
if (dom$h.hasClass(elm, 'elm-active')) {
|
60480
61077
|
bElmActive = true;
|
60481
61078
|
}
|
60482
61079
|
|
60483
61080
|
let bCellActive = false;
|
60484
61081
|
|
60485
|
-
if (dom$
|
61082
|
+
if (dom$h.hasClass(elm, 'elm-active')) {
|
60486
61083
|
bCellActive = true;
|
60487
61084
|
}
|
60488
61085
|
|
60489
61086
|
let bRowActive = false;
|
60490
61087
|
|
60491
|
-
if (dom$
|
61088
|
+
if (dom$h.hasClass(elm, 'row-active')) {
|
60492
61089
|
bRowActive = true;
|
60493
61090
|
}
|
60494
61091
|
|
60495
61092
|
elm.setAttribute('class', val); //update
|
60496
61093
|
//builder classes
|
60497
61094
|
|
60498
|
-
if (bElmActive) dom$
|
60499
|
-
if (bCellActive) dom$
|
60500
|
-
if (bRowActive) dom$
|
60501
|
-
dom$
|
61095
|
+
if (bElmActive) dom$h.addClass(elm, 'elm-active');
|
61096
|
+
if (bCellActive) dom$h.addClass(elm, 'cell-active');
|
61097
|
+
if (bRowActive) dom$h.addClass(elm, 'row-active');
|
61098
|
+
dom$h.addClass(elm, 'elm-inspected'); //Trigger Change event
|
60502
61099
|
|
60503
61100
|
this.builder.opts.onChange();
|
60504
61101
|
});
|
@@ -60514,10 +61111,10 @@ class ELementStyleEditor {
|
|
60514
61111
|
}
|
60515
61112
|
|
60516
61113
|
toggleStyleEditor() {
|
60517
|
-
if (!dom$
|
60518
|
-
dom$
|
61114
|
+
if (!dom$h.hasClass(this.modalStyles, 'active')) {
|
61115
|
+
dom$h.addClass(this.modalStyles, 'active');
|
60519
61116
|
} else {
|
60520
|
-
dom$
|
61117
|
+
dom$h.removeClass(this.modalStyles, 'active');
|
60521
61118
|
}
|
60522
61119
|
}
|
60523
61120
|
|
@@ -60538,9 +61135,9 @@ class ELementStyleEditor {
|
|
60538
61135
|
|
60539
61136
|
}
|
60540
61137
|
|
60541
|
-
const dom$
|
61138
|
+
const dom$g = new Dom();
|
60542
61139
|
|
60543
|
-
class
|
61140
|
+
class ElementGeneralStyles {
|
60544
61141
|
constructor(builder) {
|
60545
61142
|
this.builder = builder;
|
60546
61143
|
const util = this.builder.util;
|
@@ -60548,120 +61145,66 @@ class ElementBoxStyles {
|
|
60548
61145
|
this.util = util;
|
60549
61146
|
this.builderStuff = builderStuff;
|
60550
61147
|
const elementStyleEditor = new ELementStyleEditor(builder);
|
60551
|
-
let panelStuff = builderStuff.querySelector('#
|
61148
|
+
let panelStuff = builderStuff.querySelector('#divElementGeneral');
|
60552
61149
|
this.panelStuff = panelStuff;
|
60553
61150
|
const html = `
|
60554
|
-
<div class="is-settings">
|
60555
|
-
<div class="is-label">${util.out('Background Color')}:</div>
|
61151
|
+
<div class="is-settings" style="width: 100%">
|
61152
|
+
<div class="is-label" style="margin:0 0 3px">${util.out('Background Color')}:</div>
|
60556
61153
|
<div>
|
60557
61154
|
<button title="${util.out('Background Color')}" class="input-elm-bgcolor is-btn-color" style="margin-right:15px"></button>
|
60558
61155
|
<button title="${util.out('Gradient')}" class="input-elm-gradient classic" data-value="+"> ${util.out('Gradient')} </button>
|
60559
61156
|
</div>
|
60560
61157
|
</div>
|
60561
61158
|
|
60562
|
-
<div style="
|
60563
|
-
|
60564
|
-
|
60565
|
-
<div
|
60566
|
-
|
60567
|
-
|
60568
|
-
|
60569
|
-
|
60570
|
-
|
60571
|
-
|
60572
|
-
|
60573
|
-
<option value="%">%</option>
|
60574
|
-
</select>
|
60575
|
-
</div>
|
60576
|
-
</div>
|
60577
|
-
<div class="is-settings" style="width:110px;">
|
60578
|
-
<div><label for="inpElmHeight">${util.out('Height')}:</label></div>
|
60579
|
-
<div style="display:flex">
|
60580
|
-
<input type="text" id="inpElmHeight" value="" style="width:45px"/>
|
60581
|
-
<select id="inpElmHeightUnit"">
|
60582
|
-
<option value="px">px</option>
|
60583
|
-
<option value="em">em</option>
|
60584
|
-
<option value="vw">vw</option>
|
60585
|
-
<option value="vh">vh</option>
|
60586
|
-
<option value="%">%</option>
|
60587
|
-
</select>
|
60588
|
-
</div>
|
60589
|
-
</div>
|
60590
|
-
<div class="is-settings" style="width:110px;">
|
60591
|
-
<div><label for="inpElmMaxWidth">${util.out('Max Width')}:</label></div>
|
60592
|
-
<div style="display:flex">
|
60593
|
-
<input type="text" id="inpElmMaxWidth" value="" style="width:45px"/>
|
60594
|
-
<select id="inpElmMaxWidthUnit"">
|
60595
|
-
<option value="px">px</option>
|
60596
|
-
<option value="em">em</option>
|
60597
|
-
<option value="vw">vw</option>
|
60598
|
-
<option value="vh">vh</option>
|
60599
|
-
<option value="%">%</option>
|
60600
|
-
</select>
|
60601
|
-
</div>
|
60602
|
-
</div>
|
60603
|
-
<div class="is-settings" style="width:110px;">
|
60604
|
-
<div><label for="inpElmMaxHeight">${util.out('Max Height')}:</label></div>
|
60605
|
-
<div style="display:flex">
|
60606
|
-
<input type="text" id="inpElmMaxHeight" value="" style="width:45px"/>
|
60607
|
-
<select id="inpElmMaxHeightUnit"">
|
60608
|
-
<option value="px">px</option>
|
60609
|
-
<option value="em">em</option>
|
60610
|
-
<option value="vw">vw</option>
|
60611
|
-
<option value="vh">vh</option>
|
60612
|
-
<option value="%">%</option>
|
60613
|
-
</select>
|
60614
|
-
</div>
|
60615
|
-
</div>
|
60616
|
-
<div class="is-settings" style="width:110px;">
|
60617
|
-
<div><label for="inpElmMinWidth">${util.out('Min Width')}:</label></div>
|
60618
|
-
<div style="display:flex">
|
60619
|
-
<input type="text" id="inpElmMinWidth" value="" style="width:45px"/>
|
60620
|
-
<select id="inpElmMinWidthUnit"">
|
60621
|
-
<option value="px">px</option>
|
60622
|
-
<option value="em">em</option>
|
60623
|
-
<option value="vw">vw</option>
|
60624
|
-
<option value="vh">vh</option>
|
60625
|
-
<option value="%">%</option>
|
60626
|
-
</select>
|
61159
|
+
<div style="padding-top:20px;padding-bottom: 3px;">${util.out('Background Image')}:</div>
|
61160
|
+
<div class="is-settings" style="width: 100%">
|
61161
|
+
<div class="elm-bgimage-preview"></div>
|
61162
|
+
<div style="display: flex">
|
61163
|
+
<button title="${util.out('Image')}" class="input-elm-bgimage">
|
61164
|
+
<svg class="is-icon-flex"><use xlink:href="#ion-image"></use></svg>
|
61165
|
+
<span style="margin-left: 5px;">${util.out('Image')}</span>
|
61166
|
+
</button>
|
61167
|
+
<button title="${util.out('Select')}" class="input-select"><svg class="is-icon-flex"><use xlink:href="#ion-more"></use></svg></button>
|
61168
|
+
<button title="${util.out('Remove')}" class="input-elm-bgremove"><svg class="is-icon-flex" style="width:11px;height:11px;"><use xlink:href="#icon-clean"></use></svg></button>
|
61169
|
+
<button title="${util.out('Adjust')}" class="input-elm-bgimageadjust" style="width:40px"><svg class="is-icon-flex" style="width:13px;height:13px;flex:none"><use xlink:href="#ion-wrench"></use></svg></button>
|
60627
61170
|
</div>
|
60628
61171
|
</div>
|
60629
|
-
|
60630
|
-
|
60631
|
-
<
|
60632
|
-
<input type="text" id="inpElmMinHeight" value="" style="width:45px"/>
|
60633
|
-
<select id="inpElmMinHeightUnit"">
|
60634
|
-
<option value="px">px</option>
|
60635
|
-
<option value="em">em</option>
|
60636
|
-
<option value="vw">vw</option>
|
60637
|
-
<option value="vh">vh</option>
|
60638
|
-
<option value="%">%</option>
|
60639
|
-
</select>
|
60640
|
-
</div>
|
61172
|
+
|
61173
|
+
<div class="is-settings" style="padding-top:20px;width: 100%">
|
61174
|
+
<label class="label-elm-grayscale label-checkbox" for="chkElmGrayscale"><input id="chkElmGrayscale" class="chk-elm-grayscale" type="checkbox" /> ${util.out('Grayscale')}</label>
|
60641
61175
|
</div>
|
60642
|
-
|
60643
|
-
<div class="is-
|
60644
|
-
|
60645
|
-
|
60646
|
-
|
60647
|
-
|
60648
|
-
<
|
60649
|
-
|
60650
|
-
|
61176
|
+
|
61177
|
+
<div class="is-separator" style="margin-top:28px;margin-bottom:5px;"></div>
|
61178
|
+
|
61179
|
+
<div class="is-settings" style="padding-top:0;margin-top:0;width: 100%">
|
61180
|
+
<div class="div-target" style="display: flex;justify-content: flex-end;padding: 5px 0 0;">
|
61181
|
+
<button title="${util.out('Desktop')}" class="input-device on" data-value="" style="width:40px;height:25px;">
|
61182
|
+
<svg class="is-icon-flex" style="width:16px;height:16px;flex:none"><use xlink:href="#icon-device-desktop"></use></svg>
|
61183
|
+
</button>
|
61184
|
+
<button title="${util.out('Tablet')}" class="input-device" data-value="sm" style="width:40px;height:25px;">
|
61185
|
+
<svg class="is-icon-flex" style="width:16px;height:16px;flex:none"><use xlink:href="#icon-device-tablet"></use></svg>
|
61186
|
+
</button>
|
61187
|
+
<button title="${util.out('Mobile')}" class="input-device" data-value="xs" style="width:40px;height:25px;">
|
61188
|
+
<svg class="is-icon-flex" style="width:13px;height:13px;flex:none"><use xlink:href="#icon-device-mobile"></use></svg>
|
61189
|
+
</button>
|
60651
61190
|
</div>
|
60652
|
-
|
60653
|
-
|
60654
|
-
<div
|
60655
|
-
|
60656
|
-
|
60657
|
-
<
|
60658
|
-
|
60659
|
-
|
60660
|
-
|
61191
|
+
|
61192
|
+
<div style="padding-top:0;padding-bottom:3px;">${util.out('Visibility')}:</div>
|
61193
|
+
<div class="div-visibility" style="display:flex;">
|
61194
|
+
<button title="${util.out('Visible')}" class="input-visible on" data-value="sm" style="width:100px;height:34px;">
|
61195
|
+
<svg class="is-icon-flex" style="width:16px;height:16px"><use xlink:href="#icon-eye"></use></svg>
|
61196
|
+
<span>${util.out('Visible')}</span>
|
61197
|
+
</button>
|
61198
|
+
<button title="${util.out('Hidden')}" class="input-hidden" data-value="xs" style="width:100px;height:34px;">
|
61199
|
+
<svg class="is-icon-flex" style="width:16px;height:16px"><use xlink:href="#icon-eye-off"></use></svg>
|
61200
|
+
<span>${util.out('Hidden')}</span>
|
61201
|
+
</button>
|
60661
61202
|
</div>
|
60662
61203
|
</div>
|
61204
|
+
|
61205
|
+
|
60663
61206
|
`;
|
60664
|
-
dom$
|
61207
|
+
dom$g.appendHtml(panelStuff, html); // Background color
|
60665
61208
|
|
60666
61209
|
let btnElmBgColor = panelStuff.querySelector('.input-elm-bgcolor');
|
60667
61210
|
btnElmBgColor.addEventListener('click', e => {
|
@@ -60704,7 +61247,331 @@ class ElementBoxStyles {
|
|
60704
61247
|
btnElmGradient.focus();
|
60705
61248
|
});
|
60706
61249
|
btnElmGradient.setAttribute('data-focus', true);
|
60707
|
-
}); //
|
61250
|
+
}); // Elm Background Image
|
61251
|
+
|
61252
|
+
const btnElmBgImage = panelStuff.querySelector('.input-elm-bgimage');
|
61253
|
+
if (btnElmBgImage) dom$g.addEventListener(btnElmBgImage, 'click', () => {
|
61254
|
+
const elm = this.builder.inspectedElement; //Get current value
|
61255
|
+
|
61256
|
+
let imgUrl = '';
|
61257
|
+
|
61258
|
+
if (elm.style.backgroundImage) {
|
61259
|
+
if (elm.style.backgroundImage.indexOf('url(') !== -1) {
|
61260
|
+
imgUrl = elm.style.backgroundImage.slice(4, -1).replace(/["']/g, '');
|
61261
|
+
}
|
61262
|
+
}
|
61263
|
+
|
61264
|
+
this.builder.colTool.openImagePicker(imgUrl, url => {
|
61265
|
+
this.builder.uo.saveForUndo();
|
61266
|
+
const elm = this.builder.inspectedElement;
|
61267
|
+
this.builder.uo.saveForUndo();
|
61268
|
+
elm.style.backgroundImage = `url("${url}")`;
|
61269
|
+
elm.style.backgroundSize = 'cover';
|
61270
|
+
elm.style.backgroundRepeat = 'no-repeat';
|
61271
|
+
const div = panelStuff.querySelector('.elm-bgimage-preview');
|
61272
|
+
const btnImageAdjust = this.panelStuff.querySelector('.input-elm-bgimageadjust');
|
61273
|
+
const btnImageRemove = this.panelStuff.querySelector('.input-elm-bgremove');
|
61274
|
+
btnImageAdjust.style.display = 'none';
|
61275
|
+
btnImageRemove.style.display = 'none';
|
61276
|
+
|
61277
|
+
if (url !== '') {
|
61278
|
+
div.innerHTML = `<img src="${url}">`;
|
61279
|
+
btnImageAdjust.style.display = 'flex';
|
61280
|
+
btnImageRemove.style.display = 'flex';
|
61281
|
+
} else {
|
61282
|
+
div.innerHTML = '';
|
61283
|
+
}
|
61284
|
+
|
61285
|
+
elementStyleEditor.refresh(); //Trigger Change event
|
61286
|
+
|
61287
|
+
this.builder.opts.onChange();
|
61288
|
+
}, btnElmBgImage);
|
61289
|
+
}); // Elm Background Image Adjust
|
61290
|
+
|
61291
|
+
const btnImageAdjust = panelStuff.querySelector('.input-elm-bgimageadjust');
|
61292
|
+
if (btnImageAdjust) dom$g.addEventListener(btnImageAdjust, 'click', () => {
|
61293
|
+
const elm = this.builder.inspectedElement;
|
61294
|
+
this.builder.colTool.openImageAdjust(elm, btnImageAdjust);
|
61295
|
+
});
|
61296
|
+
const btnImageRemove = panelStuff.querySelector('.input-elm-bgremove');
|
61297
|
+
if (btnImageRemove) dom$g.addEventListener(btnImageRemove, 'click', () => {
|
61298
|
+
const elm = this.builder.inspectedElement;
|
61299
|
+
this.builder.uo.saveForUndo();
|
61300
|
+
elm.style.backgroundImage = '';
|
61301
|
+
elm.style.backgroundSize = '';
|
61302
|
+
elm.style.backgroundRepeat = '';
|
61303
|
+
elm.style.backgroundPosition = '';
|
61304
|
+
const div = panelStuff.querySelector('.elm-bgimage-preview');
|
61305
|
+
const btnImageAdjust = this.panelStuff.querySelector('.input-elm-bgimageadjust');
|
61306
|
+
const btnImageRemove = this.panelStuff.querySelector('.input-elm-bgremove');
|
61307
|
+
btnImageAdjust.style.display = 'none';
|
61308
|
+
btnImageRemove.style.display = 'none';
|
61309
|
+
div.innerHTML = '';
|
61310
|
+
elementStyleEditor.refresh(); //Trigger Change event
|
61311
|
+
|
61312
|
+
this.builder.opts.onChange();
|
61313
|
+
}); // Elm Background Image Open Asset
|
61314
|
+
|
61315
|
+
if (!this.builder.opts.onImageSelectClick && this.builder.opts.imageselect === '') {
|
61316
|
+
panelStuff.querySelector('.input-select').style.display = 'none';
|
61317
|
+
}
|
61318
|
+
|
61319
|
+
const btnElmBgImageOpenAsset = panelStuff.querySelector('.input-select');
|
61320
|
+
this.builder.renderSelectAsset(btnElmBgImageOpenAsset, 'image', url => {
|
61321
|
+
const elm = this.builder.inspectedElement;
|
61322
|
+
this.builder.uo.saveForUndo();
|
61323
|
+
elm.style.backgroundImage = `url("${url}")`;
|
61324
|
+
elm.style.backgroundSize = 'cover';
|
61325
|
+
elm.style.backgroundRepeat = 'no-repeat';
|
61326
|
+
const div = panelStuff.querySelector('.elm-bgimage-preview');
|
61327
|
+
const btnImageAdjust = this.panelStuff.querySelector('.input-elm-bgimageadjust');
|
61328
|
+
const btnImageRemove = this.panelStuff.querySelector('.input-elm-bgremove');
|
61329
|
+
btnImageAdjust.style.display = 'none';
|
61330
|
+
btnImageRemove.style.display = 'none';
|
61331
|
+
|
61332
|
+
if (url !== '') {
|
61333
|
+
div.innerHTML = `<img src="${url}">`;
|
61334
|
+
btnImageAdjust.style.display = 'flex';
|
61335
|
+
btnImageRemove.style.display = 'flex';
|
61336
|
+
} else {
|
61337
|
+
div.innerHTML = '';
|
61338
|
+
}
|
61339
|
+
|
61340
|
+
elementStyleEditor.refresh(); //Trigger Change event
|
61341
|
+
|
61342
|
+
this.builder.opts.onChange();
|
61343
|
+
});
|
61344
|
+
const chkElmGrayscale = panelStuff.querySelector('.chk-elm-grayscale');
|
61345
|
+
chkElmGrayscale.addEventListener('click', () => {
|
61346
|
+
this.builder.uo.saveForUndo();
|
61347
|
+
const elm = this.builder.inspectedElement;
|
61348
|
+
|
61349
|
+
if (chkElmGrayscale.checked) {
|
61350
|
+
elm.style.filter = 'grayscale(1)';
|
61351
|
+
} else {
|
61352
|
+
if (elm.style.filter) {
|
61353
|
+
elm.style.filter = elm.style.filter.replace('grayscale(1)', '');
|
61354
|
+
}
|
61355
|
+
}
|
61356
|
+
|
61357
|
+
elementStyleEditor.refresh(); //Trigger Change event
|
61358
|
+
|
61359
|
+
this.builder.opts.onChange();
|
61360
|
+
}); // Responsive Visibility
|
61361
|
+
|
61362
|
+
let btns = panelStuff.querySelectorAll('.input-device');
|
61363
|
+
btns.forEach(btn => {
|
61364
|
+
btn.addEventListener('click', () => {
|
61365
|
+
const elm = this.builder.inspectedElement;
|
61366
|
+
let elms = panelStuff.querySelectorAll('.input-device');
|
61367
|
+
elms.forEach(elm => {
|
61368
|
+
elm.classList.remove('on');
|
61369
|
+
});
|
61370
|
+
btn.classList.add('on');
|
61371
|
+
this.realtimeVisibility(elm);
|
61372
|
+
});
|
61373
|
+
});
|
61374
|
+
let btnVisible = panelStuff.querySelector('.input-visible');
|
61375
|
+
let btnHidden = panelStuff.querySelector('.input-hidden');
|
61376
|
+
btnVisible.addEventListener('click', () => {
|
61377
|
+
const elm = this.builder.inspectedElement;
|
61378
|
+
elm.classList.remove('hideonmobile');
|
61379
|
+
let divTarget = panelStuff.querySelector('.div-target');
|
61380
|
+
let target = this.builder.responsive.readTarget(divTarget);
|
61381
|
+
|
61382
|
+
if (target === 'xs') {
|
61383
|
+
elm.classList.remove('xs-hidden');
|
61384
|
+
} else if (target === 'sm') {
|
61385
|
+
elm.classList.remove('sm-hidden');
|
61386
|
+
} else if (target === '') {
|
61387
|
+
elm.classList.remove('desktop-hidden');
|
61388
|
+
}
|
61389
|
+
|
61390
|
+
btnVisible.classList.add('on');
|
61391
|
+
btnHidden.classList.remove('on');
|
61392
|
+
});
|
61393
|
+
btnHidden.addEventListener('click', () => {
|
61394
|
+
const elm = this.builder.inspectedElement;
|
61395
|
+
elm.classList.remove('hideonmobile');
|
61396
|
+
let divTarget = panelStuff.querySelector('.div-target');
|
61397
|
+
let target = this.builder.responsive.readTarget(divTarget);
|
61398
|
+
|
61399
|
+
if (target === 'xs') {
|
61400
|
+
elm.classList.add('xs-hidden');
|
61401
|
+
} else if (target === 'sm') {
|
61402
|
+
elm.classList.add('sm-hidden');
|
61403
|
+
} else if (target === '') {
|
61404
|
+
elm.classList.add('desktop-hidden');
|
61405
|
+
}
|
61406
|
+
|
61407
|
+
btnVisible.classList.remove('on');
|
61408
|
+
btnHidden.classList.add('on');
|
61409
|
+
});
|
61410
|
+
}
|
61411
|
+
|
61412
|
+
readElementStyles(elm) {
|
61413
|
+
let panelStuff = this.panelStuff; // Background color
|
61414
|
+
|
61415
|
+
let s = elm.style.backgroundColor;
|
61416
|
+
let btn = panelStuff.querySelector('.input-elm-bgcolor');
|
61417
|
+
if (s) btn.style.backgroundColor = s;else btn.style.backgroundColor = 'transparent'; // Background image
|
61418
|
+
|
61419
|
+
let imgUrl = '';
|
61420
|
+
const div = panelStuff.querySelector('.elm-bgimage-preview');
|
61421
|
+
const btnImageAdjust = panelStuff.querySelector('.input-elm-bgimageadjust');
|
61422
|
+
btnImageAdjust.style.display = 'none';
|
61423
|
+
const btnImageRemove = panelStuff.querySelector('.input-elm-bgremove');
|
61424
|
+
btnImageRemove.style.display = 'none';
|
61425
|
+
|
61426
|
+
if (elm.style.backgroundImage) {
|
61427
|
+
if (elm.style.backgroundImage.indexOf('url(') !== -1) {
|
61428
|
+
imgUrl = elm.style.backgroundImage.slice(4, -1).replace(/["']/g, '');
|
61429
|
+
div.innerHTML = `<img src="${imgUrl}">`;
|
61430
|
+
btnImageAdjust.style.display = 'flex';
|
61431
|
+
btnImageRemove.style.display = 'flex';
|
61432
|
+
} else {
|
61433
|
+
div.innerHTML = '';
|
61434
|
+
}
|
61435
|
+
} else {
|
61436
|
+
div.innerHTML = '';
|
61437
|
+
}
|
61438
|
+
|
61439
|
+
const chkRowGrayscale = panelStuff.querySelector('.chk-elm-grayscale');
|
61440
|
+
chkRowGrayscale.checked = false;
|
61441
|
+
|
61442
|
+
if (elm.style.filter) {
|
61443
|
+
if (elm.style.filter.indexOf('grayscale') !== -1) {
|
61444
|
+
chkRowGrayscale.checked = true;
|
61445
|
+
}
|
61446
|
+
}
|
61447
|
+
|
61448
|
+
this.realtimeVisibility(elm);
|
61449
|
+
}
|
61450
|
+
|
61451
|
+
realtimeVisibility(row) {
|
61452
|
+
let divTarget = this.panelStuff.querySelector('.div-target');
|
61453
|
+
let divVisibility = this.panelStuff.querySelector('.div-visibility');
|
61454
|
+
let target = this.builder.responsive.readTarget(divTarget);
|
61455
|
+
let valVisibility = this.builder.responsive.getVisibility(row, target);
|
61456
|
+
this.builder.responsive.showVisibility(divVisibility, valVisibility);
|
61457
|
+
}
|
61458
|
+
|
61459
|
+
}
|
61460
|
+
|
61461
|
+
const dom$f = new Dom();
|
61462
|
+
|
61463
|
+
class ElementBoxStyles {
|
61464
|
+
constructor(builder) {
|
61465
|
+
this.builder = builder;
|
61466
|
+
const util = this.builder.util;
|
61467
|
+
const builderStuff = this.builder.builderStuff;
|
61468
|
+
this.util = util;
|
61469
|
+
this.builderStuff = builderStuff;
|
61470
|
+
const elementStyleEditor = new ELementStyleEditor(builder);
|
61471
|
+
let panelStuff = builderStuff.querySelector('#divElementBox');
|
61472
|
+
this.panelStuff = panelStuff;
|
61473
|
+
const html = `
|
61474
|
+
<div class="is-settings" style="width:110px">
|
61475
|
+
<div><label for="inpElmWidth">${util.out('Width')}:</label></div>
|
61476
|
+
<div style="display:flex">
|
61477
|
+
<input type="text" id="inpElmWidth" value="" style="width:45px"/>
|
61478
|
+
<select id="inpElmWidthUnit"">
|
61479
|
+
<option value="px">px</option>
|
61480
|
+
<option value="em">em</option>
|
61481
|
+
<option value="vw">vw</option>
|
61482
|
+
<option value="vh">vh</option>
|
61483
|
+
<option value="%">%</option>
|
61484
|
+
</select>
|
61485
|
+
</div>
|
61486
|
+
</div>
|
61487
|
+
<div class="is-settings" style="width:110px;">
|
61488
|
+
<div><label for="inpElmHeight">${util.out('Height')}:</label></div>
|
61489
|
+
<div style="display:flex">
|
61490
|
+
<input type="text" id="inpElmHeight" value="" style="width:45px"/>
|
61491
|
+
<select id="inpElmHeightUnit"">
|
61492
|
+
<option value="px">px</option>
|
61493
|
+
<option value="em">em</option>
|
61494
|
+
<option value="vw">vw</option>
|
61495
|
+
<option value="vh">vh</option>
|
61496
|
+
<option value="%">%</option>
|
61497
|
+
</select>
|
61498
|
+
</div>
|
61499
|
+
</div>
|
61500
|
+
<div class="is-settings" style="width:110px;">
|
61501
|
+
<div><label for="inpElmMaxWidth">${util.out('Max Width')}:</label></div>
|
61502
|
+
<div style="display:flex">
|
61503
|
+
<input type="text" id="inpElmMaxWidth" value="" style="width:45px"/>
|
61504
|
+
<select id="inpElmMaxWidthUnit"">
|
61505
|
+
<option value="px">px</option>
|
61506
|
+
<option value="em">em</option>
|
61507
|
+
<option value="vw">vw</option>
|
61508
|
+
<option value="vh">vh</option>
|
61509
|
+
<option value="%">%</option>
|
61510
|
+
</select>
|
61511
|
+
</div>
|
61512
|
+
</div>
|
61513
|
+
<div class="is-settings" style="width:110px;">
|
61514
|
+
<div><label for="inpElmMaxHeight">${util.out('Max Height')}:</label></div>
|
61515
|
+
<div style="display:flex">
|
61516
|
+
<input type="text" id="inpElmMaxHeight" value="" style="width:45px"/>
|
61517
|
+
<select id="inpElmMaxHeightUnit"">
|
61518
|
+
<option value="px">px</option>
|
61519
|
+
<option value="em">em</option>
|
61520
|
+
<option value="vw">vw</option>
|
61521
|
+
<option value="vh">vh</option>
|
61522
|
+
<option value="%">%</option>
|
61523
|
+
</select>
|
61524
|
+
</div>
|
61525
|
+
</div>
|
61526
|
+
<div class="is-settings" style="width:110px;">
|
61527
|
+
<div><label for="inpElmMinWidth">${util.out('Min Width')}:</label></div>
|
61528
|
+
<div style="display:flex">
|
61529
|
+
<input type="text" id="inpElmMinWidth" value="" style="width:45px"/>
|
61530
|
+
<select id="inpElmMinWidthUnit"">
|
61531
|
+
<option value="px">px</option>
|
61532
|
+
<option value="em">em</option>
|
61533
|
+
<option value="vw">vw</option>
|
61534
|
+
<option value="vh">vh</option>
|
61535
|
+
<option value="%">%</option>
|
61536
|
+
</select>
|
61537
|
+
</div>
|
61538
|
+
</div>
|
61539
|
+
<div class="is-settings" style="width:110px;">
|
61540
|
+
<div><label for="inpElmMinHeight">${util.out('Min Height')}:</label></div>
|
61541
|
+
<div style="display:flex">
|
61542
|
+
<input type="text" id="inpElmMinHeight" value="" style="width:45px"/>
|
61543
|
+
<select id="inpElmMinHeightUnit"">
|
61544
|
+
<option value="px">px</option>
|
61545
|
+
<option value="em">em</option>
|
61546
|
+
<option value="vw">vw</option>
|
61547
|
+
<option value="vh">vh</option>
|
61548
|
+
<option value="%">%</option>
|
61549
|
+
</select>
|
61550
|
+
</div>
|
61551
|
+
</div>
|
61552
|
+
|
61553
|
+
<div class="is-settings" style="width:110px;">
|
61554
|
+
<div>${util.out('Overflow x')}:</div>
|
61555
|
+
<div>
|
61556
|
+
<select id="inpElmOverflowX"">
|
61557
|
+
<option value=""></option>
|
61558
|
+
<option value="auto">Auto</option>
|
61559
|
+
<option value="hidden">Hidden</option>
|
61560
|
+
</select>
|
61561
|
+
</div>
|
61562
|
+
</div>
|
61563
|
+
<div class="is-settings" style="width:110px;">
|
61564
|
+
<div>${util.out('Overflow y')}:</div>
|
61565
|
+
<div>
|
61566
|
+
<select id="inpElmOverflowY"">
|
61567
|
+
<option value=""></option>
|
61568
|
+
<option value="auto">Auto</option>
|
61569
|
+
<option value="hidden">Hidden</option>
|
61570
|
+
</select>
|
61571
|
+
</div>
|
61572
|
+
</div>
|
61573
|
+
`;
|
61574
|
+
dom$f.appendHtml(panelStuff, html); // Others
|
60708
61575
|
|
60709
61576
|
let inpElmMaxWidth = panelStuff.querySelector('#inpElmMaxWidth');
|
60710
61577
|
inpElmMaxWidth.addEventListener('click', () => {
|
@@ -60945,17 +61812,13 @@ class ElementBoxStyles {
|
|
60945
61812
|
}
|
60946
61813
|
|
60947
61814
|
readElementStyles(elm) {
|
60948
|
-
let panelStuff = this.panelStuff; //
|
60949
|
-
|
60950
|
-
let s = elm.style.backgroundColor;
|
60951
|
-
let btn = panelStuff.querySelector('.input-elm-bgcolor');
|
60952
|
-
if (s) btn.style.backgroundColor = s;else btn.style.backgroundColor = 'transparent'; // Max Width
|
61815
|
+
let panelStuff = this.panelStuff; // Max Width
|
60953
61816
|
|
60954
61817
|
const inpElmMaxWidth = panelStuff.querySelector('#inpElmMaxWidth');
|
60955
61818
|
const inpElmMaxWidthUnit = panelStuff.querySelector('#inpElmMaxWidthUnit');
|
60956
61819
|
inpElmMaxWidth.value = '';
|
60957
61820
|
inpElmMaxWidthUnit.value = 'px';
|
60958
|
-
s = elm.style.maxWidth;
|
61821
|
+
let s = elm.style.maxWidth;
|
60959
61822
|
let nMaxWidth = parseInt(s);
|
60960
61823
|
|
60961
61824
|
if (!isNaN(nMaxWidth)) {
|
@@ -61064,7 +61927,7 @@ class ElementBoxStyles {
|
|
61064
61927
|
|
61065
61928
|
}
|
61066
61929
|
|
61067
|
-
const dom$
|
61930
|
+
const dom$e = new Dom();
|
61068
61931
|
|
61069
61932
|
class ElementSpacingStyles {
|
61070
61933
|
constructor(builder) {
|
@@ -61206,7 +62069,7 @@ class ElementSpacingStyles {
|
|
61206
62069
|
</div>
|
61207
62070
|
</div>
|
61208
62071
|
`;
|
61209
|
-
dom$
|
62072
|
+
dom$e.appendHtml(panelStuff, html); // Margin
|
61210
62073
|
|
61211
62074
|
let inpElmMarginLeft = panelStuff.querySelector('#inpElmMarginLeft');
|
61212
62075
|
inpElmMarginLeft.addEventListener('click', () => {
|
@@ -61524,9 +62387,9 @@ class ElementSpacingStyles {
|
|
61524
62387
|
let elm = this.builder.inspectedElement;
|
61525
62388
|
|
61526
62389
|
if (chkResetMarginLeft.checked) {
|
61527
|
-
dom$
|
62390
|
+
dom$e.addClass(elm, 'margin-left-1024-reset');
|
61528
62391
|
} else {
|
61529
|
-
dom$
|
62392
|
+
dom$e.removeClass(elm, 'margin-left-1024-reset');
|
61530
62393
|
}
|
61531
62394
|
|
61532
62395
|
elementStyleEditor.refresh(); //Trigger Change event
|
@@ -61539,9 +62402,9 @@ class ElementSpacingStyles {
|
|
61539
62402
|
let elm = this.builder.inspectedElement;
|
61540
62403
|
|
61541
62404
|
if (chkResetMarginRight.checked) {
|
61542
|
-
dom$
|
62405
|
+
dom$e.addClass(elm, 'margin-right-1024-reset');
|
61543
62406
|
} else {
|
61544
|
-
dom$
|
62407
|
+
dom$e.removeClass(elm, 'margin-right-1024-reset');
|
61545
62408
|
}
|
61546
62409
|
|
61547
62410
|
elementStyleEditor.refresh(); //Trigger Change event
|
@@ -61704,13 +62567,13 @@ class ElementSpacingStyles {
|
|
61704
62567
|
} // Responsive Positioning
|
61705
62568
|
|
61706
62569
|
|
61707
|
-
if (dom$
|
62570
|
+
if (dom$e.hasClass(elm, 'margin-left-1024-reset')) {
|
61708
62571
|
panelStuff.querySelector('#chkResetMarginLeft').checked = true;
|
61709
62572
|
} else {
|
61710
62573
|
panelStuff.querySelector('#chkResetMarginLeft').checked = false;
|
61711
62574
|
}
|
61712
62575
|
|
61713
|
-
if (dom$
|
62576
|
+
if (dom$e.hasClass(elm, 'margin-right-1024-reset')) {
|
61714
62577
|
panelStuff.querySelector('#chkResetMarginRight').checked = true;
|
61715
62578
|
} else {
|
61716
62579
|
panelStuff.querySelector('#chkResetMarginRight').checked = false;
|
@@ -61719,7 +62582,7 @@ class ElementSpacingStyles {
|
|
61719
62582
|
|
61720
62583
|
}
|
61721
62584
|
|
61722
|
-
const dom$
|
62585
|
+
const dom$d = new Dom();
|
61723
62586
|
|
61724
62587
|
class ElementBorderStyles {
|
61725
62588
|
constructor(builder) {
|
@@ -61840,7 +62703,7 @@ class ElementBorderStyles {
|
|
61840
62703
|
</div>
|
61841
62704
|
</div>
|
61842
62705
|
`;
|
61843
|
-
dom$
|
62706
|
+
dom$d.appendHtml(panelStuff, html); // Border color
|
61844
62707
|
|
61845
62708
|
let btnElmBorderColor = panelStuff.querySelector('.input-elm-bordercolor');
|
61846
62709
|
btnElmBorderColor.addEventListener('click', e => {
|
@@ -62461,7 +63324,7 @@ class ElementBorderStyles {
|
|
62461
63324
|
|
62462
63325
|
}
|
62463
63326
|
|
62464
|
-
const dom$
|
63327
|
+
const dom$c = new Dom();
|
62465
63328
|
|
62466
63329
|
class ElementTextStyles {
|
62467
63330
|
constructor(builder) {
|
@@ -62603,7 +63466,7 @@ class ElementTextStyles {
|
|
62603
63466
|
</div>
|
62604
63467
|
</div>
|
62605
63468
|
`;
|
62606
|
-
dom$
|
63469
|
+
dom$c.appendHtml(panelStuff, html);
|
62607
63470
|
const htmlmodal = `
|
62608
63471
|
<div class="is-modal pickfontfamily" tabindex="-1" role="dialog" aria-modal="true" aria-hidden="true">
|
62609
63472
|
<div class="is-modal-content">
|
@@ -62614,7 +63477,7 @@ class ElementTextStyles {
|
|
62614
63477
|
</div>
|
62615
63478
|
</div>
|
62616
63479
|
`;
|
62617
|
-
dom$
|
63480
|
+
dom$c.appendHtml(builderStuff, htmlmodal);
|
62618
63481
|
const fontModal = builderStuff.querySelector('.is-modal.pickfontfamily'); // Text color
|
62619
63482
|
|
62620
63483
|
let btnElmTextColor = panelStuff.querySelector('.input-elm-color');
|
@@ -62720,8 +63583,8 @@ class ElementTextStyles {
|
|
62720
63583
|
const arrSizes = this.builder.opts.fontSizeClassValues;
|
62721
63584
|
|
62722
63585
|
for (var i = 0; i <= arrSizes.length - 1; i++) {
|
62723
|
-
if (dom$
|
62724
|
-
dom$
|
63586
|
+
if (dom$c.hasClass(elm, 'size-' + arrSizes[i])) {
|
63587
|
+
dom$c.removeClass(elm, 'size-' + arrSizes[i]);
|
62725
63588
|
}
|
62726
63589
|
}
|
62727
63590
|
|
@@ -62871,9 +63734,9 @@ class ElementTextStyles {
|
|
62871
63734
|
f = f.trim().toLowerCase();
|
62872
63735
|
|
62873
63736
|
if (f === fontname && f !== '') {
|
62874
|
-
dom$
|
63737
|
+
dom$c.addClass(e, 'on');
|
62875
63738
|
} else {
|
62876
|
-
dom$
|
63739
|
+
dom$c.removeClass(e, 'on');
|
62877
63740
|
}
|
62878
63741
|
}); //Select active font
|
62879
63742
|
|
@@ -62888,7 +63751,7 @@ class ElementTextStyles {
|
|
62888
63751
|
} else {
|
62889
63752
|
if (iframeDocument) {
|
62890
63753
|
[].forEach.call(iframeDocument.querySelectorAll('#divFontList > li'), e => {
|
62891
|
-
dom$
|
63754
|
+
dom$c.removeClass(e, 'on');
|
62892
63755
|
});
|
62893
63756
|
}
|
62894
63757
|
}
|
@@ -63010,7 +63873,7 @@ class ElementTextStyles {
|
|
63010
63873
|
|
63011
63874
|
}
|
63012
63875
|
|
63013
|
-
const dom$
|
63876
|
+
const dom$b = new Dom();
|
63014
63877
|
|
63015
63878
|
class ElementCornerStyles {
|
63016
63879
|
constructor(builder) {
|
@@ -63062,7 +63925,7 @@ class ElementCornerStyles {
|
|
63062
63925
|
</div>
|
63063
63926
|
</div>
|
63064
63927
|
`;
|
63065
|
-
dom$
|
63928
|
+
dom$b.appendHtml(panelStuff, html);
|
63066
63929
|
const inpElmBorderRadius = panelStuff.querySelector('#inpElmBorderRadius');
|
63067
63930
|
inpElmBorderRadius.addEventListener('click', () => {
|
63068
63931
|
this.builder.uo.saveForUndo();
|
@@ -63205,7 +64068,7 @@ class ElementCornerStyles {
|
|
63205
64068
|
|
63206
64069
|
}
|
63207
64070
|
|
63208
|
-
const dom$
|
64071
|
+
const dom$a = new Dom();
|
63209
64072
|
|
63210
64073
|
class ElementShadowStyles {
|
63211
64074
|
constructor(builder) {
|
@@ -63281,7 +64144,7 @@ class ElementShadowStyles {
|
|
63281
64144
|
</div>
|
63282
64145
|
</div>
|
63283
64146
|
`;
|
63284
|
-
dom$
|
64147
|
+
dom$a.appendHtml(panelStuff, html); // Shadow color
|
63285
64148
|
|
63286
64149
|
let btnElmShadowColor = panelStuff.querySelector('.input-elm-shadowcolor');
|
63287
64150
|
btnElmShadowColor.addEventListener('click', () => {
|
@@ -63472,7 +64335,7 @@ class ElementShadowStyles {
|
|
63472
64335
|
|
63473
64336
|
}
|
63474
64337
|
|
63475
|
-
const dom$
|
64338
|
+
const dom$9 = new Dom();
|
63476
64339
|
|
63477
64340
|
class ElementDisplayStyles {
|
63478
64341
|
constructor(builder) {
|
@@ -63570,7 +64433,7 @@ class ElementDisplayStyles {
|
|
63570
64433
|
</div>
|
63571
64434
|
</div>
|
63572
64435
|
`;
|
63573
|
-
dom$
|
64436
|
+
dom$9.appendHtml(panelStuff, html);
|
63574
64437
|
const inpElmDisplay = panelStuff.querySelector('#inpElmDisplay');
|
63575
64438
|
inpElmDisplay.addEventListener('change', () => {
|
63576
64439
|
this.builder.uo.saveForUndo();
|
@@ -63663,7 +64526,7 @@ class ElementDisplayStyles {
|
|
63663
64526
|
|
63664
64527
|
}
|
63665
64528
|
|
63666
|
-
const dom$
|
64529
|
+
const dom$8 = new Dom();
|
63667
64530
|
|
63668
64531
|
class ElementPositionStyles {
|
63669
64532
|
constructor(builder) {
|
@@ -63758,7 +64621,7 @@ class ElementPositionStyles {
|
|
63758
64621
|
</div>
|
63759
64622
|
</div>
|
63760
64623
|
`;
|
63761
|
-
dom$
|
64624
|
+
dom$8.appendHtml(panelStuff, html);
|
63762
64625
|
const inpElmPosition = panelStuff.querySelector('#inpElmPosition');
|
63763
64626
|
inpElmPosition.addEventListener('change', () => {
|
63764
64627
|
this.builder.uo.saveForUndo();
|
@@ -64002,7 +64865,7 @@ class ElementPositionStyles {
|
|
64002
64865
|
|
64003
64866
|
}
|
64004
64867
|
|
64005
|
-
const dom$
|
64868
|
+
const dom$7 = new Dom();
|
64006
64869
|
|
64007
64870
|
class ElementEffectStyles {
|
64008
64871
|
constructor(builder) {
|
@@ -64082,7 +64945,7 @@ class ElementEffectStyles {
|
|
64082
64945
|
</div>
|
64083
64946
|
</div>
|
64084
64947
|
`;
|
64085
|
-
dom$
|
64948
|
+
dom$7.appendHtml(panelStuff, html);
|
64086
64949
|
const inpElmOpacity = panelStuff.querySelector('#inpElmOpacity');
|
64087
64950
|
inpElmOpacity.addEventListener('click', () => {
|
64088
64951
|
this.builder.uo.saveForUndo();
|
@@ -64557,7 +65420,7 @@ class ElementEffectStyles {
|
|
64557
65420
|
|
64558
65421
|
}
|
64559
65422
|
|
64560
|
-
const dom$
|
65423
|
+
const dom$6 = new Dom();
|
64561
65424
|
|
64562
65425
|
class ElementAttributeStyles {
|
64563
65426
|
constructor(builder) {
|
@@ -64633,7 +65496,7 @@ class ElementAttributeStyles {
|
|
64633
65496
|
</div>
|
64634
65497
|
</div>
|
64635
65498
|
`;
|
64636
|
-
dom$
|
65499
|
+
dom$6.appendHtml(panelStuff, html);
|
64637
65500
|
let inps = panelStuff.querySelectorAll('#inpElmAttr1,#inpElmAttr2,#inpElmAttr3,#inpElmAttr4,#inpElmAttr5,#inpElmAttrVal1,#inpElmAttrVal2,#inpElmAttrVal3,#inpElmAttrVal4,#inpElmAttrVal5');
|
64638
65501
|
Array.prototype.forEach.call(inps, inp => {
|
64639
65502
|
inp.addEventListener('click', () => {
|
@@ -64701,6 +65564,93 @@ class ElementAttributeStyles {
|
|
64701
65564
|
|
64702
65565
|
}
|
64703
65566
|
|
65567
|
+
const dom$5 = new Dom();
|
65568
|
+
|
65569
|
+
class ElementMoreStyles {
|
65570
|
+
constructor(builder) {
|
65571
|
+
this.builder = builder;
|
65572
|
+
const util = this.builder.util;
|
65573
|
+
const builderStuff = this.builder.builderStuff;
|
65574
|
+
this.util = util;
|
65575
|
+
this.builderStuff = builderStuff;
|
65576
|
+
let panelStuff = builderStuff.querySelector('#divElementMore');
|
65577
|
+
this.panelStuff = panelStuff;
|
65578
|
+
const html = `
|
65579
|
+
|
65580
|
+
<div class="is-settings" style="width:100%;margin-bottom:9px;">
|
65581
|
+
<div>${util.out('Add Element ID')}:</div>
|
65582
|
+
<div>
|
65583
|
+
<input type="text" id="inpElmId" value="" style="width:100%"/>
|
65584
|
+
</div>
|
65585
|
+
</div>
|
65586
|
+
|
65587
|
+
<div class="is-settings" style="width:100%;margin-bottom:9px;">
|
65588
|
+
<div>${util.out('Add Css Classes')}:</div>
|
65589
|
+
<div>
|
65590
|
+
<input type="text" id="inpElmCssClasses" value="" style="width:100%"/>
|
65591
|
+
</div>
|
65592
|
+
</div>
|
65593
|
+
|
65594
|
+
`;
|
65595
|
+
dom$5.appendHtml(panelStuff, html);
|
65596
|
+
const inpElmId = panelStuff.querySelector('#inpElmId');
|
65597
|
+
inpElmId.addEventListener('change', () => {
|
65598
|
+
let elm = this.builder.inspectedElement;
|
65599
|
+
this.builder.uo.saveForUndo();
|
65600
|
+
|
65601
|
+
if (inpElmId.value !== '') {
|
65602
|
+
elm.setAttribute('id', inpElmId.value);
|
65603
|
+
} else {
|
65604
|
+
elm.removeAttribute('id');
|
65605
|
+
} //Trigger Change event
|
65606
|
+
|
65607
|
+
|
65608
|
+
this.builder.opts.onChange();
|
65609
|
+
});
|
65610
|
+
const inpElmCssClasses = panelStuff.querySelector('#inpElmCssClasses');
|
65611
|
+
inpElmCssClasses.addEventListener('change', () => {
|
65612
|
+
let elm = this.builder.inspectedElement;
|
65613
|
+
this.builder.uo.saveForUndo();
|
65614
|
+
let arrCurrentClasses = [];
|
65615
|
+
let currentClasses = elm.getAttribute('data-class');
|
65616
|
+
if (currentClasses) arrCurrentClasses = currentClasses.split(' ');
|
65617
|
+
let arrNewClasses = [];
|
65618
|
+
let newClasses = inpElmCssClasses.value;
|
65619
|
+
arrNewClasses = newClasses.split(' ');
|
65620
|
+
arrCurrentClasses.forEach(item => {
|
65621
|
+
if (!arrNewClasses.includes(item)) {
|
65622
|
+
elm.classList.remove(item);
|
65623
|
+
}
|
65624
|
+
});
|
65625
|
+
arrNewClasses.forEach(item => {
|
65626
|
+
if (item !== '') elm.classList.add(item);
|
65627
|
+
}); // save
|
65628
|
+
|
65629
|
+
elm.setAttribute('data-class', newClasses);
|
65630
|
+
if (elm.getAttribute('data-class') === '') elm.removeAttribute('data-class'); //Trigger Change event
|
65631
|
+
|
65632
|
+
this.builder.opts.onChange();
|
65633
|
+
});
|
65634
|
+
}
|
65635
|
+
|
65636
|
+
readElementStyles(elm) {
|
65637
|
+
let panelStuff = this.panelStuff;
|
65638
|
+
const inpElmId = panelStuff.querySelector('#inpElmId');
|
65639
|
+
inpElmId.value = '';
|
65640
|
+
const rowId = elm.getAttribute('id');
|
65641
|
+
|
65642
|
+
if (rowId) {
|
65643
|
+
inpElmId.value = rowId;
|
65644
|
+
}
|
65645
|
+
|
65646
|
+
const inpElmCssClasses = panelStuff.querySelector('#inpElmCssClasses');
|
65647
|
+
inpElmCssClasses.value = '';
|
65648
|
+
const classes = elm.getAttribute('data-class');
|
65649
|
+
inpElmCssClasses.value = classes;
|
65650
|
+
}
|
65651
|
+
|
65652
|
+
}
|
65653
|
+
|
64704
65654
|
const dom$4 = new Dom();
|
64705
65655
|
|
64706
65656
|
class ElementAnimationStyles {
|
@@ -64977,24 +65927,29 @@ class ElementPanel {
|
|
64977
65927
|
<div style="width:100%;height:100%;overflow-y:auto;overflow-x:hidden;position:absolute;top:0px;left:0px;box-sizing:border-box;border-top:100px solid transparent;padding:0px;">
|
64978
65928
|
|
64979
65929
|
<div class="is-tabs" data-group="element" style="padding-right:0;padding-bottom:0;">
|
64980
|
-
<a title="${util.out('
|
65930
|
+
<a title="${util.out('General')}" id="tabElementGeneral" href="" data-content="divElementGeneral" class="active">${util.out('General')}</a>
|
65931
|
+
<a title="${util.out('Box')}" id="tabElementBox" href="" data-content="divElementBox">${util.out('Box')}</a>
|
64981
65932
|
<a title="${util.out('Spacing')}" id="tabElementSpacing" href="" data-content="divElementSpacing">${util.out('Spacing')}</a>
|
64982
|
-
<a title="${util.out('Border')}" id="tabElementBorder" href="" data-content="divElementBorder">${util.out('Border')}</a>
|
64983
65933
|
<a title="${util.out('Text')}" id="tabElementText" href="" data-content="divElementText">${util.out('Text')}</a>
|
64984
|
-
<a title="${util.out('More')}" id="tabElementMore" data-menu="
|
65934
|
+
<a title="${util.out('More')}" id="tabElementMore" data-menu="divElementMoreItems" href=""><svg class="is-icon-flex" style="width:15px;height:15px;"><use xlink:href="#ion-more"></use></svg></a>
|
64985
65935
|
</div>
|
64986
65936
|
|
64987
|
-
<ul id="
|
65937
|
+
<ul id="divElementMoreItems" style="top: 50px;left: 140px;" class="is-tabs-more" data-group="element" tabindex="-1" aria-modal="true" aria-hidden="true">
|
65938
|
+
<li title="${util.out('Border')}" id="tabElementBorder" data-content="divElementBorder" tabindex="0">${util.out('Border')}</li>
|
64988
65939
|
<li title="${util.out('Corners')}" id="tabElementCorner" data-content="divElementCorner" tabindex="0">${util.out('Corners')}</li>
|
64989
65940
|
<li title="${util.out('Shadow')}" id="tabElementShadow" data-content="divElementShadow" tabindex="0">${util.out('Shadow')}</li>
|
64990
65941
|
<li title="${util.out('Display')}" id="tabElementDisplay" data-content="divElementDisplay" tabindex="0">${util.out('Display')}</li>
|
64991
65942
|
<li title="${util.out('Position')}" id="tabElementPosition" data-content="divElementPosition" tabindex="0">${util.out('Position')}</li>
|
64992
65943
|
<li title="${util.out('Effects')}" id="tabElementEffect" data-content="divElementEffect" tabindex="0">${util.out('Effects')}</li>
|
64993
|
-
<li title="${util.out('Attributes')}" id="tabElementAttribute" data-content="divElementAttribute" tabindex="0">${util.out('Attributes')}</li>
|
65944
|
+
<li style="display:none" title="${util.out('Attributes')}" id="tabElementAttribute" data-content="divElementAttribute" tabindex="0">${util.out('Attributes')}</li>
|
64994
65945
|
${this.builder.opts.elementAnimate === true ? `<li title="${util.out('Animation')}" id="tabElementAnimation" data-content="divElementAnimation" tabindex="0">${util.out('Animation')}</li>` : ''}
|
65946
|
+
<li title="${util.out('More')}" id="tabElementMore" data-content="divElementMore" tabindex="0">${util.out('More')}</li>
|
64995
65947
|
</ul>
|
64996
65948
|
|
64997
|
-
<div id="
|
65949
|
+
<div id="divElementGeneral" class="is-tab-content active" tabindex="-1" data-group="element" style="display:flex;flex-flow:wrap;padding:12px 20px;">
|
65950
|
+
</div>
|
65951
|
+
|
65952
|
+
<div id="divElementBox" class="is-tab-content active" tabindex="-1" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">
|
64998
65953
|
</div>
|
64999
65954
|
|
65000
65955
|
<div id="divElementSpacing" class="is-tab-content" tabindex="-1" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">
|
@@ -65027,6 +65982,8 @@ class ElementPanel {
|
|
65027
65982
|
<div id="divElementAnimation" class="is-tab-content" tabindex="-1" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">
|
65028
65983
|
</div>
|
65029
65984
|
|
65985
|
+
<div id="divElementMore" class="is-tab-content" tabindex="-1" data-group="element" style="display:none;flex-flow:wrap;padding:12px 20px;">
|
65986
|
+
</div>
|
65030
65987
|
</div>
|
65031
65988
|
</div>
|
65032
65989
|
`;
|
@@ -65046,6 +66003,8 @@ class ElementPanel {
|
|
65046
66003
|
this.panel = panel;
|
65047
66004
|
const elementBoxStyles = new ElementBoxStyles(builder);
|
65048
66005
|
this.elementBoxStyles = elementBoxStyles;
|
66006
|
+
const elementGeneralStyles = new ElementGeneralStyles(builder);
|
66007
|
+
this.elementGeneralStyles = elementGeneralStyles;
|
65049
66008
|
const elementSpacingStyles = new ElementSpacingStyles(builder);
|
65050
66009
|
this.elementSpacingStyles = elementSpacingStyles;
|
65051
66010
|
const elementBorderStyles = new ElementBorderStyles(builder);
|
@@ -65064,6 +66023,8 @@ class ElementPanel {
|
|
65064
66023
|
this.elementEffectStyles = elementEffectStyles;
|
65065
66024
|
const elementAttributeStyles = new ElementAttributeStyles(builder);
|
65066
66025
|
this.elementAttributeStyles = elementAttributeStyles;
|
66026
|
+
const elementMoreStyles = new ElementMoreStyles(builder);
|
66027
|
+
this.elementMoreStyles = elementMoreStyles;
|
65067
66028
|
const elementAnimationStyles = new ElementAnimationStyles(builder);
|
65068
66029
|
this.elementAnimationStyles = elementAnimationStyles;
|
65069
66030
|
}
|
@@ -65075,6 +66036,7 @@ class ElementPanel {
|
|
65075
66036
|
}
|
65076
66037
|
|
65077
66038
|
inspect(elm) {
|
66039
|
+
this.elementGeneralStyles.readElementStyles(elm);
|
65078
66040
|
this.elementBoxStyles.readElementStyles(elm);
|
65079
66041
|
this.elementSpacingStyles.readElementStyles(elm);
|
65080
66042
|
this.elementBorderStyles.readElementStyles(elm);
|
@@ -65085,6 +66047,7 @@ class ElementPanel {
|
|
65085
66047
|
this.elementPositionStyles.readElementStyles(elm);
|
65086
66048
|
this.elementEffectStyles.readElementStyles(elm);
|
65087
66049
|
this.elementAttributeStyles.readElementStyles(elm);
|
66050
|
+
this.elementMoreStyles.readElementStyles(elm);
|
65088
66051
|
this.elementAnimationStyles.readElementStyles(elm);
|
65089
66052
|
let panel = this.panel;
|
65090
66053
|
let elms = this.builder.doc.querySelectorAll('[data-saveforundo]');
|