@csmart/ngc-smart-victim 1.13.1 → 1.13.2
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2020/lib/shared/directives/phone-mask.directive.mjs +37 -98
- package/esm2020/lib/smart-victim-detail/smart-victim-detail.component.mjs +26 -26
- package/fesm2015/csmart-ngc-smart-victim.mjs +62 -124
- package/fesm2015/csmart-ngc-smart-victim.mjs.map +1 -1
- package/fesm2020/csmart-ngc-smart-victim.mjs +62 -124
- package/fesm2020/csmart-ngc-smart-victim.mjs.map +1 -1
- package/lib/shared/directives/phone-mask.directive.d.ts +8 -14
- package/package.json +1 -1
@@ -1,114 +1,53 @@
|
|
1
|
-
import { Directive,
|
2
|
-
import {
|
1
|
+
import { Directive, HostListener } from '@angular/core';
|
2
|
+
import { NgControl } from '@angular/forms';
|
3
3
|
import * as i0 from "@angular/core";
|
4
|
-
|
4
|
+
import * as i1 from "@angular/forms";
|
5
5
|
export class PhoneMaskDirective {
|
6
|
-
|
7
|
-
|
8
|
-
this.el = el;
|
9
|
-
this.renderer = renderer;
|
6
|
+
constructor(ngControl) {
|
7
|
+
this.ngControl = ngControl;
|
10
8
|
}
|
11
|
-
|
12
|
-
this.
|
9
|
+
onModelChange(event) {
|
10
|
+
this.onInputChange(event, false);
|
13
11
|
}
|
14
|
-
|
15
|
-
this.
|
16
|
-
this.formatPhoneNumber(value);
|
12
|
+
keydownBackspace(event) {
|
13
|
+
this.onInputChange(event.target.value, true);
|
17
14
|
}
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
if (
|
24
|
-
|
25
|
-
|
15
|
+
onInputChange(event, backspace) {
|
16
|
+
let newVal = event.replace(/\D/g, '');
|
17
|
+
if (backspace && newVal.length <= 6) {
|
18
|
+
newVal = newVal.substring(0, newVal.length - 1);
|
19
|
+
}
|
20
|
+
if (newVal.length === 0) {
|
21
|
+
newVal = '';
|
22
|
+
}
|
23
|
+
else if (newVal.length <= 3) {
|
24
|
+
newVal = newVal.replace(/^(\d{0,3})/, '($1)');
|
25
|
+
}
|
26
|
+
else if (newVal.length <= 6) {
|
27
|
+
newVal = newVal.replace(/^(\d{0,3})(\d{0,3})/, '($1) $2');
|
26
28
|
}
|
27
|
-
|
28
|
-
|
29
|
-
var newVal = data.replace(/\D/g, "");
|
30
|
-
let start = this.renderer.selectRootElement("#tel").selectionStart;
|
31
|
-
let end = this.renderer.selectRootElement("#tel").selectionEnd;
|
32
|
-
if (data.length < preInputValue.length) {
|
33
|
-
if (preInputValue.length < start) {
|
34
|
-
if (lastChar == ")") {
|
35
|
-
newVal = newVal.substr(0, newVal.length - 1);
|
36
|
-
}
|
37
|
-
}
|
38
|
-
if (newVal.length == 0) {
|
39
|
-
newVal = "";
|
40
|
-
}
|
41
|
-
else if (newVal.length <= 3) {
|
42
|
-
newVal = newVal.replace(/^(\d{0,3})/, "($1");
|
43
|
-
}
|
44
|
-
else if (newVal.length <= 6) {
|
45
|
-
newVal = newVal.replace(/^(\d{0,3})(\d{0,3})/, "($1) $2");
|
46
|
-
}
|
47
|
-
else {
|
48
|
-
newVal = newVal.replace(/^(\d{0,3})(\d{0,3})(.*)/, "($1) $2-$3");
|
49
|
-
}
|
50
|
-
this._phoneControl.setValue(newVal, { emitEvent: false });
|
51
|
-
this.renderer.selectRootElement("#tel").setSelectionRange(start, end);
|
29
|
+
else if (newVal.length <= 10) {
|
30
|
+
newVal = newVal.replace(/^(\d{0,3})(\d{0,3})(\d{0,4})/, '($1) $2-$3');
|
52
31
|
}
|
53
32
|
else {
|
54
|
-
|
55
|
-
|
56
|
-
newVal = "";
|
57
|
-
}
|
58
|
-
else if (newVal.length <= 3) {
|
59
|
-
newVal = newVal.replace(/^(\d{0,3})/, "($1)");
|
60
|
-
}
|
61
|
-
else if (newVal.length <= 6) {
|
62
|
-
newVal = newVal.replace(/^(\d{0,3})(\d{0,3})/, "($1) $2");
|
63
|
-
}
|
64
|
-
else {
|
65
|
-
newVal = newVal.replace(/^(\d{0,3})(\d{0,3})(.*)/, "($1) $2-$3");
|
66
|
-
}
|
67
|
-
if (preInputValue.length >= start) {
|
68
|
-
if (removedD == "(") {
|
69
|
-
start = start + 1;
|
70
|
-
end = end + 1;
|
71
|
-
}
|
72
|
-
if (removedD == ")") {
|
73
|
-
start = start + 2;
|
74
|
-
end = end + 2;
|
75
|
-
}
|
76
|
-
if (removedD == "-") {
|
77
|
-
start = start + 1;
|
78
|
-
end = end + 1;
|
79
|
-
}
|
80
|
-
if (removedD == " ") {
|
81
|
-
start = start + 1;
|
82
|
-
end = end + 1;
|
83
|
-
}
|
84
|
-
if (removedD == "") {
|
85
|
-
start = start + 1;
|
86
|
-
end = end + 1;
|
87
|
-
}
|
88
|
-
this._phoneControl.setValue(newVal, { emitEvent: false });
|
89
|
-
this.renderer.selectRootElement("#tel").setSelectionRange(start, end);
|
90
|
-
}
|
91
|
-
else {
|
92
|
-
this._phoneControl.setValue(newVal, { emitEvent: false });
|
93
|
-
this.renderer
|
94
|
-
.selectRootElement("#tel")
|
95
|
-
.setSelectionRange(start + 2, end + 2); // +2 because of wanting standard typing
|
96
|
-
}
|
33
|
+
newVal = newVal.substring(0, 10);
|
34
|
+
newVal = newVal.replace(/^(\d{0,3})(\d{0,3})(\d{0,4})/, '($1) $2-$3');
|
97
35
|
}
|
36
|
+
this.ngControl.valueAccessor.writeValue(newVal);
|
98
37
|
}
|
99
38
|
}
|
100
|
-
/** @nocollapse */ /** @nocollapse */ PhoneMaskDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PhoneMaskDirective, deps: [{ token:
|
101
|
-
/** @nocollapse */ /** @nocollapse */ PhoneMaskDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: PhoneMaskDirective, selector: "[
|
39
|
+
/** @nocollapse */ /** @nocollapse */ PhoneMaskDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PhoneMaskDirective, deps: [{ token: i1.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
|
40
|
+
/** @nocollapse */ /** @nocollapse */ PhoneMaskDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: PhoneMaskDirective, selector: "[formControlName][appPhoneMask]", host: { listeners: { "ngModelChange": "onModelChange($event)", "keydown.backspace": "keydownBackspace($event)" } }, ngImport: i0 });
|
102
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PhoneMaskDirective, decorators: [{
|
103
42
|
type: Directive,
|
104
43
|
args: [{
|
105
|
-
selector:
|
44
|
+
selector: '[formControlName][appPhoneMask]',
|
106
45
|
}]
|
107
|
-
}], ctorParameters: function () { return [{ type:
|
108
|
-
type:
|
109
|
-
args: [
|
110
|
-
}],
|
111
|
-
type:
|
112
|
-
args: [
|
46
|
+
}], ctorParameters: function () { return [{ type: i1.NgControl }]; }, propDecorators: { onModelChange: [{
|
47
|
+
type: HostListener,
|
48
|
+
args: ['ngModelChange', ['$event']]
|
49
|
+
}], keydownBackspace: [{
|
50
|
+
type: HostListener,
|
51
|
+
args: ['keydown.backspace', ['$event']]
|
113
52
|
}] } });
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvc2hhcmVkL2RpcmVjdGl2ZXMvcGhvbmUtbWFzay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixZQUFtQixTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO0lBQUksQ0FBQztJQUc1QyxhQUFhLENBQUMsS0FBSztRQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBR0QsZ0JBQWdCLENBQUMsS0FBSztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFHRCxhQUFhLENBQUMsS0FBSyxFQUFFLFNBQVM7UUFDNUIsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDbkMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDakQ7UUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxFQUFFLENBQUM7U0FDYjthQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDN0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQy9DO2FBQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUM3QixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUMzRDthQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUU7WUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsOEJBQThCLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDdkU7YUFBTTtZQUNMLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsRUFBRSxZQUFZLENBQUMsQ0FBQztTQUN2RTtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDOztxSkFqQ1Usa0JBQWtCO3lJQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFIOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUNBQWlDO2lCQUM1QztnR0FNQyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU16QyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2Zvcm1Db250cm9sTmFtZV1bYXBwUGhvbmVNYXNrXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZU1hc2tEaXJlY3RpdmUge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wpIHsgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCduZ01vZGVsQ2hhbmdlJywgWyckZXZlbnQnXSlcclxuICBvbk1vZGVsQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLm9uSW5wdXRDaGFuZ2UoZXZlbnQsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYmFja3NwYWNlJywgWyckZXZlbnQnXSlcclxuICBrZXlkb3duQmFja3NwYWNlKGV2ZW50KSB7XHJcbiAgICB0aGlzLm9uSW5wdXRDaGFuZ2UoZXZlbnQudGFyZ2V0LnZhbHVlLCB0cnVlKTtcclxuICB9XHJcbiAgXHJcblxyXG4gIG9uSW5wdXRDaGFuZ2UoZXZlbnQsIGJhY2tzcGFjZSkge1xyXG4gICAgbGV0IG5ld1ZhbCA9IGV2ZW50LnJlcGxhY2UoL1xcRC9nLCAnJyk7XHJcbiAgICBpZiAoYmFja3NwYWNlICYmIG5ld1ZhbC5sZW5ndGggPD0gNikge1xyXG4gICAgICBuZXdWYWwgPSBuZXdWYWwuc3Vic3RyaW5nKDAsIG5ld1ZhbC5sZW5ndGggLSAxKTtcclxuICAgIH1cclxuICAgIGlmIChuZXdWYWwubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIG5ld1ZhbCA9ICcnO1xyXG4gICAgfSBlbHNlIGlmIChuZXdWYWwubGVuZ3RoIDw9IDMpIHtcclxuICAgICAgbmV3VmFsID0gbmV3VmFsLnJlcGxhY2UoL14oXFxkezAsM30pLywgJygkMSknKTtcclxuICAgIH0gZWxzZSBpZiAobmV3VmFsLmxlbmd0aCA8PSA2KSB7XHJcbiAgICAgIG5ld1ZhbCA9IG5ld1ZhbC5yZXBsYWNlKC9eKFxcZHswLDN9KShcXGR7MCwzfSkvLCAnKCQxKSAkMicpO1xyXG4gICAgfSBlbHNlIGlmIChuZXdWYWwubGVuZ3RoIDw9IDEwKSB7XHJcbiAgICAgIG5ld1ZhbCA9IG5ld1ZhbC5yZXBsYWNlKC9eKFxcZHswLDN9KShcXGR7MCwzfSkoXFxkezAsNH0pLywgJygkMSkgJDItJDMnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5ld1ZhbCA9IG5ld1ZhbC5zdWJzdHJpbmcoMCwgMTApO1xyXG4gICAgICBuZXdWYWwgPSBuZXdWYWwucmVwbGFjZSgvXihcXGR7MCwzfSkoXFxkezAsM30pKFxcZHswLDR9KS8sICcoJDEpICQyLSQzJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yLndyaXRlVmFsdWUobmV3VmFsKTtcclxuICB9XHJcbn1cclxuIl19
|