appproject-components 1.0.46 → 1.0.47
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/karma.conf.js +44 -0
- package/ng-package.json +7 -0
- package/package.json +15 -26
- package/src/lib/appproject-components.component.spec.ts +23 -0
- package/src/lib/appproject-components.component.ts +20 -0
- package/src/lib/appproject-components.module.ts +106 -0
- package/src/lib/appproject-components.service.spec.ts +16 -0
- package/src/lib/appproject-components.service.ts +9 -0
- package/src/lib/baseComponent.scss +162 -0
- package/src/lib/baseInputComponent.ts +35 -0
- package/src/lib/buttons/baseBtnComponent.ts +38 -0
- package/src/lib/buttons/btn-action/btn-action.component.html +11 -0
- package/src/lib/buttons/btn-action/btn-action.component.scss +7 -0
- package/src/lib/buttons/btn-action/btn-action.component.spec.ts +24 -0
- package/src/lib/buttons/btn-action/btn-action.component.ts +31 -0
- package/src/lib/buttons/btn-cancelar/btn-cancelar.component.html +14 -0
- package/src/lib/buttons/btn-cancelar/btn-cancelar.component.scss +5 -0
- package/src/lib/buttons/btn-cancelar/btn-cancelar.component.spec.ts +24 -0
- package/src/lib/buttons/btn-cancelar/btn-cancelar.component.ts +19 -0
- package/src/lib/buttons/btn-excluir/btn-excluir.component.html +6 -0
- package/src/lib/buttons/btn-excluir/btn-excluir.component.scss +5 -0
- package/src/lib/buttons/btn-excluir/btn-excluir.component.spec.ts +24 -0
- package/src/lib/buttons/btn-excluir/btn-excluir.component.ts +18 -0
- package/src/lib/buttons/btn-novo/btn-novo.component.html +14 -0
- package/src/lib/buttons/btn-novo/btn-novo.component.scss +8 -0
- package/src/lib/buttons/btn-novo/btn-novo.component.spec.ts +24 -0
- package/src/lib/buttons/btn-novo/btn-novo.component.ts +20 -0
- package/src/lib/buttons/btn-salvar/btn-salvar.component.html +8 -0
- package/src/lib/buttons/btn-salvar/btn-salvar.component.scss +5 -0
- package/src/lib/buttons/btn-salvar/btn-salvar.component.spec.ts +24 -0
- package/src/lib/buttons/btn-salvar/btn-salvar.component.ts +16 -0
- package/src/lib/entity-edit/entity-edit.component.html +143 -0
- package/src/lib/entity-edit/entity-edit.component.scss +4 -0
- package/src/lib/entity-edit/entity-edit.component.spec.ts +23 -0
- package/src/lib/entity-edit/entity-edit.component.ts +43 -0
- package/src/lib/grid-view/grid-view.component.html +116 -0
- package/src/lib/grid-view/grid-view.component.scss +47 -0
- package/src/lib/grid-view/grid-view.component.spec.ts +23 -0
- package/src/lib/grid-view/grid-view.component.ts +292 -0
- package/src/lib/input-area/input-area.component.html +30 -0
- package/src/lib/input-area/input-area.component.scss +68 -0
- package/src/lib/input-area/input-area.component.spec.ts +23 -0
- package/src/lib/input-area/input-area.component.ts +69 -0
- package/src/lib/input-arquivo/input-arquivo.component.html +11 -0
- package/src/lib/input-arquivo/input-arquivo.component.scss +0 -0
- package/src/lib/input-arquivo/input-arquivo.component.spec.ts +23 -0
- package/src/lib/input-arquivo/input-arquivo.component.ts +140 -0
- package/src/lib/input-cep/input-cep.component.html +38 -0
- package/src/lib/input-cep/input-cep.component.scss +0 -0
- package/src/lib/input-cep/input-cep.component.spec.ts +23 -0
- package/src/lib/input-cep/input-cep.component.ts +186 -0
- package/src/lib/input-checkbox/input-checkbox.component.html +12 -0
- package/src/lib/input-checkbox/input-checkbox.component.scss +11 -0
- package/src/lib/input-checkbox/input-checkbox.component.spec.ts +23 -0
- package/src/lib/input-checkbox/input-checkbox.component.ts +48 -0
- package/src/lib/input-format/input-format.component.html +32 -0
- package/src/lib/input-format/input-format.component.scss +47 -0
- package/src/lib/input-format/input-format.component.spec.ts +23 -0
- package/src/lib/input-format/input-format.component.ts +139 -0
- package/src/lib/input-pesquisa/input-pesquisa.component.html +77 -0
- package/src/lib/input-pesquisa/input-pesquisa.component.scss +127 -0
- package/src/lib/input-pesquisa/input-pesquisa.component.spec.ts +23 -0
- package/src/lib/input-pesquisa/input-pesquisa.component.ts +558 -0
- package/src/lib/input-radio/input-radio.component.html +21 -0
- package/src/lib/input-radio/input-radio.component.scss +3 -0
- package/src/lib/input-radio/input-radio.component.spec.ts +23 -0
- package/src/lib/input-radio/input-radio.component.ts +49 -0
- package/src/lib/input-select/input-select.component.html +29 -0
- package/src/lib/input-select/input-select.component.scss +62 -0
- package/src/lib/input-select/input-select.component.spec.ts +23 -0
- package/src/lib/input-select/input-select.component.ts +96 -0
- package/src/lib/input-text/input-text.component.html +48 -0
- package/src/lib/input-text/input-text.component.scss +63 -0
- package/src/lib/input-text/input-text.component.spec.ts +23 -0
- package/src/lib/input-text/input-text.component.ts +78 -0
- package/src/lib/input-valor/input-valor.component.html +32 -0
- package/src/lib/input-valor/input-valor.component.scss +47 -0
- package/src/lib/input-valor/input-valor.component.spec.ts +23 -0
- package/src/lib/input-valor/input-valor.component.ts +164 -0
- package/{lib/lib-config.d.ts → src/lib/lib-config.ts} +4 -3
- package/src/lib/model-treeview/model-treeview.component.html +20 -0
- package/src/lib/model-treeview/model-treeview.component.scss +0 -0
- package/src/lib/model-treeview/model-treeview.component.spec.ts +23 -0
- package/src/lib/model-treeview/model-treeview.component.ts +152 -0
- package/src/lib/tree-view/tree-view.component.html +96 -0
- package/src/lib/tree-view/tree-view.component.scss +50 -0
- package/src/lib/tree-view/tree-view.component.spec.ts +23 -0
- package/src/lib/tree-view/tree-view.component.ts +92 -0
- package/src/lib/tree-view-nivel/tree-view-nivel.component.html +17 -0
- package/src/lib/tree-view-nivel/tree-view-nivel.component.scss +8 -0
- package/src/lib/tree-view-nivel/tree-view-nivel.component.spec.ts +23 -0
- package/src/lib/tree-view-nivel/tree-view-nivel.component.ts +43 -0
- package/{public-api.d.ts → src/public-api.ts} +30 -24
- package/src/test.ts +15 -0
- package/tsconfig.lib.json +15 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +17 -0
- package/esm2022/appproject-components.mjs +0 -5
- package/esm2022/lib/appproject-components.component.mjs +0 -22
- package/esm2022/lib/appproject-components.module.mjs +0 -159
- package/esm2022/lib/appproject-components.service.mjs +0 -14
- package/esm2022/lib/baseInputComponent.mjs +0 -69
- package/esm2022/lib/buttons/baseBtnComponent.mjs +0 -63
- package/esm2022/lib/buttons/btn-action/btn-action.component.mjs +0 -55
- package/esm2022/lib/buttons/btn-cancelar/btn-cancelar.component.mjs +0 -25
- package/esm2022/lib/buttons/btn-excluir/btn-excluir.component.mjs +0 -29
- package/esm2022/lib/buttons/btn-novo/btn-novo.component.mjs +0 -33
- package/esm2022/lib/buttons/btn-salvar/btn-salvar.component.mjs +0 -19
- package/esm2022/lib/entity-edit/entity-edit.component.mjs +0 -53
- package/esm2022/lib/grid-view/grid-view.component.mjs +0 -275
- package/esm2022/lib/input-area/input-area.component.mjs +0 -72
- package/esm2022/lib/input-arquivo/input-arquivo.component.mjs +0 -154
- package/esm2022/lib/input-cep/input-cep.component.mjs +0 -180
- package/esm2022/lib/input-checkbox/input-checkbox.component.mjs +0 -51
- package/esm2022/lib/input-format/input-format.component.mjs +0 -138
- package/esm2022/lib/input-pesquisa/input-pesquisa.component.mjs +0 -557
- package/esm2022/lib/input-radio/input-radio.component.mjs +0 -58
- package/esm2022/lib/input-select/input-select.component.mjs +0 -110
- package/esm2022/lib/input-text/input-text.component.mjs +0 -88
- package/esm2022/lib/input-valor/input-valor.component.mjs +0 -161
- package/esm2022/lib/lib-config.mjs +0 -2
- package/esm2022/lib/model-treeview/model-treeview.component.mjs +0 -126
- package/esm2022/lib/tree-view/tree-view.component.mjs +0 -104
- package/esm2022/lib/tree-view-nivel/tree-view-nivel.component.mjs +0 -50
- package/esm2022/public-api.mjs +0 -30
- package/fesm2022/appproject-components.mjs +0 -2531
- package/fesm2022/appproject-components.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/appproject-components.component.d.ts +0 -8
- package/lib/appproject-components.module.d.ts +0 -36
- package/lib/appproject-components.service.d.ts +0 -6
- package/lib/baseInputComponent.d.ts +0 -28
- package/lib/buttons/baseBtnComponent.d.ts +0 -19
- package/lib/buttons/btn-action/btn-action.component.d.ts +0 -21
- package/lib/buttons/btn-cancelar/btn-cancelar.component.d.ts +0 -10
- package/lib/buttons/btn-excluir/btn-excluir.component.d.ts +0 -12
- package/lib/buttons/btn-novo/btn-novo.component.d.ts +0 -13
- package/lib/buttons/btn-salvar/btn-salvar.component.d.ts +0 -9
- package/lib/entity-edit/entity-edit.component.d.ts +0 -22
- package/lib/grid-view/grid-view.component.d.ts +0 -52
- package/lib/input-area/input-area.component.d.ts +0 -24
- package/lib/input-arquivo/input-arquivo.component.d.ts +0 -43
- package/lib/input-cep/input-cep.component.d.ts +0 -29
- package/lib/input-checkbox/input-checkbox.component.d.ts +0 -21
- package/lib/input-format/input-format.component.d.ts +0 -27
- package/lib/input-pesquisa/input-pesquisa.component.d.ts +0 -69
- package/lib/input-radio/input-radio.component.d.ts +0 -23
- package/lib/input-select/input-select.component.d.ts +0 -32
- package/lib/input-text/input-text.component.d.ts +0 -33
- package/lib/input-valor/input-valor.component.d.ts +0 -29
- package/lib/model-treeview/model-treeview.component.d.ts +0 -39
- package/lib/tree-view/tree-view.component.d.ts +0 -23
- package/lib/tree-view-nivel/tree-view-nivel.component.d.ts +0 -17
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, EventEmitter, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { BaseInputComponent } from '../baseInputComponent';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "@ionic/angular";
|
|
7
|
-
export class InputFormatComponent extends BaseInputComponent {
|
|
8
|
-
writeValue(value) {
|
|
9
|
-
//console.log('write value', value);
|
|
10
|
-
this.onChange(value);
|
|
11
|
-
this.data = value;
|
|
12
|
-
}
|
|
13
|
-
registerOnChange(fn) {
|
|
14
|
-
this.onChange = fn;
|
|
15
|
-
}
|
|
16
|
-
registerOnTouched(fn) {
|
|
17
|
-
this.onTouch = fn;
|
|
18
|
-
}
|
|
19
|
-
setDisabledState(isDisabled) {
|
|
20
|
-
this.disabled = this.disabled;
|
|
21
|
-
}
|
|
22
|
-
constructor() {
|
|
23
|
-
super();
|
|
24
|
-
this.formato = null;
|
|
25
|
-
this.keyEnter = new EventEmitter();
|
|
26
|
-
//control value acessor
|
|
27
|
-
this.data = null;
|
|
28
|
-
this.onChange = (data) => { };
|
|
29
|
-
this.onTouch = () => { };
|
|
30
|
-
this.disabled = false;
|
|
31
|
-
this.console = console;
|
|
32
|
-
}
|
|
33
|
-
ngOnInit() { }
|
|
34
|
-
digitarFormatado(event) {
|
|
35
|
-
//console.log(event);
|
|
36
|
-
const index = event.target.selectionStart >= 1 ? (event.target.selectionStart - 1) : 0;
|
|
37
|
-
const keyAt = event.target.value.charCodeAt(index);
|
|
38
|
-
if ((event.keyCode >= 48 && event.keyCode <= 57)
|
|
39
|
-
|| (keyAt >= 48 && keyAt <= 57)
|
|
40
|
-
|| (event.keyCode >= 96 && event.keyCode <= 105)
|
|
41
|
-
|| (event.keyCode == 8)
|
|
42
|
-
|| (event.keyCode == 9)
|
|
43
|
-
|| (event.keyCode == 39)
|
|
44
|
-
|| (event.keyCode == 37)
|
|
45
|
-
|| (event.keyCode == 46)) {
|
|
46
|
-
//console.log(this.formControlName, this.form.get(this.formControlName).value);
|
|
47
|
-
setTimeout(() => {
|
|
48
|
-
if (this.form) {
|
|
49
|
-
this.form.patchValue({
|
|
50
|
-
[this.formControlName]: this.formataCampoValor(this.form.get(this.formControlName)?.value, this.formato ?? '', event)
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
this.data = this.formataCampoValor(this.data ?? '', this.formato ?? '', event);
|
|
55
|
-
this.writeValue(this.data);
|
|
56
|
-
}
|
|
57
|
-
}, 100);
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
onKeyEnter() {
|
|
65
|
-
if (this.keyEnter != null) {
|
|
66
|
-
this.keyEnter.emit();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
onBlur() {
|
|
70
|
-
if (this.form) {
|
|
71
|
-
this.form.get(this.formControlName)?.markAsTouched();
|
|
72
|
-
}
|
|
73
|
-
if (this.blur) {
|
|
74
|
-
this.blur.emit(this.blurArgs);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
setFocus() {
|
|
78
|
-
this.inputFormatEdit.nativeElement.setFocus();
|
|
79
|
-
}
|
|
80
|
-
formataCampoValor(valor, Mascara, evento) {
|
|
81
|
-
console.log(valor);
|
|
82
|
-
if (!valor)
|
|
83
|
-
return null;
|
|
84
|
-
//console.log(evento);
|
|
85
|
-
//if (!this.keypressInteiro(evento))
|
|
86
|
-
// return;
|
|
87
|
-
var boleanoMascara;
|
|
88
|
-
var Digitato = evento != null ? evento.keyCode : 0;
|
|
89
|
-
let exp = /\-|\.|\/|\(|\)| /g;
|
|
90
|
-
let campoSoNumeros = valor.replace(exp, "");
|
|
91
|
-
var posicaoCampo = 0;
|
|
92
|
-
var NovoValorCampo = "";
|
|
93
|
-
var TamanhoMascara = campoSoNumeros.length;
|
|
94
|
-
;
|
|
95
|
-
if (Digitato != 8) { // backspace
|
|
96
|
-
for (let i = 0; i <= TamanhoMascara; i++) {
|
|
97
|
-
boleanoMascara = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
|
|
98
|
-
|| (Mascara.charAt(i) == "/"));
|
|
99
|
-
boleanoMascara = boleanoMascara || ((Mascara.charAt(i) == "(")
|
|
100
|
-
|| (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " "));
|
|
101
|
-
if (boleanoMascara) {
|
|
102
|
-
NovoValorCampo += Mascara.charAt(i);
|
|
103
|
-
TamanhoMascara++;
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);
|
|
107
|
-
posicaoCampo++;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
return NovoValorCampo;
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
return valor;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: InputFormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
117
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: InputFormatComponent, selector: "kb-input-format", inputs: { formato: "formato", keyEnter: "keyEnter" }, providers: [{
|
|
118
|
-
provide: NG_VALUE_ACCESSOR,
|
|
119
|
-
useExisting: InputFormatComponent,
|
|
120
|
-
multi: true
|
|
121
|
-
}], viewQueries: [{ propertyName: "inputFormatEdit", first: true, predicate: ["inputFormat"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<!--\r\n<div [formGroup]=\"form\">\r\n-->\r\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\" [class]=\"itemClass\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\r\n >\r\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\r\n <!-- formControlName={{formControlName}} -->\r\n <ion-input #inputFormat\r\n type=\"tel\" \r\n [placeholder]=\"placeholder\"\r\n maxlength=\"{{ max }}\" \r\n (keydown)=\"digitarFormatado($event)\" \r\n (keyup.enter)=\"onKeyEnter()\"\r\n (ionBlur)=\"onBlur()\"\r\n [value]=\"data\"\r\n (input)=\"writeValue(inputFormat.value)\"\r\n [disabled]=\"readonly\"></ion-input>\r\n \r\n </ion-item>\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n • {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>", styles: [".item-inner{padding-right:0!important}\n", "@charset \"UTF-8\";ion-label{margin-bottom:4px!important;--color: var(--ion-color-label, auto) !important}ion-item ion-label{overflow:initial!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px);transition:.2s ease}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-input,input:focus ion-textarea{border:1px solid lightblue!important}input:focus ion-label{--color: var(--ion-color-label-focus, blue) !important}.item-has-focus ion-label{color:var(--ion-color-label-focus, blue)!important}.item-has-focus ion-input,.item-has-focus ion-textarea{border:1px solid lightblue!important}.native-input[disabled]{opacity:var(--item-disabled-opacity, .6)!important;background-color:transparent}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-end{--inner-padding-end: 0px}.no-padding-start{--padding-start: 0px !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.item-inner{padding-right:0!important}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-input ion-input,.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:var(--error-text-color, red)!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }] }); }
|
|
122
|
-
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: InputFormatComponent, decorators: [{
|
|
124
|
-
type: Component,
|
|
125
|
-
args: [{ selector: 'kb-input-format', providers: [{
|
|
126
|
-
provide: NG_VALUE_ACCESSOR,
|
|
127
|
-
useExisting: InputFormatComponent,
|
|
128
|
-
multi: true
|
|
129
|
-
}], template: "<!--\r\n<div [formGroup]=\"form\">\r\n-->\r\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\" [class]=\"itemClass\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\r\n >\r\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\r\n <!-- formControlName={{formControlName}} -->\r\n <ion-input #inputFormat\r\n type=\"tel\" \r\n [placeholder]=\"placeholder\"\r\n maxlength=\"{{ max }}\" \r\n (keydown)=\"digitarFormatado($event)\" \r\n (keyup.enter)=\"onKeyEnter()\"\r\n (ionBlur)=\"onBlur()\"\r\n [value]=\"data\"\r\n (input)=\"writeValue(inputFormat.value)\"\r\n [disabled]=\"readonly\"></ion-input>\r\n \r\n </ion-item>\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n • {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>", styles: [".item-inner{padding-right:0!important}\n", "@charset \"UTF-8\";ion-label{margin-bottom:4px!important;--color: var(--ion-color-label, auto) !important}ion-item ion-label{overflow:initial!important}ion-input{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:var(--input-max-height, 29px);transition:.2s ease}.has-focus{border:1px solid var(--ion-color-bluetool, #1f477d)}input:focus{border:1px solid lightblue!important}input:focus ion-input,input:focus ion-textarea{border:1px solid lightblue!important}input:focus ion-label{--color: var(--ion-color-label-focus, blue) !important}.item-has-focus ion-label{color:var(--ion-color-label-focus, blue)!important}.item-has-focus ion-input,.item-has-focus ion-textarea{border:1px solid lightblue!important}.native-input[disabled]{opacity:var(--item-disabled-opacity, .6)!important;background-color:transparent}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.error-message{font-size:small;color:var(--error-text-color, red);margin-left:15px}.padding{padding:auto}.no-padding{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:55px!important}.no-padding-end{--inner-padding-end: 0px}.no-padding-start{--padding-start: 0px !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.item-inner{padding-right:0!important}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-input ion-input,.error-shake ion-input{animation:shake .4s 1 linear;border:1px solid var(--error-text-color, red)!important}@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:var(--error-text-color, red)!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}\n"] }]
|
|
130
|
-
}], ctorParameters: () => [], propDecorators: { formato: [{
|
|
131
|
-
type: Input
|
|
132
|
-
}], keyEnter: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}], inputFormatEdit: [{
|
|
135
|
-
type: ViewChild,
|
|
136
|
-
args: ['inputFormat', { read: ElementRef, static: true }]
|
|
137
|
-
}] } });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZm9ybWF0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LWZvcm1hdC9pbnB1dC1mb3JtYXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtZm9ybWF0L2lucHV0LWZvcm1hdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFZM0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQWExRCxVQUFVLENBQUMsS0FBbUI7UUFDNUIsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNELGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTNCRCxZQUFPLEdBQWtCLElBQUksQ0FBQztRQUM5Qixh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RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQmFzZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZUlucHV0Q29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna2ItaW5wdXQtZm9ybWF0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZm9ybWF0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1mb3JtYXQuY29tcG9uZW50LnNjc3MnLCAnLi8uLi9iYXNlQ29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBJbnB1dEZvcm1hdENvbXBvbmVudCxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0Rm9ybWF0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIEBJbnB1dCgpIGZvcm1hdG86IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGtleUVudGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0Rm9ybWF0JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWV9KSBpbnB1dEZvcm1hdEVkaXQ7XHJcbiAgXHJcbiAgLy9jb250cm9sIHZhbHVlIGFjZXNzb3JcclxuICBwdWJsaWMgZGF0YTogc3RyaW5nIHwgYW55ID0gbnVsbDtcclxuICBwcml2YXRlIG9uQ2hhbmdlOiBGdW5jdGlvbiA9IChkYXRhOiBzdHJpbmcpID0+IHt9O1xyXG4gIHByaXZhdGUgb25Ub3VjaDogRnVuY3Rpb24gPSAoKSA9PiB7fTtcclxuICBwcml2YXRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGNvbnNvbGUgPSBjb25zb2xlO1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBhbnkpOiB2b2lkIHtcclxuICAgIC8vY29uc29sZS5sb2coJ3dyaXRlIHZhbHVlJywgdmFsdWUpO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyBcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpIHsgfVxyXG5cclxuICBkaWdpdGFyRm9ybWF0YWRvKGV2ZW50OiBhbnkpIHtcclxuICAgIC8vY29uc29sZS5sb2coZXZlbnQpO1xyXG4gICAgY29uc3QgaW5kZXggPSBldmVudC50YXJnZXQuc2VsZWN0aW9uU3RhcnQgPj0gMSA/IChldmVudC50YXJnZXQuc2VsZWN0aW9uU3RhcnQgLSAxKSA6IDA7XHJcbiAgICBjb25zdCBrZXlBdCA9IGV2ZW50LnRhcmdldC52YWx1ZS5jaGFyQ29kZUF0KGluZGV4KTtcclxuICAgIGlmICgoZXZlbnQua2V5Q29kZSA+PSA0OCAmJiBldmVudC5rZXlDb2RlIDw9IDU3KVxyXG4gICAgIHx8IChrZXlBdCA+PSA0OCAmJiBrZXlBdCA8PSA1NylcclxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA+PSA5NiAmJiBldmVudC5rZXlDb2RlIDw9IDEwNSlcclxuICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA4KVxyXG4gICAgIHx8IChldmVudC5rZXlDb2RlID09IDkpXHJcbiAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gMzkpXHJcbiAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gMzcpIFxyXG4gICAgIHx8IChldmVudC5rZXlDb2RlID09IDQ2KSkge1xyXG5cclxuICAgICAgLy9jb25zb2xlLmxvZyh0aGlzLmZvcm1Db250cm9sTmFtZSwgdGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSkudmFsdWUpO1xyXG5cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgICAgICBbdGhpcy5mb3JtQ29udHJvbE5hbWVdOiB0aGlzLmZvcm1hdGFDYW1wb1ZhbG9yKHRoaXMuZm9ybS5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpPy52YWx1ZSwgdGhpcy5mb3JtYXRvID8/ICcnLCBldmVudClcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmZvcm1hdGFDYW1wb1ZhbG9yKHRoaXMuZGF0YSA/PyAnJywgdGhpcy5mb3JtYXRvID8/ICcnLCBldmVudCk7XHJcbiAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5kYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwMCk7XHJcblxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9ICAgICAgICBcclxuICB9XHJcblxyXG4gIG9uS2V5RW50ZXIoKSB7XHJcbiAgICBpZiAodGhpcy5rZXlFbnRlciAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMua2V5RW50ZXIuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25CbHVyKCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybSkge1xyXG4gICAgICB0aGlzLmZvcm0uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKT8ubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYmx1cikge1xyXG4gICAgICB0aGlzLmJsdXIuZW1pdCh0aGlzLmJsdXJBcmdzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEZvY3VzKCkge1xyXG4gICAgdGhpcy5pbnB1dEZvcm1hdEVkaXQubmF0aXZlRWxlbWVudC5zZXRGb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0YUNhbXBvVmFsb3IodmFsb3I6IHN0cmluZywgTWFzY2FyYTogc3RyaW5nLCBldmVudG86IGFueSkge1xyXG4gICAgY29uc29sZS5sb2codmFsb3IpO1xyXG4gICAgaWYgKCF2YWxvcilcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAvL2NvbnNvbGUubG9nKGV2ZW50byk7XHJcblxyXG4gICAgLy9pZiAoIXRoaXMua2V5cHJlc3NJbnRlaXJvKGV2ZW50bykpXHJcbiAgICAvLyAgcmV0dXJuO1xyXG5cclxuICAgIHZhciBib2xlYW5vTWFzY2FyYTtcclxuXHJcbiAgICB2YXIgRGlnaXRhdG8gPSBldmVudG8gIT0gbnVsbCA/IGV2ZW50by5rZXlDb2RlIDogMDtcclxuICAgIGxldCBleHAgPSAvXFwtfFxcLnxcXC98XFwofFxcKXwgL2dcclxuICAgIGxldCBjYW1wb1NvTnVtZXJvcyA9IHZhbG9yLnJlcGxhY2UoZXhwLCBcIlwiKTtcclxuXHJcbiAgICB2YXIgcG9zaWNhb0NhbXBvID0gMDtcclxuICAgIHZhciBOb3ZvVmFsb3JDYW1wbyA9IFwiXCI7XHJcbiAgICB2YXIgVGFtYW5ob01hc2NhcmEgPSBjYW1wb1NvTnVtZXJvcy5sZW5ndGg7O1xyXG5cclxuICAgIGlmIChEaWdpdGF0byAhPSA4KSB7IC8vIGJhY2tzcGFjZSBcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gVGFtYW5ob01hc2NhcmE7IGkrKykge1xyXG4gICAgICAgIGJvbGVhbm9NYXNjYXJhID0gKChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIi1cIikgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiLlwiKVxyXG4gICAgICAgICAgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiL1wiKSlcclxuICAgICAgICBib2xlYW5vTWFzY2FyYSA9IGJvbGVhbm9NYXNjYXJhIHx8ICgoTWFzY2FyYS5jaGFyQXQoaSkgPT0gXCIoXCIpXHJcbiAgICAgICAgICB8fCAoTWFzY2FyYS5jaGFyQXQoaSkgPT0gXCIpXCIpIHx8IChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIiBcIikpXHJcbiAgICAgICAgaWYgKGJvbGVhbm9NYXNjYXJhKSB7XHJcbiAgICAgICAgICBOb3ZvVmFsb3JDYW1wbyArPSBNYXNjYXJhLmNoYXJBdChpKTtcclxuICAgICAgICAgIFRhbWFuaG9NYXNjYXJhKys7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIE5vdm9WYWxvckNhbXBvICs9IGNhbXBvU29OdW1lcm9zLmNoYXJBdChwb3NpY2FvQ2FtcG8pO1xyXG4gICAgICAgICAgcG9zaWNhb0NhbXBvKys7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBOb3ZvVmFsb3JDYW1wbztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB2YWxvcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPCEtLVxyXG48ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4tLT5cclxuPCEtLWNvbWFuZG8gLS1pbm5lci1wYWRkaW5nLWVuZDogdXRpbGl6YWRvIHByYSByZW1vdmVyIHBhZGRpbmcgZGVzbmVjZXNzw6FyaW9zLS0+XHJcbjxkaXY+XHJcbiAgICA8aW9uLWl0ZW0gbGluZXM9XCJub25lXCIgc3R5bGU9XCItLWJhY2tncm91bmQ6IGluaGVyaXRlZDstLWJhY2tncm91bmQtZm9jdXNlZDogdHJhbnNwYXJlbnQ7LS1pbm5lci1wYWRkaW5nLWVuZDogMHB4O1wiIFtjbGFzc109XCJpdGVtQ2xhc3NcIlxyXG4gICAgW25nQ2xhc3NdPVwiZm9ybT8uZ2V0KGZvcm1Db250cm9sTmFtZSk/LmVycm9ycyAmJiAoZm9ybT8uZ2V0KGZvcm1Db250cm9sTmFtZSk/LmRpcnR5IHx8IGZvcm0/LmdldChmb3JtQ29udHJvbE5hbWUpPy50b3VjaGVkKSA/ICdlcnJvci1zaGFrZScgOiAnJyBcIlxyXG4gICAgPlxyXG4gICAgICA8aW9uLWxhYmVsIFtwb3NpdGlvbl09XCJsYWJlbFBvc2l0aW9uXCI+e3sgbGFiZWwgfX08L2lvbi1sYWJlbD5cclxuICAgICAgPCEtLSBmb3JtQ29udHJvbE5hbWU9e3tmb3JtQ29udHJvbE5hbWV9fSAtLT5cclxuICAgICAgPGlvbi1pbnB1dCAjaW5wdXRGb3JtYXRcclxuICAgICAgdHlwZT1cInRlbFwiIFxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBtYXhsZW5ndGg9XCJ7eyBtYXggfX1cIiBcclxuICAgICAgKGtleWRvd24pPVwiZGlnaXRhckZvcm1hdGFkbygkZXZlbnQpXCIgXHJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJvbktleUVudGVyKClcIlxyXG4gICAgICAoaW9uQmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgIFt2YWx1ZV09XCJkYXRhXCJcclxuICAgICAgKGlucHV0KT1cIndyaXRlVmFsdWUoaW5wdXRGb3JtYXQudmFsdWUpXCJcclxuICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCI+PC9pb24taW5wdXQ+XHJcbiAgXHJcbiAgICA8L2lvbi1pdGVtPlxyXG4gIFxyXG4gICAgPGRpdiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JzXCIgKm5nSWY9XCJmb3JtXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbGlkYXRpb24gb2YgdmFsaWRhdGlvbl9tZXNzYWdlc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCJcclxuICAgICAgICAgICpuZ0lmPVwiZm9ybSAmJiBmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy5oYXNFcnJvcih2YWxpZGF0aW9uLnR5cGUpICYmIChmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy5kaXJ0eSB8fCBmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy50b3VjaGVkKVwiPlxyXG4gICAgICAgICAgJiM4MjI2OyB7eyB2YWxpZGF0aW9uLm1lc3NhZ2UgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj4iXX0=
|