@syncfusion/ej2-inputs 22.2.12 → 23.1.38
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/CHANGELOG.md +4 -82
- package/dist/ej2-inputs.min.js +3 -3
- package/dist/ej2-inputs.umd.min.js +3 -3
- package/dist/ej2-inputs.umd.min.js.map +1 -1
- package/dist/es6/ej2-inputs.es2015.js +69 -41
- package/dist/es6/ej2-inputs.es2015.js.map +1 -1
- package/dist/es6/ej2-inputs.es5.js +69 -41
- package/dist/es6/ej2-inputs.es5.js.map +1 -1
- package/dist/global/ej2-inputs.min.js +3 -3
- package/dist/global/ej2-inputs.min.js.map +1 -1
- package/dist/global/index.d.ts +2 -2
- package/package.json +10 -10
- package/src/color-picker/color-picker-model.d.ts +1 -1
- package/src/color-picker/color-picker.js +10 -2
- package/src/common/signature-base.d.ts +3 -1
- package/src/common/signature-base.js +53 -34
- package/src/form-validator/form-validator.js +5 -5
- package/src/rating/rating-model.d.ts +12 -0
- package/src/rating/rating.d.ts +12 -0
- package/src/uploader/uploader.js +1 -0
- package/styles/bootstrap-dark.css +0 -4
- package/styles/bootstrap.css +0 -4
- package/styles/bootstrap4.css +0 -4
- package/styles/bootstrap5-dark.css +0 -4
- package/styles/bootstrap5.css +0 -4
- package/styles/color-picker/bootstrap-dark.scss +1 -1
- package/styles/color-picker/bootstrap.scss +1 -1
- package/styles/color-picker/bootstrap4.scss +1 -1
- package/styles/color-picker/bootstrap5-dark.scss +1 -1
- package/styles/color-picker/bootstrap5.scss +1 -1
- package/styles/color-picker/fabric-dark.scss +1 -1
- package/styles/color-picker/fabric.scss +1 -1
- package/styles/color-picker/fluent-dark.scss +1 -1
- package/styles/color-picker/fluent.scss +1 -1
- package/styles/color-picker/highcontrast-light.scss +1 -1
- package/styles/color-picker/highcontrast.scss +1 -1
- package/styles/color-picker/material-dark.css +0 -1
- package/styles/color-picker/material-dark.scss +1 -1
- package/styles/color-picker/material.css +0 -1
- package/styles/color-picker/material.scss +1 -1
- package/styles/color-picker/material3-dark.css +0 -1
- package/styles/color-picker/material3-dark.scss +1 -1
- package/styles/color-picker/material3.css +0 -1
- package/styles/color-picker/material3.scss +1 -1
- package/styles/color-picker/tailwind-dark.css +0 -1
- package/styles/color-picker/tailwind-dark.scss +1 -1
- package/styles/color-picker/tailwind.css +0 -1
- package/styles/color-picker/tailwind.scss +1 -1
- package/styles/fabric-dark.css +0 -4
- package/styles/fabric.css +0 -4
- package/styles/fluent-dark.css +0 -4
- package/styles/fluent.css +0 -4
- package/styles/highcontrast-light.css +0 -4
- package/styles/highcontrast.css +0 -4
- package/styles/input/_layout.scss +1 -1
- package/styles/input/bootstrap-dark.scss +1 -1
- package/styles/input/bootstrap.scss +1 -1
- package/styles/input/bootstrap4.scss +1 -1
- package/styles/input/bootstrap5-dark.scss +1 -1
- package/styles/input/bootstrap5.scss +1 -1
- package/styles/input/fabric-dark.scss +1 -1
- package/styles/input/fabric.scss +1 -1
- package/styles/input/fluent-dark.scss +1 -1
- package/styles/input/fluent.scss +1 -1
- package/styles/input/highcontrast-light.scss +1 -1
- package/styles/input/highcontrast.scss +1 -1
- package/styles/input/material-dark.css +0 -1
- package/styles/input/material-dark.scss +1 -1
- package/styles/input/material.css +0 -1
- package/styles/input/material.scss +1 -1
- package/styles/input/material3-dark.css +0 -1
- package/styles/input/material3-dark.scss +1 -1
- package/styles/input/material3.css +0 -1
- package/styles/input/material3.scss +1 -1
- package/styles/input/tailwind-dark.css +0 -1
- package/styles/input/tailwind-dark.scss +1 -1
- package/styles/input/tailwind.css +0 -1
- package/styles/input/tailwind.scss +1 -1
- package/styles/maskedtextbox/bootstrap-dark.scss +1 -1
- package/styles/maskedtextbox/bootstrap.scss +1 -1
- package/styles/maskedtextbox/bootstrap4.scss +1 -1
- package/styles/maskedtextbox/bootstrap5-dark.scss +1 -1
- package/styles/maskedtextbox/bootstrap5.scss +1 -1
- package/styles/maskedtextbox/fabric-dark.scss +1 -1
- package/styles/maskedtextbox/fabric.scss +1 -1
- package/styles/maskedtextbox/fluent-dark.scss +1 -1
- package/styles/maskedtextbox/fluent.scss +1 -1
- package/styles/maskedtextbox/highcontrast-light.scss +1 -1
- package/styles/maskedtextbox/highcontrast.scss +1 -1
- package/styles/maskedtextbox/material-dark.css +0 -1
- package/styles/maskedtextbox/material-dark.scss +1 -1
- package/styles/maskedtextbox/material.css +0 -1
- package/styles/maskedtextbox/material.scss +1 -1
- package/styles/maskedtextbox/material3-dark.css +0 -1
- package/styles/maskedtextbox/material3-dark.scss +1 -1
- package/styles/maskedtextbox/material3.css +0 -1
- package/styles/maskedtextbox/material3.scss +1 -1
- package/styles/maskedtextbox/tailwind-dark.css +0 -1
- package/styles/maskedtextbox/tailwind-dark.scss +1 -1
- package/styles/maskedtextbox/tailwind.css +0 -1
- package/styles/maskedtextbox/tailwind.scss +1 -1
- package/styles/material-dark.css +0 -5
- package/styles/material.css +0 -5
- package/styles/material3-dark.css +1 -6
- package/styles/material3-dark.scss +1 -1
- package/styles/material3.css +1 -6
- package/styles/material3.scss +1 -1
- package/styles/numerictextbox/bootstrap-dark.scss +1 -1
- package/styles/numerictextbox/bootstrap.scss +1 -1
- package/styles/numerictextbox/bootstrap4.scss +1 -1
- package/styles/numerictextbox/bootstrap5-dark.scss +1 -1
- package/styles/numerictextbox/bootstrap5.scss +1 -1
- package/styles/numerictextbox/fabric-dark.scss +1 -1
- package/styles/numerictextbox/fabric.scss +1 -1
- package/styles/numerictextbox/fluent-dark.scss +1 -1
- package/styles/numerictextbox/fluent.scss +1 -1
- package/styles/numerictextbox/highcontrast-light.scss +1 -1
- package/styles/numerictextbox/highcontrast.scss +1 -1
- package/styles/numerictextbox/material-dark.css +0 -1
- package/styles/numerictextbox/material-dark.scss +1 -1
- package/styles/numerictextbox/material.css +0 -1
- package/styles/numerictextbox/material.scss +1 -1
- package/styles/numerictextbox/material3-dark.css +0 -1
- package/styles/numerictextbox/material3-dark.scss +1 -1
- package/styles/numerictextbox/material3.css +0 -1
- package/styles/numerictextbox/material3.scss +1 -1
- package/styles/numerictextbox/tailwind-dark.css +0 -1
- package/styles/numerictextbox/tailwind-dark.scss +1 -1
- package/styles/numerictextbox/tailwind.css +0 -1
- package/styles/numerictextbox/tailwind.scss +1 -1
- package/styles/rating/_bootstrap-dark-definition.scss +0 -4
- package/styles/rating/_bootstrap-definition.scss +0 -4
- package/styles/rating/_bootstrap4-definition.scss +0 -4
- package/styles/rating/_bootstrap5-definition.scss +0 -4
- package/styles/rating/_fabric-dark-definition.scss +0 -4
- package/styles/rating/_fabric-definition.scss +0 -4
- package/styles/rating/_fluent-definition.scss +0 -4
- package/styles/rating/_fusionnew-definition.scss +0 -4
- package/styles/rating/_highcontrast-definition.scss +0 -4
- package/styles/rating/_highcontrast-light-definition.scss +0 -4
- package/styles/rating/_layout.scss +0 -4
- package/styles/rating/_material-dark-definition.scss +0 -4
- package/styles/rating/_material-definition.scss +0 -4
- package/styles/rating/_material3-definition.scss +0 -4
- package/styles/rating/_tailwind-definition.scss +0 -4
- package/styles/rating/_theme.scss +3 -0
- package/styles/rating/bootstrap-dark.css +0 -4
- package/styles/rating/bootstrap-dark.scss +1 -1
- package/styles/rating/bootstrap.css +0 -4
- package/styles/rating/bootstrap.scss +1 -1
- package/styles/rating/bootstrap4.css +0 -4
- package/styles/rating/bootstrap4.scss +1 -1
- package/styles/rating/bootstrap5-dark.css +0 -4
- package/styles/rating/bootstrap5-dark.scss +1 -1
- package/styles/rating/bootstrap5.css +0 -4
- package/styles/rating/bootstrap5.scss +1 -1
- package/styles/rating/fabric-dark.css +0 -4
- package/styles/rating/fabric-dark.scss +1 -1
- package/styles/rating/fabric.css +0 -4
- package/styles/rating/fabric.scss +1 -1
- package/styles/rating/fluent-dark.css +0 -4
- package/styles/rating/fluent-dark.scss +1 -1
- package/styles/rating/fluent.css +0 -4
- package/styles/rating/fluent.scss +1 -1
- package/styles/rating/highcontrast-light.css +0 -4
- package/styles/rating/highcontrast-light.scss +1 -1
- package/styles/rating/highcontrast.css +0 -4
- package/styles/rating/highcontrast.scss +1 -1
- package/styles/rating/material-dark.css +0 -5
- package/styles/rating/material-dark.scss +1 -1
- package/styles/rating/material.css +0 -5
- package/styles/rating/material.scss +1 -1
- package/styles/rating/material3-dark.css +1 -6
- package/styles/rating/material3-dark.scss +1 -1
- package/styles/rating/material3.css +1 -6
- package/styles/rating/material3.scss +1 -1
- package/styles/rating/tailwind-dark.css +0 -5
- package/styles/rating/tailwind-dark.scss +1 -1
- package/styles/rating/tailwind.css +0 -5
- package/styles/rating/tailwind.scss +1 -1
- package/styles/signature/bootstrap-dark.scss +1 -1
- package/styles/signature/bootstrap.scss +1 -1
- package/styles/signature/bootstrap4.scss +1 -1
- package/styles/signature/bootstrap5-dark.scss +1 -1
- package/styles/signature/bootstrap5.scss +1 -1
- package/styles/signature/fabric-dark.scss +1 -1
- package/styles/signature/fabric.scss +1 -1
- package/styles/signature/fluent-dark.scss +1 -1
- package/styles/signature/fluent.scss +1 -1
- package/styles/signature/highcontrast-light.scss +1 -1
- package/styles/signature/highcontrast.scss +1 -1
- package/styles/signature/material-dark.css +0 -1
- package/styles/signature/material-dark.scss +1 -1
- package/styles/signature/material.css +0 -1
- package/styles/signature/material.scss +1 -1
- package/styles/signature/material3-dark.css +0 -1
- package/styles/signature/material3-dark.scss +1 -1
- package/styles/signature/material3.css +0 -1
- package/styles/signature/material3.scss +1 -1
- package/styles/signature/tailwind-dark.css +0 -1
- package/styles/signature/tailwind-dark.scss +1 -1
- package/styles/signature/tailwind.css +0 -1
- package/styles/signature/tailwind.scss +1 -1
- package/styles/slider/bootstrap-dark.scss +1 -1
- package/styles/slider/bootstrap.scss +1 -1
- package/styles/slider/bootstrap4.scss +1 -1
- package/styles/slider/bootstrap5-dark.scss +1 -1
- package/styles/slider/bootstrap5.scss +1 -1
- package/styles/slider/fabric-dark.scss +1 -1
- package/styles/slider/fabric.scss +1 -1
- package/styles/slider/fluent-dark.scss +1 -1
- package/styles/slider/fluent.scss +1 -1
- package/styles/slider/highcontrast-light.scss +1 -1
- package/styles/slider/highcontrast.scss +1 -1
- package/styles/slider/material-dark.css +0 -1
- package/styles/slider/material-dark.scss +1 -1
- package/styles/slider/material.css +0 -1
- package/styles/slider/material.scss +1 -1
- package/styles/slider/material3-dark.css +0 -1
- package/styles/slider/material3-dark.scss +1 -1
- package/styles/slider/material3.css +0 -1
- package/styles/slider/material3.scss +1 -1
- package/styles/slider/tailwind-dark.css +0 -1
- package/styles/slider/tailwind-dark.scss +1 -1
- package/styles/slider/tailwind.css +0 -1
- package/styles/slider/tailwind.scss +1 -1
- package/styles/tailwind-dark.css +0 -13
- package/styles/tailwind.css +0 -13
- package/styles/textbox/bootstrap-dark.scss +1 -1
- package/styles/textbox/bootstrap.scss +1 -1
- package/styles/textbox/bootstrap4.scss +1 -1
- package/styles/textbox/bootstrap5-dark.scss +1 -1
- package/styles/textbox/bootstrap5.scss +1 -1
- package/styles/textbox/fabric-dark.scss +1 -1
- package/styles/textbox/fabric.scss +1 -1
- package/styles/textbox/fluent-dark.scss +1 -1
- package/styles/textbox/fluent.scss +1 -1
- package/styles/textbox/highcontrast-light.scss +1 -1
- package/styles/textbox/highcontrast.scss +1 -1
- package/styles/textbox/material-dark.css +0 -1
- package/styles/textbox/material-dark.scss +1 -1
- package/styles/textbox/material.css +0 -1
- package/styles/textbox/material.scss +1 -1
- package/styles/textbox/material3-dark.css +0 -1
- package/styles/textbox/material3-dark.scss +1 -1
- package/styles/textbox/material3.css +0 -1
- package/styles/textbox/material3.scss +1 -1
- package/styles/textbox/tailwind-dark.css +0 -1
- package/styles/textbox/tailwind-dark.scss +1 -1
- package/styles/textbox/tailwind.css +0 -1
- package/styles/textbox/tailwind.scss +1 -1
- package/styles/uploader/bootstrap-dark.scss +1 -1
- package/styles/uploader/bootstrap.scss +1 -1
- package/styles/uploader/bootstrap4.scss +1 -1
- package/styles/uploader/bootstrap5-dark.scss +1 -1
- package/styles/uploader/bootstrap5.scss +1 -1
- package/styles/uploader/fabric-dark.scss +1 -1
- package/styles/uploader/fabric.scss +1 -1
- package/styles/uploader/fluent-dark.scss +1 -1
- package/styles/uploader/fluent.scss +1 -1
- package/styles/uploader/highcontrast-light.scss +1 -1
- package/styles/uploader/highcontrast.scss +1 -1
- package/styles/uploader/material-dark.css +0 -1
- package/styles/uploader/material-dark.scss +1 -1
- package/styles/uploader/material.css +0 -1
- package/styles/uploader/material.scss +1 -1
- package/styles/uploader/material3-dark.css +0 -1
- package/styles/uploader/material3-dark.scss +1 -1
- package/styles/uploader/material3.css +0 -1
- package/styles/uploader/material3.scss +1 -1
- package/styles/uploader/tailwind-dark.css +0 -1
- package/styles/uploader/tailwind-dark.scss +1 -1
- package/styles/uploader/tailwind.css +0 -1
- package/styles/uploader/tailwind.scss +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Ajax, Animation, Base, Browser, ChildProperty, Collection, Complex, Component, Event, EventHandler, Internationalization, KeyboardEvents, L10n, NotifyPropertyChanges, Property, SanitizeHtmlHelper, addClass, append, attributes, classList, closest, compile, createElement, detach, extend, formatUnit, getInstance, getNumericObject, getUniqueID, getValue, initializeCSPTemplate, isNullOrUndefined, merge, onIntlChange, remove, removeClass, rippleEffect, select, selectAll, setStyleAttribute, setValue } from '@syncfusion/ej2-base';
|
|
2
|
-
import { Popup, Tooltip, createSpinner, getZindexPartial, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';
|
|
2
|
+
import { Popup, Tooltip, createSpinner, getZindexPartial, hideSpinner, isCollide, showSpinner } from '@syncfusion/ej2-popups';
|
|
3
3
|
import { Deferred, SplitButton, getModel } from '@syncfusion/ej2-splitbuttons';
|
|
4
4
|
|
|
5
5
|
/* eslint-disable valid-jsdoc, jsdoc/require-jsdoc, jsdoc/require-returns, jsdoc/require-param */
|
|
@@ -7168,7 +7168,7 @@ let FormValidator = FormValidator_1 = class FormValidator extends Base {
|
|
|
7168
7168
|
input.removeAttribute('aria-invalid');
|
|
7169
7169
|
const inputParent = input.parentElement;
|
|
7170
7170
|
const grandParent = inputParent.parentElement;
|
|
7171
|
-
if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper')) {
|
|
7171
|
+
if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') || (input.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {
|
|
7172
7172
|
inputParent.classList.remove(this.errorClass);
|
|
7173
7173
|
}
|
|
7174
7174
|
else if ((grandParent != null) && (grandParent.classList.contains('e-control-wrapper') || grandParent.classList.contains('e-wrapper'))) {
|
|
@@ -7182,7 +7182,7 @@ let FormValidator = FormValidator_1 = class FormValidator extends Base {
|
|
|
7182
7182
|
this.getErrorElement(input.name);
|
|
7183
7183
|
this.hideMessage(input.name);
|
|
7184
7184
|
}
|
|
7185
|
-
if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper')) {
|
|
7185
|
+
if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') || (input.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {
|
|
7186
7186
|
inputParent.classList.remove(this.validClass);
|
|
7187
7187
|
}
|
|
7188
7188
|
else if ((grandParent != null) && (grandParent.classList.contains('e-control-wrapper') || grandParent.classList.contains('e-wrapper'))) {
|
|
@@ -7435,7 +7435,7 @@ let FormValidator = FormValidator_1 = class FormValidator extends Base {
|
|
|
7435
7435
|
this.inputElement.setAttribute('aria-describedby', this.inputElement.id + '-info');
|
|
7436
7436
|
const inputParent = this.inputElement.parentElement;
|
|
7437
7437
|
const grandParent = inputParent.parentElement;
|
|
7438
|
-
if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper')) {
|
|
7438
|
+
if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') || (this.inputElement.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {
|
|
7439
7439
|
inputParent.classList.add(this.errorClass);
|
|
7440
7440
|
inputParent.classList.remove(this.validClass);
|
|
7441
7441
|
}
|
|
@@ -7455,7 +7455,7 @@ let FormValidator = FormValidator_1 = class FormValidator extends Base {
|
|
|
7455
7455
|
}
|
|
7456
7456
|
eventArgs.errorElement = this.infoElement;
|
|
7457
7457
|
eventArgs.status = 'failure';
|
|
7458
|
-
if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper')) {
|
|
7458
|
+
if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') || (this.inputElement.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {
|
|
7459
7459
|
inputParent.classList.add(this.errorClass);
|
|
7460
7460
|
inputParent.classList.remove(this.validClass);
|
|
7461
7461
|
}
|
|
@@ -7610,7 +7610,7 @@ let FormValidator = FormValidator_1 = class FormValidator extends Base {
|
|
|
7610
7610
|
this.removeErrorRules(name);
|
|
7611
7611
|
const inputParent = this.inputElement.parentElement;
|
|
7612
7612
|
const grandParent = inputParent.parentElement;
|
|
7613
|
-
if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper')) {
|
|
7613
|
+
if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') || (this.inputElement.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {
|
|
7614
7614
|
inputParent.classList.add(this.validClass);
|
|
7615
7615
|
inputParent.classList.remove(this.errorClass);
|
|
7616
7616
|
}
|
|
@@ -8997,6 +8997,7 @@ let Uploader = class Uploader extends Component {
|
|
|
8997
8997
|
let fileData = [];
|
|
8998
8998
|
if (!this.multiple) {
|
|
8999
8999
|
this.clearData(true);
|
|
9000
|
+
this.actionCompleteCount = 0;
|
|
9000
9001
|
targetFiles = [targetFiles[0]];
|
|
9001
9002
|
}
|
|
9002
9003
|
for (let i = 0; i < targetFiles.length; i++) {
|
|
@@ -11402,6 +11403,15 @@ let ColorPicker = class ColorPicker extends Component {
|
|
|
11402
11403
|
}
|
|
11403
11404
|
onOpen() {
|
|
11404
11405
|
this.trigger('open', { element: this.container });
|
|
11406
|
+
if (!Browser.isDevice) {
|
|
11407
|
+
const popupInst = this.getPopupInst();
|
|
11408
|
+
const collision = isCollide(popupInst.element);
|
|
11409
|
+
if (collision.length > 0) {
|
|
11410
|
+
popupInst.collision = { X: 'flip', Y: 'fit' };
|
|
11411
|
+
popupInst.position = { X: 'right', Y: 'bottom' };
|
|
11412
|
+
popupInst.targetType = 'container';
|
|
11413
|
+
}
|
|
11414
|
+
}
|
|
11405
11415
|
}
|
|
11406
11416
|
getPopupInst() {
|
|
11407
11417
|
return getInstance(this.getPopupEle(), Popup);
|
|
@@ -11812,7 +11822,6 @@ let ColorPicker = class ColorPicker extends Component {
|
|
|
11812
11822
|
});
|
|
11813
11823
|
tooltip.createElement = this.createElement;
|
|
11814
11824
|
tooltip.appendTo(this.container);
|
|
11815
|
-
// eslint-disable-next-line
|
|
11816
11825
|
tooltip.open(this.container);
|
|
11817
11826
|
this.tooltipEle.style.zIndex = getZindexPartial(this.tooltipEle).toString();
|
|
11818
11827
|
select('.e-tip-content', this.tooltipEle).appendChild(this.createElement('div', { className: 'e-tip-transparent' }));
|
|
@@ -13909,20 +13918,28 @@ class SignatureBase extends Component {
|
|
|
13909
13918
|
}
|
|
13910
13919
|
}
|
|
13911
13920
|
setHTMLProperties() {
|
|
13912
|
-
if (this.element.height === 150 && this.element.width === 300) {
|
|
13921
|
+
if (this.element.height === 150 && this.element.width === 300 && this.element.offsetHeight !== 0 && this.element.offsetWidth !== 0) {
|
|
13913
13922
|
this.element.height = this.element.offsetHeight;
|
|
13914
13923
|
this.element.width = this.element.offsetWidth;
|
|
13915
13924
|
this.isResponsive = true;
|
|
13916
13925
|
}
|
|
13917
|
-
else if (this.element.height !== this.element.offsetHeight - 1 || this.element.width !== this.element.offsetWidth - 1)
|
|
13926
|
+
else if ((this.element.height !== this.element.offsetHeight - 1 || this.element.width !== this.element.offsetWidth - 1)
|
|
13927
|
+
&& this.element.offsetHeight !== 0 && this.element.offsetWidth !== 0) {
|
|
13918
13928
|
this.element.height = this.element.offsetHeight;
|
|
13919
13929
|
this.element.width = this.element.offsetWidth;
|
|
13920
13930
|
}
|
|
13921
13931
|
this.canvasContext.scale(1, 1);
|
|
13922
13932
|
this.canvasContext.fillStyle = this.strokeColor;
|
|
13933
|
+
this.tempCanvas = this.createElement('canvas', { className: 'e-' + this.getModuleName() + '-temp' });
|
|
13934
|
+
this.tempContext = this.tempCanvas.getContext('2d');
|
|
13935
|
+
this.tempCanvas.width = this.element.width;
|
|
13936
|
+
this.tempCanvas.height = this.element.height;
|
|
13923
13937
|
if (this.backgroundImage) {
|
|
13924
13938
|
this.canvasContext.canvas.style.backgroundImage = 'url(' + this.backgroundImage + ')';
|
|
13925
13939
|
this.canvasContext.canvas.style.backgroundRepeat = 'no-repeat';
|
|
13940
|
+
if (this.saveWithBackground) {
|
|
13941
|
+
this.setBackgroundImage(this.backgroundImage, 'temp');
|
|
13942
|
+
}
|
|
13926
13943
|
}
|
|
13927
13944
|
else if (this.backgroundColor) {
|
|
13928
13945
|
this.canvasContext.canvas.style.backgroundColor = this.backgroundColor;
|
|
@@ -14028,7 +14045,7 @@ class SignatureBase extends Component {
|
|
|
14028
14045
|
}
|
|
14029
14046
|
}
|
|
14030
14047
|
beginStroke(e) {
|
|
14031
|
-
this.
|
|
14048
|
+
this.internalRefresh();
|
|
14032
14049
|
this.updateStroke(e);
|
|
14033
14050
|
}
|
|
14034
14051
|
updateStroke(e) {
|
|
@@ -14279,19 +14296,27 @@ class SignatureBase extends Component {
|
|
|
14279
14296
|
this.clearArray.push(this.incStep);
|
|
14280
14297
|
}
|
|
14281
14298
|
}
|
|
14282
|
-
setBackgroundImage(imageSrc) {
|
|
14299
|
+
setBackgroundImage(imageSrc, type) {
|
|
14283
14300
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
14284
14301
|
const proxy = this;
|
|
14285
14302
|
const imageObj = new Image();
|
|
14286
14303
|
imageObj.crossOrigin = 'anonymous';
|
|
14287
14304
|
imageObj.src = imageSrc;
|
|
14288
|
-
|
|
14289
|
-
|
|
14290
|
-
|
|
14291
|
-
|
|
14292
|
-
|
|
14293
|
-
}
|
|
14294
|
-
|
|
14305
|
+
if (type == 'temp') {
|
|
14306
|
+
imageObj.onload = () => {
|
|
14307
|
+
proxy.tempContext.globalCompositeOperation = 'source-over';
|
|
14308
|
+
proxy.tempContext.drawImage(imageObj, 0, 0, proxy.element.width, proxy.element.height);
|
|
14309
|
+
};
|
|
14310
|
+
}
|
|
14311
|
+
else {
|
|
14312
|
+
imageObj.onload = () => {
|
|
14313
|
+
proxy.canvasContext.globalCompositeOperation = 'source-over';
|
|
14314
|
+
proxy.canvasContext.drawImage(imageObj, 0, 0, proxy.element.width, proxy.element.height);
|
|
14315
|
+
proxy.updateSnapCollection();
|
|
14316
|
+
proxy.saveBackground(true);
|
|
14317
|
+
};
|
|
14318
|
+
this.canvasContext.clearRect(0, 0, this.canvasContext.canvas.width, this.canvasContext.canvas.height);
|
|
14319
|
+
}
|
|
14295
14320
|
}
|
|
14296
14321
|
setBackgroundColor(color) {
|
|
14297
14322
|
const canvasEle = this.canvasContext;
|
|
@@ -14347,16 +14372,21 @@ class SignatureBase extends Component {
|
|
|
14347
14372
|
a.click();
|
|
14348
14373
|
a.parentNode.removeChild(a);
|
|
14349
14374
|
}
|
|
14375
|
+
internalRefresh() {
|
|
14376
|
+
this.pointColl = [];
|
|
14377
|
+
this.lastVelocity = 0;
|
|
14378
|
+
this.lastWidth = (this.minStrokeWidth + this.maxStrokeWidth) / 2;
|
|
14379
|
+
}
|
|
14350
14380
|
/**
|
|
14351
14381
|
* To refresh the signature.
|
|
14352
14382
|
*
|
|
14353
|
-
* @private
|
|
14354
14383
|
* @returns {void}.
|
|
14355
14384
|
*/
|
|
14356
14385
|
refresh() {
|
|
14357
|
-
this.
|
|
14358
|
-
this.
|
|
14359
|
-
this.
|
|
14386
|
+
this.isResponsive = false;
|
|
14387
|
+
this.setHTMLProperties();
|
|
14388
|
+
this.resizeHandler();
|
|
14389
|
+
this.internalRefresh();
|
|
14360
14390
|
}
|
|
14361
14391
|
/**
|
|
14362
14392
|
* Erases all the signature strokes signed by user.
|
|
@@ -14366,7 +14396,7 @@ class SignatureBase extends Component {
|
|
|
14366
14396
|
clear() {
|
|
14367
14397
|
const args = { actionName: 'clear' };
|
|
14368
14398
|
this.canvasContext.clearRect(0, 0, this.canvasContext.canvas.width, this.canvasContext.canvas.height);
|
|
14369
|
-
this.
|
|
14399
|
+
this.internalRefresh();
|
|
14370
14400
|
this.signRatioPointsColl = [];
|
|
14371
14401
|
this.updateSnapCollection(true);
|
|
14372
14402
|
this.isSignatureEmpty = true;
|
|
@@ -14640,8 +14670,7 @@ class SignatureBase extends Component {
|
|
|
14640
14670
|
this.snapColl.pop();
|
|
14641
14671
|
this.incStep--;
|
|
14642
14672
|
}
|
|
14643
|
-
toSVG(fileName) {
|
|
14644
|
-
const dataUrl = this.canvasContext.canvas.toDataURL();
|
|
14673
|
+
toSVG(fileName, dataUrl) {
|
|
14645
14674
|
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
|
14646
14675
|
svg.setAttribute('width', this.canvasContext.canvas.width.toString());
|
|
14647
14676
|
svg.setAttribute('height', this.canvasContext.canvas.height.toString());
|
|
@@ -14682,27 +14711,23 @@ class SignatureBase extends Component {
|
|
|
14682
14711
|
* @returns {string}.
|
|
14683
14712
|
*/
|
|
14684
14713
|
getSignature(type) {
|
|
14714
|
+
if (this.saveWithBackground && this.backgroundColor && !this.backgroundImage) {
|
|
14715
|
+
this.tempContext.fillStyle = this.backgroundColor;
|
|
14716
|
+
this.tempContext.fillRect(0, 0, this.canvasContext.canvas.width, this.canvasContext.canvas.height);
|
|
14717
|
+
}
|
|
14718
|
+
else if (!this.backgroundColor && !this.backgroundImage && type === 'Jpeg') {
|
|
14719
|
+
this.tempContext.fillStyle = "#fff";
|
|
14720
|
+
this.tempContext.fillRect(0, 0, this.canvasContext.canvas.width, this.canvasContext.canvas.height);
|
|
14721
|
+
}
|
|
14722
|
+
this.tempContext.drawImage(this.element, 0, 0);
|
|
14685
14723
|
if (type === 'Jpeg') {
|
|
14686
|
-
|
|
14687
|
-
const data = imgData.data;
|
|
14688
|
-
for (let i = 0; i < data.length; i += 4) {
|
|
14689
|
-
if (data[i + 3] < 255) {
|
|
14690
|
-
data[i] = 255 - data[i];
|
|
14691
|
-
data[i + 1] = 255 - data[i + 1];
|
|
14692
|
-
data[i + 2] = 255 - data[i + 2];
|
|
14693
|
-
data[i + 3] = 255 - data[i + 3];
|
|
14694
|
-
}
|
|
14695
|
-
}
|
|
14696
|
-
this.canvasContext.putImageData(imgData, 0, 0);
|
|
14697
|
-
const dataURL = this.canvasContext.canvas.toDataURL('image/jpeg');
|
|
14698
|
-
this.resizeHandler();
|
|
14699
|
-
return dataURL;
|
|
14724
|
+
return this.tempCanvas.toDataURL('image/jpeg');
|
|
14700
14725
|
}
|
|
14701
14726
|
else if (type === 'Svg') {
|
|
14702
|
-
return this.toSVG(null);
|
|
14727
|
+
return this.toSVG(null, this.tempCanvas.toDataURL('image/png'));
|
|
14703
14728
|
}
|
|
14704
14729
|
else {
|
|
14705
|
-
return this.
|
|
14730
|
+
return this.tempCanvas.toDataURL('image/png');
|
|
14706
14731
|
}
|
|
14707
14732
|
}
|
|
14708
14733
|
/**
|
|
@@ -14757,6 +14782,9 @@ class SignatureBase extends Component {
|
|
|
14757
14782
|
case 'backgroundImage':
|
|
14758
14783
|
canvasNew.canvas.style.backgroundImage = 'url(' + value + ')';
|
|
14759
14784
|
this.backgroundImage = value;
|
|
14785
|
+
if (this.saveWithBackground) {
|
|
14786
|
+
this.setBackgroundImage(this.backgroundImage, 'temp');
|
|
14787
|
+
}
|
|
14760
14788
|
break;
|
|
14761
14789
|
case 'strokeColor':
|
|
14762
14790
|
canvasNew.fillStyle = value;
|