@innovastudio/contentbuilder 1.4.137 → 1.4.138

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@innovastudio/contentbuilder",
3
3
  "type": "module",
4
- "version": "1.4.137",
4
+ "version": "1.4.138",
5
5
  "description": "",
6
6
  "main": "public/contentbuilder/contentbuilder.esm.js",
7
7
  "files": [
@@ -45837,6 +45837,7 @@ class Image$1 {
45837
45837
 
45838
45838
  //Check if image is part of module snippet. If so, refresh the (active) module (hide imageTool). If not, refresh imageTool position
45839
45839
  this.refreshIfIsModule(img);
45840
+ this.startImageMonitor(img);
45840
45841
 
45841
45842
  //Trigger Change event
45842
45843
  this.builder.opts.onChange();
@@ -46371,6 +46372,30 @@ class Image$1 {
46371
46372
  this.builder.imgs = [];
46372
46373
  } //constructor
46373
46374
 
46375
+ startImageMonitor(target) {
46376
+ let observer;
46377
+ const config = {
46378
+ attributes: true
46379
+ };
46380
+ observer = new MutationObserver(mutations => {
46381
+ mutations.forEach(mutation => {
46382
+ if (mutation.attributeName === 'src') {
46383
+ // console.log('Image Changed:' + target.src);
46384
+
46385
+ if (this.builder.onImageSrcChange) this.builder.onImageSrcChange();
46386
+ stopImageMonitor(); // Stop the monitor when the image changes
46387
+ }
46388
+ });
46389
+ });
46390
+
46391
+ observer.observe(target, config);
46392
+ function stopImageMonitor() {
46393
+ if (observer) {
46394
+ observer.disconnect();
46395
+ // console.log('Monitor Stopped');
46396
+ }
46397
+ }
46398
+ }
46374
46399
  open() {
46375
46400
  const movControlBox = document.querySelector('.moveable-control-box');
46376
46401
  if (movControlBox) movControlBox.style.display = 'none'; //needed by Safari (prevent z-index problem)