@innovastudio/contentbuilder 1.0.44 → 1.0.48

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@innovastudio/contentbuilder",
3
- "version": "1.0.44",
3
+ "version": "1.0.48",
4
4
  "description": "",
5
5
  "main": "public/contentbuilder/contentbuilder.esm.js",
6
6
  "files": [
@@ -840,12 +840,15 @@ class Util {
840
840
  range = document.createRange();
841
841
  row.parentNode.insertBefore(range.createContextualFragment(snippet.innerHTML), row.nextSibling);
842
842
  rowElement = snippet.childNodes[0]; // Auto scroll
843
-
844
- const y = row.getBoundingClientRect().top + row.offsetHeight + window.pageYOffset - 120;
845
- window.scroll({
846
- top: y,
847
- behavior: 'smooth'
848
- }); // window.scrollTo(0, y);
843
+ // const y = row.getBoundingClientRect().top + row.offsetHeight + window.pageYOffset - 120;
844
+ // window.scroll({
845
+ // top: y,
846
+ // behavior: 'smooth'
847
+ // });
848
+ // window.scrollTo(0, y);
849
+ // setTimeout(()=>{
850
+ // row.scrollIntoView({ behavior: 'smooth', block: 'center' });
851
+ // }, 600);
849
852
 
850
853
  rowElement = row.nextElementSibling; // a must. Must be before applyBehavior() to prevent element delete during fixLayout
851
854
 
@@ -1387,6 +1390,28 @@ class Util {
1387
1390
 
1388
1391
  i++;
1389
1392
  });
1393
+ this.repositionColumnTool(true);
1394
+ if (this.builder.onRefreshTool) this.builder.onRefreshTool();
1395
+ } // Quick reposition column tool
1396
+
1397
+
1398
+ repositionColumnTool(transition) {
1399
+ let columnTool = this.builder.colTool.columnTool;
1400
+ let col = this.builder.activeCol;
1401
+
1402
+ if (transition) {
1403
+ columnTool.style.transition = 'all ease 100ms';
1404
+ setTimeout(() => {
1405
+ columnTool.style.top = col.getBoundingClientRect().top - 29 + window.pageYOffset + 'px';
1406
+ columnTool.style.left = col.getBoundingClientRect().left - 1 + 'px';
1407
+ setTimeout(() => {
1408
+ columnTool.style.transition = '';
1409
+ }, 100);
1410
+ }, 10);
1411
+ } else {
1412
+ columnTool.style.top = col.getBoundingClientRect().top - 29 + window.pageYOffset + 'px';
1413
+ columnTool.style.left = col.getBoundingClientRect().left - 1 + 'px';
1414
+ }
1390
1415
  }
1391
1416
 
1392
1417
  isTouchSupport() {
@@ -2950,6 +2975,12 @@ class Dom {
2950
2975
  });
2951
2976
  }
2952
2977
  }
2978
+
2979
+ baseName(str) {
2980
+ if (typeof str !== 'string') return;
2981
+ var frags = str.split('.');
2982
+ return frags.splice(0, frags.length - 1).join('.');
2983
+ }
2953
2984
  /** added by Jack */
2954
2985
 
2955
2986
 
@@ -10052,7 +10083,7 @@ class Snippets {
10052
10083
  var snippetCategories = ${snippetCategoriesString};
10053
10084
  var defaultSnippetCategory = ${defaultSnippetCategory};
10054
10085
 
10055
- ${this.builder.slider ? `
10086
+ ${typeof this.builder.slider !== 'undefined' && this.builder.slider !== null ? `
10056
10087
  var slider='${this.builder.slider}';` : 'var slider=null;'};
10057
10088
 
10058
10089
  var numOfCat = snippetCategories.length;
@@ -10105,31 +10136,21 @@ class Snippets {
10105
10136
 
10106
10137
  var snippets = data_basic.snippets; //DATA
10107
10138
 
10108
- if(slider) {
10139
+ if (slider !== null){
10109
10140
  if(slider==='slick') {
10110
- for (let i = 0; i < snippets.length; i++) {
10111
- if (snippets[i].type === 'glide') { //remove glide
10112
- snippets.splice(i, 1);
10113
- break;
10114
- }
10115
- }
10141
+ //remove glide
10142
+ const predicate = (item) => (item.type!=='glide');
10143
+ snippets = snippets.filter(predicate);
10116
10144
  } else if(slider==='glide') {
10117
- for (let i = 0; i < snippets.length; i++) {
10118
- if (snippets[i].type === 'slick') { //remove slick
10119
- snippets.splice(i, 1);
10120
- break;
10121
- }
10122
- }
10145
+ //remove slick
10146
+ const predicate = (item) => (item.type!=='slick');
10147
+ snippets = snippets.filter(predicate);
10123
10148
  } else if(slider==='all') {
10124
10149
  // Do Nothing
10125
10150
  } else {
10126
10151
  // remove all slider (if incorrect settings)
10127
- for (let i = 0; i < snippets.length; i++) {
10128
- if (snippets[i].type === 'glide' || snippets[i].type === 'slick') { //remove glide & slick
10129
- snippets.splice(i, 1);
10130
- break;
10131
- }
10132
- }
10152
+ const predicate = (item) => (item.type!=='glide' && item.type!=='slick');
10153
+ snippets = snippets.filter(predicate);
10133
10154
  }
10134
10155
 
10135
10156
  } else {
@@ -15141,32 +15162,22 @@ const renderSnippetPanel = builder => {
15141
15162
  let snippets = builder.opts.snippetJSON.snippets;
15142
15163
  let slider = builder.opts.slider;
15143
15164
 
15144
- if (slider) {
15165
+ if (typeof slider !== 'undefined' && slider !== null) {
15145
15166
  if (slider === 'slick') {
15146
- for (let i = 0; i < snippets.length; i++) {
15147
- if (snippets[i].type === 'glide') {
15148
- //remove glide
15149
- snippets.splice(i, 1);
15150
- break;
15151
- }
15152
- }
15167
+ //remove glide
15168
+ const predicate = item => item.type !== 'glide';
15169
+
15170
+ builder.opts.snippetJSON.snippets = snippets.filter(predicate);
15153
15171
  } else if (slider === 'glide') {
15154
- for (let i = 0; i < snippets.length; i++) {
15155
- if (snippets[i].type === 'slick') {
15156
- //remove slick
15157
- snippets.splice(i, 1);
15158
- break;
15159
- }
15160
- }
15172
+ //remove slick
15173
+ const predicate = item => item.type !== 'slick';
15174
+
15175
+ builder.opts.snippetJSON.snippets = snippets.filter(predicate);
15161
15176
  } else if (slider === 'all') ; else {
15162
15177
  // remove all slider (if incorrect settings)
15163
- for (let i = 0; i < snippets.length; i++) {
15164
- if (snippets[i].type === 'glide' || snippets[i].type === 'slick') {
15165
- //remove glide & slick
15166
- snippets.splice(i, 1);
15167
- break;
15168
- }
15169
- }
15178
+ const predicate = item => item.type !== 'glide' && item.type !== 'slick';
15179
+
15180
+ builder.opts.snippetJSON.snippets = snippets.filter(predicate);
15170
15181
  }
15171
15182
  } else {
15172
15183
  //backward compatible
@@ -39012,6 +39023,26 @@ class Image {
39012
39023
  extension = f.substr(f.lastIndexOf('.') + 1).toLowerCase();
39013
39024
  }
39014
39025
 
39026
+ if (this.builder.opts.imageRenameOnEdit) {
39027
+ let basename = '';
39028
+
39029
+ if (img.src.indexOf('base64') === -1) {
39030
+ let filename = img.src.substring(img.src.lastIndexOf('/') + 1);
39031
+ basename = dom$w.baseName(filename);
39032
+ } else {
39033
+ basename = dom$w.baseName(img.getAttribute('data-filename'));
39034
+ }
39035
+
39036
+ let newname = '';
39037
+
39038
+ if (basename.indexOf('-edit') !== -1) {
39039
+ basename = basename.substr(0, basename.indexOf('-edit'));
39040
+ }
39041
+
39042
+ newname = basename + '-edit' + this.util.makeId();
39043
+ img.setAttribute('data-filename', newname + '.' + extension);
39044
+ }
39045
+
39015
39046
  if (extension === 'jpg') {
39016
39047
  img.src = this.cropper.getCroppedCanvas({
39017
39048
  fillColor: '#fff'
@@ -57133,6 +57164,7 @@ class ContentBuilder {
57133
57164
  //set -1 for no max (use original image width)
57134
57165
  zoom: 1,
57135
57166
  useLightbox: false,
57167
+ imageRenameOnEdit: true,
57136
57168
 
57137
57169
  /*
57138
57170
  onZoomStart: () => {
@@ -57350,14 +57382,19 @@ class ContentBuilder {
57350
57382
 
57351
57383
  var oldget = this.opts.onChange;
57352
57384
 
57353
- this.opts.onChange = function () {
57385
+ this.opts.onChange = () => {
57354
57386
  var ret = oldget.apply(this, arguments);
57355
57387
 
57356
57388
  if (this.activeCol) {
57357
- this.colTool.refreshColumnTool(this.activeCol);
57389
+ // this.colTool.refreshColumnTool(this.activeCol);
57390
+ // Quick reposition column tool
57391
+ this.util.repositionColumnTool();
57358
57392
  }
57359
57393
 
57360
57394
  this.elmTool.repositionElementTool(true);
57395
+ this.element.image.imageTool.style.display = '';
57396
+ this.element.module.moduleTool.style.display = '';
57397
+ this.colTool.lockIndicator.style.display = '';
57361
57398
  return ret;
57362
57399
  };
57363
57400