@syncfusion/ej2-image-editor 24.2.8 → 25.1.37

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.
Files changed (77) hide show
  1. package/CHANGELOG.md +5 -45
  2. package/dist/ej2-image-editor.umd.min.js +2 -2
  3. package/dist/ej2-image-editor.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-image-editor.es2015.js +958 -1922
  5. package/dist/es6/ej2-image-editor.es2015.js.map +1 -1
  6. package/dist/es6/ej2-image-editor.es5.js +993 -1974
  7. package/dist/es6/ej2-image-editor.es5.js.map +1 -1
  8. package/dist/global/ej2-image-editor.min.js +2 -2
  9. package/dist/global/ej2-image-editor.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +12 -12
  12. package/src/image-editor/action/crop.js +9 -45
  13. package/src/image-editor/action/draw.js +52 -207
  14. package/src/image-editor/action/export.js +6 -35
  15. package/src/image-editor/action/freehand-draw.js +26 -80
  16. package/src/image-editor/action/selection.js +122 -326
  17. package/src/image-editor/action/shape.js +133 -242
  18. package/src/image-editor/action/transform.d.ts +0 -1
  19. package/src/image-editor/action/transform.js +80 -291
  20. package/src/image-editor/action/undo-redo.d.ts +0 -1
  21. package/src/image-editor/action/undo-redo.js +32 -127
  22. package/src/image-editor/base/image-editor-model.d.ts +1 -1
  23. package/src/image-editor/base/image-editor.d.ts +51 -42
  24. package/src/image-editor/base/image-editor.js +316 -425
  25. package/src/image-editor/renderer/toolbar.d.ts +1 -0
  26. package/src/image-editor/renderer/toolbar.js +228 -207
  27. package/styles/bootstrap-dark.css +0 -12
  28. package/styles/bootstrap.css +0 -12
  29. package/styles/bootstrap4.css +0 -12
  30. package/styles/bootstrap5-dark.css +0 -12
  31. package/styles/bootstrap5.css +0 -12
  32. package/styles/fabric-dark.css +0 -12
  33. package/styles/fabric.css +0 -12
  34. package/styles/fluent-dark.css +0 -12
  35. package/styles/fluent.css +0 -12
  36. package/styles/highcontrast-light.css +0 -12
  37. package/styles/highcontrast.css +0 -12
  38. package/styles/image-editor/_bds-definition.scss +21 -0
  39. package/styles/image-editor/_bootstrap-dark-definition.scss +0 -1
  40. package/styles/image-editor/_bootstrap-definition.scss +0 -1
  41. package/styles/image-editor/_bootstrap4-definition.scss +0 -1
  42. package/styles/image-editor/_bootstrap5-definition.scss +0 -1
  43. package/styles/image-editor/_fabric-dark-definition.scss +0 -1
  44. package/styles/image-editor/_fabric-definition.scss +0 -1
  45. package/styles/image-editor/_fluent-definition.scss +0 -1
  46. package/styles/image-editor/_fusionnew-definition.scss +0 -1
  47. package/styles/image-editor/_highcontrast-definition.scss +0 -1
  48. package/styles/image-editor/_highcontrast-light-definition.scss +0 -1
  49. package/styles/image-editor/_layout.scss +5 -32
  50. package/styles/image-editor/_material-dark-definition.scss +0 -1
  51. package/styles/image-editor/_material-definition.scss +0 -1
  52. package/styles/image-editor/_material3-definition.scss +2 -3
  53. package/styles/image-editor/_tailwind-definition.scss +0 -1
  54. package/styles/image-editor/bootstrap-dark.css +0 -12
  55. package/styles/image-editor/bootstrap.css +0 -12
  56. package/styles/image-editor/bootstrap4.css +0 -12
  57. package/styles/image-editor/bootstrap5-dark.css +0 -12
  58. package/styles/image-editor/bootstrap5.css +0 -12
  59. package/styles/image-editor/fabric-dark.css +0 -12
  60. package/styles/image-editor/fabric.css +0 -12
  61. package/styles/image-editor/fluent-dark.css +0 -12
  62. package/styles/image-editor/fluent.css +0 -12
  63. package/styles/image-editor/highcontrast-light.css +0 -12
  64. package/styles/image-editor/highcontrast.css +0 -12
  65. package/styles/image-editor/icons/_bds.scss +411 -0
  66. package/styles/image-editor/material-dark.css +0 -12
  67. package/styles/image-editor/material.css +0 -12
  68. package/styles/image-editor/material3-dark.css +5 -25
  69. package/styles/image-editor/material3.css +5 -25
  70. package/styles/image-editor/tailwind-dark.css +2 -14
  71. package/styles/image-editor/tailwind.css +2 -14
  72. package/styles/material-dark.css +0 -12
  73. package/styles/material.css +0 -12
  74. package/styles/material3-dark.css +5 -25
  75. package/styles/material3.css +5 -25
  76. package/styles/tailwind-dark.css +2 -14
  77. package/styles/tailwind.css +2 -14
@@ -1,4 +1,4 @@
1
- import { extend, Browser, detach, select, isBlazor } from '@syncfusion/ej2-base';
1
+ import { extend, Browser, detach, select } from '@syncfusion/ej2-base';
2
2
  import { EventHandler, getComponent, isNullOrUndefined, L10n } from '@syncfusion/ej2-base';
3
3
  import { NumericTextBox } from '@syncfusion/ej2-inputs';
4
4
  import { Toolbar } from '@syncfusion/ej2-navigations';
@@ -242,7 +242,9 @@ var ToolbarModule = /** @class */ (function () {
242
242
  args.value['obj']['toolbarHeight'] = this.toolbarHeight;
243
243
  break;
244
244
  case 'setToolbarHeight':
245
- this.toolbarHeight = args.value['height'];
245
+ if (isNullOrUndefined(parent.toolbar) || (parent.toolbar && parent.toolbar.length > 0 && parent.toolbar.indexOf('Open') > -1)) {
246
+ this.toolbarHeight = args.value['height'];
247
+ }
246
248
  break;
247
249
  case 'setCurrentToolbar':
248
250
  this.currentToolbar = args.value['type'];
@@ -250,12 +252,6 @@ var ToolbarModule = /** @class */ (function () {
250
252
  case 'setSelectedFreehandColor':
251
253
  this.selFhdColor = args.value['color'];
252
254
  break;
253
- case 'getCurrentFilter':
254
- args.value['obj']['currentFilter'] = parent.currentFilter;
255
- break;
256
- case 'setCurrentFilter':
257
- parent.currentFilter = args.value['filter'];
258
- break;
259
255
  case 'setInitialAdjustmentValue':
260
256
  parent.initialAdjustmentValue = args.value['value'];
261
257
  break;
@@ -277,9 +273,6 @@ var ToolbarModule = /** @class */ (function () {
277
273
  case 'refreshSlider':
278
274
  this.refreshSlider();
279
275
  break;
280
- case 'renderSlider':
281
- this.renderSlider(args.value['type']);
282
- break;
283
276
  case 'getCurrAdjustmentValue':
284
277
  parent.getCurrAdjustmentValue(args.value['type']);
285
278
  break;
@@ -289,18 +282,6 @@ var ToolbarModule = /** @class */ (function () {
289
282
  case 'refreshShapeDrawing':
290
283
  this.refreshShapeDrawing();
291
284
  break;
292
- case 'getCropToolbar':
293
- args.value['obj']['isCropToolbar'] = parent.isCropToolbar;
294
- break;
295
- case 'getPrevCurrSelectionPoint':
296
- args.value['obj']['prevCurrSelectionPoint'] = parent.prevCurrSelectionPoint;
297
- break;
298
- case 'setPrevCurrSelectionPoint':
299
- parent.prevCurrSelectionPoint = args.value['point'];
300
- break;
301
- case 'updateCropTransformItems':
302
- parent.updateCropTransformItems();
303
- break;
304
285
  case 'setEnableDisableUndoRedo':
305
286
  this.preventEnableDisableUr = args.value['isPrevent'];
306
287
  break;
@@ -326,11 +307,14 @@ var ToolbarModule = /** @class */ (function () {
326
307
  this.frameToolbarClick();
327
308
  break;
328
309
  case 'performCropTransformClick':
329
- this.performCropTransformClick(args.value['shape']);
310
+ this.performCropTransformClick(args.value['shape'], args.value['isTransform']);
330
311
  break;
331
312
  case 'duplicateShape':
332
313
  this.duplicateShape(args.value['isPreventUndoRedo'], true);
333
314
  break;
315
+ case 'editText':
316
+ this.editText();
317
+ break;
334
318
  }
335
319
  };
336
320
  ToolbarModule.prototype.updatePrivateVariables = function () {
@@ -348,7 +332,6 @@ var ToolbarModule = /** @class */ (function () {
348
332
  };
349
333
  ToolbarModule.prototype.reset = function () {
350
334
  var parent = this.parent;
351
- this.defToolbarItems = [];
352
335
  this.toolbarHeight = 46;
353
336
  parent.prevCurrSelectionPoint = null;
354
337
  this.zoomBtnHold = null;
@@ -443,6 +426,13 @@ var ToolbarModule = /** @class */ (function () {
443
426
  var mToolbar = document.getElementById(id + '_toolbar');
444
427
  if (toolbar_1) {
445
428
  this.toolbarHeight = mToolbar.clientHeight;
429
+ if (parent.toolbar && parent.toolbar.length > 0 && parent.toolbar.indexOf('Open') === -1) {
430
+ var toolabr = getComponent(document.getElementById(parent.element.id + '_toolbar'), 'toolbar');
431
+ if (toolabr) {
432
+ toolabr.destroy();
433
+ document.getElementById(parent.element.id + '_toolbar').innerHTML = '';
434
+ }
435
+ }
446
436
  }
447
437
  }
448
438
  else {
@@ -523,31 +513,33 @@ var ToolbarModule = /** @class */ (function () {
523
513
  var args = { toolbarType: 'main', toolbarItems: this.defToolbarItems };
524
514
  parent.trigger('toolbarUpdating', args);
525
515
  this.defToolbarItems = args.toolbarItems;
526
- var toolbarObj = new Toolbar({
527
- width: '100%',
528
- items: this.defToolbarItems,
529
- clicked: this.defToolbarClicked.bind(this),
530
- created: function () {
531
- if (!isDevice) {
532
- _this.renderAnnotationBtn();
516
+ if (this.defToolbarItems.length > 0) {
517
+ var toolbarObj = new Toolbar({
518
+ width: '100%',
519
+ items: this.defToolbarItems,
520
+ clicked: this.defToolbarClicked.bind(this),
521
+ created: function () {
522
+ if (!isDevice) {
523
+ _this.renderAnnotationBtn();
524
+ }
525
+ _this.wireZoomBtnEvents();
526
+ _this.renderSaveBtn();
527
+ parent.trigger('toolbarCreated', { toolbarType: 'main' });
533
528
  }
534
- _this.wireZoomBtnEvents();
535
- _this.renderSaveBtn();
536
- parent.trigger('toolbarCreated', { toolbarType: 'main' });
529
+ });
530
+ if (isDevice && isFrame) {
531
+ toolbarObj.appendTo('#' + id + '_bottomToolbar');
532
+ }
533
+ else {
534
+ toolbarObj.appendTo('#' + id + '_toolbar');
535
+ }
536
+ this.createLeftToolbarControls();
537
+ this.enableDisableTbrBtn();
538
+ if (this.isToolbar() && document.getElementById(id + '_toolbar')) {
539
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
540
+ var toolbar_4 = getComponent(id + '_toolbar', 'toolbar');
541
+ toolbar_4.refreshOverflow();
537
542
  }
538
- });
539
- if (isDevice && isFrame) {
540
- toolbarObj.appendTo('#' + id + '_bottomToolbar');
541
- }
542
- else {
543
- toolbarObj.appendTo('#' + id + '_toolbar');
544
- }
545
- this.createLeftToolbarControls();
546
- this.enableDisableTbrBtn();
547
- if (this.isToolbar() && document.getElementById(id + '_toolbar')) {
548
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
549
- var toolbar_4 = getComponent(id + '_toolbar', 'toolbar');
550
- toolbar_4.refreshOverflow();
551
543
  }
552
544
  }
553
545
  };
@@ -582,8 +574,14 @@ var ToolbarModule = /** @class */ (function () {
582
574
  var id = parent.element.id;
583
575
  var toolbarItems = [];
584
576
  if (!isOkBtn || isResize) {
585
- toolbarItems.push({ id: id + '_upload', cssClass: 'e-image-upload', align: 'Left', type: 'Input', template: new Uploader({ allowedExtensions: '.jpg, .jpeg, .png,.svg', multiple: false }) });
586
- toolbarItems.push({ visible: false, cssClass: 'e-image-position e-btn e-flat', tooltipText: this.l10n.getConstant('Browse'), align: 'Left' });
577
+ if (isNullOrUndefined(parent.toolbar) || (parent.toolbar && parent.toolbar.indexOf('Open') > -1)) {
578
+ toolbarItems.push({ id: parent.element.id + '_upload', cssClass: 'e-image-upload', align: 'Left', type: 'Input', template: new Uploader({ allowedExtensions: '.jpg, .jpeg, .png,.svg', multiple: false }) });
579
+ toolbarItems.push({ visible: false, cssClass: 'e-image-position e-btn e-flat', tooltipText: this.l10n.getConstant('Browse'), align: 'Left' });
580
+ }
581
+ else if (Browser.isDevice && (parent.toolbar && parent.toolbar.indexOf('Open') === -1)) {
582
+ toolbarItems.push({ visible: false, id: parent.element.id + '_upload', cssClass: 'e-image-upload', align: 'Left', type: 'Input', template: new Uploader({ allowedExtensions: '.jpg, .jpeg, .png,.svg', multiple: false }) });
583
+ toolbarItems.push({ visible: false, cssClass: 'e-image-position e-btn e-flat', tooltipText: this.l10n.getConstant('Browse'), align: 'Left' });
584
+ }
587
585
  }
588
586
  if (parent.allowUndoRedo && !isResize) {
589
587
  if (isNullOrUndefined(parent.toolbar) || (parent.toolbar && parent.toolbar.indexOf('Undo') > -1)) {
@@ -714,6 +712,9 @@ var ToolbarModule = /** @class */ (function () {
714
712
  var id = parent.element.id;
715
713
  var toolbarArea = parent.element.querySelector('#' + id + '_toolbarArea');
716
714
  var contextualToolbarArea = parent.element.querySelector('#' + id + '_contextualToolbarArea');
715
+ if (!contextualToolbarArea) {
716
+ return;
717
+ }
717
718
  contextualToolbarArea.classList.remove('e-hide');
718
719
  contextualToolbarArea.style.left = toolbarArea.offsetLeft + 'px';
719
720
  if (type === 'filter') {
@@ -743,15 +744,13 @@ var ToolbarModule = /** @class */ (function () {
743
744
  this.renderSlider(cType, isSelect);
744
745
  }
745
746
  }
746
- if (!isBlazor()) {
747
- if (parent.toolbarTemplate) {
748
- this.toolbarHeight = parent.element.querySelector('#' + parent.element.id + '_toolbarArea').clientHeight;
749
- }
750
- else if (parent.element.querySelector('#' + parent.element.id + '_toolbar')) {
751
- this.toolbarHeight = parent.element.querySelector('#' + parent.element.id + '_toolbar').clientHeight;
752
- }
753
- parent.toolbarHeight = this.toolbarHeight;
747
+ if (parent.toolbarTemplate) {
748
+ this.toolbarHeight = parent.element.querySelector('#' + parent.element.id + '_toolbarArea').clientHeight;
754
749
  }
750
+ else if (parent.element.querySelector('#' + parent.element.id + '_toolbar')) {
751
+ this.toolbarHeight = parent.element.querySelector('#' + parent.element.id + '_toolbar').clientHeight;
752
+ }
753
+ parent.toolbarHeight = this.toolbarHeight;
755
754
  if (Browser.isDevice) {
756
755
  var cHt = contextualToolbarArea.offsetHeight + 1;
757
756
  var cusWrapper = parent.element.querySelector('#' + id + '_customizeWrapper');
@@ -1539,7 +1538,7 @@ var ToolbarModule = /** @class */ (function () {
1539
1538
  }
1540
1539
  return toolbarItems;
1541
1540
  };
1542
- ToolbarModule.prototype.initCropTransformToolbar = function (shape) {
1541
+ ToolbarModule.prototype.initCropTransformToolbar = function (shape, isTransform) {
1543
1542
  var _this = this;
1544
1543
  var parent = this.parent;
1545
1544
  var id = parent.element.id;
@@ -1583,7 +1582,7 @@ var ToolbarModule = /** @class */ (function () {
1583
1582
  toolbar.refreshOverflow();
1584
1583
  }
1585
1584
  }
1586
- if (document.getElementById(id + '_cropBtn')) {
1585
+ if (document.getElementById(id + '_cropBtn') && isNullOrUndefined(isTransform)) {
1587
1586
  if (!Browser.isDevice) {
1588
1587
  parent.notify('draw', { prop: 'select', onPropertyChange: false,
1589
1588
  value: { type: _this.getCropTextContent(document.getElementById(id + '_cropBtn')).toLowerCase(),
@@ -1782,7 +1781,7 @@ var ToolbarModule = /** @class */ (function () {
1782
1781
  },
1783
1782
  beforeClose: function () {
1784
1783
  fillDDB_1.toggle();
1785
- }
1784
+ },
1786
1785
  }, '#' + id + '_shape_fill');
1787
1786
  var fillDDB_1 = new DropDownButton({
1788
1787
  open: function (args) {
@@ -2256,7 +2255,7 @@ var ToolbarModule = /** @class */ (function () {
2256
2255
  fontSizeBtn_1.appendTo('#' + id + '_fontSizeBtn');
2257
2256
  }
2258
2257
  };
2259
- ToolbarModule.prototype.refreshToolbar = function (type, isApplyBtn, isCropping, isZooming, cType, shape) {
2258
+ ToolbarModule.prototype.refreshToolbar = function (type, isApplyBtn, isCropping, isZooming, cType, shape, isTransform) {
2260
2259
  var parent = this.parent;
2261
2260
  var id = parent.element.id;
2262
2261
  if (!parent.isImageLoaded || parent.isCropToolbar) {
@@ -2273,10 +2272,18 @@ var ToolbarModule = /** @class */ (function () {
2273
2272
  getComponent(cusWrapper, 'toolbar').destroy();
2274
2273
  cusWrapper.innerHTML = '';
2275
2274
  }
2276
- if (toolbarElement && this.defToolbarItems.length > 0) {
2275
+ if (toolbarElement && toolbarElement.classList.contains('e-control') && this.defToolbarItems.length > 0) {
2277
2276
  getComponent(toolbarElement, 'toolbar').destroy();
2278
2277
  toolbarElement.innerHTML = '';
2279
2278
  }
2279
+ if (toolbarElement && (this.defToolbarItems.length > 0 ||
2280
+ parent.toolbar && parent.toolbar.length > 0 && parent.toolbar.indexOf('Open') === -1)) {
2281
+ var toolbar_9 = getComponent(toolbarElement, 'toolbar');
2282
+ if (!isNullOrUndefined(toolbar_9)) {
2283
+ toolbar_9.destroy();
2284
+ document.getElementById(parent.element.id + '_toolbar').innerHTML = '';
2285
+ }
2286
+ }
2280
2287
  if (bottomToolbar && this.defToolbarItems.length > 0) {
2281
2288
  if (bottomToolbar.className.indexOf('e-control') > -1) {
2282
2289
  getComponent(bottomToolbar, 'toolbar').destroy();
@@ -2377,14 +2384,18 @@ var ToolbarModule = /** @class */ (function () {
2377
2384
  this.updateContextualToolbar(type, cType);
2378
2385
  break;
2379
2386
  case 'croptransform':
2380
- parent.allowDownScale = false;
2381
- parent.isCropTab = true;
2387
+ if (isNullOrUndefined(isTransform)) {
2388
+ parent.allowDownScale = false;
2389
+ parent.isCropTab = true;
2390
+ }
2382
2391
  if (Browser.isDevice) {
2383
2392
  this.initMainToolbar(false, true, true);
2384
2393
  }
2385
- parent.updateCropTransformItems();
2386
- this.initCropTransformToolbar(shape);
2387
- if (Browser.isDevice) {
2394
+ if (isNullOrUndefined(isTransform)) {
2395
+ parent.updateCropTransformItems();
2396
+ }
2397
+ this.initCropTransformToolbar(shape, isTransform);
2398
+ if (Browser.isDevice && this.isToolbar()) {
2388
2399
  this.updateContextualToolbar('color', 'straighten', true);
2389
2400
  }
2390
2401
  break;
@@ -2410,17 +2421,21 @@ var ToolbarModule = /** @class */ (function () {
2410
2421
  this.currToolbar = type;
2411
2422
  this.refreshDropDownBtn(isCropping);
2412
2423
  };
2413
- ToolbarModule.prototype.performCropTransformClick = function (shape) {
2424
+ ToolbarModule.prototype.performCropTransformClick = function (shape, isTransform) {
2414
2425
  var parent = this.parent;
2415
- parent.notify('draw', { prop: 'setTempStraightenZoomDeg' });
2416
- parent.tempStraighten = parent.transform.straighten;
2417
- if (parent.currObjType.isFiltered) {
2418
- parent.okBtn();
2426
+ if (isNullOrUndefined(isTransform)) {
2427
+ parent.notify('draw', { prop: 'setTempStraightenZoomDeg' });
2428
+ parent.tempStraighten = parent.transform.straighten;
2429
+ if (parent.currObjType.isFiltered) {
2430
+ parent.okBtn();
2431
+ }
2432
+ parent.isStraightening = true;
2433
+ }
2434
+ this.refreshToolbar('croptransform', null, null, null, null, shape, isTransform);
2435
+ if (isNullOrUndefined(isTransform)) {
2436
+ parent.notify('draw', { prop: 'setDestForStraighten' });
2437
+ parent.notify('draw', { prop: 'setTempDestForStraighten' });
2419
2438
  }
2420
- parent.isStraightening = true;
2421
- this.refreshToolbar('croptransform', null, null, null, null, shape);
2422
- parent.notify('draw', { prop: 'setDestForStraighten' });
2423
- parent.notify('draw', { prop: 'setTempDestForStraighten' });
2424
2439
  };
2425
2440
  ToolbarModule.prototype.getAdjustmentToolbarItem = function () {
2426
2441
  var toolbarItems = [];
@@ -2744,15 +2759,15 @@ var ToolbarModule = /** @class */ (function () {
2744
2759
  if (Browser.isDevice) {
2745
2760
  if (document.getElementById(id + '_bottomToolbar')) {
2746
2761
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
2747
- var toolbar_9 = getComponent(id + '_bottomToolbar', 'toolbar');
2748
- toolbar_9.refreshOverflow();
2762
+ var toolbar_10 = getComponent(id + '_bottomToolbar', 'toolbar');
2763
+ toolbar_10.refreshOverflow();
2749
2764
  }
2750
2765
  }
2751
2766
  else {
2752
2767
  if (document.getElementById(id + '_toolbar')) {
2753
2768
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
2754
- var toolbar_10 = getComponent(id + '_toolbar', 'toolbar');
2755
- toolbar_10.refreshOverflow();
2769
+ var toolbar_11 = getComponent(id + '_toolbar', 'toolbar');
2770
+ toolbar_11.refreshOverflow();
2756
2771
  }
2757
2772
  }
2758
2773
  }
@@ -3076,15 +3091,15 @@ var ToolbarModule = /** @class */ (function () {
3076
3091
  if (Browser.isDevice) {
3077
3092
  if (document.getElementById(id + '_bottomToolbar')) {
3078
3093
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3079
- var toolbar_11 = getComponent(id + '_bottomToolbar', 'toolbar');
3080
- toolbar_11.refreshOverflow();
3094
+ var toolbar_12 = getComponent(id + '_bottomToolbar', 'toolbar');
3095
+ toolbar_12.refreshOverflow();
3081
3096
  }
3082
3097
  }
3083
3098
  else {
3084
3099
  if (document.getElementById(id + '_toolbar')) {
3085
3100
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3086
- var toolbar_12 = getComponent(id + '_toolbar', 'toolbar');
3087
- toolbar_12.refreshOverflow();
3101
+ var toolbar_13 = getComponent(id + '_toolbar', 'toolbar');
3102
+ toolbar_13.refreshOverflow();
3088
3103
  }
3089
3104
  }
3090
3105
  }
@@ -3151,15 +3166,15 @@ var ToolbarModule = /** @class */ (function () {
3151
3166
  if (Browser.isDevice) {
3152
3167
  if (document.getElementById(id + '_bottomToolbar')) {
3153
3168
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3154
- var toolbar_13 = getComponent(id + '_bottomToolbar', 'toolbar');
3155
- toolbar_13.refreshOverflow();
3169
+ var toolbar_14 = getComponent(id + '_bottomToolbar', 'toolbar');
3170
+ toolbar_14.refreshOverflow();
3156
3171
  }
3157
3172
  }
3158
3173
  else {
3159
3174
  if (document.getElementById(id + '_toolbar')) {
3160
3175
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3161
- var toolbar_14 = getComponent(id + '_toolbar', 'toolbar');
3162
- toolbar_14.refreshOverflow();
3176
+ var toolbar_15 = getComponent(id + '_toolbar', 'toolbar');
3177
+ toolbar_15.refreshOverflow();
3163
3178
  }
3164
3179
  }
3165
3180
  }
@@ -3226,15 +3241,15 @@ var ToolbarModule = /** @class */ (function () {
3226
3241
  if (Browser.isDevice) {
3227
3242
  if (document.getElementById(id + '_bottomToolbar')) {
3228
3243
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3229
- var toolbar_15 = getComponent(id + '_bottomToolbar', 'toolbar');
3230
- toolbar_15.refreshOverflow();
3244
+ var toolbar_16 = getComponent(id + '_bottomToolbar', 'toolbar');
3245
+ toolbar_16.refreshOverflow();
3231
3246
  }
3232
3247
  }
3233
3248
  else {
3234
3249
  if (document.getElementById(id + '_toolbar')) {
3235
3250
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3236
- var toolbar_16 = getComponent(id + '_toolbar', 'toolbar');
3237
- toolbar_16.refreshOverflow();
3251
+ var toolbar_17 = getComponent(id + '_toolbar', 'toolbar');
3252
+ toolbar_17.refreshOverflow();
3238
3253
  }
3239
3254
  }
3240
3255
  }
@@ -3302,15 +3317,15 @@ var ToolbarModule = /** @class */ (function () {
3302
3317
  if (Browser.isDevice) {
3303
3318
  if (document.getElementById(id + '_bottomToolbar')) {
3304
3319
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3305
- var toolbar_17 = getComponent(id + '_bottomToolbar', 'toolbar');
3306
- toolbar_17.refreshOverflow();
3320
+ var toolbar_18 = getComponent(id + '_bottomToolbar', 'toolbar');
3321
+ toolbar_18.refreshOverflow();
3307
3322
  }
3308
3323
  }
3309
3324
  else {
3310
3325
  if (document.getElementById(id + '_toolbar')) {
3311
3326
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3312
- var toolbar_18 = getComponent(id + '_toolbar', 'toolbar');
3313
- toolbar_18.refreshOverflow();
3327
+ var toolbar_19 = getComponent(id + '_toolbar', 'toolbar');
3328
+ toolbar_19.refreshOverflow();
3314
3329
  }
3315
3330
  }
3316
3331
  }
@@ -3377,15 +3392,15 @@ var ToolbarModule = /** @class */ (function () {
3377
3392
  if (Browser.isDevice) {
3378
3393
  if (document.getElementById(id + '_bottomToolbar')) {
3379
3394
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3380
- var toolbar_19 = getComponent(id + '_bottomToolbar', 'toolbar');
3381
- toolbar_19.refreshOverflow();
3395
+ var toolbar_20 = getComponent(id + '_bottomToolbar', 'toolbar');
3396
+ toolbar_20.refreshOverflow();
3382
3397
  }
3383
3398
  }
3384
3399
  else {
3385
3400
  if (document.getElementById(id + '_toolbar')) {
3386
3401
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3387
- var toolbar_20 = getComponent(id + '_toolbar', 'toolbar');
3388
- toolbar_20.refreshOverflow();
3402
+ var toolbar_21 = getComponent(id + '_toolbar', 'toolbar');
3403
+ toolbar_21.refreshOverflow();
3389
3404
  }
3390
3405
  }
3391
3406
  }
@@ -3450,15 +3465,15 @@ var ToolbarModule = /** @class */ (function () {
3450
3465
  if (Browser.isDevice) {
3451
3466
  if (document.getElementById(id + '_bottomToolbar')) {
3452
3467
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3453
- var toolbar_21 = getComponent(id + '_bottomToolbar', 'toolbar');
3454
- toolbar_21.refreshOverflow();
3468
+ var toolbar_22 = getComponent(id + '_bottomToolbar', 'toolbar');
3469
+ toolbar_22.refreshOverflow();
3455
3470
  }
3456
3471
  }
3457
3472
  else {
3458
3473
  if (document.getElementById(id + '_toolbar')) {
3459
3474
  /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3460
- var toolbar_22 = getComponent(id + '_toolbar', 'toolbar');
3461
- toolbar_22.refreshOverflow();
3475
+ var toolbar_23 = getComponent(id + '_toolbar', 'toolbar');
3476
+ toolbar_23.refreshOverflow();
3462
3477
  }
3463
3478
  }
3464
3479
  }
@@ -3782,33 +3797,7 @@ var ToolbarModule = /** @class */ (function () {
3782
3797
  break;
3783
3798
  case 'edittext':
3784
3799
  if (!parent.element.querySelector('#' + id + '_editText').classList.contains('e-disabled')) {
3785
- this.upperContext.clearRect(0, 0, parent.upperCanvas.width, parent.upperCanvas.height);
3786
- parent.notify('selection', { prop: 'setTempActObj', onPropertyChange: false,
3787
- value: { obj: extend({}, parent.activeObj, {}, true) } });
3788
- parent.notify('selection', { prop: 'setInitialTextEdit', onPropertyChange: false,
3789
- value: { bool: true } });
3790
- parent.notify('draw', { prop: 'setPrevActObj', onPropertyChange: false,
3791
- value: { prevActObj: extend({}, parent.activeObj, {}, true) } });
3792
- if (parent.activeObj.rotatedAngle !== 0) {
3793
- var object_1 = { x: points.x, y: points.y };
3794
- parent.notify('shape', { prop: 'getTextBoxPosition', onPropertyChange: false,
3795
- value: { obj: parent.activeObj, object: object_1 } });
3796
- points.x = object_1['x'];
3797
- points.y = object_1['y'];
3798
- var object1 = { x: points.x, y: points.y };
3799
- parent.notify('shape', { prop: 'setFlipState', onPropertyChange: false,
3800
- value: { x: points.x, y: points.y, obj: parent.activeObj, object: object1 } });
3801
- points.x = object1['x'];
3802
- points.y = object1['y'];
3803
- }
3804
- parent.notify('shape', { prop: 'renderTextArea', onPropertyChange: false,
3805
- value: { x: points.x, y: points.y, actObj: parent.activeObj } });
3806
- if (isNullOrUndefined(parent.activeObj.currIndex)) {
3807
- parent.notify('draw', { prop: 'setShapeTextInsert', onPropertyChange: false, value: { bool: true } });
3808
- }
3809
- if (document.getElementById(id + '_quickAccessToolbarArea')) {
3810
- document.getElementById(id + '_quickAccessToolbarArea').style.display = 'none';
3811
- }
3800
+ this.editText();
3812
3801
  }
3813
3802
  break;
3814
3803
  case 'rotleft':
@@ -3841,6 +3830,37 @@ var ToolbarModule = /** @class */ (function () {
3841
3830
  parent.trigger('quickAccessToolbarItemClick', args);
3842
3831
  }
3843
3832
  };
3833
+ ToolbarModule.prototype.editText = function () {
3834
+ var parent = this.parent;
3835
+ var points = { x: parent.activeObj.activePoint.startX, y: parent.activeObj.activePoint.startY };
3836
+ this.upperContext.clearRect(0, 0, parent.upperCanvas.width, parent.upperCanvas.height);
3837
+ parent.notify('selection', { prop: 'setTempActObj', onPropertyChange: false,
3838
+ value: { obj: extend({}, parent.activeObj, {}, true) } });
3839
+ parent.notify('selection', { prop: 'setInitialTextEdit', onPropertyChange: false,
3840
+ value: { bool: true } });
3841
+ parent.notify('draw', { prop: 'setPrevActObj', onPropertyChange: false,
3842
+ value: { prevActObj: extend({}, parent.activeObj, {}, true) } });
3843
+ if (parent.activeObj.rotatedAngle !== 0) {
3844
+ var object = { x: points.x, y: points.y };
3845
+ parent.notify('shape', { prop: 'getTextBoxPosition', onPropertyChange: false,
3846
+ value: { obj: parent.activeObj, object: object } });
3847
+ points.x = object['x'];
3848
+ points.y = object['y'];
3849
+ var object1 = { x: points.x, y: points.y };
3850
+ parent.notify('shape', { prop: 'setFlipState', onPropertyChange: false,
3851
+ value: { x: points.x, y: points.y, obj: parent.activeObj, object: object1 } });
3852
+ points.x = object1['x'];
3853
+ points.y = object1['y'];
3854
+ }
3855
+ parent.notify('shape', { prop: 'renderTextArea', onPropertyChange: false,
3856
+ value: { x: points.x, y: points.y, actObj: parent.activeObj } });
3857
+ if (isNullOrUndefined(parent.activeObj.currIndex)) {
3858
+ parent.notify('draw', { prop: 'setShapeTextInsert', onPropertyChange: false, value: { bool: true } });
3859
+ }
3860
+ if (document.getElementById(parent.element.id + '_quickAccessToolbarArea')) {
3861
+ document.getElementById(parent.element.id + '_quickAccessToolbarArea').style.display = 'none';
3862
+ }
3863
+ };
3844
3864
  ToolbarModule.prototype.duplicateShape = function (isPreventUndoRedo, isPublicMethod) {
3845
3865
  var parent = this.parent;
3846
3866
  var tempObj = { activePoint: { startX: 0, startY: 0, endX: 0, endY: 0, width: 0, height: 0 },
@@ -4094,7 +4114,6 @@ var ToolbarModule = /** @class */ (function () {
4094
4114
  parseFloat(getComponent(aspectRatioHeight, 'numerictextbox').placeholder);
4095
4115
  parent.notify('transform', { prop: 'resize', value: { width: parent.aspectWidth, height: parent.aspectHeight, isAspectRatio: false } });
4096
4116
  }
4097
- parent.cancelCropSelection = null;
4098
4117
  parent.resizeSrc = { startX: parent.img.srcLeft, startY: parent.img.srcTop, width: parent.img.srcWidth,
4099
4118
  height: parent.img.srcHeight };
4100
4119
  this.refreshToolbar('resize');
@@ -4790,91 +4809,93 @@ var ToolbarModule = /** @class */ (function () {
4790
4809
  if (!parent.isImageLoaded) {
4791
4810
  return;
4792
4811
  }
4793
- var selFillElem = parent.element.querySelector('.e-fill.e-template .e-dropdownbtn-preview');
4794
- var selStrokeElem = parent.element.querySelector('.e-stroke.e-template .e-dropdownbtn-preview');
4795
- var selTextStrokeElem = parent.element.querySelector('.e-text-font-color.e-template .e-dropdownbtn-preview');
4796
- var selPenStrokeElem = parent.element.querySelector('.e-pen-stroke-color.e-template .e-dropdownbtn-preview');
4797
- var strokeWidthElem = parent.element.querySelector('.e-shape-stroke-width');
4798
- var fontFamilyElem = parent.element.querySelector('.e-text-font-family');
4799
- var fontSizeElem = parent.element.querySelector('.e-text-font-size');
4800
- var boldBtn = parent.element.querySelector('#' + id + '_bold');
4801
- var italicBtn = parent.element.querySelector('#' + id + '_italic');
4802
- if (parent.activeObj.strokeSettings && parent.activeObj.textSettings) {
4803
- if (isNullOrUndefined(parent.activeObj.strokeSettings.strokeWidth)) {
4804
- parent.activeObj.strokeSettings.strokeWidth = 2;
4805
- }
4806
- if (selFillElem) {
4807
- var value = parent.activeObj.strokeSettings.fillColor;
4808
- if (parent.activeObj.strokeSettings.fillColor === '') {
4809
- selFillElem.classList.add('e-nocolor-item');
4810
- }
4811
- else {
4812
- selFillElem.classList.remove('e-nocolor-item');
4813
- selFillElem.style.background = value;
4814
- }
4815
- if (document.querySelector('#' + id + '_shape_fill')) {
4816
- getComponent(id + '_shape_fill', 'colorpicker').value = value;
4817
- }
4818
- }
4819
- if (selStrokeElem) {
4820
- var value = parent.activeObj.strokeSettings.strokeColor;
4821
- selStrokeElem.style.background = value;
4822
- if (document.querySelector('#' + id + '_shape_stroke')) {
4823
- getComponent(id + '_shape_stroke', 'colorpicker').value = value;
4824
- }
4825
- }
4826
- if (selTextStrokeElem) {
4827
- var value = parent.activeObj.strokeSettings.strokeColor;
4828
- selTextStrokeElem.style.background = value;
4829
- if (document.querySelector('#' + id + '_text_font')) {
4830
- getComponent(id + '_text_font', 'colorpicker').value = value;
4812
+ if (this.isToolbar()) {
4813
+ var selFillElem = parent.element.querySelector('.e-fill.e-template .e-dropdownbtn-preview');
4814
+ var selStrokeElem = parent.element.querySelector('.e-stroke.e-template .e-dropdownbtn-preview');
4815
+ var selTextStrokeElem = parent.element.querySelector('.e-text-font-color.e-template .e-dropdownbtn-preview');
4816
+ var selPenStrokeElem = parent.element.querySelector('.e-pen-stroke-color.e-template .e-dropdownbtn-preview');
4817
+ var strokeWidthElem = parent.element.querySelector('.e-shape-stroke-width');
4818
+ var fontFamilyElem = parent.element.querySelector('.e-text-font-family');
4819
+ var fontSizeElem = parent.element.querySelector('.e-text-font-size');
4820
+ var boldBtn = parent.element.querySelector('#' + id + '_bold');
4821
+ var italicBtn = parent.element.querySelector('#' + id + '_italic');
4822
+ if (parent.activeObj.strokeSettings && parent.activeObj.textSettings) {
4823
+ if (isNullOrUndefined(parent.activeObj.strokeSettings.strokeWidth)) {
4824
+ parent.activeObj.strokeSettings.strokeWidth = 2;
4825
+ }
4826
+ if (selFillElem) {
4827
+ var value = parent.activeObj.strokeSettings.fillColor;
4828
+ if (parent.activeObj.strokeSettings.fillColor === '') {
4829
+ selFillElem.classList.add('e-nocolor-item');
4830
+ }
4831
+ else {
4832
+ selFillElem.classList.remove('e-nocolor-item');
4833
+ selFillElem.style.background = value;
4834
+ }
4835
+ if (document.querySelector('#' + id + '_shape_fill')) {
4836
+ getComponent(id + '_shape_fill', 'colorpicker').value = value;
4837
+ }
4831
4838
  }
4832
- }
4833
- if (selPenStrokeElem) {
4834
- var value = parent.activeObj.strokeSettings.strokeColor;
4835
- selPenStrokeElem.style.background = value;
4836
- if (document.querySelector('#' + id + '_pen_stroke')) {
4837
- getComponent(id + '_pen_stroke', 'colorpicker').value = value;
4839
+ if (selStrokeElem) {
4840
+ var value = parent.activeObj.strokeSettings.strokeColor;
4841
+ selStrokeElem.style.background = value;
4842
+ if (document.querySelector('#' + id + '_shape_stroke')) {
4843
+ getComponent(id + '_shape_stroke', 'colorpicker').value = value;
4844
+ }
4838
4845
  }
4839
- var obj = { penOpacity: 1 };
4840
- parent.notify('freehand-draw', { prop: 'getPenOpacity', onPropertyChange: false, value: { obj: obj } });
4841
- }
4842
- if (fontFamilyElem) {
4843
- if (Browser.isDevice) {
4844
- fontFamilyElem.setAttribute('style', 'font-family:' + parent.activeObj.textSettings.fontFamily.toLowerCase());
4846
+ if (selTextStrokeElem) {
4847
+ var value = parent.activeObj.strokeSettings.strokeColor;
4848
+ selTextStrokeElem.style.background = value;
4849
+ if (document.querySelector('#' + id + '_text_font')) {
4850
+ getComponent(id + '_text_font', 'colorpicker').value = value;
4851
+ }
4845
4852
  }
4846
- else {
4847
- fontFamilyElem.textContent = parent.activeObj.textSettings.fontFamily;
4853
+ if (selPenStrokeElem) {
4854
+ var value = parent.activeObj.strokeSettings.strokeColor;
4855
+ selPenStrokeElem.style.background = value;
4856
+ if (document.querySelector('#' + id + '_pen_stroke')) {
4857
+ getComponent(id + '_pen_stroke', 'colorpicker').value = value;
4858
+ }
4859
+ var obj = { penOpacity: 1 };
4860
+ parent.notify('freehand-draw', { prop: 'getPenOpacity', onPropertyChange: false, value: { obj: obj } });
4848
4861
  }
4849
- }
4850
- if (fontSizeElem) {
4851
- for (var i = 0; i < parent.fontSizeColl.length; i++) {
4852
- if (parseInt(parent.fontSizeColl[i].text, 10) >= Math.round(parent.activeObj.textSettings.fontSize)) {
4853
- fontSizeElem.textContent = (i + 1).toString();
4854
- break;
4862
+ if (fontFamilyElem) {
4863
+ if (Browser.isDevice) {
4864
+ fontFamilyElem.setAttribute('style', 'font-family:' + parent.activeObj.textSettings.fontFamily.toLowerCase());
4865
+ }
4866
+ else {
4867
+ fontFamilyElem.textContent = parent.activeObj.textSettings.fontFamily;
4855
4868
  }
4856
4869
  }
4857
- }
4858
- if (boldBtn) {
4859
- if (parent.activeObj.textSettings.bold) {
4860
- boldBtn.classList.add('e-selected-btn');
4870
+ if (fontSizeElem) {
4871
+ for (var i = 0; i < parent.fontSizeColl.length; i++) {
4872
+ if (parseInt(parent.fontSizeColl[i].text, 10) >= Math.round(parent.activeObj.textSettings.fontSize)) {
4873
+ fontSizeElem.textContent = (i + 1).toString();
4874
+ break;
4875
+ }
4876
+ }
4861
4877
  }
4862
- else {
4863
- boldBtn.classList.remove('e-selected-btn');
4878
+ if (boldBtn) {
4879
+ if (parent.activeObj.textSettings.bold) {
4880
+ boldBtn.classList.add('e-selected-btn');
4881
+ }
4882
+ else {
4883
+ boldBtn.classList.remove('e-selected-btn');
4884
+ }
4864
4885
  }
4865
- }
4866
- if (italicBtn) {
4867
- if (parent.activeObj.textSettings.italic) {
4868
- italicBtn.classList.add('e-selected-btn');
4886
+ if (italicBtn) {
4887
+ if (parent.activeObj.textSettings.italic) {
4888
+ italicBtn.classList.add('e-selected-btn');
4889
+ }
4890
+ else {
4891
+ italicBtn.classList.remove('e-selected-btn');
4892
+ }
4869
4893
  }
4870
- else {
4871
- italicBtn.classList.remove('e-selected-btn');
4894
+ if (strokeWidthElem) {
4895
+ var strokeWidth = Math.round((parent.activeObj.strokeSettings.strokeWidth)).toString();
4896
+ strokeWidthElem.textContent = this.getStrokeWidth(strokeWidth);
4872
4897
  }
4873
4898
  }
4874
- if (strokeWidthElem) {
4875
- var strokeWidth = Math.round((parent.activeObj.strokeSettings.strokeWidth)).toString();
4876
- strokeWidthElem.textContent = this.getStrokeWidth(strokeWidth);
4877
- }
4878
4899
  }
4879
4900
  };
4880
4901
  ToolbarModule.prototype.getStrokeWidth = function (text) {