@innovastudio/contentbuilder 1.4.112 → 1.4.114
Sign up to get free protection for your applications and to get access to all the features.
@@ -5493,16 +5493,25 @@ class Util {
|
|
5493
5493
|
// let top = emptyinfo.getBoundingClientRect().top;
|
5494
5494
|
// const left = emptyinfo.getBoundingClientRect().left + (emptyinfo.offsetWidth * this.builder.opts.zoom)/2 - 11;
|
5495
5495
|
|
5496
|
+
/*
|
5496
5497
|
let top, left;
|
5497
|
-
if
|
5498
|
-
|
5499
|
-
|
5498
|
+
if(!this.builder.iframe) {
|
5499
|
+
top = emptyinfo.getBoundingClientRect().top;
|
5500
|
+
left = emptyinfo.getBoundingClientRect().left + (emptyinfo.offsetWidth * this.builder.opts.zoom)/2 - 11;
|
5500
5501
|
} else {
|
5501
|
-
|
5502
|
-
|
5503
|
-
|
5504
|
-
|
5502
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top;
|
5503
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left;
|
5504
|
+
top = emptyinfo.getBoundingClientRect().top + adjY;
|
5505
|
+
left = emptyinfo.getBoundingClientRect().left + ((emptyinfo.offsetWidth * this.builder.opts.zoom)/2 - 11) + adjX;
|
5505
5506
|
}
|
5507
|
+
*/
|
5508
|
+
const newPos = this.getElementPosition(emptyinfo);
|
5509
|
+
let top = newPos.top;
|
5510
|
+
let left = newPos.left;
|
5511
|
+
let scaleX = newPos.scaleX;
|
5512
|
+
let scaleY = newPos.scaleY;
|
5513
|
+
left = left + (emptyinfo.offsetWidth * (scaleX * this.builder.opts.zoom) / 2 - 11);
|
5514
|
+
top = top - (emptyinfo.offsetHeight - emptyinfo.offsetHeight * scaleY);
|
5506
5515
|
quickadd.style.display = 'flex';
|
5507
5516
|
this.showPop(quickadd, false, emptyinfo);
|
5508
5517
|
const w = quickadd.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
@@ -5673,16 +5682,9 @@ class Util {
|
|
5673
5682
|
const btnCellMore = this.colTool.querySelector('.cell-more');
|
5674
5683
|
columnMore.classList.add('transition1');
|
5675
5684
|
setTimeout(() => {
|
5676
|
-
|
5677
|
-
|
5678
|
-
|
5679
|
-
left = btnCellMore.getBoundingClientRect().left + window.pageXOffset;
|
5680
|
-
} else {
|
5681
|
-
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
5682
|
-
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
5683
|
-
top = btnCellMore.getBoundingClientRect().top + adjY;
|
5684
|
-
left = btnCellMore.getBoundingClientRect().left + adjX;
|
5685
|
-
}
|
5685
|
+
const newPos = this.getElementPosition(btnCellMore);
|
5686
|
+
let top = newPos.top;
|
5687
|
+
let left = newPos.left;
|
5686
5688
|
columnMore.style.top = top + 35 + 'px';
|
5687
5689
|
columnMore.style.left = left - 7 + 'px';
|
5688
5690
|
setTimeout(() => {
|
@@ -7258,6 +7260,39 @@ class Util {
|
|
7258
7260
|
}
|
7259
7261
|
return pageTemplate;
|
7260
7262
|
}
|
7263
|
+
getElementPosition(element) {
|
7264
|
+
const iframe = this.builder.iframe;
|
7265
|
+
let top, left;
|
7266
|
+
let scaleX, scaleY;
|
7267
|
+
if (this.builder.iframe) {
|
7268
|
+
let divContentView = document.querySelector('.is-content-view');
|
7269
|
+
if (!divContentView) divContentView = iframe.parentNode;
|
7270
|
+
const divContentViewStyles = window.getComputedStyle(divContentView);
|
7271
|
+
const transform = divContentViewStyles.transform;
|
7272
|
+
if (transform !== 'none') {
|
7273
|
+
const matrixValues = transform.match(/matrix\(([0-9., -]+)\)/)[1].split(',');
|
7274
|
+
scaleX = parseFloat(matrixValues[0]);
|
7275
|
+
scaleY = parseFloat(matrixValues[3]);
|
7276
|
+
} else {
|
7277
|
+
scaleX = 1;
|
7278
|
+
scaleY = 1;
|
7279
|
+
}
|
7280
|
+
const iframeRect = iframe.getBoundingClientRect();
|
7281
|
+
top = element.getBoundingClientRect().top * scaleY + iframeRect.top;
|
7282
|
+
left = element.getBoundingClientRect().left * scaleX + iframeRect.left;
|
7283
|
+
} else {
|
7284
|
+
top = element.getBoundingClientRect().top;
|
7285
|
+
left = element.getBoundingClientRect().left;
|
7286
|
+
scaleX = 1;
|
7287
|
+
scaleY = 1;
|
7288
|
+
}
|
7289
|
+
return {
|
7290
|
+
top,
|
7291
|
+
left,
|
7292
|
+
scaleX,
|
7293
|
+
scaleY
|
7294
|
+
};
|
7295
|
+
}
|
7261
7296
|
}
|
7262
7297
|
class Dom {
|
7263
7298
|
constructor(builder) {
|
@@ -18529,18 +18564,24 @@ class RowTool$1 {
|
|
18529
18564
|
let rowMore = builderStuff.querySelector('.rowmore');
|
18530
18565
|
dom.addClass(rowMore, 'transition1');
|
18531
18566
|
const elm = rowTool.querySelector('.row-more');
|
18567
|
+
|
18568
|
+
/*
|
18532
18569
|
let top, left;
|
18533
|
-
if
|
18534
|
-
|
18535
|
-
|
18570
|
+
if(!this.builder.iframe) {
|
18571
|
+
top = elm.getBoundingClientRect().top + window.pageYOffset;
|
18572
|
+
left = elm.getBoundingClientRect().left + window.pageXOffset;
|
18536
18573
|
} else {
|
18537
|
-
|
18538
|
-
|
18539
|
-
|
18540
|
-
|
18541
|
-
|
18542
|
-
|
18574
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
18575
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
18576
|
+
top = elm.getBoundingClientRect().top;
|
18577
|
+
left = elm.getBoundingClientRect().left;
|
18578
|
+
top = top + adjY;
|
18579
|
+
left = left + adjX;
|
18543
18580
|
}
|
18581
|
+
*/
|
18582
|
+
const newPos = this.builder.util.getElementPosition(elm);
|
18583
|
+
let top = newPos.top;
|
18584
|
+
let left = newPos.left;
|
18544
18585
|
|
18545
18586
|
// const w = rowMore.offsetWidth;
|
18546
18587
|
rowMore.style.top = top - 8 + 'px';
|
@@ -49731,6 +49772,13 @@ class Image$1 {
|
|
49731
49772
|
|
49732
49773
|
// get active image
|
49733
49774
|
let activeImage = this.builder.activeImage;
|
49775
|
+
let newPos = this.builder.util.getElementPosition(activeImage);
|
49776
|
+
if (this.builder.iframe) {
|
49777
|
+
let scaleX = newPos.scaleX;
|
49778
|
+
let scaleY = newPos.scaleY;
|
49779
|
+
width = width / scaleX;
|
49780
|
+
height = height / scaleY;
|
49781
|
+
}
|
49734
49782
|
let bCircular = false;
|
49735
49783
|
if (dom.hasClass(activeImage.parentNode, 'img-circular')) {
|
49736
49784
|
activeImage = activeImage.parentNode;
|
@@ -49758,17 +49806,21 @@ class Image$1 {
|
|
49758
49806
|
}
|
49759
49807
|
|
49760
49808
|
// sync (target = imageResizer)
|
49761
|
-
|
49809
|
+
/*
|
49762
49810
|
let top, left;
|
49763
|
-
if
|
49764
|
-
|
49765
|
-
|
49811
|
+
if(!this.builder.iframe) {
|
49812
|
+
top = activeImage.getBoundingClientRect().top + window.pageYOffset;
|
49813
|
+
left = activeImage.getBoundingClientRect().left + window.pageXOffset;
|
49766
49814
|
} else {
|
49767
|
-
|
49768
|
-
|
49769
|
-
|
49770
|
-
|
49815
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
49816
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
49817
|
+
top = activeImage.getBoundingClientRect().top + adjY;
|
49818
|
+
left = activeImage.getBoundingClientRect().left+ adjX;
|
49771
49819
|
}
|
49820
|
+
*/
|
49821
|
+
newPos = this.builder.util.getElementPosition(activeImage);
|
49822
|
+
let top = newPos.top;
|
49823
|
+
let left = newPos.left;
|
49772
49824
|
target.style.top = top + 'px';
|
49773
49825
|
target.style.left = left + 'px';
|
49774
49826
|
target.style.width = activeImage.offsetWidth + 'px';
|
@@ -49841,7 +49893,8 @@ class Image$1 {
|
|
49841
49893
|
//Trigger Change event
|
49842
49894
|
this.builder.opts.onChange();
|
49843
49895
|
});
|
49844
|
-
document.querySelector('.moveable-control-box')
|
49896
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
49897
|
+
if (movControlBox) movControlBox.style.display = 'none';
|
49845
49898
|
imageResizer.addEventListener('click', () => {
|
49846
49899
|
if (!this.builder.activeImage) return;
|
49847
49900
|
this.builder.activeImage.click();
|
@@ -49881,16 +49934,22 @@ class Image$1 {
|
|
49881
49934
|
imageProgress.style.display = 'table';
|
49882
49935
|
imageProgress.style.width = img.offsetWidth * this.builder.opts.zoom + 'px';
|
49883
49936
|
imageProgress.style.height = img.offsetHeight * this.builder.opts.zoom + 'px';
|
49937
|
+
|
49938
|
+
/*
|
49884
49939
|
let top, left;
|
49885
|
-
if
|
49886
|
-
|
49887
|
-
|
49940
|
+
if(!this.builder.iframe) {
|
49941
|
+
top = img.getBoundingClientRect().top + window.pageYOffset;
|
49942
|
+
left = img.getBoundingClientRect().left + window.pageXOffset;
|
49888
49943
|
} else {
|
49889
|
-
|
49890
|
-
|
49891
|
-
|
49892
|
-
|
49944
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
49945
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
49946
|
+
top = img.getBoundingClientRect().top + adjY;
|
49947
|
+
left = img.getBoundingClientRect().left+ adjX;
|
49893
49948
|
}
|
49949
|
+
*/
|
49950
|
+
const newPos = this.builder.util.getElementPosition(img);
|
49951
|
+
let top = newPos.top + window.pageYOffset;
|
49952
|
+
let left = newPos.left + window.pageXOffset;
|
49894
49953
|
imageProgress.style.top = top + 'px';
|
49895
49954
|
imageProgress.style.left = left + 'px';
|
49896
49955
|
|
@@ -49973,7 +50032,8 @@ class Image$1 {
|
|
49973
50032
|
dom.addEventListener(btnImageLink, 'click', () => {
|
49974
50033
|
//imageTool.style.display = 'none';
|
49975
50034
|
|
49976
|
-
document.querySelector('.moveable-control-box')
|
50035
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
50036
|
+
if (movControlBox) movControlBox.style.display = 'none'; //needed by Safari (prevent z-index problem)
|
49977
50037
|
|
49978
50038
|
if (this.builder.opts.onImageSettingClick) {
|
49979
50039
|
this.builder.opts.onImageSettingClick();
|
@@ -50032,7 +50092,8 @@ class Image$1 {
|
|
50032
50092
|
elm = modalImageLink.querySelector('.input-cancel');
|
50033
50093
|
dom.addEventListener(elm, 'click', () => {
|
50034
50094
|
util.hideModal(modalImageLink);
|
50035
|
-
document.querySelector('.moveable-control-box')
|
50095
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
50096
|
+
if (movControlBox) movControlBox.style.display = 'none'; //needed by Safari (prevent z-index problem)
|
50036
50097
|
});
|
50037
50098
|
|
50038
50099
|
// Apply link to image
|
@@ -50347,7 +50408,8 @@ class Image$1 {
|
|
50347
50408
|
zoomable: false
|
50348
50409
|
});
|
50349
50410
|
}
|
50350
|
-
document.querySelector('.moveable-control-box')
|
50411
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
50412
|
+
if (movControlBox) movControlBox.style.display = 'none'; //needed by Safari (prevent z-index problem)
|
50351
50413
|
});
|
50352
50414
|
|
50353
50415
|
// Set crop proportion
|
@@ -50364,7 +50426,8 @@ class Image$1 {
|
|
50364
50426
|
let btnCancel = modalImageEdit.querySelector('.input-cancel');
|
50365
50427
|
dom.addEventListener(btnCancel, 'click', () => {
|
50366
50428
|
util.hideModal(modalImageEdit);
|
50367
|
-
document.querySelector('.moveable-control-box')
|
50429
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
50430
|
+
if (movControlBox && !this.builder.hideImageResizer) movControlBox.style.display = 'block'; //needed by Safari (prevent z-index problem)
|
50368
50431
|
});
|
50369
50432
|
|
50370
50433
|
// Apply (crop) image
|
@@ -50470,23 +50533,29 @@ class Image$1 {
|
|
50470
50533
|
if (dom.hasClass(elm.parentNode, 'img-circular')) {
|
50471
50534
|
elm = elm.parentNode;
|
50472
50535
|
}
|
50536
|
+
const newPos = this.builder.util.getElementPosition(elm);
|
50537
|
+
let scaleX = newPos.scaleX;
|
50473
50538
|
imageTool.style.display = 'flex';
|
50474
50539
|
let _toolwidth = imageTool.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
50475
50540
|
|
50476
|
-
let w = elm.offsetWidth * this.builder.opts.zoom;
|
50541
|
+
let w = elm.offsetWidth * scaleX * this.builder.opts.zoom;
|
50477
50542
|
// let top = elm.getBoundingClientRect().top + window.pageYOffset;
|
50478
50543
|
// let left = elm.getBoundingClientRect().left+ window.pageXOffset;
|
50479
50544
|
|
50545
|
+
/*
|
50480
50546
|
let top, left;
|
50481
|
-
if
|
50482
|
-
|
50483
|
-
|
50547
|
+
if(!this.builder.iframe) {
|
50548
|
+
top = elm.getBoundingClientRect().top + window.pageYOffset;
|
50549
|
+
left = elm.getBoundingClientRect().left + window.pageXOffset;
|
50484
50550
|
} else {
|
50485
|
-
|
50486
|
-
|
50487
|
-
|
50488
|
-
|
50551
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
50552
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
50553
|
+
top = elm.getBoundingClientRect().top + adjY;
|
50554
|
+
left = elm.getBoundingClientRect().left+ adjX;
|
50489
50555
|
}
|
50556
|
+
*/
|
50557
|
+
let top = newPos.top + window.pageYOffset;
|
50558
|
+
let left = newPos.left + window.pageXOffset;
|
50490
50559
|
let toolLeft = left + (w / 2 - _toolwidth / 2);
|
50491
50560
|
|
50492
50561
|
//Adjust left in case an element is outside the screen
|
@@ -50504,12 +50573,13 @@ class Image$1 {
|
|
50504
50573
|
imageResizer.style.left = left + 'px';
|
50505
50574
|
imageResizer.style.width = elm.offsetWidth * this.builder.opts.zoom + 'px';
|
50506
50575
|
imageResizer.style.height = elm.offsetHeight * this.builder.opts.zoom + 'px';
|
50507
|
-
imageResizer.style.display = 'block';
|
50576
|
+
if (!this.builder.hideImageResizer) imageResizer.style.display = 'block';
|
50508
50577
|
this.repositionHandler(elm.offsetWidth, elm.offsetHeight);
|
50509
50578
|
|
50510
50579
|
// moveable
|
50511
|
-
this.builder.moveable.updateRect();
|
50512
|
-
document.querySelector('.moveable-control-box')
|
50580
|
+
if (this.builder.moveable) this.builder.moveable.updateRect();
|
50581
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
50582
|
+
if (movControlBox && !this.builder.hideImageResizer) movControlBox.style.display = 'block';
|
50513
50583
|
if (elm.offsetWidth === 0) {
|
50514
50584
|
// when there is image link applied
|
50515
50585
|
|
@@ -50525,8 +50595,9 @@ class Image$1 {
|
|
50525
50595
|
imageResizer.style.left = '-10px';
|
50526
50596
|
imageResizer.style.width = '1px';
|
50527
50597
|
imageResizer.style.height = '1px';
|
50528
|
-
this.builder.moveable.updateRect();
|
50529
|
-
document.querySelector('.moveable-control-box')
|
50598
|
+
if (this.builder.moveable) this.builder.moveable.updateRect();
|
50599
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
50600
|
+
if (movControlBox) movControlBox.style.display = 'none';
|
50530
50601
|
}
|
50531
50602
|
this.util.repositionColumnTool();
|
50532
50603
|
}, 0); // refesh() is called after img onload, so no need to have a delay.
|
@@ -50542,23 +50613,29 @@ class Image$1 {
|
|
50542
50613
|
if (dom.hasClass(elm.parentNode, 'img-circular')) {
|
50543
50614
|
elm = elm.parentNode;
|
50544
50615
|
}
|
50616
|
+
const newPos = this.builder.util.getElementPosition(elm);
|
50617
|
+
let scaleX = newPos.scaleX;
|
50545
50618
|
imageTool.style.display = 'flex';
|
50546
50619
|
let _toolwidth = imageTool.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
50547
50620
|
|
50548
|
-
let w = elm.offsetWidth * this.builder.opts.zoom;
|
50621
|
+
let w = elm.offsetWidth * scaleX * this.builder.opts.zoom;
|
50549
50622
|
// let top = elm.getBoundingClientRect().top + window.pageYOffset;
|
50550
50623
|
// let left = elm.getBoundingClientRect().left+ window.pageXOffset;
|
50551
50624
|
|
50625
|
+
/*
|
50552
50626
|
let top, left;
|
50553
|
-
if
|
50554
|
-
|
50555
|
-
|
50627
|
+
if(!this.builder.iframe) {
|
50628
|
+
top = elm.getBoundingClientRect().top + window.pageYOffset;
|
50629
|
+
left = elm.getBoundingClientRect().left + window.pageXOffset;
|
50556
50630
|
} else {
|
50557
|
-
|
50558
|
-
|
50559
|
-
|
50560
|
-
|
50631
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
50632
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
50633
|
+
top = elm.getBoundingClientRect().top + adjY;
|
50634
|
+
left = elm.getBoundingClientRect().left+ adjX;
|
50561
50635
|
}
|
50636
|
+
*/
|
50637
|
+
let top = newPos.top + window.pageYOffset;
|
50638
|
+
let left = newPos.left + window.pageXOffset;
|
50562
50639
|
let toolLeft = left + (w / 2 - _toolwidth / 2);
|
50563
50640
|
|
50564
50641
|
//Adjust left in case an element is outside the screen
|
@@ -50576,12 +50653,13 @@ class Image$1 {
|
|
50576
50653
|
imageResizer.style.left = left + 'px';
|
50577
50654
|
imageResizer.style.width = elm.offsetWidth * this.builder.opts.zoom + 'px';
|
50578
50655
|
imageResizer.style.height = elm.offsetHeight * this.builder.opts.zoom + 'px';
|
50579
|
-
imageResizer.style.display = 'block';
|
50656
|
+
if (!this.builder.hideImageResizer) imageResizer.style.display = 'block';
|
50580
50657
|
this.repositionHandler(elm.offsetWidth, elm.offsetHeight);
|
50581
50658
|
|
50582
50659
|
// moveable
|
50583
|
-
this.builder.moveable.updateRect();
|
50584
|
-
document.querySelector('.moveable-control-box')
|
50660
|
+
if (this.builder.moveable) this.builder.moveable.updateRect();
|
50661
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
50662
|
+
if (movControlBox && !this.builder.hideImageResizer) movControlBox.style.display = 'block';
|
50585
50663
|
}
|
50586
50664
|
}
|
50587
50665
|
click(e) {
|
@@ -50600,21 +50678,28 @@ class Image$1 {
|
|
50600
50678
|
if (dom.hasClass(elm.parentNode, 'img-circular')) {
|
50601
50679
|
elm = elm.parentNode;
|
50602
50680
|
}
|
50681
|
+
const newPos = this.builder.util.getElementPosition(elm);
|
50682
|
+
let scaleX = newPos.scaleX;
|
50603
50683
|
let imageTool = this.imageTool;
|
50604
50684
|
imageTool.style.display = 'flex';
|
50605
50685
|
let _toolwidth = imageTool.offsetWidth; //to get value, element must not hidden (display:none). So set display:flex before this.
|
50606
50686
|
|
50607
|
-
let w = elm.offsetWidth * this.builder.opts.zoom;
|
50687
|
+
let w = elm.offsetWidth * scaleX * this.builder.opts.zoom;
|
50688
|
+
|
50689
|
+
/*
|
50608
50690
|
let top, left;
|
50609
|
-
if
|
50610
|
-
|
50611
|
-
|
50691
|
+
if(!this.builder.iframe) {
|
50692
|
+
top = elm.getBoundingClientRect().top + window.pageYOffset;
|
50693
|
+
left = elm.getBoundingClientRect().left + window.pageXOffset;
|
50612
50694
|
} else {
|
50613
|
-
|
50614
|
-
|
50615
|
-
|
50616
|
-
|
50695
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
50696
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
50697
|
+
top = elm.getBoundingClientRect().top + adjY;
|
50698
|
+
left = elm.getBoundingClientRect().left+ adjX;
|
50617
50699
|
}
|
50700
|
+
*/
|
50701
|
+
let top = newPos.top + window.pageYOffset;
|
50702
|
+
let left = newPos.left + window.pageXOffset;
|
50618
50703
|
let toolLeft = left + (w / 2 - _toolwidth / 2);
|
50619
50704
|
|
50620
50705
|
//Adjust left in case an element is outside the screen
|
@@ -50631,21 +50716,29 @@ class Image$1 {
|
|
50631
50716
|
// Image Resizer
|
50632
50717
|
if (!elm.hasAttribute('data-noresize')) {
|
50633
50718
|
let imageResizer = this.imageResizer;
|
50719
|
+
|
50720
|
+
/*
|
50634
50721
|
let top, left;
|
50635
|
-
if
|
50636
|
-
|
50637
|
-
|
50722
|
+
if(!this.builder.iframe) {
|
50723
|
+
top = elm.getBoundingClientRect().top + window.pageYOffset;
|
50724
|
+
left = elm.getBoundingClientRect().left + window.pageXOffset;
|
50638
50725
|
} else {
|
50639
|
-
|
50640
|
-
|
50641
|
-
|
50642
|
-
|
50726
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
50727
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
50728
|
+
top = elm.getBoundingClientRect().top + adjY;
|
50729
|
+
left = elm.getBoundingClientRect().left+ adjX;
|
50643
50730
|
}
|
50731
|
+
*/
|
50732
|
+
const newPos = this.builder.util.getElementPosition(elm);
|
50733
|
+
let top = newPos.top + window.pageYOffset;
|
50734
|
+
let left = newPos.left + window.pageXOffset;
|
50735
|
+
let scaleX = newPos.scaleX;
|
50736
|
+
let scaleY = newPos.scaleY;
|
50644
50737
|
imageResizer.style.top = top + 'px';
|
50645
50738
|
imageResizer.style.left = left + 'px';
|
50646
|
-
imageResizer.style.width = elm.offsetWidth * this.builder.opts.zoom + 'px';
|
50647
|
-
imageResizer.style.height = elm.offsetHeight * this.builder.opts.zoom + 'px';
|
50648
|
-
imageResizer.style.display = 'block';
|
50739
|
+
imageResizer.style.width = elm.offsetWidth * this.builder.opts.zoom * scaleX + 'px';
|
50740
|
+
imageResizer.style.height = elm.offsetHeight * this.builder.opts.zoom * scaleY + 'px';
|
50741
|
+
if (!this.builder.hideImageResizer) imageResizer.style.display = 'block';
|
50649
50742
|
this.repositionHandler(elm.offsetWidth, elm.offsetHeight);
|
50650
50743
|
|
50651
50744
|
//Get & save original image width
|
@@ -50660,8 +50753,9 @@ class Image$1 {
|
|
50660
50753
|
imageResizer.setAttribute('data-width', Math.round(imgwidthpx));
|
50661
50754
|
|
50662
50755
|
// moveable
|
50663
|
-
this.builder.moveable.updateRect();
|
50664
|
-
document.querySelector('.moveable-control-box')
|
50756
|
+
if (this.builder.moveable) this.builder.moveable.updateRect();
|
50757
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
50758
|
+
if (movControlBox && !this.builder.hideImageResizer) movControlBox.style.display = 'block';
|
50665
50759
|
|
50666
50760
|
/*
|
50667
50761
|
if(elm.getAttribute('data-mov')!=='1'){
|
@@ -50773,8 +50867,9 @@ class Image$1 {
|
|
50773
50867
|
imageResizer.style.left = '-10px';
|
50774
50868
|
imageResizer.style.width = '1px';
|
50775
50869
|
imageResizer.style.height = '1px';
|
50776
|
-
this.builder.moveable.updateRect();
|
50777
|
-
document.querySelector('.moveable-control-box')
|
50870
|
+
if (this.builder.moveable) this.builder.moveable.updateRect();
|
50871
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
50872
|
+
if (movControlBox) movControlBox.style.display = 'none';
|
50778
50873
|
}
|
50779
50874
|
let prog = false;
|
50780
50875
|
if (e.screenX && e.screenX !== 0 && e.screenY && e.screenY !== 0) ; else {
|
@@ -50791,8 +50886,9 @@ class Image$1 {
|
|
50791
50886
|
imageResizer.style.left = '-10px';
|
50792
50887
|
imageResizer.style.width = '1px';
|
50793
50888
|
imageResizer.style.height = '1px';
|
50794
|
-
this.builder.moveable.updateRect();
|
50795
|
-
document.querySelector('.moveable-control-box')
|
50889
|
+
if (this.builder.moveable) this.builder.moveable.updateRect();
|
50890
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
50891
|
+
if (movControlBox) movControlBox.style.display = 'none';
|
50796
50892
|
}
|
50797
50893
|
|
50798
50894
|
// NOTE:
|
@@ -50817,8 +50913,9 @@ class Image$1 {
|
|
50817
50913
|
imageResizer.style.left = '-10px';
|
50818
50914
|
imageResizer.style.width = '1px';
|
50819
50915
|
imageResizer.style.height = '1px';
|
50820
|
-
this.builder.moveable.updateRect();
|
50821
|
-
document.querySelector('.moveable-control-box')
|
50916
|
+
if (this.builder.moveable) this.builder.moveable.updateRect();
|
50917
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
50918
|
+
if (movControlBox) movControlBox.style.display = 'none';
|
50822
50919
|
}
|
50823
50920
|
} else {
|
50824
50921
|
let imageTool = this.imageTool;
|
@@ -50832,8 +50929,9 @@ class Image$1 {
|
|
50832
50929
|
imageResizer.style.left = '-10px';
|
50833
50930
|
imageResizer.style.width = '1px';
|
50834
50931
|
imageResizer.style.height = '1px';
|
50835
|
-
this.builder.moveable.updateRect();
|
50836
|
-
document.querySelector('.moveable-control-box')
|
50932
|
+
if (this.builder.moveable) this.builder.moveable.updateRect();
|
50933
|
+
const movControlBox = document.querySelector('.moveable-control-box');
|
50934
|
+
if (movControlBox) movControlBox.style.display = 'none';
|
50837
50935
|
}
|
50838
50936
|
}
|
50839
50937
|
|
@@ -50861,6 +50959,11 @@ class Image$1 {
|
|
50861
50959
|
let imageResizer = document.querySelector('#divImageResizer');
|
50862
50960
|
imageResizer.style.width = width * this.builder.opts.zoom + 'px';
|
50863
50961
|
imageResizer.style.height = height * this.builder.opts.zoom + 'px';
|
50962
|
+
const newPos = this.builder.util.getElementPosition(imageResizer);
|
50963
|
+
let scaleX = newPos.scaleX;
|
50964
|
+
let scaleY = newPos.scaleY;
|
50965
|
+
imageResizer.style.width = width * this.builder.opts.zoom * scaleX + 'px';
|
50966
|
+
imageResizer.style.height = height * this.builder.opts.zoom * scaleY + 'px';
|
50864
50967
|
}
|
50865
50968
|
processImage(file, targetImg, processImageDone) {
|
50866
50969
|
//file can also be an URL (from the same host), ex. file = "/assets/image.jpg";
|
@@ -58065,15 +58168,25 @@ class RowTool {
|
|
58065
58168
|
let quickadd = this.builder.builderStuff.querySelector('.is-pop.quickadd');
|
58066
58169
|
let tabs = quickadd.querySelector('.is-pop-tabs');
|
58067
58170
|
tabs.style.display = 'flex';
|
58171
|
+
|
58172
|
+
/*
|
58068
58173
|
let top, left;
|
58069
|
-
if
|
58070
|
-
|
58071
|
-
|
58174
|
+
if(!this.builder.iframe) {
|
58175
|
+
top = btnCellAdd.getBoundingClientRect().top + window.pageYOffset;
|
58176
|
+
left = btnCellAdd.getBoundingClientRect().left + window.pageXOffset;
|
58072
58177
|
} else {
|
58073
|
-
|
58074
|
-
|
58075
|
-
|
58076
|
-
|
58178
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
58179
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
58180
|
+
top = btnCellAdd.getBoundingClientRect().top + adjY + 10;
|
58181
|
+
left = btnCellAdd.getBoundingClientRect().left + adjX + 5;
|
58182
|
+
}
|
58183
|
+
*/
|
58184
|
+
const newPos = this.util.getElementPosition(btnCellAdd);
|
58185
|
+
let top = newPos.top + window.pageYOffset;
|
58186
|
+
let left = newPos.left + window.pageXOffset;
|
58187
|
+
if (this.builder.iframe) {
|
58188
|
+
// top = top;
|
58189
|
+
left = left + 3;
|
58077
58190
|
}
|
58078
58191
|
|
58079
58192
|
// quickadd.style.display = 'flex';
|
@@ -58100,16 +58213,22 @@ class RowTool {
|
|
58100
58213
|
if (btnCellMore) dom.addEventListener(btnCellMore, 'click', () => {
|
58101
58214
|
let cell = util.cellSelected();
|
58102
58215
|
if (!cell) return;
|
58216
|
+
|
58217
|
+
/*
|
58103
58218
|
let top, left;
|
58104
|
-
if
|
58105
|
-
|
58106
|
-
|
58219
|
+
if(!this.builder.iframe) {
|
58220
|
+
top = btnCellMore.getBoundingClientRect().top + window.pageYOffset;
|
58221
|
+
left = btnCellMore.getBoundingClientRect().left + window.pageXOffset;
|
58107
58222
|
} else {
|
58108
|
-
|
58109
|
-
|
58110
|
-
|
58111
|
-
|
58223
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
58224
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
58225
|
+
top = btnCellMore.getBoundingClientRect().top + adjY;
|
58226
|
+
left = btnCellMore.getBoundingClientRect().left + adjX;
|
58112
58227
|
}
|
58228
|
+
*/
|
58229
|
+
const newPos = this.util.getElementPosition(btnCellMore);
|
58230
|
+
let top = newPos.top + window.pageYOffset;
|
58231
|
+
let left = newPos.left + window.pageXOffset;
|
58113
58232
|
const columnMore = builderStuff.querySelector('.columnmore');
|
58114
58233
|
|
58115
58234
|
// columnMore.style.display = 'flex';
|
@@ -58165,7 +58284,7 @@ class RowTool {
|
|
58165
58284
|
// Grid Editor Status
|
58166
58285
|
// On/off outline button
|
58167
58286
|
const btnGridOutline = grideditor.querySelector('.grid-outline');
|
58168
|
-
const container =
|
58287
|
+
const container = this.builder.doc.querySelector(this.builder.opts.container); // get one
|
58169
58288
|
if (container.hasAttribute('gridoutline')) {
|
58170
58289
|
dom.addClass(btnGridOutline, 'on');
|
58171
58290
|
} else {
|
@@ -58205,16 +58324,21 @@ class RowTool {
|
|
58205
58324
|
// const top = btnMore.getBoundingClientRect().top + window.pageYOffset;
|
58206
58325
|
// const left = btnMore.getBoundingClientRect().left + window.pageXOffset;
|
58207
58326
|
|
58327
|
+
/*
|
58208
58328
|
let top, left;
|
58209
|
-
if
|
58210
|
-
|
58211
|
-
|
58329
|
+
if(!this.builder.iframe) {
|
58330
|
+
top = btnMore.getBoundingClientRect().top + window.pageYOffset;
|
58331
|
+
left = btnMore.getBoundingClientRect().left + window.pageXOffset;
|
58212
58332
|
} else {
|
58213
|
-
|
58214
|
-
|
58215
|
-
|
58216
|
-
|
58333
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
58334
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
58335
|
+
top = btnMore.getBoundingClientRect().top + adjY;
|
58336
|
+
left = btnMore.getBoundingClientRect().left + adjX;
|
58217
58337
|
}
|
58338
|
+
*/
|
58339
|
+
const newPos = this.util.getElementPosition(btnMore);
|
58340
|
+
let top = newPos.top + window.pageYOffset;
|
58341
|
+
let left = newPos.left + window.pageXOffset;
|
58218
58342
|
|
58219
58343
|
// rowMore.style.display = 'flex';
|
58220
58344
|
util.showPop(rowMore, false, btnMore);
|
@@ -58391,16 +58515,22 @@ class RowAddTool {
|
|
58391
58515
|
let tabs = quickadd.querySelector('.is-pop-tabs');
|
58392
58516
|
tabs.style.display = 'none';
|
58393
58517
|
const viewportHeight = window.innerHeight;
|
58518
|
+
|
58519
|
+
/*
|
58394
58520
|
let top, left;
|
58395
|
-
if
|
58396
|
-
|
58397
|
-
|
58521
|
+
if(!this.builder.iframe) {
|
58522
|
+
top = btnRowAdd.getBoundingClientRect().top;
|
58523
|
+
left = btnRowAdd.getBoundingClientRect().left;
|
58398
58524
|
} else {
|
58399
|
-
|
58400
|
-
|
58401
|
-
|
58402
|
-
|
58525
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top;
|
58526
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left;
|
58527
|
+
top = btnRowAdd.getBoundingClientRect().top + adjY;
|
58528
|
+
left = btnRowAdd.getBoundingClientRect().left + adjX;
|
58403
58529
|
}
|
58530
|
+
*/
|
58531
|
+
const newPos = util.getElementPosition(btnRowAdd);
|
58532
|
+
let top = newPos.top;
|
58533
|
+
let left = newPos.left;
|
58404
58534
|
|
58405
58535
|
// quickadd.style.display = 'flex';
|
58406
58536
|
util.showPop(quickadd, false, btnRowAdd);
|
@@ -66242,17 +66372,22 @@ class ElementTool {
|
|
66242
66372
|
let tabs = quickadd.querySelector('.is-pop-tabs');
|
66243
66373
|
tabs.style.display = 'none';
|
66244
66374
|
const viewportHeight = window.innerHeight;
|
66375
|
+
|
66376
|
+
/*
|
66245
66377
|
let top, left;
|
66246
|
-
if
|
66247
|
-
|
66248
|
-
|
66378
|
+
if(!this.builder.iframe) {
|
66379
|
+
top = elmAdd.getBoundingClientRect().top;
|
66380
|
+
left = elmAdd.getBoundingClientRect().left;
|
66249
66381
|
} else {
|
66250
|
-
|
66251
|
-
|
66252
|
-
|
66253
|
-
|
66254
|
-
left = elmAdd.getBoundingClientRect().left + adjX;
|
66382
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top;// + window.pageYOffset;
|
66383
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left;// + window.pageXOffset;
|
66384
|
+
top = elmAdd.getBoundingClientRect().top + adjY ;
|
66385
|
+
left = elmAdd.getBoundingClientRect().left + adjX;
|
66255
66386
|
}
|
66387
|
+
*/
|
66388
|
+
const newPos = this.builder.util.getElementPosition(elmAdd);
|
66389
|
+
let top = newPos.top;
|
66390
|
+
let left = newPos.left;
|
66256
66391
|
|
66257
66392
|
// quickadd.style.display = 'flex';
|
66258
66393
|
util.showPop(quickadd, false, elmAdd);
|
@@ -66365,17 +66500,22 @@ class ElementTool {
|
|
66365
66500
|
const btnMore = elementTool.querySelector('.elm-more');
|
66366
66501
|
dom.addEventListener(btnMore, 'click', () => {
|
66367
66502
|
const viewportHeight = window.innerHeight;
|
66503
|
+
|
66504
|
+
/*
|
66368
66505
|
let top, left;
|
66369
|
-
if
|
66370
|
-
|
66371
|
-
|
66506
|
+
if(!this.builder.iframe) {
|
66507
|
+
top = btnMore.getBoundingClientRect().top;
|
66508
|
+
left = btnMore.getBoundingClientRect().left;
|
66372
66509
|
} else {
|
66373
|
-
|
66374
|
-
|
66375
|
-
|
66376
|
-
|
66377
|
-
left = btnMore.getBoundingClientRect().left + adjX;
|
66510
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top;// + window.pageYOffset;
|
66511
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left;// + window.pageXOffset;
|
66512
|
+
top = btnMore.getBoundingClientRect().top + adjY;
|
66513
|
+
left = btnMore.getBoundingClientRect().left + adjX;
|
66378
66514
|
}
|
66515
|
+
*/
|
66516
|
+
const newPos = this.builder.util.getElementPosition(btnMore);
|
66517
|
+
let top = newPos.top;
|
66518
|
+
let left = newPos.left;
|
66379
66519
|
|
66380
66520
|
// elementMore.style.display = 'flex';
|
66381
66521
|
util.showPop(elementMore, false, btnMore);
|
@@ -66541,18 +66681,24 @@ class ElementTool {
|
|
66541
66681
|
dom.addClass(elementMore, 'transition1');
|
66542
66682
|
let elmMore = elementTool.querySelector('.elm-more');
|
66543
66683
|
const viewportHeight = window.innerHeight;
|
66684
|
+
|
66685
|
+
/*
|
66544
66686
|
let top, left;
|
66545
|
-
if
|
66546
|
-
|
66547
|
-
|
66687
|
+
if(!this.builder.iframe) {
|
66688
|
+
top = elmMore.getBoundingClientRect().top;
|
66689
|
+
left = elmMore.getBoundingClientRect().left;
|
66548
66690
|
} else {
|
66549
|
-
|
66550
|
-
|
66551
|
-
|
66552
|
-
|
66553
|
-
|
66554
|
-
|
66691
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top;
|
66692
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left;
|
66693
|
+
top = elmMore.getBoundingClientRect().top;
|
66694
|
+
left = elmMore.getBoundingClientRect().left;
|
66695
|
+
top = top + adjY;
|
66696
|
+
left = left + adjX;
|
66555
66697
|
}
|
66698
|
+
*/
|
66699
|
+
const newPos = this.builder.util.getElementPosition(elmMore);
|
66700
|
+
let top = newPos.top;
|
66701
|
+
let left = newPos.left;
|
66556
66702
|
|
66557
66703
|
// elementMore.style.display = 'flex';
|
66558
66704
|
const btnMore = elementTool.querySelector('.elm-more');
|
@@ -73203,11 +73349,20 @@ class Tooltip {
|
|
73203
73349
|
let top, left;
|
73204
73350
|
top = elm.getBoundingClientRect().top + window.pageYOffset;
|
73205
73351
|
left = elm.getBoundingClientRect().left + window.pageXOffset;
|
73352
|
+
|
73353
|
+
/*
|
73354
|
+
if(iframe) {
|
73355
|
+
let adjY = this.builder.iframe.getBoundingClientRect().top + window.pageYOffset;
|
73356
|
+
let adjX = this.builder.iframe.getBoundingClientRect().left + window.pageXOffset;
|
73357
|
+
top = elm.getBoundingClientRect().top + adjY;
|
73358
|
+
left = elm.getBoundingClientRect().left + adjX;
|
73359
|
+
}
|
73360
|
+
*/
|
73361
|
+
|
73206
73362
|
if (iframe) {
|
73207
|
-
|
73208
|
-
|
73209
|
-
|
73210
|
-
left = elm.getBoundingClientRect().left + adjX;
|
73363
|
+
const newPos = this.util.getElementPosition(elm);
|
73364
|
+
top = newPos.top;
|
73365
|
+
left = newPos.left;
|
73211
73366
|
}
|
73212
73367
|
|
73213
73368
|
//console.log(top + ' - ' + left);
|
@@ -75327,6 +75482,8 @@ class ContentStuff {
|
|
75327
75482
|
|
75328
75483
|
.is-tool.is-element-tool {
|
75329
75484
|
background: rgba(243, 243, 243, 0.9);
|
75485
|
+
border-radius: 3px;
|
75486
|
+
overflow: hidden;
|
75330
75487
|
}
|
75331
75488
|
.is-tool.is-element-tool button {
|
75332
75489
|
width: 25px;
|
@@ -75373,8 +75530,11 @@ class ContentStuff {
|
|
75373
75530
|
flex-direction: column;
|
75374
75531
|
width: auto;
|
75375
75532
|
left: auto;
|
75376
|
-
right: -
|
75533
|
+
right: -30px;
|
75534
|
+
border-radius: 2px;
|
75535
|
+
overflow: hidden;
|
75377
75536
|
}
|
75537
|
+
|
75378
75538
|
.is-tool.is-row-tool button {
|
75379
75539
|
width: 25px;
|
75380
75540
|
height: 25px;
|
@@ -75507,6 +75667,9 @@ class ContentStuff {
|
|
75507
75667
|
flex-direction: row;
|
75508
75668
|
margin-top: 0px;
|
75509
75669
|
margin-left: -1px;
|
75670
|
+
box-shadow: none;
|
75671
|
+
border-radius: 2px;
|
75672
|
+
overflow: hidden;
|
75510
75673
|
}
|
75511
75674
|
.is-tool.is-col-tool button {
|
75512
75675
|
width: 25px;
|
@@ -78968,6 +79131,9 @@ class ContentBuilder {
|
|
78968
79131
|
toolbar: 'top',
|
78969
79132
|
toolbarDisplay: 'auto',
|
78970
79133
|
shortenHTML: true,
|
79134
|
+
simpleEditingBreakpoint: '970px',
|
79135
|
+
// iframe only
|
79136
|
+
|
78971
79137
|
resizeHeight: false,
|
78972
79138
|
snippetsSidebarDisplay: 'auto',
|
78973
79139
|
// snippetDisplay: 'auto', // values: auto, visible (a new alternative). If used, will set the snippetsSidebarDisplay
|
@@ -79848,6 +80014,12 @@ class ContentBuilder {
|
|
79848
80014
|
this.win = win;
|
79849
80015
|
this.doc = doc;
|
79850
80016
|
this.doc.body.classList.add('data-editor');
|
80017
|
+
|
80018
|
+
// Disable on mobile
|
80019
|
+
const viewportWidth = this.doc.body.clientWidth;
|
80020
|
+
if (viewportWidth <= 768) {
|
80021
|
+
this.hideImageResizer = true;
|
80022
|
+
}
|
79851
80023
|
const dom = new Dom(this);
|
79852
80024
|
this.dom = dom;
|
79853
80025
|
const util = new Util(this); // General utilities
|
@@ -80005,6 +80177,12 @@ class ContentBuilder {
|
|
80005
80177
|
this.win.addEventListener('resize', this.doWindowResize = () => {
|
80006
80178
|
this.util.clearActiveCell();
|
80007
80179
|
this.util.clearControls();
|
80180
|
+
|
80181
|
+
// Disable on mobile
|
80182
|
+
const viewportWidth = this.doc.body.clientWidth;
|
80183
|
+
if (viewportWidth <= 768) {
|
80184
|
+
this.hideImageResizer = true;
|
80185
|
+
}
|
80008
80186
|
});
|
80009
80187
|
}
|
80010
80188
|
|
@@ -82397,8 +82575,12 @@ class ContentBuilder {
|
|
82397
82575
|
|
82398
82576
|
// Enable resizable on click
|
82399
82577
|
if (!col.classList.contains('noresize')) {
|
82400
|
-
|
82401
|
-
this.
|
82578
|
+
// Disable on mobile
|
82579
|
+
const viewportWidth = this.doc.body.clientWidth;
|
82580
|
+
if (viewportWidth > 768) {
|
82581
|
+
this.resize = new Resize(col, this);
|
82582
|
+
this.resize.enable();
|
82583
|
+
}
|
82402
82584
|
}
|
82403
82585
|
}
|
82404
82586
|
if (this.settings.onSelectionChange) this.settings.onSelectionChange(e);
|