@innovastudio/contentbuilder 1.5.21 → 1.5.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -17685,6 +17685,7 @@ const renderSnippetPanel = (builder, snippetOpen) => {
|
|
|
17685
17685
|
obj.destroy();
|
|
17686
17686
|
}
|
|
17687
17687
|
});
|
|
17688
|
+
builder.sortableOnCanvas = [];
|
|
17688
17689
|
}
|
|
17689
17690
|
if (builder.sortableOnPage) builder.sortableOnPage.destroy();
|
|
17690
17691
|
let dummies = builder.doc.querySelectorAll('.block-dummy');
|
|
@@ -74091,7 +74092,6 @@ class ContentStuff {
|
|
|
74091
74092
|
display:flex;
|
|
74092
74093
|
}
|
|
74093
74094
|
|
|
74094
|
-
|
|
74095
74095
|
.row-outline .is-rowadd-tool,
|
|
74096
74096
|
.row-active .is-rowadd-tool {
|
|
74097
74097
|
display:block;
|
|
@@ -74500,6 +74500,12 @@ class ContentStuff {
|
|
|
74500
74500
|
/*padding: 0 2px 4px !important;*/
|
|
74501
74501
|
z-index: 1 !important;
|
|
74502
74502
|
}
|
|
74503
|
+
|
|
74504
|
+
/* Row Lock will hide row tool */
|
|
74505
|
+
.row-lock .is-row-tool,
|
|
74506
|
+
.row-lock .is-rowadd-tool {
|
|
74507
|
+
display: none !important;
|
|
74508
|
+
}
|
|
74503
74509
|
|
|
74504
74510
|
div[data-html] {
|
|
74505
74511
|
min-height: 70px;
|
|
@@ -83214,6 +83220,8 @@ class Resizable {
|
|
|
83214
83220
|
this.doc.addEventListener('mouseup', this.handleResizeEnd);
|
|
83215
83221
|
this.doc.addEventListener('touchmove', this.handleResizeMove);
|
|
83216
83222
|
this.doc.addEventListener('touchend', this.handleResizeEnd);
|
|
83223
|
+
document.addEventListener('mouseup', this.handleResizeEnd); // in iframe, mouseup can be triggered outside the iframe (during resizing)
|
|
83224
|
+
document.addEventListener('touchend', this.handleResizeEnd);
|
|
83217
83225
|
}
|
|
83218
83226
|
handleResizeMove(event) {
|
|
83219
83227
|
if (this.isResizing) {
|
|
@@ -83264,6 +83272,8 @@ class Resizable {
|
|
|
83264
83272
|
this.doc.removeEventListener('mouseup', this.handleResizeEnd);
|
|
83265
83273
|
this.doc.removeEventListener('touchmove', this.handleResizeMove);
|
|
83266
83274
|
this.doc.removeEventListener('touchend', this.handleResizeEnd);
|
|
83275
|
+
document.removeEventListener('mouseup', this.handleResizeEnd); // in iframe, mouseup can be triggered outside the iframe (during resizing)
|
|
83276
|
+
document.removeEventListener('touchend', this.handleResizeEnd);
|
|
83267
83277
|
this.ruler.hideRulers();
|
|
83268
83278
|
}
|
|
83269
83279
|
resizeTopLeft(deltaX, deltaY) {
|
|
@@ -88088,6 +88098,59 @@ Add an image for each feature.`, 'Create a new content showcasing a photo galler
|
|
|
88088
88098
|
}
|
|
88089
88099
|
});
|
|
88090
88100
|
|
|
88101
|
+
// Canvas Mode
|
|
88102
|
+
const copyBlock = e => {
|
|
88103
|
+
const docContainer = this.doc.querySelector(this.docContainer);
|
|
88104
|
+
if ((e.ctrlKey || e.metaKey) && e.which === 67) {
|
|
88105
|
+
//CTRL-C
|
|
88106
|
+
const activeBlock = docContainer.querySelector('.is-block.active'); // always get .cloned
|
|
88107
|
+
if (activeBlock) {
|
|
88108
|
+
this.copyBlock = activeBlock;
|
|
88109
|
+
}
|
|
88110
|
+
}
|
|
88111
|
+
};
|
|
88112
|
+
const pasteBlock = e => {
|
|
88113
|
+
const docContainer = this.doc.querySelector(this.docContainer);
|
|
88114
|
+
if ((e.ctrlKey || e.metaKey) && e.which === 86) {
|
|
88115
|
+
//CTRL-V
|
|
88116
|
+
|
|
88117
|
+
const box = docContainer.querySelector('.is-box.box-select'); // always get .cloned
|
|
88118
|
+
let block = this.copyBlock;
|
|
88119
|
+
if (box && block) {
|
|
88120
|
+
if (document.querySelector('.is-modal.active:not(.is-modal-content)')) return;
|
|
88121
|
+
const focusedElement = e.target;
|
|
88122
|
+
const isEditable = focusedElement.tagName === 'INPUT' || focusedElement.tagName === 'TEXTAREA' || focusedElement.hasAttribute('contenteditable');
|
|
88123
|
+
if (isEditable) return;
|
|
88124
|
+
this.uo.saveForUndo();
|
|
88125
|
+
let block = this.copyBlock;
|
|
88126
|
+
const builder = block.querySelector(this.container);
|
|
88127
|
+
let html = '';
|
|
88128
|
+
if (builder) {
|
|
88129
|
+
html = this.readHtml(builder);
|
|
88130
|
+
}
|
|
88131
|
+
let clonedDiv = block.cloneNode(true);
|
|
88132
|
+
clonedDiv.style.top = '20%';
|
|
88133
|
+
clonedDiv.style.left = '20%';
|
|
88134
|
+
if (builder) {
|
|
88135
|
+
const cloneBuilder = clonedDiv.querySelector(this.container);
|
|
88136
|
+
cloneBuilder.innerHTML = '';
|
|
88137
|
+
box.appendChild(clonedDiv);
|
|
88138
|
+
const range = document.createRange();
|
|
88139
|
+
cloneBuilder.appendChild(range.createContextualFragment(html));
|
|
88140
|
+
this.applyBehaviorOn(cloneBuilder);
|
|
88141
|
+
cloneBuilder.click();
|
|
88142
|
+
} else {
|
|
88143
|
+
block.parentNode.appendChild(clonedDiv);
|
|
88144
|
+
}
|
|
88145
|
+
block.classList.remove('active');
|
|
88146
|
+
this.doc.querySelectorAll('.clone').forEach(elm => elm.parentNode.removeChild(elm));
|
|
88147
|
+
this.doc.querySelectorAll('.cloned').forEach(elm => elm.classList.remove('cloned'));
|
|
88148
|
+
this.eb.refresh();
|
|
88149
|
+
this.opts.onChange();
|
|
88150
|
+
}
|
|
88151
|
+
}
|
|
88152
|
+
};
|
|
88153
|
+
|
|
88091
88154
|
// SHIFT + Right Clidk to Zoom In
|
|
88092
88155
|
if (this.canvas && !this.isContentBox && this.docContainer && !this.iframe) {
|
|
88093
88156
|
//--- see loadHtml ---
|
|
@@ -88159,52 +88222,40 @@ Add an image for each feature.`, 'Create a new content showcasing a photo galler
|
|
|
88159
88222
|
document.addEventListener('keydown', e => {
|
|
88160
88223
|
if ((e.ctrlKey || e.metaKey) && e.which === 67) {
|
|
88161
88224
|
//CTRL-C
|
|
88162
|
-
|
|
88163
|
-
if (activeBlock) {
|
|
88164
|
-
this.copyBlock = activeBlock;
|
|
88165
|
-
}
|
|
88225
|
+
copyBlock(e);
|
|
88166
88226
|
}
|
|
88167
88227
|
});
|
|
88168
88228
|
document.addEventListener('keydown', e => {
|
|
88169
88229
|
if ((e.ctrlKey || e.metaKey) && e.which === 86) {
|
|
88170
88230
|
//CTRL-V
|
|
88171
|
-
|
|
88172
|
-
|
|
88173
|
-
|
|
88174
|
-
|
|
88175
|
-
|
|
88176
|
-
|
|
88177
|
-
|
|
88178
|
-
|
|
88179
|
-
|
|
88180
|
-
|
|
88181
|
-
|
|
88182
|
-
|
|
88183
|
-
|
|
88184
|
-
|
|
88185
|
-
}
|
|
88186
|
-
let clonedDiv = block.cloneNode(true);
|
|
88187
|
-
clonedDiv.style.top = '20%';
|
|
88188
|
-
clonedDiv.style.left = '20%';
|
|
88189
|
-
if (builder) {
|
|
88190
|
-
const cloneBuilder = clonedDiv.querySelector(this.container);
|
|
88191
|
-
cloneBuilder.innerHTML = '';
|
|
88192
|
-
box.appendChild(clonedDiv);
|
|
88193
|
-
const range = document.createRange();
|
|
88194
|
-
cloneBuilder.appendChild(range.createContextualFragment(html));
|
|
88195
|
-
this.applyBehaviorOn(cloneBuilder);
|
|
88196
|
-
cloneBuilder.click();
|
|
88197
|
-
} else {
|
|
88198
|
-
block.parentNode.appendChild(clonedDiv);
|
|
88199
|
-
}
|
|
88200
|
-
block.classList.remove('active');
|
|
88201
|
-
this.doc.querySelectorAll('.clone').forEach(elm => elm.parentNode.removeChild(elm));
|
|
88202
|
-
this.doc.querySelectorAll('.cloned').forEach(elm => elm.classList.remove('cloned'));
|
|
88203
|
-
this.eb.refresh();
|
|
88204
|
-
this.opts.onChange();
|
|
88205
|
-
}
|
|
88231
|
+
pasteBlock(e);
|
|
88232
|
+
}
|
|
88233
|
+
});
|
|
88234
|
+
}
|
|
88235
|
+
if (this.canvas && this.isContentBox) {
|
|
88236
|
+
// Copy & Paste Block
|
|
88237
|
+
document.addEventListener('keydown', e => {
|
|
88238
|
+
if ((e.ctrlKey || e.metaKey) && e.which === 67) {
|
|
88239
|
+
copyBlock(e);
|
|
88240
|
+
}
|
|
88241
|
+
});
|
|
88242
|
+
document.addEventListener('keydown', e => {
|
|
88243
|
+
if ((e.ctrlKey || e.metaKey) && e.which === 86) {
|
|
88244
|
+
pasteBlock(e);
|
|
88206
88245
|
}
|
|
88207
88246
|
});
|
|
88247
|
+
if (this.iframe) {
|
|
88248
|
+
this.doc.addEventListener('keydown', e => {
|
|
88249
|
+
if ((e.ctrlKey || e.metaKey) && e.which === 67) {
|
|
88250
|
+
copyBlock(e);
|
|
88251
|
+
}
|
|
88252
|
+
});
|
|
88253
|
+
this.doc.addEventListener('keydown', e => {
|
|
88254
|
+
if ((e.ctrlKey || e.metaKey) && e.which === 86) {
|
|
88255
|
+
pasteBlock(e);
|
|
88256
|
+
}
|
|
88257
|
+
});
|
|
88258
|
+
}
|
|
88208
88259
|
}
|
|
88209
88260
|
let previousWidth = this.win.innerWidth;
|
|
88210
88261
|
let timer;
|
|
@@ -92717,6 +92768,7 @@ Add an image for each feature.`, 'Create a new content showcasing a photo galler
|
|
|
92717
92768
|
});
|
|
92718
92769
|
let dummies = this.doc.querySelectorAll('.block-dummy');
|
|
92719
92770
|
dummies.forEach(elm => elm.parentNode.removeChild(elm));
|
|
92771
|
+
this.sortableOnCanvas = [];
|
|
92720
92772
|
}
|
|
92721
92773
|
if (this.sortableOnPage) this.sortableOnPage.destroy();
|
|
92722
92774
|
}
|
|
@@ -92934,6 +92986,7 @@ Add an image for each feature.`, 'Create a new content showcasing a photo galler
|
|
|
92934
92986
|
});
|
|
92935
92987
|
let dummies = this.doc.querySelectorAll('.block-dummy');
|
|
92936
92988
|
dummies.forEach(elm => elm.parentNode.removeChild(elm));
|
|
92989
|
+
this.sortableOnCanvas = [];
|
|
92937
92990
|
}
|
|
92938
92991
|
if (this.sortableOnPage) this.sortableOnPage.destroy();
|
|
92939
92992
|
}
|