appproject-framework 1.0.10 → 1.0.12
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.
|
@@ -8,18 +8,20 @@ import * as i1$1 from '@angular/common/http';
|
|
|
8
8
|
import { HttpHeaders } from '@angular/common/http';
|
|
9
9
|
import * as i1$2 from '@angular/router';
|
|
10
10
|
import { BehaviorSubject, filter, Subject, debounceTime, switchMap, of, Observable } from 'rxjs';
|
|
11
|
-
import * as i2 from '@ionic/angular
|
|
12
|
-
import { IonButton, IonIcon, IonItem, IonLabel, IonInput, ModalController, IonContent, IonButtons, IonTitle, IonToolbar, IonHeader, IonList, IonSpinner, IonTextarea, IonCheckbox, IonSelect, IonSelectOption, IonRadio, IonCol, IonRow, IonRadioGroup, IonListHeader } from '@ionic/angular
|
|
11
|
+
import * as i2 from '@ionic/angular';
|
|
12
|
+
import { IonButton, IonIcon, IonItem, IonLabel, IonInput, ModalController, IonContent, IonButtons, IonTitle, IonToolbar, IonHeader, IonList, IonSpinner, IonTextarea, IonCheckbox, IonSelect, IonSelectOption, IonRadio, IonCol, IonRow, IonRadioGroup, IonListHeader } from '@ionic/angular';
|
|
13
13
|
import { NgClass, DatePipe, DecimalPipe } from '@angular/common';
|
|
14
14
|
import { ClassicEditor, AccessibilityHelp, Alignment, Autoformat, AutoImage, AutoLink, Autosave, BlockQuote, Bold, CloudServices, Code, CodeBlock, Essentials, FindAndReplace, FontBackgroundColor, FontColor, FontFamily, FontSize, GeneralHtmlSupport, Heading, Highlight, HorizontalLine, ImageBlock, ImageCaption, ImageInline, ImageInsertViaUrl, ImageResize, ImageStyle, ImageTextAlternative, ImageToolbar, ImageUpload, Indent, IndentBlock, Italic, Link, LinkImage, List, ListProperties, MediaEmbed, Paragraph, PasteFromOffice, RemoveFormat, SelectAll, SpecialCharacters, SpecialCharactersArrows, SpecialCharactersCurrency, SpecialCharactersEssentials, SpecialCharactersLatin, SpecialCharactersMathematical, SpecialCharactersText, Strikethrough, Style, Subscript, Superscript, Table, TableCaption, TableCellProperties, TableColumnResize, TableProperties, TableToolbar, TextTransformation, TodoList, Underline, Undo } from 'ckeditor5';
|
|
15
15
|
import * as i1$4 from '@ckeditor/ckeditor5-angular';
|
|
16
16
|
import { CKEditorModule } from '@ckeditor/ckeditor5-angular';
|
|
17
|
+
import { addIcons } from 'ionicons';
|
|
18
|
+
import { chevronForwardOutline, chevronBackOutline } from 'ionicons/icons';
|
|
17
19
|
|
|
18
20
|
class AppprojectFramework {
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
20
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AppprojectFramework, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: AppprojectFramework, isStandalone: true, selector: "kb-appproject-framework", ngImport: i0, template: ` <p>appproject-framework works!</p> `, isInline: true, styles: [""] });
|
|
21
23
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AppprojectFramework, decorators: [{
|
|
23
25
|
type: Component,
|
|
24
26
|
args: [{ selector: 'kb-appproject-framework', imports: [], template: ` <p>appproject-framework works!</p> ` }]
|
|
25
27
|
}] });
|
|
@@ -81,10 +83,10 @@ class LibService {
|
|
|
81
83
|
else
|
|
82
84
|
return null;
|
|
83
85
|
}
|
|
84
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
85
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.
|
|
86
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LibService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
87
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LibService, providedIn: 'root' });
|
|
86
88
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LibService, decorators: [{
|
|
88
90
|
type: Injectable,
|
|
89
91
|
args: [{
|
|
90
92
|
providedIn: 'root'
|
|
@@ -621,10 +623,10 @@ class NomePipe {
|
|
|
621
623
|
return "";
|
|
622
624
|
return value.split(' ')[0];
|
|
623
625
|
}
|
|
624
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
625
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
626
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: NomePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
627
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: NomePipe, isStandalone: true, name: "nome" });
|
|
626
628
|
}
|
|
627
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
629
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: NomePipe, decorators: [{
|
|
628
630
|
type: Pipe,
|
|
629
631
|
args: [{
|
|
630
632
|
name: 'nome',
|
|
@@ -650,10 +652,10 @@ class ValorFormatPipe {
|
|
|
650
652
|
}
|
|
651
653
|
return null;
|
|
652
654
|
}
|
|
653
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
654
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
655
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ValorFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
656
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: ValorFormatPipe, isStandalone: true, name: "valorFormat" });
|
|
655
657
|
}
|
|
656
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
658
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ValorFormatPipe, decorators: [{
|
|
657
659
|
type: Pipe,
|
|
658
660
|
args: [{
|
|
659
661
|
name: 'valorFormat',
|
|
@@ -669,10 +671,10 @@ class SafeHtmlPipe {
|
|
|
669
671
|
transform(value, ...args) {
|
|
670
672
|
return this.sanitized.bypassSecurityTrustHtml(value);
|
|
671
673
|
}
|
|
672
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
673
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
674
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
675
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "safeHtml" });
|
|
674
676
|
}
|
|
675
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
677
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SafeHtmlPipe, decorators: [{
|
|
676
678
|
type: Pipe,
|
|
677
679
|
args: [{
|
|
678
680
|
name: 'safeHtml',
|
|
@@ -1351,6 +1353,26 @@ class UtilsGeralService {
|
|
|
1351
1353
|
});
|
|
1352
1354
|
//console.log('getFormValues', entity);
|
|
1353
1355
|
}
|
|
1356
|
+
getFormValidationErrors(form, messages) {
|
|
1357
|
+
let result = [];
|
|
1358
|
+
Object.keys(form.controls).forEach(key => {
|
|
1359
|
+
const controlErrors = form.get(key)?.errors;
|
|
1360
|
+
if (controlErrors != null) {
|
|
1361
|
+
Object.keys(controlErrors).forEach(keyError => {
|
|
1362
|
+
//console.log('Key control: ' + key + ', keyError: ' + keyError + ', err value: ', controlErrors[keyError]);
|
|
1363
|
+
if (messages[key]) {
|
|
1364
|
+
messages[key].forEach((msg) => {
|
|
1365
|
+
if (msg['type'] == keyError) {
|
|
1366
|
+
console.log(msg['message']);
|
|
1367
|
+
result.push(msg['message']);
|
|
1368
|
+
}
|
|
1369
|
+
});
|
|
1370
|
+
}
|
|
1371
|
+
});
|
|
1372
|
+
}
|
|
1373
|
+
});
|
|
1374
|
+
return result;
|
|
1375
|
+
}
|
|
1354
1376
|
//data hora
|
|
1355
1377
|
converterDataFromDB(data) {
|
|
1356
1378
|
if (this.isEmpty(data))
|
|
@@ -1512,10 +1534,10 @@ class UtilsGeralService {
|
|
|
1512
1534
|
return this.extractError(error);
|
|
1513
1535
|
}
|
|
1514
1536
|
}
|
|
1515
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
1516
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.
|
|
1537
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsGeralService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1538
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsGeralService, providedIn: 'root' });
|
|
1517
1539
|
}
|
|
1518
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
1540
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsGeralService, decorators: [{
|
|
1519
1541
|
type: Injectable,
|
|
1520
1542
|
args: [{
|
|
1521
1543
|
providedIn: 'root'
|
|
@@ -1672,10 +1694,10 @@ class UtilsService {
|
|
|
1672
1694
|
});
|
|
1673
1695
|
console.log('getFormValues', entity);
|
|
1674
1696
|
}
|
|
1675
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
1676
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.
|
|
1697
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1698
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsService, providedIn: 'root' });
|
|
1677
1699
|
}
|
|
1678
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
1700
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: UtilsService, decorators: [{
|
|
1679
1701
|
type: Injectable,
|
|
1680
1702
|
args: [{
|
|
1681
1703
|
providedIn: 'root'
|
|
@@ -1806,10 +1828,10 @@ class DataService {
|
|
|
1806
1828
|
return this.httpClient.delete(`${this.BASE_API}/${url}`);
|
|
1807
1829
|
}
|
|
1808
1830
|
}
|
|
1809
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
1810
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.
|
|
1831
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DataService, deps: [{ token: LibConfigService }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1832
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DataService, providedIn: 'root' });
|
|
1811
1833
|
}
|
|
1812
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
1834
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DataService, decorators: [{
|
|
1813
1835
|
type: Injectable,
|
|
1814
1836
|
args: [{
|
|
1815
1837
|
providedIn: 'root'
|
|
@@ -1882,10 +1904,10 @@ class BasePage {
|
|
|
1882
1904
|
return extractError(error);
|
|
1883
1905
|
}
|
|
1884
1906
|
}
|
|
1885
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
1886
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
1907
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BasePage, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
1908
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BasePage, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
1887
1909
|
}
|
|
1888
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
1910
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BasePage, decorators: [{
|
|
1889
1911
|
type: Component,
|
|
1890
1912
|
args: [{
|
|
1891
1913
|
template: ''
|
|
@@ -1898,10 +1920,10 @@ class CadastroService {
|
|
|
1898
1920
|
novoMaster = new BehaviorSubject({ Cadastro: 'Cadastro', Id: 0 });
|
|
1899
1921
|
novoRegistro = new BehaviorSubject({ Cadastro: 'Cadastro', Id: 0 });
|
|
1900
1922
|
focoCampo = new BehaviorSubject({ Campo: 'input' });
|
|
1901
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
1902
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.
|
|
1923
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CadastroService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1924
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CadastroService, providedIn: 'root' });
|
|
1903
1925
|
}
|
|
1904
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
1926
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: CadastroService, decorators: [{
|
|
1905
1927
|
type: Injectable,
|
|
1906
1928
|
args: [{
|
|
1907
1929
|
providedIn: 'root'
|
|
@@ -1922,6 +1944,10 @@ class BaseCadastro extends BasePage {
|
|
|
1922
1944
|
salvando = false;
|
|
1923
1945
|
cadastroServiceBase;
|
|
1924
1946
|
novoAfterDelete = true;
|
|
1947
|
+
/**
|
|
1948
|
+
* Exibir alert com erros de validação
|
|
1949
|
+
*/
|
|
1950
|
+
mostrarValidacao = false;
|
|
1925
1951
|
//emiter para teste
|
|
1926
1952
|
entidadePosted = new EventEmitter();
|
|
1927
1953
|
//construtor
|
|
@@ -2028,8 +2054,20 @@ class BaseCadastro extends BasePage {
|
|
|
2028
2054
|
}
|
|
2029
2055
|
afterPesquisaEntidade() {
|
|
2030
2056
|
}
|
|
2031
|
-
validarRegistro() {
|
|
2032
|
-
|
|
2057
|
+
async validarRegistro() {
|
|
2058
|
+
if (this.mostrarValidacao) {
|
|
2059
|
+
if (!this.entidadeForm.valid) {
|
|
2060
|
+
const mensagens = this.getFormValidationErrors(this.entidadeForm, this.validation_messages);
|
|
2061
|
+
const valid = await this.alertsBase.showConfirmPromise('Erro...', `Por favor, verifique o formulário.<br>${mensagens.join('<br>')}`, 'Continuar', 'Cancelar');
|
|
2062
|
+
return valid;
|
|
2063
|
+
}
|
|
2064
|
+
else {
|
|
2065
|
+
return true;
|
|
2066
|
+
}
|
|
2067
|
+
}
|
|
2068
|
+
else {
|
|
2069
|
+
return true;
|
|
2070
|
+
}
|
|
2033
2071
|
}
|
|
2034
2072
|
ngOnInit() {
|
|
2035
2073
|
super.ngOnInit();
|
|
@@ -2371,10 +2409,30 @@ class BaseCadastro extends BasePage {
|
|
|
2371
2409
|
});
|
|
2372
2410
|
console.log('getFormValues', entity);
|
|
2373
2411
|
}
|
|
2374
|
-
|
|
2375
|
-
|
|
2412
|
+
getFormValidationErrors(form, messages) {
|
|
2413
|
+
let result = [];
|
|
2414
|
+
Object.keys(form.controls).forEach(key => {
|
|
2415
|
+
const controlErrors = form.get(key)?.errors;
|
|
2416
|
+
if (controlErrors != null) {
|
|
2417
|
+
Object.keys(controlErrors).forEach(keyError => {
|
|
2418
|
+
//console.log('Key control: ' + key + ', keyError: ' + keyError + ', err value: ', controlErrors[keyError]);
|
|
2419
|
+
if (messages[key]) {
|
|
2420
|
+
messages[key].forEach((msg) => {
|
|
2421
|
+
if (msg['type'] == keyError) {
|
|
2422
|
+
console.log(msg['message']);
|
|
2423
|
+
result.push(msg['message']);
|
|
2424
|
+
}
|
|
2425
|
+
});
|
|
2426
|
+
}
|
|
2427
|
+
});
|
|
2428
|
+
}
|
|
2429
|
+
});
|
|
2430
|
+
return result;
|
|
2431
|
+
}
|
|
2432
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseCadastro, deps: [{ token: 'type' }, { token: i1$2.ActivatedRoute }, { token: i1$2.Router }, { token: CadastroService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2433
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BaseCadastro, isStandalone: true, selector: "ng-component", inputs: { itensLista: "itensLista", masterId: "masterId" }, outputs: { entidadePosted: "entidadePosted", atualizarItensEvent: "atualizarItensEvent" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
2376
2434
|
}
|
|
2377
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
2435
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseCadastro, decorators: [{
|
|
2378
2436
|
type: Component,
|
|
2379
2437
|
args: [{
|
|
2380
2438
|
template: ''
|
|
@@ -2466,10 +2524,10 @@ class BaseInputComponent {
|
|
|
2466
2524
|
this.Obrigatorio = this.validation_messages.find(m => m.type == 'required');
|
|
2467
2525
|
}
|
|
2468
2526
|
}
|
|
2469
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
2470
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
2527
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2528
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BaseInputComponent, isStandalone: true, selector: "ng-component", inputs: { label: "label", tabindex: "tabindex", labelPosition: "labelPosition", validationClass: "validationClass", debounce: "debounce", placeholder: "placeholder", form: "form", campo: "campo", formControlName: "formControlName", max: "max", validation_messages: "validation_messages", type: "type", readonly: "readonly", itemClass: "itemClass", botaoLimpar: "botaoLimpar", labelColor: "labelColor", inputBackgroungColor: "inputBackgroungColor", showObrigatorio: "showObrigatorio", fontSize: "fontSize", icon: "icon", iconSrc: "iconSrc", fill: "fill", mode: "mode", classic: "classic", blurArgs: "blurArgs", showSeeCopy: "showSeeCopy", focusField: "focusField", campoFoco: "campoFoco", shape: "shape" }, outputs: { blur: "blur" }, ngImport: i0, template: '', isInline: true });
|
|
2471
2529
|
}
|
|
2472
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
2530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseInputComponent, decorators: [{
|
|
2473
2531
|
type: Component,
|
|
2474
2532
|
args: [{
|
|
2475
2533
|
template: ''
|
|
@@ -2639,16 +2697,16 @@ class InputTextComponent extends BaseInputComponent {
|
|
|
2639
2697
|
navigator.clipboard.writeText(texto);
|
|
2640
2698
|
//this.utils.showToast('Copiado')
|
|
2641
2699
|
}
|
|
2642
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
2643
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
2700
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputTextComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
2701
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputTextComponent, isStandalone: true, selector: "kb-input-text", inputs: { showSeePassword: "showSeePassword" }, outputs: { inputChange: "inputChange" }, providers: [
|
|
2644
2702
|
{
|
|
2645
2703
|
provide: NG_VALUE_ACCESSOR,
|
|
2646
2704
|
useExisting: InputTextComponent,
|
|
2647
2705
|
multi: true,
|
|
2648
2706
|
},
|
|
2649
|
-
], viewQueries: [{ propertyName: "itemInput", first: true, predicate: ["itemInput"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<!-- \n se label position = floating colocar padding = 12px \n \n -->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n <!-- [label]=\"label\"\n [labelPlacement]=\"labelPosition\" -->\n @if(classic) {\n <ion-item #itemInput lines=\"none\"\n style=\" --background: inherited; --background-focused: transparent; padding-right: 0px;\"\n [class]=\"itemClass + ' classic'\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n\n <!--\n <ion-label class=\"label-focus\" [position]=\"labelPosition\">{{ label }}</ion-label>\n -->\n @if (label) {\n <ion-label style=\"color: var(--input-label-color);\" position=\"{{ labelPosition }}\">{{ label }}</ion-label>\n }\n\n <!-- \n <ion-icon slot=\"start\" name=\"lock-closed\" aria-hidden=\"true\"></ion-icon>\n -->\n\n <ion-input #inputText [type]=\"type\" [placeholder]=\"placeholder\" [readonly]=\"readonly\" \n (input)=\"writeValue(inputText.value, type)\" [value]=\"data\" (ionBlur)=\"onBlur()\" (ionFocus)=\"entered()\">\n </ion-input>\n\n\n @if (showSeePassword) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"changeTypeOfInput()\">\n <ion-icon slot=\"icon-only\" [icon]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\n </ion-button>\n\n }\n\n @if (showSeeCopy) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\" (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n\n\n </ion-item>\n }\n @else {\n <ion-input #inputText [type]=\"type\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\n [placeholder]=\"placeholder\" class=\"modern\" maxlength=\"{{ max }}\" \n [value]=\"data\" mode=\"md\"\n (input)=\"writeValue(inputText.value, type)\" \n (ionInput)=\"onInputChange($event)\" \n (ionBlur)=\"onBlur()\" \n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake-modern' : '' \"\n [disabled]=\"readonly\" [shape]=\"shape\">\n @if (icon || iconSrc) {\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\n }\n\n @if (showSeePassword) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"changeTypeOfInput()\">\n <ion-icon slot=\"icon-only\" [icon]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\n </ion-button>\n\n }\n\n @if (showSeeCopy) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\" (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n </ion-input>\n }\n\n @if(form) {\n <div class=\"validation-errors\">\n\n @for(validation of validation_messages; track validation.type) {\n <ng-container>\n @if(form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\" [ngClass]=\"validationClass\">\n • {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n\n </div>\n }\n\n</div>", styles: [".classic .btn-show-password{margin-top:auto;margin-bottom:calc((var(--input-min-height, 30px) - 30px) * .57142857 + 2px);margin-left:4px}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
2707
|
+
], viewQueries: [{ propertyName: "itemInput", first: true, predicate: ["itemInput"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<!-- \n se label position = floating colocar padding = 12px \n \n -->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n <!-- [label]=\"label\"\n [labelPlacement]=\"labelPosition\" -->\n @if(classic) {\n <ion-item #itemInput lines=\"none\"\n style=\" --background: inherited; --background-focused: transparent; padding-right: 0px;\"\n [class]=\"itemClass + ' classic'\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n\n <!--\n <ion-label class=\"label-focus\" [position]=\"labelPosition\">{{ label }}</ion-label>\n -->\n @if (label) {\n <ion-label style=\"color: var(--input-label-color);\" position=\"{{ labelPosition }}\">{{ label }}</ion-label>\n }\n\n <!-- \n <ion-icon slot=\"start\" name=\"lock-closed\" aria-hidden=\"true\"></ion-icon>\n -->\n\n <ion-input #inputText [type]=\"type\" [placeholder]=\"placeholder\" [readonly]=\"readonly\" \n (input)=\"writeValue(inputText.value, type)\" [value]=\"data\" (ionBlur)=\"onBlur()\" (ionFocus)=\"entered()\">\n </ion-input>\n\n\n @if (showSeePassword) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"changeTypeOfInput()\">\n <ion-icon slot=\"icon-only\" [icon]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\n </ion-button>\n\n }\n\n @if (showSeeCopy) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\" (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n\n\n </ion-item>\n }\n @else {\n <ion-input #inputText [type]=\"type\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\n [placeholder]=\"placeholder\" class=\"modern\" maxlength=\"{{ max }}\" \n [value]=\"data\" mode=\"md\"\n (input)=\"writeValue(inputText.value, type)\" \n (ionInput)=\"onInputChange($event)\" \n (ionBlur)=\"onBlur()\" \n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake-modern' : '' \"\n [disabled]=\"readonly\" [shape]=\"shape\">\n @if (icon || iconSrc) {\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\n }\n\n @if (showSeePassword) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"changeTypeOfInput()\">\n <ion-icon slot=\"icon-only\" [icon]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\n </ion-button>\n\n }\n\n @if (showSeeCopy) {\n\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\" (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n </ion-input>\n }\n\n @if(form) {\n <div class=\"validation-errors\">\n\n @for(validation of validation_messages; track validation.type) {\n <ng-container>\n @if(form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\" [ngClass]=\"validationClass\">\n • {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n\n </div>\n }\n\n</div>", styles: [".classic .btn-show-password{margin-top:auto;margin-bottom:calc((var(--input-min-height, 30px) - 30px) * .57142857 + 2px);margin-left:4px}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
2650
2708
|
}
|
|
2651
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
2709
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputTextComponent, decorators: [{
|
|
2652
2710
|
type: Component,
|
|
2653
2711
|
args: [{ selector: 'kb-input-text', imports: [IonButton, IonIcon, IonItem, IonLabel, IonInput, NgClass, FormsModule], changeDetection: ChangeDetectionStrategy.Eager, providers: [
|
|
2654
2712
|
{
|
|
@@ -2699,10 +2757,10 @@ class TreeViewNivelComponent {
|
|
|
2699
2757
|
return texto;
|
|
2700
2758
|
}
|
|
2701
2759
|
}
|
|
2702
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
2703
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
2760
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeViewNivelComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
2761
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: TreeViewNivelComponent, isStandalone: true, selector: "kb-tree-view-nivel", inputs: { node: "node", nivel: "nivel", currentSearch: "currentSearch" }, outputs: { nivelClick: "nivelClick" }, ngImport: i0, template: "<span [innerHtml]=\"identacao\" class=\"node-link\"></span>\n<!-- mostrar a seta se tiver filhos ou se for raiz (nivel = 0)-->\n@if (!node.Expandido && (node.Filhos.length > 0 || nivel == 0)) {\n<span class=\"node-link\" (click)=\"node.Expandido = !node.Expandido\" class=\"boxSeta\">\n <ion-icon name=\"chevron-forward-outline\"></ion-icon>\n</span>\n} \n@if (node.Expandido) {\n<span class=\"node-link\" (click)=\"node.Expandido = !node.Expandido\" class=\"boxSeta\">\n <ion-icon name=\"chevron-down-outline\"></ion-icon>\n</span>\n}\n<!--\n<span *ngIf=\"!node.Expandido\"> </span>\n-->\n\n<!-- \n<span [class]=\"{ 'node-link' : node.Clicable === true, 'node-disabled': node.Clicable === false }\" (click)=\"nodeClick()\" title=\"{{ node.Label }}\"> {{ node.Label }}</span>\n-->\n<span [class]=\"{ 'node-link' : node.Clicable === true, 'node-disabled': node.Clicable === false }\" (click)=\"nodeClick()\"\n title=\"{{ node.Label }}\" [innerHTML]=\"highlight(node.Label)\"></span>", styles: [".node-link{cursor:pointer}.node-disabled{cursor:auto;color:#a9a9a9}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
2704
2762
|
}
|
|
2705
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
2763
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeViewNivelComponent, decorators: [{
|
|
2706
2764
|
type: Component,
|
|
2707
2765
|
args: [{ selector: 'kb-tree-view-nivel', imports: [IonIcon,], changeDetection: ChangeDetectionStrategy.Eager, template: "<span [innerHtml]=\"identacao\" class=\"node-link\"></span>\n<!-- mostrar a seta se tiver filhos ou se for raiz (nivel = 0)-->\n@if (!node.Expandido && (node.Filhos.length > 0 || nivel == 0)) {\n<span class=\"node-link\" (click)=\"node.Expandido = !node.Expandido\" class=\"boxSeta\">\n <ion-icon name=\"chevron-forward-outline\"></ion-icon>\n</span>\n} \n@if (node.Expandido) {\n<span class=\"node-link\" (click)=\"node.Expandido = !node.Expandido\" class=\"boxSeta\">\n <ion-icon name=\"chevron-down-outline\"></ion-icon>\n</span>\n}\n<!--\n<span *ngIf=\"!node.Expandido\"> </span>\n-->\n\n<!-- \n<span [class]=\"{ 'node-link' : node.Clicable === true, 'node-disabled': node.Clicable === false }\" (click)=\"nodeClick()\" title=\"{{ node.Label }}\"> {{ node.Label }}</span>\n-->\n<span [class]=\"{ 'node-link' : node.Clicable === true, 'node-disabled': node.Clicable === false }\" (click)=\"nodeClick()\"\n title=\"{{ node.Label }}\" [innerHTML]=\"highlight(node.Label)\"></span>", styles: [".node-link{cursor:pointer}.node-disabled{cursor:auto;color:#a9a9a9}\n"] }]
|
|
2708
2766
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { nivelClick: [{
|
|
@@ -2792,10 +2850,10 @@ class TreeViewComponent {
|
|
|
2792
2850
|
console.log('carrega registro', node);
|
|
2793
2851
|
this.selecionarRegistro.next({ Cadastro: this.cadastro, Id: node.Id });
|
|
2794
2852
|
}
|
|
2795
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
2796
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: TreeViewComponent, isStandalone: true, selector: "kb-tree-view", inputs: { itens: "itens", campoId: "campoId", campoPai: "campoPai", campoLabel: "campoLabel", cadastro: "cadastro", caixaClass: "caixaClass", currentSearch: "currentSearch" }, outputs: { beforeUpdate: "beforeUpdate", selecionarRegistro: "selecionarRegistro" }, ngImport: i0, template: "<div style=\"position: relative; height: auto; padding-left: 2%; background-color: white;\">\n @if (arvore) {\n <div [class]=\"caixaClass\" style=\"padding-left: 6px; font-size: 12px;\">\n <!-- raiz --> \n @for (raiz of arvore; track raiz.Id) { \n <div class=\"coluna\">\n <kb-tree-view-nivel [nivel]=\"0\" [node]=\"raiz\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"raiz.Clicable === true ? carregarRegistro(raiz) : null\">\n </kb-tree-view-nivel>\n \n @if(raiz.Expandido) {\n <div class=\"filho\">\n @for (nivel1 of raiz.Filhos; track nivel1.Id) {\n <div draggable=\"true\">\n <kb-tree-view-nivel [nivel]=\"1\" [node]=\"nivel1\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel1.Clicable === true ? carregarRegistro(nivel1): null\">\n </kb-tree-view-nivel>\n\n @if (nivel1 && nivel1.Expandido) {\n <div class=\"filho\">\n @for(nivel2 of nivel1.Filhos; track nivel2.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"2\" [node]=\"nivel2\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel2.Clicable === true ? carregarRegistro(nivel2): null\">\n </kb-tree-view-nivel>\n\n @if(nivel2 && nivel2.Expandido) {\n <div class=\"filho\">\n @for (nivel3 of nivel2.Filhos; track nivel3.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"3\" [node]=\"nivel3\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel3.Clicable === true ? carregarRegistro(nivel3): null\">\n </kb-tree-view-nivel>\n @if (nivel3 && nivel3.Expandido) {\n <div class=\"filho\">\n @for (nivel4 of nivel3.Filhos; track nivel4.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"4\" [node]=\"nivel4\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel4.Clicable === true ? carregarRegistro(nivel4): null\">\n </kb-tree-view-nivel>\n @if (nivel4 && nivel4.Expandido) {\n <div class=\"filho\">\n @for (nivel5 of nivel4.Filhos; track nivel5.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"5\" [node]=\"nivel5\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel5.Clicable === true ? carregarRegistro(nivel5): null\"></kb-tree-view-nivel>\n @if (nivel5 && nivel5.Expandido) {\n <div class=\"filho\">\n @for(nivel6 of nivel5.Filhos; track nivel6.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"6\" [node]=\"nivel6\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel6.Clicable === true ? carregarRegistro(nivel6): null\"></kb-tree-view-nivel>\n @if (nivel6 && nivel6.Expandido) {\n <div class=\"filho\">\n @for (nivel7 of nivel6.Filhos; track nivel7.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"7\" [node]=\"nivel7\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel7.Clicable === true ? carregarRegistro(nivel7): null\"></kb-tree-view-nivel>\n @if (nivel7 && nivel7.Expandido) {\n <div class=\"filho\">\n @for (nivel8 of nivel7.Filhos; track nivel8.Id)\n {\n <div>\n <kb-tree-view-nivel [nivel]=\"8\"\n [node]=\"nivel8\"\n (nivelClick)=\"nivel8.Clicable === true ? carregarRegistro(nivel8): null\"></kb-tree-view-nivel>\n @if (nivel8 && nivel8.Expandido) {\n <div class=\"filho\">\n @for (nivel9 of nivel8.Filhos; track\n nivel9.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"9\"\n [node]=\"nivel9\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel9.Clicable === true ? carregarRegistro(nivel9): null\"></kb-tree-view-nivel>\n\n @if (nivel9 && nivel9.Filhos) {\n <div class=\"filho\">\n @for (nivel10 of nivel9.Filhos;\n track nivel10.Id) {\n <div>\n <kb-tree-view-nivel\n [nivel]=\"10\"\n [node]=\"nivel10\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel10.Clicable === true ? carregarRegistro(nivel10): null\"></kb-tree-view-nivel>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }", styles: [".boxSeta{margin:2px;font-size:large;color:#09459e;cursor:pointer}.caixa{border:2px transparent solid;padding:3px;width:100%;position:relative;overflow-y:auto;background-color:#fff;border-radius:5px;height:100%}.coluna{padding-bottom:10px}.filho{padding-top:6px}.node-link{cursor:pointer}.caixa-agrupado{border:2px transparent solid;padding:3px;height:701px;width:100%;position:relative;overflow-y:auto;border-radius:5px;background-color:#fff}.caixa-empresa{border:2px transparent solid;padding:3px;height:340px;width:100%;position:relative;overflow-y:auto;border-radius:5px;background-color:#fff}\n"], dependencies: [{ kind: "component", type: TreeViewNivelComponent, selector: "kb-tree-view-nivel", inputs: ["node", "nivel", "currentSearch"], outputs: ["nivelClick"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
2853
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2854
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: TreeViewComponent, isStandalone: true, selector: "kb-tree-view", inputs: { itens: "itens", campoId: "campoId", campoPai: "campoPai", campoLabel: "campoLabel", cadastro: "cadastro", caixaClass: "caixaClass", currentSearch: "currentSearch" }, outputs: { beforeUpdate: "beforeUpdate", selecionarRegistro: "selecionarRegistro" }, ngImport: i0, template: "<div style=\"position: relative; height: auto; padding-left: 2%; background-color: white;\">\n @if (arvore) {\n <div [class]=\"caixaClass\" style=\"padding-left: 6px; font-size: 12px;\">\n <!-- raiz --> \n @for (raiz of arvore; track raiz.Id) { \n <div class=\"coluna\">\n <kb-tree-view-nivel [nivel]=\"0\" [node]=\"raiz\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"raiz.Clicable === true ? carregarRegistro(raiz) : null\">\n </kb-tree-view-nivel>\n \n @if(raiz.Expandido) {\n <div class=\"filho\">\n @for (nivel1 of raiz.Filhos; track nivel1.Id) {\n <div draggable=\"true\">\n <kb-tree-view-nivel [nivel]=\"1\" [node]=\"nivel1\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel1.Clicable === true ? carregarRegistro(nivel1): null\">\n </kb-tree-view-nivel>\n\n @if (nivel1 && nivel1.Expandido) {\n <div class=\"filho\">\n @for(nivel2 of nivel1.Filhos; track nivel2.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"2\" [node]=\"nivel2\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel2.Clicable === true ? carregarRegistro(nivel2): null\">\n </kb-tree-view-nivel>\n\n @if(nivel2 && nivel2.Expandido) {\n <div class=\"filho\">\n @for (nivel3 of nivel2.Filhos; track nivel3.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"3\" [node]=\"nivel3\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel3.Clicable === true ? carregarRegistro(nivel3): null\">\n </kb-tree-view-nivel>\n @if (nivel3 && nivel3.Expandido) {\n <div class=\"filho\">\n @for (nivel4 of nivel3.Filhos; track nivel4.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"4\" [node]=\"nivel4\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel4.Clicable === true ? carregarRegistro(nivel4): null\">\n </kb-tree-view-nivel>\n @if (nivel4 && nivel4.Expandido) {\n <div class=\"filho\">\n @for (nivel5 of nivel4.Filhos; track nivel5.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"5\" [node]=\"nivel5\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel5.Clicable === true ? carregarRegistro(nivel5): null\"></kb-tree-view-nivel>\n @if (nivel5 && nivel5.Expandido) {\n <div class=\"filho\">\n @for(nivel6 of nivel5.Filhos; track nivel6.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"6\" [node]=\"nivel6\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel6.Clicable === true ? carregarRegistro(nivel6): null\"></kb-tree-view-nivel>\n @if (nivel6 && nivel6.Expandido) {\n <div class=\"filho\">\n @for (nivel7 of nivel6.Filhos; track nivel7.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"7\" [node]=\"nivel7\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel7.Clicable === true ? carregarRegistro(nivel7): null\"></kb-tree-view-nivel>\n @if (nivel7 && nivel7.Expandido) {\n <div class=\"filho\">\n @for (nivel8 of nivel7.Filhos; track nivel8.Id)\n {\n <div>\n <kb-tree-view-nivel [nivel]=\"8\"\n [node]=\"nivel8\"\n (nivelClick)=\"nivel8.Clicable === true ? carregarRegistro(nivel8): null\"></kb-tree-view-nivel>\n @if (nivel8 && nivel8.Expandido) {\n <div class=\"filho\">\n @for (nivel9 of nivel8.Filhos; track\n nivel9.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"9\"\n [node]=\"nivel9\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel9.Clicable === true ? carregarRegistro(nivel9): null\"></kb-tree-view-nivel>\n\n @if (nivel9 && nivel9.Filhos) {\n <div class=\"filho\">\n @for (nivel10 of nivel9.Filhos;\n track nivel10.Id) {\n <div>\n <kb-tree-view-nivel\n [nivel]=\"10\"\n [node]=\"nivel10\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel10.Clicable === true ? carregarRegistro(nivel10): null\"></kb-tree-view-nivel>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }", styles: [".boxSeta{margin:2px;font-size:large;color:#09459e;cursor:pointer}.caixa{border:2px transparent solid;padding:3px;width:100%;position:relative;overflow-y:auto;background-color:#fff;border-radius:5px;height:100%}.coluna{padding-bottom:10px}.filho{padding-top:6px}.node-link{cursor:pointer}.caixa-agrupado{border:2px transparent solid;padding:3px;height:701px;width:100%;position:relative;overflow-y:auto;border-radius:5px;background-color:#fff}.caixa-empresa{border:2px transparent solid;padding:3px;height:340px;width:100%;position:relative;overflow-y:auto;border-radius:5px;background-color:#fff}\n"], dependencies: [{ kind: "component", type: TreeViewNivelComponent, selector: "kb-tree-view-nivel", inputs: ["node", "nivel", "currentSearch"], outputs: ["nivelClick"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
2797
2855
|
}
|
|
2798
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
2856
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeViewComponent, decorators: [{
|
|
2799
2857
|
type: Component,
|
|
2800
2858
|
args: [{ selector: 'kb-tree-view', imports: [TreeViewNivelComponent], changeDetection: ChangeDetectionStrategy.Eager, template: "<div style=\"position: relative; height: auto; padding-left: 2%; background-color: white;\">\n @if (arvore) {\n <div [class]=\"caixaClass\" style=\"padding-left: 6px; font-size: 12px;\">\n <!-- raiz --> \n @for (raiz of arvore; track raiz.Id) { \n <div class=\"coluna\">\n <kb-tree-view-nivel [nivel]=\"0\" [node]=\"raiz\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"raiz.Clicable === true ? carregarRegistro(raiz) : null\">\n </kb-tree-view-nivel>\n \n @if(raiz.Expandido) {\n <div class=\"filho\">\n @for (nivel1 of raiz.Filhos; track nivel1.Id) {\n <div draggable=\"true\">\n <kb-tree-view-nivel [nivel]=\"1\" [node]=\"nivel1\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel1.Clicable === true ? carregarRegistro(nivel1): null\">\n </kb-tree-view-nivel>\n\n @if (nivel1 && nivel1.Expandido) {\n <div class=\"filho\">\n @for(nivel2 of nivel1.Filhos; track nivel2.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"2\" [node]=\"nivel2\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel2.Clicable === true ? carregarRegistro(nivel2): null\">\n </kb-tree-view-nivel>\n\n @if(nivel2 && nivel2.Expandido) {\n <div class=\"filho\">\n @for (nivel3 of nivel2.Filhos; track nivel3.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"3\" [node]=\"nivel3\" [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel3.Clicable === true ? carregarRegistro(nivel3): null\">\n </kb-tree-view-nivel>\n @if (nivel3 && nivel3.Expandido) {\n <div class=\"filho\">\n @for (nivel4 of nivel3.Filhos; track nivel4.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"4\" [node]=\"nivel4\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel4.Clicable === true ? carregarRegistro(nivel4): null\">\n </kb-tree-view-nivel>\n @if (nivel4 && nivel4.Expandido) {\n <div class=\"filho\">\n @for (nivel5 of nivel4.Filhos; track nivel5.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"5\" [node]=\"nivel5\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel5.Clicable === true ? carregarRegistro(nivel5): null\"></kb-tree-view-nivel>\n @if (nivel5 && nivel5.Expandido) {\n <div class=\"filho\">\n @for(nivel6 of nivel5.Filhos; track nivel6.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"6\" [node]=\"nivel6\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel6.Clicable === true ? carregarRegistro(nivel6): null\"></kb-tree-view-nivel>\n @if (nivel6 && nivel6.Expandido) {\n <div class=\"filho\">\n @for (nivel7 of nivel6.Filhos; track nivel7.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"7\" [node]=\"nivel7\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel7.Clicable === true ? carregarRegistro(nivel7): null\"></kb-tree-view-nivel>\n @if (nivel7 && nivel7.Expandido) {\n <div class=\"filho\">\n @for (nivel8 of nivel7.Filhos; track nivel8.Id)\n {\n <div>\n <kb-tree-view-nivel [nivel]=\"8\"\n [node]=\"nivel8\"\n (nivelClick)=\"nivel8.Clicable === true ? carregarRegistro(nivel8): null\"></kb-tree-view-nivel>\n @if (nivel8 && nivel8.Expandido) {\n <div class=\"filho\">\n @for (nivel9 of nivel8.Filhos; track\n nivel9.Id) {\n <div>\n <kb-tree-view-nivel [nivel]=\"9\"\n [node]=\"nivel9\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel9.Clicable === true ? carregarRegistro(nivel9): null\"></kb-tree-view-nivel>\n\n @if (nivel9 && nivel9.Filhos) {\n <div class=\"filho\">\n @for (nivel10 of nivel9.Filhos;\n track nivel10.Id) {\n <div>\n <kb-tree-view-nivel\n [nivel]=\"10\"\n [node]=\"nivel10\"\n [currentSearch]=\"currentSearch\"\n (nivelClick)=\"nivel10.Clicable === true ? carregarRegistro(nivel10): null\"></kb-tree-view-nivel>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }", styles: [".boxSeta{margin:2px;font-size:large;color:#09459e;cursor:pointer}.caixa{border:2px transparent solid;padding:3px;width:100%;position:relative;overflow-y:auto;background-color:#fff;border-radius:5px;height:100%}.coluna{padding-bottom:10px}.filho{padding-top:6px}.node-link{cursor:pointer}.caixa-agrupado{border:2px transparent solid;padding:3px;height:701px;width:100%;position:relative;overflow-y:auto;border-radius:5px;background-color:#fff}.caixa-empresa{border:2px transparent solid;padding:3px;height:340px;width:100%;position:relative;overflow-y:auto;border-radius:5px;background-color:#fff}\n"] }]
|
|
2801
2859
|
}], propDecorators: { itens: [{
|
|
@@ -2948,10 +3006,10 @@ class ModalTreeviewComponent {
|
|
|
2948
3006
|
const modalCtrl = this.injector.get(ModalController);
|
|
2949
3007
|
modalCtrl.dismiss();
|
|
2950
3008
|
}
|
|
2951
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
2952
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
3009
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ModalTreeviewComponent, deps: [{ token: DataService }, { token: i0.Injector }, { token: i2.LoadingController }], target: i0.ɵɵFactoryTarget.Component });
|
|
3010
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: ModalTreeviewComponent, isStandalone: true, selector: "kb-modal-treeview", inputs: { textoPesquisa: "textoPesquisa" }, viewQueries: [{ propertyName: "treeView", first: true, predicate: ["treeViewComp"], descendants: true }], ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"secondary\">\n <ion-title>{{ titulo }}</ion-title>\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"atualizaArvoreEntidade(tipo)\">\n <ion-icon slot=\"icon-only\" name=\"refresh\"></ion-icon>\n </ion-button>\n <ion-button (click)=\"fechar()\">Fechar</ion-button>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n \n <ion-content>\n <ion-item>\n <ion-button style=\"box-shadow: #4c8dff 0px 2px 2px 0.05px;\" fill=\"outline\" (click)=\"expandir()\">\n <ion-icon name=\"expand-outline\"></ion-icon>\n </ion-button> \n </ion-item>\n <kb-tree-view #treeViewComp [campoId]=\"campoId\" [campoPai]=\"campoPai\" [campoLabel]=\"'LabelTree'\" (selecionarRegistro)=\"clickRegistro($event)\"></kb-tree-view>\n </ion-content>", styles: [""], dependencies: [{ kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"], outputs: ["ionScrollStart", "ionScroll", "ionScrollEnd"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: TreeViewComponent, selector: "kb-tree-view", inputs: ["itens", "campoId", "campoPai", "campoLabel", "cadastro", "caixaClass", "currentSearch"], outputs: ["beforeUpdate", "selecionarRegistro"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
2953
3011
|
}
|
|
2954
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
3012
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ModalTreeviewComponent, decorators: [{
|
|
2955
3013
|
type: Component,
|
|
2956
3014
|
args: [{ selector: 'kb-modal-treeview', imports: [IonItem, IonContent, IonIcon, IonButton, IonButtons, IonTitle, IonToolbar, IonHeader,
|
|
2957
3015
|
TreeViewComponent
|
|
@@ -3526,14 +3584,14 @@ class InputPesquisaComponent extends BaseInputComponent {
|
|
|
3526
3584
|
}
|
|
3527
3585
|
*/
|
|
3528
3586
|
}
|
|
3529
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
3530
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
3587
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputPesquisaComponent, deps: [{ token: DataService }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
3588
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputPesquisaComponent, isStandalone: true, selector: "kb-input-pesquisa", inputs: { textoPesquisa: "textoPesquisa", max: "max", filterFunction: "filterFunction", selectId: "selectId", campoId: "campoId", campoPaiId: "campoPaiId", campoDisplay: "campoDisplay", tipo: "tipo", url: "url", urlItem: "urlItem", empresa: "empresa", loadInit: "loadInit", urlTree: "urlTree", treeTitulo: "treeTitulo" }, outputs: { pesquisaChange: "pesquisaChange", limpar: "limpar" }, providers: [{
|
|
3531
3589
|
provide: NG_VALUE_ACCESSOR,
|
|
3532
3590
|
useExisting: InputPesquisaComponent,
|
|
3533
3591
|
multi: true,
|
|
3534
|
-
}], viewQueries: [{ propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }, { propertyName: "inputPesquisa", first: true, predicate: ["inputPesquisa"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"padding-inline-end: 0px;\" [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" [style.opacity]=\"readonly ? 0.5 : 1\"\n style=\"--background: inherited; --background-focused: transparent; margin-top: 2px;\"\n [class]=\"itemClass + ' classic'\" id=\"item-pesquisa\" #itemPesquisa>\n @if (label) {\n <ion-label style=\"color: var(--label-palavras);\" position=\"{{ labelPosition }}\">{{ label }}</ion-label>\n }\n <!-- formControlName=\"{{ campo }}\" -->\n @if (!podePesquisar) {\n <ion-spinner style=\"--min-height: 0px !important; margin-inline-end: 5px !important;\" class=\"botao-limpar\"\n slot=\"start\" name=\"lines\"></ion-spinner>\n }\n <!-- (ionBlur)=\"verificarPesquisa()\" -->\n <!-- conflito com click da lista -->\n <ion-input #inputPesquisa type=\"{{type}}\" [placeholder]=\"placeholder\" maxlength=\"{{ max }}\"\n (ionBlur)=\"onBlur($event)\" [value]=\"textoPesquisa\" (input)=\"writePesquisa(inputPesquisa.value)\"\n (keyup)=\"showPesquisa($event)\" autocomplete=\"off\"\n style=\"background-color: var(--input-color); color: var(--text-color);\" (click)=\"dropDownPesquisa(-1)\"\n [disabled]=\"readonly\" debounce=\"2000\" (ionFocus)=\"entered()\"></ion-input>\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" id=\"btnLimparPesquisa\" fill=\"clear\"\n color=\"medium\" (click)=\"limparClick()\">\n <ion-icon name=\"close-outline\"></ion-icon>\n </ion-button>\n\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" fill=\"clear\" color=\"medium\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n\n @if (showSeeCopy) {\n <ion-button size=\"small\" slot=\"end\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\"\n color=\"dark\" (click)=\"copiarClick()\" [disabled]=\"!data\">\n <ion-icon name=\"copy-outline\"></ion-icon>\n </ion-button>\n }\n </ion-item>\n } @else {\n <ion-input #inputPesquisa [type]=\"type\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\n [placeholder]=\"placeholder\" maxlength=\"{{ max }}\" (ionBlur)=\"onBlur($event)\" [value]=\"textoPesquisa\"\n (input)=\"writePesquisa(inputPesquisa.value)\" (keyup)=\"showPesquisa($event)\" autocomplete=\"off\" [mode]=\"mode\"\n style=\"background-color: var(--input-color); color: var(--text-color);\" (click)=\"dropDownPesquisa(-1)\"\n [disabled]=\"readonly\" debounce=\"2000\" class=\"modern\" (ionFocus)=\"entered()\">\n\n @if (!podePesquisar) {\n <ion-spinner slot=\"start\" name=\"lines\"></ion-spinner>\n }\n\n <ion-button slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" id=\"btnLimparPesquisa\" fill=\"clear\" color=\"medium\"\n (click)=\"limparClick()\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n\n <ion-button slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" fill=\"clear\" color=\"medium\" (click)=\"pesquisarClick()\">\n <ion-icon slot=\"icon-only\" color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n\n @if (showSeeCopy) {\n <ion-button slot=\"end\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\" color=\"dark\"\n (click)=\"copiarClick()\" [disabled]=\"!data\">\n <ion-icon slot=\"icon-only\" name=\"copy-outline\"></ion-icon>\n </ion-button>\n }\n </ion-input>\n }\n <ion-list tabindex=\"-1\" [hidden]=\"!selectElementVisivel || !listaPesquisa || listaPesquisa.length == 0\"\n class=\"pesquisa-list\" style=\"max-height: 250px; overflow-y: auto;\">\n\n @for (item of listaPesquisa; track $index) {\n <ion-item tabindex=\"-1\" button (click)=\"selecionarComboClick(item)\" [id]=\"selectId + 'IonItem' + item['Index']\"\n (keyup.enter)=\"selecionarComboClick(item)\" class=\"pesquisa-item\">\n <!-- {{ item | json}} -->\n <span [class]=\"{'selected-item': item['Selected'] === true}\" [innerHTML]=\"highlight(item[campoDisplay])\"></span>\n </ion-item>\n }\n </ion-list>\n\n <!--\n <ion-select interface=\"popover\" #selectElement tabindex=\"-1\" [hidden]=\"!selectElementVisivel\"\n (ionChange)=\"selecionarComboChange($event.target.value)\">\n <ion-select-option *ngFor=\"let item of listaPesquisa\" [value]=\"item[campoId]\" (click)=\"selecionarComboClick(item[campoId])\">\n {{ item[campoDisplay] }}\n </ion-select-option>\n </ion-select>\n -->\n\n <!--\n <select [id]=\"selectId\" #selectElement tabindex=\"-1\" [hidden]=\"!selectElementVisivel\"\n (change)=\"selecionarComboChange($event.target.value)\" class=\"pesquisa-select\">\n <option *ngFor=\"let item of listaPesquisa\" [value]=\"item[campoId]\" (click)=\"selecionarComboClick(item[campoId])\">\n {{ item[campoDisplay] }}\n </option>\n\n </select>\n -->\n\n @if(form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if(form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\" [ngClass]=\"validationClass\">\n • {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".pesquisa-select{display:block;position:absolute;top:58px;left:20px;width:100%;z-index:800;font-size:16px;font-family:Roboto,Helvetica Neue,sans-serif;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.pesquisa-select option{overflow-y:hidden}.pesquisa-select option:hover,.pesquisa-select option:checked{background-color:#add8e6}.pesquisa-list{display:block;position:absolute;margin-block-start:-3px;margin-inline-start:14px;width:calc(100% - 50px);z-index:800;border:1px lightgrey solid;border-bottom-left-radius:5px;border-bottom-right-radius:5px;padding:0;max-width:380px}.pesquisa-item{--inner-padding-top: 0px;--inner-padding-bottom: 0px;--padding-top: 0px;--padding-bottom: 0px;--min-height: 30px !important;font-size:12px}.pesquisa-item button{padding:0}.selected-item{background-color:#add8e6}.classic .botao-limpar{margin-top:auto;margin-bottom:calc((var(--input-min-height, 30px) - 30px) * .57142857 + 2px);margin-inline-start:4px!important;--padding-start: 2px;--padding-end: 2px}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
3592
|
+
}], viewQueries: [{ propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }, { propertyName: "inputPesquisa", first: true, predicate: ["inputPesquisa"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"padding-inline-end: 0px;\" [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" [style.opacity]=\"readonly ? 0.5 : 1\"\n style=\"--background: inherited; --background-focused: transparent; margin-top: 2px;\"\n [class]=\"itemClass + ' classic'\" id=\"item-pesquisa\" #itemPesquisa>\n @if (label) {\n <ion-label style=\"color: var(--label-palavras);\" position=\"{{ labelPosition }}\">{{ label }}</ion-label>\n }\n <!-- formControlName=\"{{ campo }}\" -->\n @if (!podePesquisar) {\n <ion-spinner style=\"--min-height: 0px !important; margin-inline-end: 5px !important;\" class=\"botao-limpar\"\n slot=\"start\" name=\"lines\"></ion-spinner>\n }\n <!-- (ionBlur)=\"verificarPesquisa()\" -->\n <!-- conflito com click da lista -->\n <ion-input #inputPesquisa type=\"{{type}}\" [placeholder]=\"placeholder\" maxlength=\"{{ max }}\"\n (ionBlur)=\"onBlur($event)\" [value]=\"textoPesquisa\" (input)=\"writePesquisa(inputPesquisa.value)\"\n (keyup)=\"showPesquisa($event)\" autocomplete=\"off\"\n style=\"background-color: var(--input-color); color: var(--text-color);\" (click)=\"dropDownPesquisa(-1)\"\n [disabled]=\"readonly\" debounce=\"2000\" (ionFocus)=\"entered()\"></ion-input>\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" id=\"btnLimparPesquisa\" fill=\"clear\"\n color=\"medium\" (click)=\"limparClick()\">\n <ion-icon name=\"close-outline\"></ion-icon>\n </ion-button>\n\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" fill=\"clear\" color=\"medium\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n\n @if (showSeeCopy) {\n <ion-button size=\"small\" slot=\"end\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\"\n color=\"dark\" (click)=\"copiarClick()\" [disabled]=\"!data\">\n <ion-icon name=\"copy-outline\"></ion-icon>\n </ion-button>\n }\n </ion-item>\n } @else {\n <ion-input #inputPesquisa [type]=\"type\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\n [placeholder]=\"placeholder\" maxlength=\"{{ max }}\" (ionBlur)=\"onBlur($event)\" [value]=\"textoPesquisa\"\n (input)=\"writePesquisa(inputPesquisa.value)\" (keyup)=\"showPesquisa($event)\" autocomplete=\"off\" [mode]=\"mode\"\n style=\"background-color: var(--input-color); color: var(--text-color);\" (click)=\"dropDownPesquisa(-1)\"\n [disabled]=\"readonly\" debounce=\"2000\" class=\"modern\" (ionFocus)=\"entered()\">\n\n @if (!podePesquisar) {\n <ion-spinner slot=\"start\" name=\"lines\"></ion-spinner>\n }\n\n <ion-button slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" id=\"btnLimparPesquisa\" fill=\"clear\" color=\"medium\"\n (click)=\"limparClick()\">\n <ion-icon slot=\"icon-only\" name=\"close-outline\"></ion-icon>\n </ion-button>\n\n <ion-button slot=\"end\" tabindex=\"-1\" class=\"botao-limpar\" fill=\"clear\" color=\"medium\" (click)=\"pesquisarClick()\">\n <ion-icon slot=\"icon-only\" color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n\n @if (showSeeCopy) {\n <ion-button slot=\"end\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\" color=\"dark\"\n (click)=\"copiarClick()\" [disabled]=\"!data\">\n <ion-icon slot=\"icon-only\" name=\"copy-outline\"></ion-icon>\n </ion-button>\n }\n </ion-input>\n }\n <ion-list tabindex=\"-1\" [hidden]=\"!selectElementVisivel || !listaPesquisa || listaPesquisa.length == 0\"\n class=\"pesquisa-list\" style=\"max-height: 250px; overflow-y: auto;\">\n\n @for (item of listaPesquisa; track $index) {\n <ion-item tabindex=\"-1\" button (click)=\"selecionarComboClick(item)\" [id]=\"selectId + 'IonItem' + item['Index']\"\n (keyup.enter)=\"selecionarComboClick(item)\" class=\"pesquisa-item\">\n <!-- {{ item | json}} -->\n <span [class]=\"{'selected-item': item['Selected'] === true}\" [innerHTML]=\"highlight(item[campoDisplay])\"></span>\n </ion-item>\n }\n </ion-list>\n\n <!--\n <ion-select interface=\"popover\" #selectElement tabindex=\"-1\" [hidden]=\"!selectElementVisivel\"\n (ionChange)=\"selecionarComboChange($event.target.value)\">\n <ion-select-option *ngFor=\"let item of listaPesquisa\" [value]=\"item[campoId]\" (click)=\"selecionarComboClick(item[campoId])\">\n {{ item[campoDisplay] }}\n </ion-select-option>\n </ion-select>\n -->\n\n <!--\n <select [id]=\"selectId\" #selectElement tabindex=\"-1\" [hidden]=\"!selectElementVisivel\"\n (change)=\"selecionarComboChange($event.target.value)\" class=\"pesquisa-select\">\n <option *ngFor=\"let item of listaPesquisa\" [value]=\"item[campoId]\" (click)=\"selecionarComboClick(item[campoId])\">\n {{ item[campoDisplay] }}\n </option>\n\n </select>\n -->\n\n @if(form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if(form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\" [ngClass]=\"validationClass\">\n • {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".pesquisa-select{display:block;position:absolute;top:58px;left:20px;width:100%;z-index:800;font-size:16px;font-family:Roboto,Helvetica Neue,sans-serif;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.pesquisa-select option{overflow-y:hidden}.pesquisa-select option:hover,.pesquisa-select option:checked{background-color:#add8e6}.pesquisa-list{display:block;position:absolute;margin-block-start:-3px;margin-inline-start:14px;width:calc(100% - 50px);z-index:800;border:1px lightgrey solid;border-bottom-left-radius:5px;border-bottom-right-radius:5px;padding:0;max-width:380px}.pesquisa-item{--inner-padding-top: 0px;--inner-padding-bottom: 0px;--padding-top: 0px;--padding-bottom: 0px;--min-height: 30px !important;font-size:12px}.pesquisa-item button{padding:0}.selected-item{background-color:#add8e6}.classic .botao-limpar{margin-top:auto;margin-bottom:calc((var(--input-min-height, 30px) - 30px) * .57142857 + 2px);margin-inline-start:4px!important;--padding-start: 2px;--padding-end: 2px}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
3535
3593
|
}
|
|
3536
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
3594
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputPesquisaComponent, decorators: [{
|
|
3537
3595
|
type: Component,
|
|
3538
3596
|
args: [{ selector: 'kb-input-pesquisa', imports: [IonList, IonIcon, IonButton, IonInput, IonSpinner, IonLabel, IonItem, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
|
|
3539
3597
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -3646,20 +3704,20 @@ class InputAreaComponent extends BaseInputComponent {
|
|
|
3646
3704
|
let texto = this.data;
|
|
3647
3705
|
navigator.clipboard.writeText(texto);
|
|
3648
3706
|
}
|
|
3649
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
3650
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
3707
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputAreaComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
3708
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputAreaComponent, isStandalone: true, selector: "kb-input-area", inputs: { linhas: "linhas", contador: "contador" }, outputs: { inputChange: "inputChange" }, providers: [{
|
|
3651
3709
|
provide: NG_VALUE_ACCESSOR,
|
|
3652
3710
|
useExisting: InputAreaComponent,
|
|
3653
3711
|
multi: true
|
|
3654
|
-
}], viewQueries: [{ propertyName: "itemArea", first: true, predicate: ["itemArea"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"{ 'input-text-padding': !classic }\">\r\n @if (classic) {\r\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\" #itemArea>\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}\r\n @if (showObrigatorio) {\r\n <span
|
|
3712
|
+
}], viewQueries: [{ propertyName: "itemArea", first: true, predicate: ["itemArea"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"{ 'input-text-padding': !classic }\">\r\n @if (classic) {\r\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\" #itemArea>\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}\r\n @if (showObrigatorio) {\r\n <span class=\"label-tip-obrigatorio\">{{\r\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\r\n </span>\r\n }\r\n </ion-label>\r\n <!-- formControlName=\"{{ formControlName }}\" -->\r\n <textarea #inputArea [placeholder]=\"placeholder\" [maxLength]=\"max\" (ionBlur)=\"onBlur()\" [value]=\"data\"\r\n [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" [disabled]=\"readonly\" (focus)=\"entered()\"></textarea>\r\n </ion-item>\r\n } @else {\r\n\r\n <ion-textarea #inputArea [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\" [maxlength]=\"max\"\r\n class=\"modern\" [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" (ionBlur)=\"onBlur()\"\r\n (ionInput)=\"onInputChange($event)\" [value]=\"data\" mode=\"md\" [counter]=\"contador\" [placeholder]=\"placeholder\">\r\n\r\n @if (icon || iconSrc) {\r\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\r\n }\r\n @if (showSeeCopy) {\r\n\r\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\r\n (click)=\"copiarClick()\">\r\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n }\r\n\r\n </ion-textarea>\r\n\r\n }\r\n\r\n @if (form) {\r\n <div class=\"validation-errors\">\r\n\r\n @for (validation of validation_messages; track validation.type) {\r\n <ng-container>\r\n @if (form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\r\n form.get(formControlName)?.touched)) {\r\n <div class=\"error-message\">\r\n • {{ validation.message }}\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n </div>\r\n }\r\n</div>", styles: ["@charset \"UTF-8\";ion-label{margin-bottom:4px!important}ion-textarea{padding:var(--input-padding)!important;border-radius:4px;width:100%;margin-top:2px}textarea{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;resize:none;background-color:#fff}textarea::-webkit-scrollbar{width:10px;height:10px}textarea::-webkit-scrollbar-track{background:#f1f1f1}textarea::-webkit-scrollbar-thumb{border-radius:12px;background:var(--scroll-color-thumb, #808080)}textarea::-webkit-scrollbar-thumb:hover{background:var(--scroll-color-hover, #5c5c5c)}textarea:focus{outline:none!important;border:1px solid lightblue!important}textarea:focus ion-label{color:var(--ion-color-label-focus, blue)!important}.item-has-focus ion-label{color:var(--ion-color-label-focus, blue)!important}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonTextarea, selector: "ion-textarea", inputs: ["autoGrow", "autocapitalize", "autofocus", "clearOnEdit", "color", "cols", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "maxlength", "minlength", "mode", "name", "placeholder", "readonly", "required", "rows", "shape", "spellcheck", "value", "wrap"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
3655
3713
|
}
|
|
3656
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
3714
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputAreaComponent, decorators: [{
|
|
3657
3715
|
type: Component,
|
|
3658
3716
|
args: [{ selector: 'kb-input-area', imports: [IonButton, IonIcon, IonTextarea, IonLabel, IonItem,], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
|
|
3659
3717
|
provide: NG_VALUE_ACCESSOR,
|
|
3660
3718
|
useExisting: InputAreaComponent,
|
|
3661
3719
|
multi: true
|
|
3662
|
-
}], template: "<div [class]=\"{ 'input-text-padding': !classic }\">\r\n @if (classic) {\r\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\" #itemArea>\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}\r\n @if (showObrigatorio) {\r\n <span
|
|
3720
|
+
}], template: "<div [class]=\"{ 'input-text-padding': !classic }\">\r\n @if (classic) {\r\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\" #itemArea>\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}\r\n @if (showObrigatorio) {\r\n <span class=\"label-tip-obrigatorio\">{{\r\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\r\n </span>\r\n }\r\n </ion-label>\r\n <!-- formControlName=\"{{ formControlName }}\" -->\r\n <textarea #inputArea [placeholder]=\"placeholder\" [maxLength]=\"max\" (ionBlur)=\"onBlur()\" [value]=\"data\"\r\n [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" [disabled]=\"readonly\" (focus)=\"entered()\"></textarea>\r\n </ion-item>\r\n } @else {\r\n\r\n <ion-textarea #inputArea [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\" [maxlength]=\"max\"\r\n class=\"modern\" [rows]=\"linhas\" (input)=\"writeValue(inputArea.value)\" (ionBlur)=\"onBlur()\"\r\n (ionInput)=\"onInputChange($event)\" [value]=\"data\" mode=\"md\" [counter]=\"contador\" [placeholder]=\"placeholder\">\r\n\r\n @if (icon || iconSrc) {\r\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\r\n }\r\n @if (showSeeCopy) {\r\n\r\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\r\n (click)=\"copiarClick()\">\r\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n }\r\n\r\n </ion-textarea>\r\n\r\n }\r\n\r\n @if (form) {\r\n <div class=\"validation-errors\">\r\n\r\n @for (validation of validation_messages; track validation.type) {\r\n <ng-container>\r\n @if (form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\r\n form.get(formControlName)?.touched)) {\r\n <div class=\"error-message\">\r\n • {{ validation.message }}\r\n </div>\r\n }\r\n </ng-container>\r\n }\r\n </div>\r\n }\r\n</div>", styles: ["@charset \"UTF-8\";ion-label{margin-bottom:4px!important}ion-textarea{padding:var(--input-padding)!important;border-radius:4px;width:100%;margin-top:2px}textarea{padding:var(--input-padding, 8px)!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;resize:none;background-color:#fff}textarea::-webkit-scrollbar{width:10px;height:10px}textarea::-webkit-scrollbar-track{background:#f1f1f1}textarea::-webkit-scrollbar-thumb{border-radius:12px;background:var(--scroll-color-thumb, #808080)}textarea::-webkit-scrollbar-thumb:hover{background:var(--scroll-color-hover, #5c5c5c)}textarea:focus{outline:none!important;border:1px solid lightblue!important}textarea:focus ion-label{color:var(--ion-color-label-focus, blue)!important}.item-has-focus ion-label{color:var(--ion-color-label-focus, blue)!important}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"] }]
|
|
3663
3721
|
}], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { linhas: [{
|
|
3664
3722
|
type: Input
|
|
3665
3723
|
}], contador: [{
|
|
@@ -3830,14 +3888,14 @@ class InputCepComponent extends BaseInputComponent {
|
|
|
3830
3888
|
};
|
|
3831
3889
|
});
|
|
3832
3890
|
}
|
|
3833
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
3834
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
3891
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputCepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3892
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputCepComponent, isStandalone: true, selector: "kb-input-cep", inputs: { formato: "formato", keyEnter: "keyEnter" }, outputs: { getResultados: "getResultados", inputChange: "inputChange" }, providers: [{
|
|
3835
3893
|
provide: NG_VALUE_ACCESSOR,
|
|
3836
3894
|
useExisting: InputCepComponent,
|
|
3837
3895
|
multi: true
|
|
3838
|
-
}], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\"\n [class]=\"itemClass + ' classic'\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n <ion-label [position]=\"labelPosition\">{{ label }}\n @if (showObrigatorio) {\n <span class=\"label-tip-obrigatorio\">{{\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\n </span>\n }\n </ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputCep type=\"tel\" [placeholder]=\"placeholder\" [maxlength]=\"max\"\n (keydown)=\"digitarFormatado($event)\" (keyup.enter)=\"onKeyEnter()\" (ionBlur)=\"onBlur()\" [value]=\"data\"\n (input)=\"writeValue(inputCep.value)\" [disabled]=\"readonly\"></ion-input>\n\n <ion-button fill=\"clear\" slot=\"end\" tabindex=\"-1\" color=\"medium\" class=\"btn-show-password\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n\n </ion-item>\n } @else {\n <ion-input #inputCep type=\"tel\" [placeholder]=\"placeholder\" [maxlength]=\"max\" [label]=\"label\"\n [labelPlacement]=\"labelPosition\" fill=\"outline\" class=\"modern\" (keydown)=\"digitarFormatado($event)\"\n (keyup.enter)=\"onKeyEnter()\" (ionBlur)=\"onBlur()\" [value]=\"data\" (ionInput)=\"onInputChange($event)\"\n (input)=\"writeValue(inputCep.value)\" [disabled]=\"readonly\">\n\n <ion-button fill=\"clear\" slot=\"end\" tabindex=\"-1\" color=\"medium\" class=\"btn-show-password\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-input>\n }\n @if (form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if (form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty\n || form.get(formControlName)?.touched)) {\n <div class=\"error-message\">\n • {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".classic .btn-show-password{margin-top:auto;margin-bottom:calc((var(--input-min-height, 30px) - 30px) * .57142857 + 2px);margin-left:4px}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
3896
|
+
}], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\"\n [class]=\"itemClass + ' classic'\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n <ion-label [position]=\"labelPosition\">{{ label }}\n @if (showObrigatorio) {\n <span class=\"label-tip-obrigatorio\">{{\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\n </span>\n }\n </ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputCep type=\"tel\" [placeholder]=\"placeholder\" [maxlength]=\"max\"\n (keydown)=\"digitarFormatado($event)\" (keyup.enter)=\"onKeyEnter()\" (ionBlur)=\"onBlur()\" [value]=\"data\"\n (input)=\"writeValue(inputCep.value)\" [disabled]=\"readonly\"></ion-input>\n\n <ion-button fill=\"clear\" slot=\"end\" tabindex=\"-1\" color=\"medium\" class=\"btn-show-password\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\n </ion-button>\n\n </ion-item>\n } @else {\n <ion-input #inputCep type=\"tel\" [placeholder]=\"placeholder\" [maxlength]=\"max\" [label]=\"label\"\n [labelPlacement]=\"labelPosition\" fill=\"outline\" class=\"modern\" (keydown)=\"digitarFormatado($event)\"\n (keyup.enter)=\"onKeyEnter()\" (ionBlur)=\"onBlur()\" [value]=\"data\" (ionInput)=\"onInputChange($event)\"\n (input)=\"writeValue(inputCep.value)\" [disabled]=\"readonly\">\n\n <ion-button fill=\"clear\" slot=\"end\" tabindex=\"-1\" color=\"medium\" class=\"btn-show-password\"\n (click)=\"pesquisarClick()\">\n <ion-icon color=\"primary\" name=\"search\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-input>\n }\n @if (form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if (form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty\n || form.get(formControlName)?.touched)) {\n <div class=\"error-message\">\n • {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".classic .btn-show-password{margin-top:auto;margin-bottom:calc((var(--input-min-height, 30px) - 30px) * .57142857 + 2px);margin-left:4px}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
3839
3897
|
}
|
|
3840
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
3898
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputCepComponent, decorators: [{
|
|
3841
3899
|
type: Component,
|
|
3842
3900
|
args: [{ selector: 'kb-input-cep', imports: [IonIcon, IonButton, IonInput, IonLabel, IonItem, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
|
|
3843
3901
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -4005,16 +4063,16 @@ class InputValorComponent extends BaseInputComponent {
|
|
|
4005
4063
|
setFocus() {
|
|
4006
4064
|
this.inputValorEdit.nativeElement.setFocus();
|
|
4007
4065
|
}
|
|
4008
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
4009
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
4066
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputValorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4067
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputValorComponent, isStandalone: true, selector: "kb-input-valor", inputs: { maxValor: "maxValor" }, outputs: { inputChange: "inputChange" }, providers: [
|
|
4010
4068
|
{
|
|
4011
4069
|
provide: NG_VALUE_ACCESSOR,
|
|
4012
4070
|
useExisting: InputValorComponent,
|
|
4013
4071
|
multi: true,
|
|
4014
4072
|
},
|
|
4015
|
-
], viewQueries: [{ propertyName: "inputValorEdit", first: true, predicate: ["inputValor"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n <ion-label position=\"{{ labelPosition }}\">{{ label }}\n @if (showObrigatorio) {\n <span class=\"label-tip-obrigatorio\">{{\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\n </span>\n }\n </ion-label>\n <!-- formControlName=\"{{ formControlName }}\" -->\n <ion-input #inputValor type=\"text\" [placeholder]=\"placeholder\" maxlength=\"{{ max }}\" (ionBlur)=\"onBlur()\"\n [value]=\"data\" (input)=\"writeValue(inputValor.value)\" (keypress)=\"digitarValor($event)\"\n [clearInput]=\"botaoLimpar\" [disabled]=\"readonly\"></ion-input>\n </ion-item>\n } @else {\n <ion-input #inputValor type=\"text\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\n [placeholder]=\"placeholder\" class=\"modern\" [maxlength]=\"max\" (ionBlur)=\"onBlur()\" [value]=\"data\"\n (input)=\"writeValue(inputValor.value)\" (keypress)=\"digitarValor($event)\" (ionInput)=\"onInputChange($event)\"\n mode=\"md\" [clearInput]=\"botaoLimpar\" [disabled]=\"readonly\">\n @if (icon || iconSrc) {\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\n }\n @if (showSeeCopy) {\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n\n </ion-input>\n }\n\n @if (form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if (form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\">\n • {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: ["", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
4073
|
+
], viewQueries: [{ propertyName: "inputValorEdit", first: true, predicate: ["inputValor"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n <ion-label position=\"{{ labelPosition }}\">{{ label }}\n @if (showObrigatorio) {\n <span class=\"label-tip-obrigatorio\">{{\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\n </span>\n }\n </ion-label>\n <!-- formControlName=\"{{ formControlName }}\" -->\n <ion-input #inputValor type=\"text\" [placeholder]=\"placeholder\" maxlength=\"{{ max }}\" (ionBlur)=\"onBlur()\"\n [value]=\"data\" (input)=\"writeValue(inputValor.value)\" (keypress)=\"digitarValor($event)\"\n [clearInput]=\"botaoLimpar\" [disabled]=\"readonly\"></ion-input>\n </ion-item>\n } @else {\n <ion-input #inputValor type=\"text\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\"\n [placeholder]=\"placeholder\" class=\"modern\" [maxlength]=\"max\" (ionBlur)=\"onBlur()\" [value]=\"data\"\n (input)=\"writeValue(inputValor.value)\" (keypress)=\"digitarValor($event)\" (ionInput)=\"onInputChange($event)\"\n mode=\"md\" [clearInput]=\"botaoLimpar\" [disabled]=\"readonly\">\n @if (icon || iconSrc) {\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\n }\n @if (showSeeCopy) {\n <ion-button fill=\"clear\" slot=\"end\" aria-label=\"Mostrar/esconder\" class=\"btn-show-password\"\n (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" icon=\"copy-outline\"></ion-icon>\n </ion-button>\n\n }\n\n </ion-input>\n }\n\n @if (form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if (form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\">\n • {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: ["", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
4016
4074
|
}
|
|
4017
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
4075
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputValorComponent, decorators: [{
|
|
4018
4076
|
type: Component,
|
|
4019
4077
|
args: [{ selector: 'kb-input-valor', imports: [IonButton, IonIcon, IonInput, IonLabel, IonItem, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [
|
|
4020
4078
|
{
|
|
@@ -4060,14 +4118,14 @@ class InputCheckboxComponent extends BaseInputComponent {
|
|
|
4060
4118
|
}
|
|
4061
4119
|
ngOnInit() {
|
|
4062
4120
|
}
|
|
4063
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
4064
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
4121
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4122
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: InputCheckboxComponent, isStandalone: true, selector: "kb-input-checkbox", inputs: { justify: "justify", labelPlacement: "labelPlacement" }, providers: [{
|
|
4065
4123
|
provide: NG_VALUE_ACCESSOR,
|
|
4066
4124
|
useExisting: InputCheckboxComponent,
|
|
4067
4125
|
multi: true
|
|
4068
|
-
}], usesInheritance: true, ngImport: i0, template: "<div [class]=\"{ 'input-text-padding': !classic }\">\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px; --background-hover: transparent\" [class]=\"itemClass\">\n <ion-checkbox #inputCheck\n [labelPlacement]=\"labelPlacement\" [justify]=\"justify\" \n [disabled]=\"readonly\"\n [checked]=\"data\"\n [color]=\"labelColor ?? 'primary'\" \n (ionChange)=\"writeValue(inputCheck.checked)\">\n <span [style.color]=\"labelColor ?? 'auto'\">{{ label }}</span> \n </ion-checkbox>\n </ion-item>\n</div>", styles: ["ion-item{--min-height: var(--checkbox-min-height, 48px) !important}ion-checkbox.checkbox-disabled{opacity:var(--item-disabled-opacity, .6)!important}span{color:var(--checkbox-text-color, \"inherit\")!important}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "indeterminate", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }] });
|
|
4126
|
+
}], usesInheritance: true, ngImport: i0, template: "<div [class]=\"{ 'input-text-padding': !classic }\">\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px; --background-hover: transparent\" [class]=\"itemClass\">\n <ion-checkbox #inputCheck\n [labelPlacement]=\"labelPlacement\" [justify]=\"justify\" \n [disabled]=\"readonly\"\n [checked]=\"data\"\n [color]=\"labelColor ?? 'primary'\" \n (ionChange)=\"writeValue(inputCheck.checked)\">\n <span [style.color]=\"labelColor ?? 'auto'\">{{ label }}</span> \n </ion-checkbox>\n </ion-item>\n</div>", styles: ["ion-item{--min-height: var(--checkbox-min-height, 48px) !important}ion-checkbox.checkbox-disabled{opacity:var(--item-disabled-opacity, .6)!important}span{color:var(--checkbox-text-color, \"inherit\")!important}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "errorText", "helperText", "indeterminate", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }] });
|
|
4069
4127
|
}
|
|
4070
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
4128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputCheckboxComponent, decorators: [{
|
|
4071
4129
|
type: Component,
|
|
4072
4130
|
args: [{ selector: 'kb-input-checkbox', imports: [IonCheckbox, IonItem,], providers: [{
|
|
4073
4131
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -4197,14 +4255,14 @@ class InputFormatComponent extends BaseInputComponent {
|
|
|
4197
4255
|
return valor;
|
|
4198
4256
|
}
|
|
4199
4257
|
}
|
|
4200
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
4201
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
4258
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputFormatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4259
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputFormatComponent, isStandalone: true, selector: "kb-input-format", inputs: { formato: "formato", keyEnter: "keyEnter" }, outputs: { inputChange: "inputChange" }, providers: [{
|
|
4202
4260
|
provide: NG_VALUE_ACCESSOR,
|
|
4203
4261
|
useExisting: InputFormatComponent,
|
|
4204
4262
|
multi: true
|
|
4205
4263
|
}], viewQueries: [{ propertyName: "inputFormatEdit", first: true, predicate: ["inputFormat"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n-->\n<!--comando --inner-padding-end: utilizado pra remover padding desnecess\u00E1rios-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if (classic) {\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\"\n [class]=\"itemClass + ' classic'\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n <ion-label [position]=\"labelPosition\">{{ label }}\n @if (showObrigatorio) {\n <span class=\"label-tip-obrigatorio\">{{\n form?.get(formControlName)?.hasError('required') ? ' \u25CF' : ''}}\n </span>\n }\n </ion-label>\n <!-- formControlName={{formControlName}} -->\n <ion-input #inputFormat type=\"tel\" [placeholder]=\"placeholder\" maxlength=\"{{ max }}\"\n (keydown)=\"digitarFormatado($event)\" (keyup.enter)=\"onKeyEnter()\" (ionBlur)=\"onBlur()\" [value]=\"data\"\n (input)=\"writeValue(inputFormat.value)\" [disabled]=\"readonly\"></ion-input>\n\n </ion-item>\n } @else {\n <ion-input #inputFormat type=\"tel\" [label]=\"label\" [labelPlacement]=\"labelPosition\" fill=\"outline\" \n [placeholder]=\"placeholder\" class=\"modern\" maxlength=\"{{ max }}\" \n [value]=\"data\" mode=\"md\"\n (input)=\"writeValue(inputFormat.value)\" \n (ionInput)=\"onInputChange($event)\" \n (ionBlur)=\"onBlur()\" \n (keydown)=\"digitarFormatado($event)\"\n (keyup.enter)=\"onKeyEnter()\" \n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake-modern' : '' \"\n [disabled]=\"readonly\" [shape]=\"shape\">\n\n @if (icon || iconSrc) {\n <ion-icon slot=\"start\" [icon]=\"icon\" [src]=\"iconSrc\" aria-hidden=\"true\"></ion-icon>\n }\n </ion-input>\n\n }\n\n @if (form) {\n <div class=\"validation-errors\">\n @for (validation of validation_messages; track validation.type) {\n <ng-container>\n @if (form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\">\n • {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".item-inner{padding-right:0!important}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
4206
4264
|
}
|
|
4207
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
4265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputFormatComponent, decorators: [{
|
|
4208
4266
|
type: Component,
|
|
4209
4267
|
args: [{ selector: 'kb-input-format', imports: [IonIcon, IonInput, IonLabel, IonItem, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
|
|
4210
4268
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -4305,16 +4363,16 @@ class InputSelectComponent extends BaseInputComponent {
|
|
|
4305
4363
|
catch {
|
|
4306
4364
|
}
|
|
4307
4365
|
}
|
|
4308
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
4309
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
4366
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputSelectComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
4367
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputSelectComponent, isStandalone: true, selector: "kb-input-select", inputs: { itens: "itens", itemId: "itemId", itemNome: "itemNome", showNovo: "showNovo", itemNull: "itemNull", opcaoDefault: "opcaoDefault", interface: "interface" }, outputs: { selectChange: "selectChange", selectChangeEntity: "selectChangeEntity" }, providers: [
|
|
4310
4368
|
{
|
|
4311
4369
|
provide: NG_VALUE_ACCESSOR,
|
|
4312
4370
|
useExisting: InputSelectComponent,
|
|
4313
4371
|
multi: true,
|
|
4314
4372
|
}
|
|
4315
|
-
], viewQueries: [{ propertyName: "itemSelect", first: true, predicate: ["itemSelect"], descendants: true, read: ElementRef }, { propertyName: "inputSelect", first: true, predicate: ["inputSelect"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n [style.opacity]=\"readonly ? 0.5 : 1\"\n [color]=\"labelColor\"\n-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if(classic) {\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent;\"\n [class]=\"itemClass + ' classic'\" id=\"item-select\" #itemSelect\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n @if (label) {\n <ion-label style=\"color: var(--input-label-color);\" [position]=\"labelPosition\" class=\"label-color\">{{ label\n }}</ion-label>\n }\n <!-- formControlName=\"{{ formControlName }}\" -->\n <select [tabindex]=\"tabindex\" #inputSelect\n style=\"background-color: var(--input-color); color: var(--input-text-color); width: 100%;\"\n (change)=\"onSelectChange(inputSelect.value)\" (blur)=\"onBlur()\" [disabled]=\"readonly\" (focus)=\"entered()\">\n @if (itemNull) {\n <option [value]=\"''\" selected=\"true\">{{ opcaoDefault }}</option>\n }\n @for(item of itens; track item[itemId]) {\n <option [value]=\"item[itemId]\" [selected]=\"item[itemId] == data\">{{ item[itemNome] }}\n </option>\n }\n </select>\n @if(showSeeCopy) {\n <ion-button size=\"small\" slot=\"end\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\"\n color=\"dark\" (click)=\"copiarClick()\" [disabled]=\"!data\">\n <ion-icon name=\"copy-outline\"></ion-icon>\n </ion-button>\n }\n </ion-item>\n } @else {\n\n <ion-select aria-label=\"Fruit\" [interface]=\"interface\" [placeholder]=\"placeholder\" [fill]=\"fill\"\n [labelPlacement]=\"labelPosition\" [label]=\"label\" [disabled]=\"readonly\" [value]=\"data\" [mode]=\"mode\"\n (ionChange)=\"onSelectChange($event.detail.value)\">\n @if (icon) {\n <ion-icon slot=\"start\" [icon]=\"icon\" aria-hidden=\"true\"></ion-icon>\n }\n @if (itemNull) {\n <ion-select-option [value]=\"''\" selected=\"true\">{{ opcaoDefault }}</ion-select-option>\n }\n @for(item of itens; track item[itemId]) {\n <ion-select-option [value]=\"item[itemId]\">{{ item[itemNome] }}\n </ion-select-option>\n }\n @if (showSeeCopy) {\n <ion-button fill=\"clear\" slot=\"end\" (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" name=\"copy-outline\" aria-hidden=\"true\"></ion-icon>\n </ion-button>\n }\n </ion-select>\n\n\n }\n\n @if (form) {\n <div class=\"validation-errors\">\n @for(validation of validation_messages; track validation.type) {\n <ng-container>\n @if(form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\" [ngClass]=\"validationClass\">\n • {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".classic select{padding:2px;background-color:#fff;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;margin-left:0;transition:.2s ease}select:disabled{opacity:.6}select:disabled ion-label{opacity:.6!important}ion-label{--color: var(--focus-color, --color) !important}select:focus{outline:none!important;--focus-color: blue;border:1px solid lightblue!important}.item-has-focus ion-label{color:#00f!important}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "expandedIcon", "fill", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
4373
|
+
], viewQueries: [{ propertyName: "itemSelect", first: true, predicate: ["itemSelect"], descendants: true, read: ElementRef }, { propertyName: "inputSelect", first: true, predicate: ["inputSelect"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<!--\n<div [formGroup]=\"form\">\n [style.opacity]=\"readonly ? 0.5 : 1\"\n [color]=\"labelColor\"\n-->\n<div [class]=\"{ 'input-text-padding': !classic }\">\n @if(classic) {\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent;\"\n [class]=\"itemClass + ' classic'\" id=\"item-select\" #itemSelect\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n @if (label) {\n <ion-label style=\"color: var(--input-label-color);\" [position]=\"labelPosition\" class=\"label-color\">{{ label\n }}</ion-label>\n }\n <!-- formControlName=\"{{ formControlName }}\" -->\n <select [tabindex]=\"tabindex\" #inputSelect\n style=\"background-color: var(--input-color); color: var(--input-text-color); width: 100%;\"\n (change)=\"onSelectChange(inputSelect.value)\" (blur)=\"onBlur()\" [disabled]=\"readonly\" (focus)=\"entered()\">\n @if (itemNull) {\n <option [value]=\"''\" selected=\"true\">{{ opcaoDefault }}</option>\n }\n @for(item of itens; track item[itemId]) {\n <option [value]=\"item[itemId]\" [selected]=\"item[itemId] == data\">{{ item[itemNome] }}\n </option>\n }\n </select>\n @if(showSeeCopy) {\n <ion-button size=\"small\" slot=\"end\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\"\n color=\"dark\" (click)=\"copiarClick()\" [disabled]=\"!data\">\n <ion-icon name=\"copy-outline\"></ion-icon>\n </ion-button>\n }\n </ion-item>\n } @else {\n\n <ion-select aria-label=\"Fruit\" [interface]=\"interface\" [placeholder]=\"placeholder\" [fill]=\"fill\"\n [labelPlacement]=\"labelPosition\" [label]=\"label\" [disabled]=\"readonly\" [value]=\"data\" [mode]=\"mode\"\n (ionChange)=\"onSelectChange($event.detail.value)\">\n @if (icon) {\n <ion-icon slot=\"start\" [icon]=\"icon\" aria-hidden=\"true\"></ion-icon>\n }\n @if (itemNull) {\n <ion-select-option [value]=\"''\" selected=\"true\">{{ opcaoDefault }}</ion-select-option>\n }\n @for(item of itens; track item[itemId]) {\n <ion-select-option [value]=\"item[itemId]\">{{ item[itemNome] }}\n </ion-select-option>\n }\n @if (showSeeCopy) {\n <ion-button fill=\"clear\" slot=\"end\" (click)=\"copiarClick()\">\n <ion-icon slot=\"icon-only\" name=\"copy-outline\" aria-hidden=\"true\"></ion-icon>\n </ion-button>\n }\n </ion-select>\n\n\n }\n\n @if (form) {\n <div class=\"validation-errors\">\n @for(validation of validation_messages; track validation.type) {\n <ng-container>\n @if(form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty ||\n form.get(formControlName)?.touched)) {\n <div class=\"error-message\" [ngClass]=\"validationClass\">\n • {{ validation.message }}\n </div>\n }\n </ng-container>\n }\n </div>\n }\n</div>", styles: [".classic select{padding:2px;background-color:#fff;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;margin-left:0;transition:.2s ease}select:disabled{opacity:.6}select:disabled ion-label{opacity:.6!important}ion-label{--color: var(--focus-color, --color) !important}select:focus{outline:none!important;--focus-color: blue;border:1px solid lightblue!important}.item-has-focus ion-label{color:#00f!important}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["description", "disabled", "justify", "labelPlacement", "mode", "value"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
4316
4374
|
}
|
|
4317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
4375
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputSelectComponent, decorators: [{
|
|
4318
4376
|
type: Component,
|
|
4319
4377
|
args: [{ selector: 'kb-input-select', imports: [IonIcon, IonButton, IonLabel, IonItem, IonSelect, IonSelectOption, NgClass], changeDetection: ChangeDetectionStrategy.Eager, providers: [
|
|
4320
4378
|
{
|
|
@@ -4382,14 +4440,14 @@ class InputRadioComponent extends BaseInputComponent {
|
|
|
4382
4440
|
}
|
|
4383
4441
|
ngOnInit() {
|
|
4384
4442
|
}
|
|
4385
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
4386
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
4443
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4444
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: InputRadioComponent, isStandalone: true, selector: "kb-input-radio", inputs: { itens: "itens", itemId: "itemId", itemNome: "itemNome", color: "color" }, providers: [{
|
|
4387
4445
|
provide: NG_VALUE_ACCESSOR,
|
|
4388
4446
|
useExisting: InputRadioComponent,
|
|
4389
4447
|
multi: true
|
|
4390
|
-
}], usesInheritance: true, ngImport: i0, template: "<div>\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px;\" [class]=\"itemClass\"\n [style.opacity]=\"readonly ? '0.5' : '1'\">\n <ion-radio-group #inputRadio \n [value]=\"data\"\n (ionChange)=\"writeValue(inputRadio.value)\">\n <span style=\"font-size: 13px\">\n {{ label }}\n </span>\n <ion-row>\n <ion-col *ngFor=\"let item of itens\">\n <ion-radio style=\"margin-right: 12px;\" [color]=\"color\" \n labelPlacement=\"end\" \n justify=\"start\"\n [disabled]=\"readonly\"\n [value]=\"item[itemId]\">\n {{ item[itemNome] }}</ion-radio><br />\n </ion-col>\n </ion-row>\n </ion-radio-group>\n </ion-item>\n</div>", styles: ["ion-item{--min-height: var(--checkbox-min-height, 48px) !important}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonRadio, selector: "ion-radio", inputs: ["alignment", "color", "disabled", "justify", "labelPlacement", "mode", "name", "value"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonRadioGroup, selector: "ion-radio-group", inputs: ["allowEmptySelection", "name", "value"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
4448
|
+
}], usesInheritance: true, ngImport: i0, template: "<div>\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px;\" [class]=\"itemClass\"\n [style.opacity]=\"readonly ? '0.5' : '1'\">\n <ion-radio-group #inputRadio \n [value]=\"data\"\n (ionChange)=\"writeValue(inputRadio.value)\">\n <span style=\"font-size: 13px\">\n {{ label }}\n </span>\n <ion-row>\n <ion-col *ngFor=\"let item of itens\">\n <ion-radio style=\"margin-right: 12px;\" [color]=\"color\" \n labelPlacement=\"end\" \n justify=\"start\"\n [disabled]=\"readonly\"\n [value]=\"item[itemId]\">\n {{ item[itemNome] }}</ion-radio><br />\n </ion-col>\n </ion-row>\n </ion-radio-group>\n </ion-item>\n</div>", styles: ["ion-item{--min-height: var(--checkbox-min-height, 48px) !important}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonRadio, selector: "ion-radio", inputs: ["alignment", "color", "disabled", "justify", "labelPlacement", "mode", "name", "value"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonRadioGroup, selector: "ion-radio-group", inputs: ["allowEmptySelection", "compareWith", "errorText", "helperText", "name", "value"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
4391
4449
|
}
|
|
4392
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
4450
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputRadioComponent, decorators: [{
|
|
4393
4451
|
type: Component,
|
|
4394
4452
|
args: [{ selector: 'kb-input-radio', imports: [IonRadio, IonCol, IonRow, IonRadioGroup, IonItem,], changeDetection: ChangeDetectionStrategy.Eager, providers: [{
|
|
4395
4453
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -4422,10 +4480,10 @@ class EntityEditComponent {
|
|
|
4422
4480
|
}
|
|
4423
4481
|
emptyHandler() {
|
|
4424
4482
|
}
|
|
4425
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
4426
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: EntityEditComponent, isStandalone: true, selector: "kb-entidade-edit", inputs: { entidade: "entidade", campos: "campos", entidadeForm: "entidadeForm", validation_messages: "validation_messages", itemClass: "itemClass", rowClass: "rowClass", showObrigatorio: "showObrigatorio" }, ngImport: i0, template: "<div>\n @if (campos && campos.length) {\n <form [formGroup]=\"entidadeForm\" style=\"width: 100%;\">\n\n @for (linha of campos; track linha.Linha) {\n <ion-row [class]=\"rowClass\">\n @for (campo of linha.Linha; track campo.Nome) {\n <ng-container>\n <!-- {{ campo.Nome }} {{ campo.Tipo }} -->\n\n <!-- [showCustomAction]=\"campo.InputAction ?? false\" [customActionIcon]=\"campo.InputActionIcon ?? 'search-outline'\" -->\n @if (campo.Tipo == 'input-text') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\"\n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : (campo.Label ?? campo.Nome + '...')) : ''\" \n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n [type]=\"campo.TipoInput ?? 'text'\" [showSeePassword]=\"campo.TipoInput == 'password'\" \n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-text>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-date') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\"\n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n type=\"date\" \n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-text>\n </ion-col> \n } \n @else if (campo.Tipo == 'input-number') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\"\n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : (campo.Label ?? campo.Nome + '...')) : ''\" \n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n type=\"number\" \n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-text>\n </ion-col>\n \n }\n @else if (campo.Tipo == 'input-area') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-area label=\"{{campo.Label ?? campo.Nome}}\"\n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : (campo.Label ?? campo.Nome + '...')) : ''\" \n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n [linhas]=\"campo.Linhas ?? 5\" [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-area>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-cep') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-cep label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\" (getResultados)=\"campo.change ? campo.change($event) : emptyHandler()\">\n </kb-input-cep>\n </ion-col>\n }\n @else if(campo.Tipo == 'input-valor') {\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"\" [hidden]=\"campo.Hidden === true\">\n <kb-input-valor label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-valor>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-checkbox') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-checkbox label=\"{{ campo.Label }}\" [form]=\"entidadeForm\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [itemClass]=\"itemClass\"\n [labelColor]=\"campo.BtnColor ?? 'dark'\">\n\n </kb-input-checkbox>\n </ion-col>\n }\n @else if(campo.Tipo == 'input-format') {\n\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-format label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [formato]=\"campo.Formato ?? ''\"\n [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-format>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-select') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-select [label]=\"campo.Label ?? campo.Nome\" [placeholder]=\"'Selecionar...'\"\n [formControlName]=\"campo.Nome\" [form]=\"entidadeForm\" [itens]=\"campo.Itens!\" [itemId]=\"campo.ItemId ?? 'Id'\"\n [itemNome]=\"campo.ItemNome ?? 'Nome'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n (selectChangeEntity)=\"campo.change ? campo.change($event) : emptyHandler()\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-select>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-radio') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-radio [label]=\"campo.Label ?? campo.Nome\" [formControlName]=\"campo.Nome\" [form]=\"entidadeForm\"\n [itens]=\"campo.Itens!\" [itemId]=\"campo.ItemId ?? 'Id'\" [itemNome]=\"campo.ItemNome ?? 'Nome'\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n </kb-input-radio>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-pesquisa') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-pesquisa #pesquisaCentroCustoPai [label]=\"campo.Label ?? campo.Nome\" [campoId]=\"campo.ItemId ?? 'Id'\"\n [focusField]=\"campo.focusField ?? false\" [formControlName]=\"campo.Nome\" \n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : ('Pesquisar...')) : ''\"\n [campoDisplay]=\"campo.ItemNome ?? 'Nome'\" [form]=\"entidadeForm\" [tipo]=\"campo.TipoPesquisa ?? ''\"\n [urlItem]=\"campo.UrlItem ?? ''\" [max]=\"campo.Tamanho ?? '50'\" [url]=\"campo.UrlPesquisa ?? ''\"\n [readonly]=\"campo.ReadOnly\" (pesquisaChange)=\"campo.change ? campo.change($event) : emptyHandler()\"\n [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-pesquisa>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-button') {\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"\">\n <!-- \n <kb-btn-action [title]=\"campo.Label\" [icon]=\"campo.Icon\" [iconSrc]=\"campo.IconSrc\" [color]=\"campo.BtnColor ?? 'light'\" \n [expand]=\"campo.BtnExpand ?? 'block'\" style=\"margin-top: var(--btn-action-margin-top, auto);\">\n </kb-btn-action>\n -->\n <ion-button [expand]=\"campo.BtnExpand ?? 'block'\" [color]=\"campo.BtnColor ?? 'light'\"\n (click)=\"campo.click ? campo.click($event) : emptyHandler()\" [size]=\"campo.BtnSize ?? 'default'\"\n [disabled]=\"campo.ReadOnly\">\n <ion-icon *ngIf=\"campo.Icon || campo.IconSrc\" [name]=\"campo.Icon\" [src]=\"campo.IconSrc\"></ion-icon>\n {{ campo.Label }}\n </ion-button>\n </ion-col>\n }\n @else if (campo.Tipo == 'col') {\n <ion-col *ngIf=\"campo.Tipo == 'col'\" size-md=\"1\" size-xs=\"0\">\n\n </ion-col>\n }\n @else if (campo.Tipo == 'sub-titulo') {\n <ion-col *ngIf=\"\" size=\"12\">\n <ion-list lines=\"none\" class=\"ion-no-padding\">\n <ion-list-header color=\"primary\" [style]=\"campo.CampoStyle ?? ''\">\n <ion-label [style]=\"campo.LabelStyle ?? ''\">{{ campo.Label }}</ion-label>\n </ion-list-header>\n </ion-list>\n </ion-col>\n }\n </ng-container>\n }\n </ion-row>\n }\n <!--\n <ion-col class=\"select ion-no-margin ion-no-padding\">\n <ion-item lines=\"none\">\n <ion-label>Totalizador</ion-label>\n <ion-checkbox slot=\"start\" formControlName=\"Totalizador\"></ion-checkbox>\n </ion-item>\n </ion-col>\n <ion-col class=\"select ion-no-margin ion-no-padding\">\n <ion-item lines=\"none\">\n <ion-label>Inativo</ion-label>\n <ion-checkbox slot=\"start\" formControlName=\"Inativo\"></ion-checkbox>\n </ion-item>\n </ion-col>\n -->\n </form>\n }\n</div>", styles: ["ion-list-header{text-align:center;font-size:large}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonListHeader, selector: "ion-list-header", inputs: ["color", "lines", "mode"] }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: InputTextComponent, selector: "kb-input-text", inputs: ["showSeePassword"], outputs: ["inputChange"] }, { kind: "component", type: InputPesquisaComponent, selector: "kb-input-pesquisa", inputs: ["textoPesquisa", "max", "filterFunction", "selectId", "campoId", "campoPaiId", "campoDisplay", "tipo", "url", "urlItem", "empresa", "loadInit", "urlTree", "treeTitulo"], outputs: ["pesquisaChange", "limpar"] }, { kind: "component", type: InputAreaComponent, selector: "kb-input-area", inputs: ["linhas", "contador"], outputs: ["inputChange"] }, { kind: "component", type: InputCepComponent, selector: "kb-input-cep", inputs: ["formato", "keyEnter"], outputs: ["getResultados", "inputChange"] }, { kind: "component", type: InputValorComponent, selector: "kb-input-valor", inputs: ["maxValor"], outputs: ["inputChange"] }, { kind: "component", type: InputCheckboxComponent, selector: "kb-input-checkbox", inputs: ["justify", "labelPlacement"] }, { kind: "component", type: InputFormatComponent, selector: "kb-input-format", inputs: ["formato", "keyEnter"], outputs: ["inputChange"] }, { kind: "component", type: InputSelectComponent, selector: "kb-input-select", inputs: ["itens", "itemId", "itemNome", "showNovo", "itemNull", "opcaoDefault", "interface"], outputs: ["selectChange", "selectChangeEntity"] }, { kind: "component", type: InputRadioComponent, selector: "kb-input-radio", inputs: ["itens", "itemId", "itemNome", "color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
4483
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: EntityEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4484
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: EntityEditComponent, isStandalone: true, selector: "kb-entidade-edit", inputs: { entidade: "entidade", campos: "campos", entidadeForm: "entidadeForm", validation_messages: "validation_messages", itemClass: "itemClass", rowClass: "rowClass", showObrigatorio: "showObrigatorio" }, ngImport: i0, template: "<div>\n @if (campos && campos.length) {\n <form [formGroup]=\"entidadeForm\" style=\"width: 100%;\">\n\n @for (linha of campos; track linha.Linha) {\n <ion-row [class]=\"rowClass\">\n @for (campo of linha.Linha; track campo.Nome) {\n <ng-container>\n <!-- {{ campo.Nome }} {{ campo.Tipo }} -->\n\n <!-- [showCustomAction]=\"campo.InputAction ?? false\" [customActionIcon]=\"campo.InputActionIcon ?? 'search-outline'\" -->\n @if (campo.Tipo == 'input-text') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\"\n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : (campo.Label ?? campo.Nome + '...')) : ''\" \n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n [type]=\"campo.TipoInput ?? 'text'\" [showSeePassword]=\"campo.TipoInput == 'password'\" \n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-text>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-date') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\"\n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n type=\"date\" \n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-text>\n </ion-col> \n } \n @else if (campo.Tipo == 'input-number') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\"\n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : (campo.Label ?? campo.Nome + '...')) : ''\" \n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n type=\"number\" \n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-text>\n </ion-col>\n \n }\n @else if (campo.Tipo == 'input-area') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-area label=\"{{campo.Label ?? campo.Nome}}\"\n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : (campo.Label ?? campo.Nome + '...')) : ''\" \n [form]=\"entidadeForm\"\n [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\"\n [linhas]=\"campo.Linhas ?? 5\" [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-area>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-cep') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-cep label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\" (getResultados)=\"campo.change ? campo.change($event) : emptyHandler()\">\n </kb-input-cep>\n </ion-col>\n }\n @else if(campo.Tipo == 'input-valor') {\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"\" [hidden]=\"campo.Hidden === true\">\n <kb-input-valor label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [itemClass]=\"itemClass\"\n [showObrigatorio]=\"showObrigatorio\">\n </kb-input-valor>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-checkbox') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-checkbox label=\"{{ campo.Label }}\" [form]=\"entidadeForm\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [itemClass]=\"itemClass\"\n [labelColor]=\"campo.BtnColor ?? 'dark'\">\n\n </kb-input-checkbox>\n </ion-col>\n }\n @else if(campo.Tipo == 'input-format') {\n\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-format label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco ?? ''\" [readonly]=\"campo.ReadOnly\" [formato]=\"campo.Formato ?? ''\"\n [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-format>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-select') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-select [label]=\"campo.Label ?? campo.Nome\" [placeholder]=\"'Selecionar...'\"\n [formControlName]=\"campo.Nome\" [form]=\"entidadeForm\" [itens]=\"campo.Itens!\" [itemId]=\"campo.ItemId ?? 'Id'\"\n [itemNome]=\"campo.ItemNome ?? 'Nome'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n (selectChangeEntity)=\"campo.change ? campo.change($event) : emptyHandler()\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-select>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-radio') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-radio [label]=\"campo.Label ?? campo.Nome\" [formControlName]=\"campo.Nome\" [form]=\"entidadeForm\"\n [itens]=\"campo.Itens!\" [itemId]=\"campo.ItemId ?? 'Id'\" [itemNome]=\"campo.ItemNome ?? 'Nome'\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n </kb-input-radio>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-pesquisa') {\n <ion-col [sizeMd]=\"campo.Size\" [hidden]=\"campo.Hidden === true\">\n <kb-input-pesquisa #pesquisaCentroCustoPai [label]=\"campo.Label ?? campo.Nome\" [campoId]=\"campo.ItemId ?? 'Id'\"\n [focusField]=\"campo.focusField ?? false\" [formControlName]=\"campo.Nome\" \n [placeholder]=\"campo.PlaceHolderVisivel ? (campo.PlaceHolder ? campo.PlaceHolder : ('Pesquisar...')) : ''\"\n [campoDisplay]=\"campo.ItemNome ?? 'Nome'\" [form]=\"entidadeForm\" [tipo]=\"campo.TipoPesquisa ?? ''\"\n [urlItem]=\"campo.UrlItem ?? ''\" [max]=\"campo.Tamanho ?? '50'\" [url]=\"campo.UrlPesquisa ?? ''\"\n [readonly]=\"campo.ReadOnly\" (pesquisaChange)=\"campo.change ? campo.change($event) : emptyHandler()\"\n [itemClass]=\"itemClass\" [showObrigatorio]=\"showObrigatorio\">\n </kb-input-pesquisa>\n </ion-col>\n }\n @else if (campo.Tipo == 'input-button') {\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"\">\n <!-- \n <kb-btn-action [title]=\"campo.Label\" [icon]=\"campo.Icon\" [iconSrc]=\"campo.IconSrc\" [color]=\"campo.BtnColor ?? 'light'\" \n [expand]=\"campo.BtnExpand ?? 'block'\" style=\"margin-top: var(--btn-action-margin-top, auto);\">\n </kb-btn-action>\n -->\n <ion-button [expand]=\"campo.BtnExpand ?? 'block'\" [color]=\"campo.BtnColor ?? 'light'\"\n (click)=\"campo.click ? campo.click($event) : emptyHandler()\" [size]=\"campo.BtnSize ?? 'default'\"\n [disabled]=\"campo.ReadOnly\">\n <ion-icon *ngIf=\"campo.Icon || campo.IconSrc\" [name]=\"campo.Icon\" [src]=\"campo.IconSrc\"></ion-icon>\n {{ campo.Label }}\n </ion-button>\n </ion-col>\n }\n @else if (campo.Tipo == 'col') {\n <ion-col *ngIf=\"campo.Tipo == 'col'\" size-md=\"1\" size-xs=\"0\">\n\n </ion-col>\n }\n @else if (campo.Tipo == 'sub-titulo') {\n <ion-col *ngIf=\"\" size=\"12\">\n <ion-list lines=\"none\" class=\"ion-no-padding\">\n <ion-list-header color=\"primary\" [style]=\"campo.CampoStyle ?? ''\">\n <ion-label [style]=\"campo.LabelStyle ?? ''\">{{ campo.Label }}</ion-label>\n </ion-list-header>\n </ion-list>\n </ion-col>\n }\n </ng-container>\n }\n </ion-row>\n }\n <!--\n <ion-col class=\"select ion-no-margin ion-no-padding\">\n <ion-item lines=\"none\">\n <ion-label>Totalizador</ion-label>\n <ion-checkbox slot=\"start\" formControlName=\"Totalizador\"></ion-checkbox>\n </ion-item>\n </ion-col>\n <ion-col class=\"select ion-no-margin ion-no-padding\">\n <ion-item lines=\"none\">\n <ion-label>Inativo</ion-label>\n <ion-checkbox slot=\"start\" formControlName=\"Inativo\"></ion-checkbox>\n </ion-item>\n </ion-col>\n -->\n </form>\n }\n</div>", styles: ["ion-list-header{text-align:center;font-size:large}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonListHeader, selector: "ion-list-header", inputs: ["color", "lines", "mode"] }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: InputTextComponent, selector: "kb-input-text", inputs: ["showSeePassword"], outputs: ["inputChange"] }, { kind: "component", type: InputPesquisaComponent, selector: "kb-input-pesquisa", inputs: ["textoPesquisa", "max", "filterFunction", "selectId", "campoId", "campoPaiId", "campoDisplay", "tipo", "url", "urlItem", "empresa", "loadInit", "urlTree", "treeTitulo"], outputs: ["pesquisaChange", "limpar"] }, { kind: "component", type: InputAreaComponent, selector: "kb-input-area", inputs: ["linhas", "contador"], outputs: ["inputChange"] }, { kind: "component", type: InputCepComponent, selector: "kb-input-cep", inputs: ["formato", "keyEnter"], outputs: ["getResultados", "inputChange"] }, { kind: "component", type: InputValorComponent, selector: "kb-input-valor", inputs: ["maxValor"], outputs: ["inputChange"] }, { kind: "component", type: InputCheckboxComponent, selector: "kb-input-checkbox", inputs: ["justify", "labelPlacement"] }, { kind: "component", type: InputFormatComponent, selector: "kb-input-format", inputs: ["formato", "keyEnter"], outputs: ["inputChange"] }, { kind: "component", type: InputSelectComponent, selector: "kb-input-select", inputs: ["itens", "itemId", "itemNome", "showNovo", "itemNull", "opcaoDefault", "interface"], outputs: ["selectChange", "selectChangeEntity"] }, { kind: "component", type: InputRadioComponent, selector: "kb-input-radio", inputs: ["itens", "itemId", "itemNome", "color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
4427
4485
|
}
|
|
4428
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
4486
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: EntityEditComponent, decorators: [{
|
|
4429
4487
|
type: Component,
|
|
4430
4488
|
args: [{ selector: 'kb-entidade-edit', imports: [IonIcon, IonListHeader, IonList, IonButton, IonLabel, IonCol, IonRow, InputTextComponent,
|
|
4431
4489
|
InputPesquisaComponent, InputAreaComponent, InputCepComponent, InputValorComponent, InputCheckboxComponent,
|
|
@@ -4754,10 +4812,10 @@ class GridViewComponent {
|
|
|
4754
4812
|
selecionadoChecked() {
|
|
4755
4813
|
this.selecionarChecked.emit();
|
|
4756
4814
|
}
|
|
4757
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
4758
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: GridViewComponent, isStandalone: true, selector: "kb-grid-view", inputs: { tabelaCampos: "tabelaCampos", dataSet: "dataSet", minHeight: "minHeight", maxHeight: "maxHeight", inMemoryPagination: "inMemoryPagination", apiPagination: "apiPagination", filteredDataSet: "filteredDataSet", pageOffset: "pageOffset", apiTotalRecords: "apiTotalRecords", apiPage: "apiPage", apiPagesTotal: "apiPagesTotal" }, outputs: { selecionarItem: "selecionarItem", excluirItem: "excluirItem", selecionarChecked: "selecionarChecked", apiProximoEvent: "apiProximoEvent", apiAnteriorEvent: "apiAnteriorEvent" }, usesOnChanges: true, ngImport: i0, template: "<div style=\"font-size: 14px;\">\n <div id=\"painelExportacao\">\n @if(inMemoryPagination || apiPagination) {\n <ion-row>\n <!--\n <ion-col size=\"2\">\n <ion-button *ngIf=\"tabelaCampos.Selecionar === true\" size=\"small\" fill=\"outline\" color=\"medium\"\n (click)=\"selecionarTodos()\">Selecionar Todos</ion-button>\n </ion-col>\n -->\n <ion-col size-md=\"5\" size-xs=\"12\">\n @if (inMemoryPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"bluetool\" (click)=\"anterior()\">\n <ion-icon name=\"chevron-back-outline\" slot=\"start\"></ion-icon>\n Anterior\n </ion-button>\n }\n @if (inMemoryPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"bluetool\" (click)=\"proximo()\">\n Pr\u00F3ximo\n <ion-icon name=\"chevron-forward-outline\" slot=\"end\"></ion-icon>\n </ion-button>\n }\n @if (apiPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"medium\" shape=\"round\" class=\"circle-button\"\n (click)=\"proximoApi(false)\" alt=\"Primeiro\">\n <ion-icon name=\"chevron-back-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n }\n @for (pag of pages; track pag) {\n <ion-button shape=\"round\" [fill]=\"pag == this.page ? 'solid' : 'outline'\" size=\"small\"\n class=\"circle-button\" [color]=\"pag == this.page ? 'verde' : 'medium'\"\n [class]=\"{ 'pageSelected': pag == this.page }\" (click)=\"proximoApi(false, pag)\">{{ pag\n }}</ion-button>\n }\n @if (apiPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"medium\" shape=\"round\" class=\"circle-button\"\n (click)=\"proximoApi(true)\" alt=\"\u00DAltimo\">\n <ion-icon name=\"chevron-forward-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n }\n\n </ion-col>\n <ion-col size-md=\"5\" size-xs=\"12\" style=\"text-align: left;\">\n @if ((inMemoryPagination || apiPagination) && totalRec > 0) {\n <span style=\"display: block; margin-top: 10px;\">Exibindo {{ start + 1 }} - {{ (start +\n pageOffset) < totalRec ? (start + pageOffset) : totalRec }} total de {{ totalRec }} </span>\n }\n </ion-col>\n </ion-row>\n }\n </div>\n <div style=\"width: 100%; margin-top: 16px; overflow-y: auto;\" [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\" class=\"scroll-container\">\n <table class=\"grid\">\n <thead>\n <tr style=\"background-color: var(--ion-color-bluetool); color: white;\">\n @if (tabelaCampos.Selecionar === true) {\n <td style=\"width: 3%; text-align: center;\">\n <input type=\"checkbox\" [(ngModel)]=\"todosSelecionados\" (change)=\"selecionarTodos()\">\n </td>\n }\n @for (col of tabelaCampos.Colunas; track col) {\n <td [style.width]=\"col.Tamanho\">\n <div style=\"position: relative;\">\n <div style=\"display: flex; justify-content: space-between; align-items: end;\">\n <strong>{{ col.Titulo }}</strong>\n <div>\n @if (col.Ordem) {\n <ion-icon slot=\"end\" (click)=\"ordenar(col)\" style=\"cursor: pointer;\"\n [name]=\"col.OrdemStatus == 0 ? 'swap-vertical' : (col.OrdemStatus == 1 ? 'arrow-up': 'arrow-down')\">\n </ion-icon>\n }\n @if (col.Filtrar) {\n <ion-icon name=\"funnel\" (click)=\"setFiltroOpen(col)\" slot=\"end\">\n </ion-icon>\n }\n </div>\n </div>\n\n\n <div class=\"caixaGrande\" [hidden]=\"!col.FiltroVisivel\" tabindex=\"-1\"\n style=\"color: black; display: block; position: absolute; z-index: 800; width: 210px; left: 0px; opacity: 0.9; background-color: white; max-height: 200px;\">\n Filtrar:\n <div>\n <div style=\"display: flex; justify-content: space-between; align-items: start;\">\n <select style=\"width: 80px;\" [(ngModel)]=\"col.FiltroOperador\">\n <option>=</option>\n <option>>=</option>\n <option><=</option>\n <option>tem</option>\n </select>\n <input style=\"width: 100px;\" type=\"text\" [(ngModel)]=\"col.FiltroValor\">\n </div>\n <ion-button size=\"small\" color=\"medium\" expand=\"block\"\n (click)=\"filtrar(col)\">Filtrar</ion-button>\n <ion-button size=\"small\" color=\"light\" expand=\"block\"\n (click)=\"limpar(col)\">Limpar</ion-button>\n </div>\n @if (col.Valores) {\n <div class=\"scroll-container\" style=\"height: 200px; overflow-y: scroll;\">\n @for (valor of col.Valores; track valor) {\n <div>\n <input type=\"checkbox\" [(ngModel)]=\"valor.Selecionado\">\n <span>{{ valor.Valor }}</span>\n </div>\n }\n </div>\n }\n </div>\n\n </div>\n </td>\n }\n @if (tabelaCampos.Excluir === true) {\n <td>\n\n </td>\n }\n </tr>\n </thead>\n <tbody>\n @for(item of pageDataSet; track item) {\n <tr [class]=\"item == selectedItem ? 'item-selecionado' : '' \">\n @if (tabelaCampos.Selecionar === true) {\n <td style=\"text-align: center; cursor: auto;\">\n <input type=\"checkbox\" [(ngModel)]=\"item[tabelaCampos.CampoSelecionar ?? 'Selecionado']\"\n (change)=\"selecionadoChecked()\">\n </td>\n }\n @for (col of tabelaCampos.Colunas; track col.Campo) {\n <td class=\"col\" [style.width]=\"col.Tamanho\"\n [style.text-align]=\"col.Tipo == 'number' ? 'right' : (col.Alinhamento ?? 'left')\"\n (click)=\"col.ClickFunction ? col.ClickFunction(item) : selecionarLinha(item)\">\n @if (col.Pipe == 'date') {\n <span>{{ item[col.Campo] | date: 'dd/MM/yyyy' }}</span>\n }\n @if (col.Pipe == 'datetime') {\n <span>{{ item[col.Campo] | date: 'dd/MM/yyyy HH:mm:ss' }}</span>\n }\n @if (col.Pipe == 'valor') {\n <span>{{ item[col.Campo] | number }}</span>\n }\n @if(col.RenderFunction) {\n <span [innerHtml]=\"col.RenderFunction(item) | safeHtml\"></span>\n }\n @if (!col.Pipe && !col.RenderFunction) {\n <span>{{ item[col.Campo] ?? col.Default }}</span>\n }\n </td>\n }\n @if (tabelaCampos.Excluir === true) {\n <td style=\"padding: 0px; text-align: center;\">\n <ion-button size=\"small\" color=\"danger\" fill=\"outline\" style=\"transform: scale(0.85);\"\n (click)=\"excluirLinha(item)\">\n <ion-icon name=\"trash\"></ion-icon>\n </ion-button>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n\n <!--\n <ion-modal [isOpen]=\"isFiltroOpen\" (didDismiss)=\"isFiltroOpen = false;\">\n <ng-template>\n <ion-content class=\"ion-padding\">\n <div class=\"caixaGrande\">\n Filtrar:\n <div *ngIf=\"selectedColuna.Valores\">\n <div *ngFor=\"let valor of selectedColuna.Valores\">\n <span>{{ valor }}</span>\n </div>\n </div>\n </div>\n </ion-content>\n </ng-template>\n </ion-modal>\n -->\n</div>", styles: [".grid{width:100%}.grid thead td{color:var(--text-cabecalho-color, black);border-bottom:1px solid gray;padding:6px 4px}.grid tbody{background-color:#fff}.grid tbody td{border-bottom:1px solid gray;padding:6px 4px}.grid tbody tr{cursor:pointer}.grid tbody tr:hover{background-color:#699ccc80;transition-duration:.5s}.grid tbody tr.item-selecionado{background-color:#699ccc33}.nth-table tr:nth-child(2n){background:var(--misto-tabela);color:var(--color-misto)}.circle-button{--border-radius: 50%;aspect-ratio:1/1;width:36px;height:36px}.circle-button ion-icon{transform:scale(2.5)}.pageSelected{--background: lightgreen}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox]:not([ngNoCva])[formControlName],input[type=checkbox]:not([ngNoCva])[formControl],input[type=checkbox]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
4815
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: GridViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4816
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: GridViewComponent, isStandalone: true, selector: "kb-grid-view", inputs: { tabelaCampos: "tabelaCampos", dataSet: "dataSet", minHeight: "minHeight", maxHeight: "maxHeight", inMemoryPagination: "inMemoryPagination", apiPagination: "apiPagination", filteredDataSet: "filteredDataSet", pageOffset: "pageOffset", apiTotalRecords: "apiTotalRecords", apiPage: "apiPage", apiPagesTotal: "apiPagesTotal" }, outputs: { selecionarItem: "selecionarItem", excluirItem: "excluirItem", selecionarChecked: "selecionarChecked", apiProximoEvent: "apiProximoEvent", apiAnteriorEvent: "apiAnteriorEvent" }, usesOnChanges: true, ngImport: i0, template: "<div style=\"font-size: 14px;\">\n <div id=\"painelExportacao\">\n @if(inMemoryPagination || apiPagination) {\n <ion-row>\n <!--\n <ion-col size=\"2\">\n <ion-button *ngIf=\"tabelaCampos.Selecionar === true\" size=\"small\" fill=\"outline\" color=\"medium\"\n (click)=\"selecionarTodos()\">Selecionar Todos</ion-button>\n </ion-col>\n -->\n <ion-col size-md=\"5\" size-xs=\"12\">\n @if (inMemoryPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"bluetool\" (click)=\"anterior()\">\n <ion-icon name=\"chevron-back-outline\" slot=\"start\"></ion-icon>\n Anterior\n </ion-button>\n }\n @if (inMemoryPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"bluetool\" (click)=\"proximo()\">\n Pr\u00F3ximo\n <ion-icon name=\"chevron-forward-outline\" slot=\"end\"></ion-icon>\n </ion-button>\n }\n @if (apiPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"medium\" shape=\"round\" class=\"circle-button\"\n (click)=\"proximoApi(false)\" alt=\"Primeiro\">\n <ion-icon name=\"chevron-back-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n }\n @for (pag of pages; track pag) {\n <ion-button shape=\"round\" [fill]=\"pag == this.page ? 'solid' : 'outline'\" size=\"small\"\n class=\"circle-button\" [color]=\"pag == this.page ? 'verde' : 'medium'\"\n [class]=\"{ 'pageSelected': pag == this.page }\" (click)=\"proximoApi(false, pag)\">{{ pag\n }}</ion-button>\n }\n @if (apiPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"medium\" shape=\"round\" class=\"circle-button\"\n (click)=\"proximoApi(true)\" alt=\"\u00DAltimo\">\n <ion-icon name=\"chevron-forward-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n }\n\n </ion-col>\n <ion-col size-md=\"5\" size-xs=\"12\" style=\"text-align: left;\">\n @if ((inMemoryPagination || apiPagination) && totalRec > 0) {\n <span style=\"display: block; margin-top: 10px;\">Exibindo {{ start + 1 }} - {{ (start +\n pageOffset) < totalRec ? (start + pageOffset) : totalRec }} total de {{ totalRec }} </span>\n }\n </ion-col>\n </ion-row>\n }\n </div>\n <div style=\"width: 100%; margin-top: 16px; overflow-y: auto;\" [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\" class=\"scroll-container\">\n <table class=\"grid\">\n <thead>\n <tr style=\"background-color: var(--ion-color-bluetool); color: white;\">\n @if (tabelaCampos.Selecionar === true) {\n <td style=\"width: 3%; text-align: center;\">\n <input type=\"checkbox\" [(ngModel)]=\"todosSelecionados\" (change)=\"selecionarTodos()\">\n </td>\n }\n @for (col of tabelaCampos.Colunas; track col) {\n <td [style.width]=\"col.Tamanho\">\n <div style=\"position: relative;\">\n <div style=\"display: flex; justify-content: space-between; align-items: end;\">\n <strong>{{ col.Titulo }}</strong>\n <div>\n @if (col.Ordem) {\n <ion-icon slot=\"end\" (click)=\"ordenar(col)\" style=\"cursor: pointer;\"\n [name]=\"col.OrdemStatus == 0 ? 'swap-vertical' : (col.OrdemStatus == 1 ? 'arrow-up': 'arrow-down')\">\n </ion-icon>\n }\n @if (col.Filtrar) {\n <ion-icon name=\"funnel\" (click)=\"setFiltroOpen(col)\" slot=\"end\">\n </ion-icon>\n }\n </div>\n </div>\n\n\n <div class=\"caixaGrande\" [hidden]=\"!col.FiltroVisivel\" tabindex=\"-1\"\n style=\"color: black; display: block; position: absolute; z-index: 800; width: 210px; left: 0px; opacity: 0.9; background-color: white; max-height: 200px;\">\n Filtrar:\n <div>\n <div style=\"display: flex; justify-content: space-between; align-items: start;\">\n <select style=\"width: 80px;\" [(ngModel)]=\"col.FiltroOperador\">\n <option>=</option>\n <option>>=</option>\n <option><=</option>\n <option>tem</option>\n </select>\n <input style=\"width: 100px;\" type=\"text\" [(ngModel)]=\"col.FiltroValor\">\n </div>\n <ion-button size=\"small\" color=\"medium\" expand=\"block\"\n (click)=\"filtrar(col)\">Filtrar</ion-button>\n <ion-button size=\"small\" color=\"light\" expand=\"block\"\n (click)=\"limpar(col)\">Limpar</ion-button>\n </div>\n @if (col.Valores) {\n <div class=\"scroll-container\" style=\"height: 200px; overflow-y: scroll;\">\n @for (valor of col.Valores; track valor) {\n <div>\n <input type=\"checkbox\" [(ngModel)]=\"valor.Selecionado\">\n <span>{{ valor.Valor }}</span>\n </div>\n }\n </div>\n }\n </div>\n\n </div>\n </td>\n }\n @if (tabelaCampos.Excluir === true) {\n <td>\n\n </td>\n }\n </tr>\n </thead>\n <tbody>\n @for(item of pageDataSet; track item) {\n <tr [class]=\"item == selectedItem ? 'item-selecionado' : '' \">\n @if (tabelaCampos.Selecionar === true) {\n <td style=\"text-align: center; cursor: auto;\">\n <input type=\"checkbox\" [(ngModel)]=\"item[tabelaCampos.CampoSelecionar ?? 'Selecionado']\"\n (change)=\"selecionadoChecked()\">\n </td>\n }\n @for (col of tabelaCampos.Colunas; track col.Campo) {\n <td class=\"col\" [style.width]=\"col.Tamanho\"\n [style.text-align]=\"col.Tipo == 'number' ? 'right' : (col.Alinhamento ?? 'left')\"\n (click)=\"col.ClickFunction ? col.ClickFunction(item) : selecionarLinha(item)\">\n @if (col.Pipe == 'date') {\n <span>{{ item[col.Campo] | date: 'dd/MM/yyyy' }}</span>\n }\n @if (col.Pipe == 'datetime') {\n <span>{{ item[col.Campo] | date: 'dd/MM/yyyy HH:mm:ss' }}</span>\n }\n @if (col.Pipe == 'valor') {\n <span>{{ item[col.Campo] | number }}</span>\n }\n @if(col.RenderFunction) {\n <span [innerHtml]=\"col.RenderFunction(item) | safeHtml\"></span>\n }\n @if (!col.Pipe && !col.RenderFunction) {\n <span>{{ item[col.Campo] ?? col.Default }}</span>\n }\n </td>\n }\n @if (tabelaCampos.Excluir === true) {\n <td style=\"padding: 0px; text-align: center;\">\n <ion-button size=\"small\" color=\"danger\" fill=\"outline\" style=\"transform: scale(0.85);\"\n (click)=\"excluirLinha(item)\">\n <ion-icon name=\"trash\"></ion-icon>\n </ion-button>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n\n <!--\n <ion-modal [isOpen]=\"isFiltroOpen\" (didDismiss)=\"isFiltroOpen = false;\">\n <ng-template>\n <ion-content class=\"ion-padding\">\n <div class=\"caixaGrande\">\n Filtrar:\n <div *ngIf=\"selectedColuna.Valores\">\n <div *ngFor=\"let valor of selectedColuna.Valores\">\n <span>{{ valor }}</span>\n </div>\n </div>\n </div>\n </ion-content>\n </ng-template>\n </ion-modal>\n -->\n</div>", styles: [".grid{width:100%}.grid thead td{color:var(--text-cabecalho-color, black);border-bottom:1px solid gray;padding:6px 4px}.grid tbody{background-color:#fff}.grid tbody td{border-bottom:1px solid gray;padding:6px 4px}.grid tbody tr{cursor:pointer}.grid tbody tr:hover{background-color:#699ccc80;transition-duration:.5s}.grid tbody tr.item-selecionado{background-color:#699ccc33}.nth-table tr:nth-child(2n){background:var(--misto-tabela);color:var(--color-misto)}.circle-button{--border-radius: 50%;aspect-ratio:1/1;width:36px;height:36px}.circle-button ion-icon{transform:scale(2.5)}.pageSelected{--background: lightgreen}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox]:not([ngNoCva])[formControlName],input[type=checkbox]:not([ngNoCva])[formControl],input[type=checkbox]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
|
|
4759
4817
|
}
|
|
4760
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
4818
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: GridViewComponent, decorators: [{
|
|
4761
4819
|
type: Component,
|
|
4762
4820
|
args: [{ selector: 'kb-grid-view', imports: [IonIcon, IonButton, IonCol, IonRow, FormsModule, DatePipe, DecimalPipe, SafeHtmlPipe], changeDetection: ChangeDetectionStrategy.Eager, template: "<div style=\"font-size: 14px;\">\n <div id=\"painelExportacao\">\n @if(inMemoryPagination || apiPagination) {\n <ion-row>\n <!--\n <ion-col size=\"2\">\n <ion-button *ngIf=\"tabelaCampos.Selecionar === true\" size=\"small\" fill=\"outline\" color=\"medium\"\n (click)=\"selecionarTodos()\">Selecionar Todos</ion-button>\n </ion-col>\n -->\n <ion-col size-md=\"5\" size-xs=\"12\">\n @if (inMemoryPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"bluetool\" (click)=\"anterior()\">\n <ion-icon name=\"chevron-back-outline\" slot=\"start\"></ion-icon>\n Anterior\n </ion-button>\n }\n @if (inMemoryPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"bluetool\" (click)=\"proximo()\">\n Pr\u00F3ximo\n <ion-icon name=\"chevron-forward-outline\" slot=\"end\"></ion-icon>\n </ion-button>\n }\n @if (apiPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"medium\" shape=\"round\" class=\"circle-button\"\n (click)=\"proximoApi(false)\" alt=\"Primeiro\">\n <ion-icon name=\"chevron-back-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n }\n @for (pag of pages; track pag) {\n <ion-button shape=\"round\" [fill]=\"pag == this.page ? 'solid' : 'outline'\" size=\"small\"\n class=\"circle-button\" [color]=\"pag == this.page ? 'verde' : 'medium'\"\n [class]=\"{ 'pageSelected': pag == this.page }\" (click)=\"proximoApi(false, pag)\">{{ pag\n }}</ion-button>\n }\n @if (apiPagination === true) {\n <ion-button size=\"small\" fill=\"outline\" color=\"medium\" shape=\"round\" class=\"circle-button\"\n (click)=\"proximoApi(true)\" alt=\"\u00DAltimo\">\n <ion-icon name=\"chevron-forward-outline\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n }\n\n </ion-col>\n <ion-col size-md=\"5\" size-xs=\"12\" style=\"text-align: left;\">\n @if ((inMemoryPagination || apiPagination) && totalRec > 0) {\n <span style=\"display: block; margin-top: 10px;\">Exibindo {{ start + 1 }} - {{ (start +\n pageOffset) < totalRec ? (start + pageOffset) : totalRec }} total de {{ totalRec }} </span>\n }\n </ion-col>\n </ion-row>\n }\n </div>\n <div style=\"width: 100%; margin-top: 16px; overflow-y: auto;\" [style.min-height]=\"minHeight\"\n [style.max-height]=\"maxHeight\" class=\"scroll-container\">\n <table class=\"grid\">\n <thead>\n <tr style=\"background-color: var(--ion-color-bluetool); color: white;\">\n @if (tabelaCampos.Selecionar === true) {\n <td style=\"width: 3%; text-align: center;\">\n <input type=\"checkbox\" [(ngModel)]=\"todosSelecionados\" (change)=\"selecionarTodos()\">\n </td>\n }\n @for (col of tabelaCampos.Colunas; track col) {\n <td [style.width]=\"col.Tamanho\">\n <div style=\"position: relative;\">\n <div style=\"display: flex; justify-content: space-between; align-items: end;\">\n <strong>{{ col.Titulo }}</strong>\n <div>\n @if (col.Ordem) {\n <ion-icon slot=\"end\" (click)=\"ordenar(col)\" style=\"cursor: pointer;\"\n [name]=\"col.OrdemStatus == 0 ? 'swap-vertical' : (col.OrdemStatus == 1 ? 'arrow-up': 'arrow-down')\">\n </ion-icon>\n }\n @if (col.Filtrar) {\n <ion-icon name=\"funnel\" (click)=\"setFiltroOpen(col)\" slot=\"end\">\n </ion-icon>\n }\n </div>\n </div>\n\n\n <div class=\"caixaGrande\" [hidden]=\"!col.FiltroVisivel\" tabindex=\"-1\"\n style=\"color: black; display: block; position: absolute; z-index: 800; width: 210px; left: 0px; opacity: 0.9; background-color: white; max-height: 200px;\">\n Filtrar:\n <div>\n <div style=\"display: flex; justify-content: space-between; align-items: start;\">\n <select style=\"width: 80px;\" [(ngModel)]=\"col.FiltroOperador\">\n <option>=</option>\n <option>>=</option>\n <option><=</option>\n <option>tem</option>\n </select>\n <input style=\"width: 100px;\" type=\"text\" [(ngModel)]=\"col.FiltroValor\">\n </div>\n <ion-button size=\"small\" color=\"medium\" expand=\"block\"\n (click)=\"filtrar(col)\">Filtrar</ion-button>\n <ion-button size=\"small\" color=\"light\" expand=\"block\"\n (click)=\"limpar(col)\">Limpar</ion-button>\n </div>\n @if (col.Valores) {\n <div class=\"scroll-container\" style=\"height: 200px; overflow-y: scroll;\">\n @for (valor of col.Valores; track valor) {\n <div>\n <input type=\"checkbox\" [(ngModel)]=\"valor.Selecionado\">\n <span>{{ valor.Valor }}</span>\n </div>\n }\n </div>\n }\n </div>\n\n </div>\n </td>\n }\n @if (tabelaCampos.Excluir === true) {\n <td>\n\n </td>\n }\n </tr>\n </thead>\n <tbody>\n @for(item of pageDataSet; track item) {\n <tr [class]=\"item == selectedItem ? 'item-selecionado' : '' \">\n @if (tabelaCampos.Selecionar === true) {\n <td style=\"text-align: center; cursor: auto;\">\n <input type=\"checkbox\" [(ngModel)]=\"item[tabelaCampos.CampoSelecionar ?? 'Selecionado']\"\n (change)=\"selecionadoChecked()\">\n </td>\n }\n @for (col of tabelaCampos.Colunas; track col.Campo) {\n <td class=\"col\" [style.width]=\"col.Tamanho\"\n [style.text-align]=\"col.Tipo == 'number' ? 'right' : (col.Alinhamento ?? 'left')\"\n (click)=\"col.ClickFunction ? col.ClickFunction(item) : selecionarLinha(item)\">\n @if (col.Pipe == 'date') {\n <span>{{ item[col.Campo] | date: 'dd/MM/yyyy' }}</span>\n }\n @if (col.Pipe == 'datetime') {\n <span>{{ item[col.Campo] | date: 'dd/MM/yyyy HH:mm:ss' }}</span>\n }\n @if (col.Pipe == 'valor') {\n <span>{{ item[col.Campo] | number }}</span>\n }\n @if(col.RenderFunction) {\n <span [innerHtml]=\"col.RenderFunction(item) | safeHtml\"></span>\n }\n @if (!col.Pipe && !col.RenderFunction) {\n <span>{{ item[col.Campo] ?? col.Default }}</span>\n }\n </td>\n }\n @if (tabelaCampos.Excluir === true) {\n <td style=\"padding: 0px; text-align: center;\">\n <ion-button size=\"small\" color=\"danger\" fill=\"outline\" style=\"transform: scale(0.85);\"\n (click)=\"excluirLinha(item)\">\n <ion-icon name=\"trash\"></ion-icon>\n </ion-button>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n\n <!--\n <ion-modal [isOpen]=\"isFiltroOpen\" (didDismiss)=\"isFiltroOpen = false;\">\n <ng-template>\n <ion-content class=\"ion-padding\">\n <div class=\"caixaGrande\">\n Filtrar:\n <div *ngIf=\"selectedColuna.Valores\">\n <div *ngFor=\"let valor of selectedColuna.Valores\">\n <span>{{ valor }}</span>\n </div>\n </div>\n </div>\n </ion-content>\n </ng-template>\n </ion-modal>\n -->\n</div>", styles: [".grid{width:100%}.grid thead td{color:var(--text-cabecalho-color, black);border-bottom:1px solid gray;padding:6px 4px}.grid tbody{background-color:#fff}.grid tbody td{border-bottom:1px solid gray;padding:6px 4px}.grid tbody tr{cursor:pointer}.grid tbody tr:hover{background-color:#699ccc80;transition-duration:.5s}.grid tbody tr.item-selecionado{background-color:#699ccc33}.nth-table tr:nth-child(2n){background:var(--misto-tabela);color:var(--color-misto)}.circle-button{--border-radius: 50%;aspect-ratio:1/1;width:36px;height:36px}.circle-button ion-icon{transform:scale(2.5)}.pageSelected{--background: lightgreen}\n"] }]
|
|
4763
4821
|
}], ctorParameters: () => [], propDecorators: { tabelaCampos: [{
|
|
@@ -4848,10 +4906,10 @@ class PeriodoIntervaloComponent {
|
|
|
4848
4906
|
}
|
|
4849
4907
|
this.visible = false;
|
|
4850
4908
|
}
|
|
4851
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
4852
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
4909
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: PeriodoIntervaloComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4910
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: PeriodoIntervaloComponent, isStandalone: true, selector: "kb-periodo-intervalo", inputs: { btnHeight: "btnHeight" }, outputs: { aceitarFunction: "aceitarFunction" }, ngImport: i0, template: "<div>\n <ion-button id=\"btnPeriodo\" size=\"small\" color=\"medium\" fill=\"outline\" (click)=\"visible = !visible;\"\n [style.min-height]=\"btnHeight\">\n <ion-icon slot=\"start\" name=\"calendar\"></ion-icon>\n Per\u00EDodo\n </ion-button>\n</div>\n<div [hidden]=\"!visible\" class=\"painel-intervalo\">\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Dias</strong></ion-col>\n <ion-col *ngFor=\"let dia of dias\" size=\"1.5\"\n [class]=\"dia.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(dia)\">{{ dia.valor\n }}</ion-col>\n <!--\n <ion-col size=\"1.5\" class=\"col-valor\">2</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">3</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">4</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">5</ion-col>\n -->\n </ion-row>\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Semanas</strong></ion-col>\n <ion-col *ngFor=\"let sem of semanas\" size=\"1.5\"\n [class]=\"sem.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(sem)\">{{ sem.valor\n }}</ion-col>\n <ion-col></ion-col>\n </ion-row>\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Mes</strong></ion-col>\n <ion-col *ngFor=\"let mes of meses\" size=\"1.5\"\n [class]=\"mes.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(mes)\">{{ mes.valor\n }}</ion-col>\n\n </ion-row>\n <ion-row>\n <ion-col>\n <ion-input #inputValor\n class=\"input-periodo\" \n type=\"number\" \n max=\"12\" \n (input)=\"setValor(inputValor.value)\" \n [value]=\"intervaloValor\"></ion-input>\n </ion-col>\n <ion-col>\n <ion-select #selectTipo\n class=\"input-periodo\" interface=\"popover\" \n [value]=\"intervaloTipo\"\n (ionChange)=\"setTipo(selectTipo.value)\"\n >\n <ion-select-option value=\"dia\">Dias</ion-select-option>\n <ion-select-option value=\"sem\">Semanas</ion-select-option>\n <ion-select-option value=\"mes\">Meses</ion-select-option>\n </ion-select>\n </ion-col>\n </ion-row>\n \n <ion-row class=\"ion-justify-content-end\">\n <ion-col style=\"text-align: end;\">\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"visible=false;\">Cancelar</ion-button>\n <ion-button color=\"primary\" (click)=\"aceitar()\">Ok</ion-button>\n </ion-col>\n </ion-row>\n \n</div>\n", styles: [".painel-intervalo{background:#fff;display:block;position:absolute;padding:4px;border:1px solid darkgray;border-radius:1px;width:350px;margin-top:0;height:auto;margin-left:0}.painel-intervalo strong{font-size:small}.painel-intervalo{z-index:2000}.col-valor{cursor:pointer;border:1px solid gray;margin:4px;background-color:#fff;text-align:center}.col-valor-selecionado{cursor:pointer;border:1px solid lightblue;margin:4px;background-color:azure;text-align:center}.input-periodo{border:1px grey solid}\n"], dependencies: [{ kind: "component", type: IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["description", "disabled", "justify", "labelPlacement", "mode", "value"] }] });
|
|
4853
4911
|
}
|
|
4854
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
4912
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: PeriodoIntervaloComponent, decorators: [{
|
|
4855
4913
|
type: Component,
|
|
4856
4914
|
args: [{ selector: 'kb-periodo-intervalo', imports: [IonInput, IonCol, IonRow, IonIcon, IonButton, IonSelect, IonSelectOption], template: "<div>\n <ion-button id=\"btnPeriodo\" size=\"small\" color=\"medium\" fill=\"outline\" (click)=\"visible = !visible;\"\n [style.min-height]=\"btnHeight\">\n <ion-icon slot=\"start\" name=\"calendar\"></ion-icon>\n Per\u00EDodo\n </ion-button>\n</div>\n<div [hidden]=\"!visible\" class=\"painel-intervalo\">\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Dias</strong></ion-col>\n <ion-col *ngFor=\"let dia of dias\" size=\"1.5\"\n [class]=\"dia.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(dia)\">{{ dia.valor\n }}</ion-col>\n <!--\n <ion-col size=\"1.5\" class=\"col-valor\">2</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">3</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">4</ion-col>\n <ion-col size=\"1.5\" class=\"col-valor\">5</ion-col>\n -->\n </ion-row>\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Semanas</strong></ion-col>\n <ion-col *ngFor=\"let sem of semanas\" size=\"1.5\"\n [class]=\"sem.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(sem)\">{{ sem.valor\n }}</ion-col>\n <ion-col></ion-col>\n </ion-row>\n <ion-row class=\"ion-align-items-center ion-justify-content-center\">\n <ion-col size=\"3\"><strong>Mes</strong></ion-col>\n <ion-col *ngFor=\"let mes of meses\" size=\"1.5\"\n [class]=\"mes.selecionado === true ? 'col-valor-selecionado' : 'col-valor'\" (click)=\"selecionar(mes)\">{{ mes.valor\n }}</ion-col>\n\n </ion-row>\n <ion-row>\n <ion-col>\n <ion-input #inputValor\n class=\"input-periodo\" \n type=\"number\" \n max=\"12\" \n (input)=\"setValor(inputValor.value)\" \n [value]=\"intervaloValor\"></ion-input>\n </ion-col>\n <ion-col>\n <ion-select #selectTipo\n class=\"input-periodo\" interface=\"popover\" \n [value]=\"intervaloTipo\"\n (ionChange)=\"setTipo(selectTipo.value)\"\n >\n <ion-select-option value=\"dia\">Dias</ion-select-option>\n <ion-select-option value=\"sem\">Semanas</ion-select-option>\n <ion-select-option value=\"mes\">Meses</ion-select-option>\n </ion-select>\n </ion-col>\n </ion-row>\n \n <ion-row class=\"ion-justify-content-end\">\n <ion-col style=\"text-align: end;\">\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"visible=false;\">Cancelar</ion-button>\n <ion-button color=\"primary\" (click)=\"aceitar()\">Ok</ion-button>\n </ion-col>\n </ion-row>\n \n</div>\n", styles: [".painel-intervalo{background:#fff;display:block;position:absolute;padding:4px;border:1px solid darkgray;border-radius:1px;width:350px;margin-top:0;height:auto;margin-left:0}.painel-intervalo strong{font-size:small}.painel-intervalo{z-index:2000}.col-valor{cursor:pointer;border:1px solid gray;margin:4px;background-color:#fff;text-align:center}.col-valor-selecionado{cursor:pointer;border:1px solid lightblue;margin:4px;background-color:azure;text-align:center}.input-periodo{border:1px grey solid}\n"] }]
|
|
4857
4915
|
}], ctorParameters: () => [], propDecorators: { aceitarFunction: [{
|
|
@@ -5204,8 +5262,8 @@ class InputHtmlComponent extends BaseInputComponent {
|
|
|
5204
5262
|
}
|
|
5205
5263
|
};
|
|
5206
5264
|
}
|
|
5207
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
5208
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
5265
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputHtmlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5266
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputHtmlComponent, isStandalone: true, selector: "kb-input-html", providers: [
|
|
5209
5267
|
{
|
|
5210
5268
|
provide: NG_VALUE_ACCESSOR,
|
|
5211
5269
|
useExisting: InputHtmlComponent,
|
|
@@ -5213,7 +5271,7 @@ class InputHtmlComponent extends BaseInputComponent {
|
|
|
5213
5271
|
},
|
|
5214
5272
|
], viewQueries: [{ propertyName: "inputEmail", first: true, predicate: ["inputEmail"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"{ 'input-text-padding': !classic }\">\r\n <!-- <ion-item #itemInput lines=\"none\" (ionBlur)=\"blurItem()\"\r\n style=\" --background: inherited; --background-focused: transparent; padding-right: 0px; overflow: visible;\"\r\n [class]=\"itemClass + ' classic' + ' item-text-wrap'\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"> -->\r\n @if (label) {\r\n <ion-label style=\"color: var(--input-label-color); font-size: 13px;\">{{ label }}</ion-label>\r\n }\r\n @if (Editor) {\r\n <ckeditor #inputEmail class=\"ckeditor-form\" [data]=\"data\" [editor]=\"Editor\" [config]=\"config\" (change)=\"writeValue($event.editor.getData(), false)\" (blur)=\"blurEditor($event)\"></ckeditor>\r\n }\r\n <!-- </ion-item> -->\r\n</div>", styles: [".ckeditor-form{margin-top:8px;width:100%;z-index:800}.ck-editor__editable_inline{min-height:400px!important}.ck-editor__main{min-height:400px}.ck-editor__editable{min-height:400px!important;max-height:600px!important;overflow-y:auto!important}\n", "@charset \"UTF-8\";@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:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.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-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "ngmodule", type: CKEditorModule }, { kind: "component", type: i1$4.CKEditorComponent, selector: "ckeditor", inputs: ["editor", "config", "data", "tagName", "watchdog", "editorWatchdogConfig", "disableWatchdog", "disableTwoWayDataBinding", "disabled"], outputs: ["ready", "change", "blur", "focus", "error"] }] });
|
|
5215
5273
|
}
|
|
5216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
5274
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputHtmlComponent, decorators: [{
|
|
5217
5275
|
type: Component,
|
|
5218
5276
|
args: [{ selector: 'kb-input-html', imports: [IonLabel, IonItem, NgClass, CKEditorModule], providers: [
|
|
5219
5277
|
{
|
|
@@ -5335,10 +5393,10 @@ class InputArquivoComponent {
|
|
|
5335
5393
|
reader.onerror = error => reject(error);
|
|
5336
5394
|
});
|
|
5337
5395
|
}
|
|
5338
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
5339
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
5396
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputArquivoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5397
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InputArquivoComponent, isStandalone: true, selector: "kb-input-arquivo", inputs: { pasta: "pasta", nomeArquivo: "nomeArquivo", subir: "subir", callback: "callback", caption: "caption", tipoArquivo: "tipoArquivo", form: "form", showIcon: "showIcon", icon: "icon", iconSrc: "iconSrc", btnExpand: "btnExpand", btnColor: "btnColor", btnFill: "btnFill", iconSlot: "iconSlot", arquivoTipos: "arquivoTipos", readOnly: "readOnly" }, outputs: { fileSelected: "fileSelected" }, viewQueries: [{ propertyName: "myInput", first: true, predicate: ["inputNome"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div style=\"text-align:center;\">\r\n <ion-button [fill]=\"btnFill\" size=\"normal\" [color]=\"btnColor\" (click)=\"showImageBrowser()\" [expand]=\"btnExpand\"\r\n [disabled]=\"readOnly\">\r\n @if (showIcon) {\r\n <ion-icon class=\"ion-padding-end\" [slot]=\"iconSlot\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\r\n }\r\n {{ caption }}\r\n </ion-button>\r\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome [accept]=\"arquivoTipos\" (change)=\"loadImagem()\"\r\n style=\"display: none;\" />\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
|
|
5340
5398
|
}
|
|
5341
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
5399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InputArquivoComponent, decorators: [{
|
|
5342
5400
|
type: Component,
|
|
5343
5401
|
args: [{ selector: 'kb-input-arquivo', imports: [IonIcon, IonButton,], template: "<div style=\"text-align:center;\">\r\n <ion-button [fill]=\"btnFill\" size=\"normal\" [color]=\"btnColor\" (click)=\"showImageBrowser()\" [expand]=\"btnExpand\"\r\n [disabled]=\"readOnly\">\r\n @if (showIcon) {\r\n <ion-icon class=\"ion-padding-end\" [slot]=\"iconSlot\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\r\n }\r\n {{ caption }}\r\n </ion-button>\r\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome [accept]=\"arquivoTipos\" (change)=\"loadImagem()\"\r\n style=\"display: none;\" />\r\n</div>" }]
|
|
5344
5402
|
}], ctorParameters: () => [], propDecorators: { pasta: [{
|
|
@@ -5380,6 +5438,237 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
|
|
|
5380
5438
|
args: ['inputNome', { read: ElementRef, static: true }]
|
|
5381
5439
|
}] } });
|
|
5382
5440
|
|
|
5441
|
+
class AgendaSemanalComponent {
|
|
5442
|
+
alertController;
|
|
5443
|
+
itens = [];
|
|
5444
|
+
legendas = [];
|
|
5445
|
+
textoAjuda = '';
|
|
5446
|
+
horaInicio = 6;
|
|
5447
|
+
horaFim = 23;
|
|
5448
|
+
intervaloMinutos = 30;
|
|
5449
|
+
horariosPadrao = [];
|
|
5450
|
+
horarioSelecionado = new EventEmitter();
|
|
5451
|
+
itemSelecionado = new EventEmitter();
|
|
5452
|
+
nomesMeses = [
|
|
5453
|
+
'Janeiro',
|
|
5454
|
+
'Fevereiro',
|
|
5455
|
+
'Março',
|
|
5456
|
+
'Abril',
|
|
5457
|
+
'Maio',
|
|
5458
|
+
'Junho',
|
|
5459
|
+
'Julho',
|
|
5460
|
+
'Agosto',
|
|
5461
|
+
'Setembro',
|
|
5462
|
+
'Outubro',
|
|
5463
|
+
'Novembro',
|
|
5464
|
+
'Dezembro'
|
|
5465
|
+
];
|
|
5466
|
+
nomesDias = [
|
|
5467
|
+
'Dom',
|
|
5468
|
+
'Seg',
|
|
5469
|
+
'Ter',
|
|
5470
|
+
'Qua',
|
|
5471
|
+
'Qui',
|
|
5472
|
+
'Sex',
|
|
5473
|
+
'Sáb'
|
|
5474
|
+
];
|
|
5475
|
+
mesSelecionado = 0;
|
|
5476
|
+
anoSelecionado = 0;
|
|
5477
|
+
dataReferenciaSemana = new Date();
|
|
5478
|
+
diasSemana = [];
|
|
5479
|
+
horarios = [];
|
|
5480
|
+
constructor(alertController) {
|
|
5481
|
+
this.alertController = alertController;
|
|
5482
|
+
addIcons({
|
|
5483
|
+
chevronBackOutline,
|
|
5484
|
+
chevronForwardOutline
|
|
5485
|
+
});
|
|
5486
|
+
}
|
|
5487
|
+
ngOnInit() {
|
|
5488
|
+
const hoje = new Date();
|
|
5489
|
+
hoje.setHours(0, 0, 0, 0);
|
|
5490
|
+
this.dataReferenciaSemana = this.obterSegundaFeira(hoje);
|
|
5491
|
+
this.atualizarMesAno(this.dataReferenciaSemana);
|
|
5492
|
+
this.gerarHorarios();
|
|
5493
|
+
this.gerarSemana(this.dataReferenciaSemana);
|
|
5494
|
+
}
|
|
5495
|
+
get nomeMes() {
|
|
5496
|
+
return this.nomesMeses[this.mesSelecionado];
|
|
5497
|
+
}
|
|
5498
|
+
get numeroMes() {
|
|
5499
|
+
return (this.mesSelecionado + 1).toString().padStart(2, '0');
|
|
5500
|
+
}
|
|
5501
|
+
mesAnterior() {
|
|
5502
|
+
const novaData = new Date(this.dataReferenciaSemana);
|
|
5503
|
+
novaData.setDate(novaData.getDate() - 30);
|
|
5504
|
+
this.gerarSemana(novaData);
|
|
5505
|
+
this.atualizarMesAno(this.dataReferenciaSemana);
|
|
5506
|
+
}
|
|
5507
|
+
proximoMes() {
|
|
5508
|
+
const novaData = new Date(this.dataReferenciaSemana);
|
|
5509
|
+
novaData.setDate(novaData.getDate() + 30);
|
|
5510
|
+
this.gerarSemana(novaData);
|
|
5511
|
+
this.atualizarMesAno(this.dataReferenciaSemana);
|
|
5512
|
+
}
|
|
5513
|
+
semanaAnterior() {
|
|
5514
|
+
const novaData = new Date(this.dataReferenciaSemana);
|
|
5515
|
+
novaData.setDate(novaData.getDate() - 7);
|
|
5516
|
+
this.gerarSemana(novaData);
|
|
5517
|
+
this.atualizarMesAno(this.dataReferenciaSemana);
|
|
5518
|
+
}
|
|
5519
|
+
proximaSemana() {
|
|
5520
|
+
const novaData = new Date(this.dataReferenciaSemana);
|
|
5521
|
+
novaData.setDate(novaData.getDate() + 7);
|
|
5522
|
+
this.gerarSemana(novaData);
|
|
5523
|
+
this.atualizarMesAno(this.dataReferenciaSemana);
|
|
5524
|
+
}
|
|
5525
|
+
obterSegundaFeira(data) {
|
|
5526
|
+
const resultado = new Date(data);
|
|
5527
|
+
resultado.setHours(0, 0, 0, 0);
|
|
5528
|
+
const diaSemana = resultado.getDay();
|
|
5529
|
+
const diasVoltar = diaSemana === 0 ? 6 : diaSemana - 1;
|
|
5530
|
+
resultado.setDate(resultado.getDate() - diasVoltar);
|
|
5531
|
+
return resultado;
|
|
5532
|
+
}
|
|
5533
|
+
atualizarMesAno(data) {
|
|
5534
|
+
this.mesSelecionado = data.getMonth();
|
|
5535
|
+
this.anoSelecionado = data.getFullYear();
|
|
5536
|
+
}
|
|
5537
|
+
gerarSemana(dataReferencia) {
|
|
5538
|
+
const segunda = this.obterSegundaFeira(dataReferencia);
|
|
5539
|
+
this.dataReferenciaSemana = new Date(segunda);
|
|
5540
|
+
const domingo = new Date(segunda);
|
|
5541
|
+
domingo.setDate(domingo.getDate() - 1);
|
|
5542
|
+
this.diasSemana = [];
|
|
5543
|
+
for (let i = 0; i < 7; i++) {
|
|
5544
|
+
const data = new Date(domingo);
|
|
5545
|
+
data.setDate(domingo.getDate() + i);
|
|
5546
|
+
this.diasSemana.push({
|
|
5547
|
+
data,
|
|
5548
|
+
numero: data.getDate(),
|
|
5549
|
+
nome: this.nomesDias[data.getDay()],
|
|
5550
|
+
hoje: this.ehHoje(data)
|
|
5551
|
+
});
|
|
5552
|
+
}
|
|
5553
|
+
}
|
|
5554
|
+
gerarHorarios() {
|
|
5555
|
+
this.horarios = [];
|
|
5556
|
+
const minutoInicio = this.horaInicio * 60;
|
|
5557
|
+
const minutoFim = (this.horaFim * 60) + 30;
|
|
5558
|
+
for (let minutoAtual = minutoInicio; minutoAtual <= minutoFim; minutoAtual += this.intervaloMinutos) {
|
|
5559
|
+
const hora = Math.floor(minutoAtual / 60);
|
|
5560
|
+
const minuto = minutoAtual % 60;
|
|
5561
|
+
this.horarios.push(`${hora.toString().padStart(2, '0')}:${minuto.toString().padStart(2, '0')}`);
|
|
5562
|
+
}
|
|
5563
|
+
}
|
|
5564
|
+
ehHoje(data) {
|
|
5565
|
+
const hoje = new Date();
|
|
5566
|
+
return (data.getDate() === hoje.getDate() && data.getMonth() === hoje.getMonth() && data.getFullYear() === hoje.getFullYear());
|
|
5567
|
+
}
|
|
5568
|
+
getItem(dia, horario) {
|
|
5569
|
+
return this.itens.find(item => {
|
|
5570
|
+
if (!item.DataHora) {
|
|
5571
|
+
return false;
|
|
5572
|
+
}
|
|
5573
|
+
const dataHora = new Date(item.DataHora);
|
|
5574
|
+
return (this.mesmaData(dataHora, dia) && this.formatarHorario(dataHora) === horario);
|
|
5575
|
+
});
|
|
5576
|
+
}
|
|
5577
|
+
async aplicarHorariosPadrao(data) {
|
|
5578
|
+
if (!this.horariosPadrao.length) {
|
|
5579
|
+
const alert = await this.alertController.create({
|
|
5580
|
+
header: 'Horários Padrões',
|
|
5581
|
+
message: 'Nenhum horário padrão foi configurado.',
|
|
5582
|
+
buttons: ['OK']
|
|
5583
|
+
});
|
|
5584
|
+
await alert.present();
|
|
5585
|
+
return;
|
|
5586
|
+
}
|
|
5587
|
+
const dataFormatada = new Date(data).toLocaleDateString('pt-BR');
|
|
5588
|
+
const alert = await this.alertController.create({
|
|
5589
|
+
header: 'Horários Padrões',
|
|
5590
|
+
message: `Deseja adicionar os horários padrões no dia ${dataFormatada}?`,
|
|
5591
|
+
buttons: [{ text: 'Cancelar', role: 'cancel' }, { text: 'Adicionar', handler: () => { this.confirmarAplicacaoHorariosPadrao(data); } }]
|
|
5592
|
+
});
|
|
5593
|
+
await alert.present();
|
|
5594
|
+
}
|
|
5595
|
+
confirmarAplicacaoHorariosPadrao(data) {
|
|
5596
|
+
if (!this.horariosPadrao.length) {
|
|
5597
|
+
return;
|
|
5598
|
+
}
|
|
5599
|
+
const horariosExistentes = new Set();
|
|
5600
|
+
this.itens.forEach(item => {
|
|
5601
|
+
if (!item.DataHora) {
|
|
5602
|
+
return;
|
|
5603
|
+
}
|
|
5604
|
+
const dataHora = new Date(item.DataHora);
|
|
5605
|
+
if (!this.mesmaData(dataHora, data)) {
|
|
5606
|
+
return;
|
|
5607
|
+
}
|
|
5608
|
+
horariosExistentes.add(this.formatarHorario(dataHora));
|
|
5609
|
+
});
|
|
5610
|
+
this.horariosPadrao.forEach(horario => {
|
|
5611
|
+
if (!this.horarios.includes(horario)) {
|
|
5612
|
+
return;
|
|
5613
|
+
}
|
|
5614
|
+
if (horariosExistentes.has(horario)) {
|
|
5615
|
+
return;
|
|
5616
|
+
}
|
|
5617
|
+
const dataHora = this.criarDataHora(data, horario);
|
|
5618
|
+
this.horarioSelecionado.emit({ DataHora: dataHora });
|
|
5619
|
+
horariosExistentes.add(horario);
|
|
5620
|
+
});
|
|
5621
|
+
}
|
|
5622
|
+
duploCliqueHorario(dia, horario) {
|
|
5623
|
+
const item = this.getItem(dia, horario);
|
|
5624
|
+
if (item) {
|
|
5625
|
+
this.itemSelecionado.emit({
|
|
5626
|
+
...item
|
|
5627
|
+
});
|
|
5628
|
+
return;
|
|
5629
|
+
}
|
|
5630
|
+
this.horarioSelecionado.emit({ DataHora: this.criarDataHora(dia, horario) });
|
|
5631
|
+
}
|
|
5632
|
+
criarDataHora(dia, horario) {
|
|
5633
|
+
const data = new Date(dia);
|
|
5634
|
+
const [hora, minuto] = horario.split(':');
|
|
5635
|
+
data.setHours(Number(hora), Number(minuto), 0, 0);
|
|
5636
|
+
return data;
|
|
5637
|
+
}
|
|
5638
|
+
mesmaData(data1, data2) {
|
|
5639
|
+
return (data1.getDate() === data2.getDate() && data1.getMonth() === data2.getMonth() && data1.getFullYear() === data2.getFullYear());
|
|
5640
|
+
}
|
|
5641
|
+
formatarHorario(data) {
|
|
5642
|
+
const hora = data.getHours().toString().padStart(2, '0');
|
|
5643
|
+
const minuto = data.getMinutes().toString().padStart(2, '0');
|
|
5644
|
+
return `${hora}:${minuto}`;
|
|
5645
|
+
}
|
|
5646
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AgendaSemanalComponent, deps: [{ token: i2.AlertController }], target: i0.ɵɵFactoryTarget.Component });
|
|
5647
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AgendaSemanalComponent, isStandalone: true, selector: "kb-agenda-semanal", inputs: { itens: "itens", legendas: "legendas", textoAjuda: "textoAjuda", horaInicio: "horaInicio", horaFim: "horaFim", intervaloMinutos: "intervaloMinutos", horariosPadrao: "horariosPadrao" }, outputs: { horarioSelecionado: "horarioSelecionado", itemSelecionado: "itemSelecionado" }, ngImport: i0, template: "<div style=\"width:100%;box-sizing:border-box;\">\n <!-- LEGENDAS -->\n @if (legendas.length > 0 || textoAjuda) {\n <ion-row\n style=\"align-items:center;margin-bottom:8px;padding:6px 4px;min-height:70px;border-bottom:1px solid #cbd5e1;\">\n @for (legenda of legendas; track legenda.Texto) {\n <ion-col size=\"auto\">\n <div style=\"display:flex;align-items:center;gap:5px;\">\n <span [ngClass]=\"legenda.ClasseCss\"\n style=\"display:inline-block;width:18px;height:18px;border:1px solid #64748b;\">\n </span>\n <span style=\"font-size:18px;color:#475569;\">\n {{ legenda.Texto }}\n </span>\n </div>\n </ion-col>\n }\n\n @if (textoAjuda) {\n <ion-col style=\"display:flex;height:100%;justify-content:end;align-self:end;\">\n <div style=\"font-size:14px;color:#475569;\">\n {{ textoAjuda }}\n </div>\n </ion-col>\n }\n </ion-row>\n }\n\n <!-- GRADE -->\n <div style=\"width:100%;max-height:610px;overflow:auto;border:1px solid #475569;background:#ffffff;\">\n <table style=\"width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed;font-size:12px;\">\n <!-- CABE\u00C7ALHO -->\n <thead style=\"position:sticky;top:0;z-index:10;background:#ffffff;\">\n <tr>\n <!-- M\u00CAS / ANO -->\n <th\n style=\"width:90px;height:64px;padding:2px;border-right:1px solid #475569;border-bottom:1px solid #475569;background:#ffffff;\">\n <div style=\"font-size:10px;font-weight:400;color:#475569;\">\n {{ anoSelecionado }}\n </div>\n\n <div style=\"display:flex;align-items:center;justify-content:space-between;padding:0 2px;\">\n <button type=\"button\" (click)=\"mesAnterior()\"\n style=\"border:0;background:transparent;padding:0;cursor:pointer;\">\n <ion-icon name=\"chevron-back-outline\" style=\"font-size:16px;color:#334155;\">\n </ion-icon>\n </button>\n\n <span style=\"font-size:25px;line-height:1;font-weight:700;color:#84cc16;\">\n {{ numeroMes }}\n </span>\n\n <button type=\"button\" (click)=\"proximoMes()\"\n style=\"border:0;background:transparent;padding:0;cursor:pointer;\">\n <ion-icon name=\"chevron-forward-outline\" style=\"font-size:16px;color:#334155;\">\n </ion-icon>\n </button>\n </div>\n\n <div style=\"font-size:9px;color:#475569;margin-top:2px;\">\n {{ nomeMes }}\n </div>\n </th>\n\n <!-- DIAS -->\n @for (dia of diasSemana; track dia.data.getTime(); let primeiro = $first; let ultimo = $last) {\n <th [style.background]=\"dia.hoje ? '#fff7ed' : '#ffffff'\"\n style=\"height:64px;padding:3px;border-right:1px solid #475569;border-bottom:1px solid #475569;text-align:center;position:relative;\">\n\n @if (primeiro) {\n <button type=\"button\" (click)=\"semanaAnterior()\"\n style=\"position:absolute;left:3px;top:22px;border:0;background:transparent;padding:0;cursor:pointer;\">\n <ion-icon name=\"chevron-back-outline\" style=\"font-size:15px;color:#334155;\">\n </ion-icon>\n </button>\n }\n\n <div (dblclick)=\"aplicarHorariosPadrao(dia.data)\"\n [style.color]=\"dia.hoje ? '#fb923c' : '#134e4a'\"\n title=\"Duplo clique para aplicar os hor\u00E1rios padr\u00F5es\"\n style=\"font-size:24px;font-weight:700;line-height:1.1;cursor:pointer;user-select:none;\">\n {{ dia.numero }}\n </div>\n\n <div [style.color]=\"dia.hoje ? '#fb923c' : '#111827'\"\n style=\"font-size:11px;font-weight:700;margin-top:3px;\">\n {{ dia.nome }}\n </div>\n\n @if (ultimo) {\n <button type=\"button\" (click)=\"proximaSemana()\"\n style=\"position:absolute;right:3px;top:22px;border:0;background:transparent;padding:0;cursor:pointer;\">\n <ion-icon name=\"chevron-forward-outline\" style=\"font-size:15px;color:#334155;\">\n </ion-icon>\n </button>\n }\n </th>\n }\n </tr>\n </thead>\n\n <!-- CORPO -->\n <tbody>\n @for (horario of horarios; track horario) {\n <tr>\n <!-- HOR\u00C1RIO -->\n <td\n style=\"width:90px;height:29px;padding:1px 4px;text-align:center;font-size:13px;color:#1e293b;background:#ffffff;border-right:1px solid #475569;border-bottom:1px solid #94a3b8;\">\n {{ horario }}\n </td>\n\n <!-- DIAS -->\n @for (dia of diasSemana; track dia.data.getTime()) {\n @let item = getItem(dia.data, horario);\n\n <td (dblclick)=\"duploCliqueHorario(dia.data, horario)\" [ngClass]=\"item?.ClasseCss || ''\"\n style=\"height:29px;padding:0;text-align:center;vertical-align:middle;cursor:pointer;border-right:1px solid #475569;border-bottom:1px solid #94a3b8;user-select:none;overflow:hidden;\">\n\n @if (item?.Texto) {\n <div\n style=\"width:100%;height:100%;min-height:27px;display:flex;align-items:center;justify-content:center;padding:1px 3px;box-sizing:border-box;overflow:hidden;\">\n <span\n style=\"font-size:9px;font-weight:600;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;\">\n {{ item?.Texto }}\n </span>\n </div>\n }\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n</div>", styles: [".status-disponivel{background:#8cc63f!important;color:#fff}.status-agendada{background:#f29a52!important;color:#fff}.status-nao-realizada{background:#aeb4b7!important;color:#fff}.status-nao-compareceu{background:#5f91c9!important;color:#fff}.status-sem-prontuario{background:#d00000!important;color:#fff}td:not([class*=status-]):hover{background:#f8fafc}.status-live-agendada,.status-agendada{background:#f29a52!important;color:#fff}.status-realizada{background:#07594f!important;color:#fff}.status-live-nao-realizada{background:#d00000!important;color:#fff}.status-live-realizada{background:#07594f!important;color:#fff}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: IonRow, selector: "ion-row" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
5648
|
+
}
|
|
5649
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AgendaSemanalComponent, decorators: [{
|
|
5650
|
+
type: Component,
|
|
5651
|
+
args: [{ imports: [IonIcon, IonCol, IonRow, NgClass], selector: 'kb-agenda-semanal', template: "<div style=\"width:100%;box-sizing:border-box;\">\n <!-- LEGENDAS -->\n @if (legendas.length > 0 || textoAjuda) {\n <ion-row\n style=\"align-items:center;margin-bottom:8px;padding:6px 4px;min-height:70px;border-bottom:1px solid #cbd5e1;\">\n @for (legenda of legendas; track legenda.Texto) {\n <ion-col size=\"auto\">\n <div style=\"display:flex;align-items:center;gap:5px;\">\n <span [ngClass]=\"legenda.ClasseCss\"\n style=\"display:inline-block;width:18px;height:18px;border:1px solid #64748b;\">\n </span>\n <span style=\"font-size:18px;color:#475569;\">\n {{ legenda.Texto }}\n </span>\n </div>\n </ion-col>\n }\n\n @if (textoAjuda) {\n <ion-col style=\"display:flex;height:100%;justify-content:end;align-self:end;\">\n <div style=\"font-size:14px;color:#475569;\">\n {{ textoAjuda }}\n </div>\n </ion-col>\n }\n </ion-row>\n }\n\n <!-- GRADE -->\n <div style=\"width:100%;max-height:610px;overflow:auto;border:1px solid #475569;background:#ffffff;\">\n <table style=\"width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed;font-size:12px;\">\n <!-- CABE\u00C7ALHO -->\n <thead style=\"position:sticky;top:0;z-index:10;background:#ffffff;\">\n <tr>\n <!-- M\u00CAS / ANO -->\n <th\n style=\"width:90px;height:64px;padding:2px;border-right:1px solid #475569;border-bottom:1px solid #475569;background:#ffffff;\">\n <div style=\"font-size:10px;font-weight:400;color:#475569;\">\n {{ anoSelecionado }}\n </div>\n\n <div style=\"display:flex;align-items:center;justify-content:space-between;padding:0 2px;\">\n <button type=\"button\" (click)=\"mesAnterior()\"\n style=\"border:0;background:transparent;padding:0;cursor:pointer;\">\n <ion-icon name=\"chevron-back-outline\" style=\"font-size:16px;color:#334155;\">\n </ion-icon>\n </button>\n\n <span style=\"font-size:25px;line-height:1;font-weight:700;color:#84cc16;\">\n {{ numeroMes }}\n </span>\n\n <button type=\"button\" (click)=\"proximoMes()\"\n style=\"border:0;background:transparent;padding:0;cursor:pointer;\">\n <ion-icon name=\"chevron-forward-outline\" style=\"font-size:16px;color:#334155;\">\n </ion-icon>\n </button>\n </div>\n\n <div style=\"font-size:9px;color:#475569;margin-top:2px;\">\n {{ nomeMes }}\n </div>\n </th>\n\n <!-- DIAS -->\n @for (dia of diasSemana; track dia.data.getTime(); let primeiro = $first; let ultimo = $last) {\n <th [style.background]=\"dia.hoje ? '#fff7ed' : '#ffffff'\"\n style=\"height:64px;padding:3px;border-right:1px solid #475569;border-bottom:1px solid #475569;text-align:center;position:relative;\">\n\n @if (primeiro) {\n <button type=\"button\" (click)=\"semanaAnterior()\"\n style=\"position:absolute;left:3px;top:22px;border:0;background:transparent;padding:0;cursor:pointer;\">\n <ion-icon name=\"chevron-back-outline\" style=\"font-size:15px;color:#334155;\">\n </ion-icon>\n </button>\n }\n\n <div (dblclick)=\"aplicarHorariosPadrao(dia.data)\"\n [style.color]=\"dia.hoje ? '#fb923c' : '#134e4a'\"\n title=\"Duplo clique para aplicar os hor\u00E1rios padr\u00F5es\"\n style=\"font-size:24px;font-weight:700;line-height:1.1;cursor:pointer;user-select:none;\">\n {{ dia.numero }}\n </div>\n\n <div [style.color]=\"dia.hoje ? '#fb923c' : '#111827'\"\n style=\"font-size:11px;font-weight:700;margin-top:3px;\">\n {{ dia.nome }}\n </div>\n\n @if (ultimo) {\n <button type=\"button\" (click)=\"proximaSemana()\"\n style=\"position:absolute;right:3px;top:22px;border:0;background:transparent;padding:0;cursor:pointer;\">\n <ion-icon name=\"chevron-forward-outline\" style=\"font-size:15px;color:#334155;\">\n </ion-icon>\n </button>\n }\n </th>\n }\n </tr>\n </thead>\n\n <!-- CORPO -->\n <tbody>\n @for (horario of horarios; track horario) {\n <tr>\n <!-- HOR\u00C1RIO -->\n <td\n style=\"width:90px;height:29px;padding:1px 4px;text-align:center;font-size:13px;color:#1e293b;background:#ffffff;border-right:1px solid #475569;border-bottom:1px solid #94a3b8;\">\n {{ horario }}\n </td>\n\n <!-- DIAS -->\n @for (dia of diasSemana; track dia.data.getTime()) {\n @let item = getItem(dia.data, horario);\n\n <td (dblclick)=\"duploCliqueHorario(dia.data, horario)\" [ngClass]=\"item?.ClasseCss || ''\"\n style=\"height:29px;padding:0;text-align:center;vertical-align:middle;cursor:pointer;border-right:1px solid #475569;border-bottom:1px solid #94a3b8;user-select:none;overflow:hidden;\">\n\n @if (item?.Texto) {\n <div\n style=\"width:100%;height:100%;min-height:27px;display:flex;align-items:center;justify-content:center;padding:1px 3px;box-sizing:border-box;overflow:hidden;\">\n <span\n style=\"font-size:9px;font-weight:600;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;\">\n {{ item?.Texto }}\n </span>\n </div>\n }\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n</div>", styles: [".status-disponivel{background:#8cc63f!important;color:#fff}.status-agendada{background:#f29a52!important;color:#fff}.status-nao-realizada{background:#aeb4b7!important;color:#fff}.status-nao-compareceu{background:#5f91c9!important;color:#fff}.status-sem-prontuario{background:#d00000!important;color:#fff}td:not([class*=status-]):hover{background:#f8fafc}.status-live-agendada,.status-agendada{background:#f29a52!important;color:#fff}.status-realizada{background:#07594f!important;color:#fff}.status-live-nao-realizada{background:#d00000!important;color:#fff}.status-live-realizada{background:#07594f!important;color:#fff}\n"] }]
|
|
5652
|
+
}], ctorParameters: () => [{ type: i2.AlertController }], propDecorators: { itens: [{
|
|
5653
|
+
type: Input
|
|
5654
|
+
}], legendas: [{
|
|
5655
|
+
type: Input
|
|
5656
|
+
}], textoAjuda: [{
|
|
5657
|
+
type: Input
|
|
5658
|
+
}], horaInicio: [{
|
|
5659
|
+
type: Input
|
|
5660
|
+
}], horaFim: [{
|
|
5661
|
+
type: Input
|
|
5662
|
+
}], intervaloMinutos: [{
|
|
5663
|
+
type: Input
|
|
5664
|
+
}], horariosPadrao: [{
|
|
5665
|
+
type: Input
|
|
5666
|
+
}], horarioSelecionado: [{
|
|
5667
|
+
type: Output
|
|
5668
|
+
}], itemSelecionado: [{
|
|
5669
|
+
type: Output
|
|
5670
|
+
}] } });
|
|
5671
|
+
|
|
5383
5672
|
class BaseBtnComponent {
|
|
5384
5673
|
disabled = false;
|
|
5385
5674
|
type = 'submit';
|
|
@@ -5410,10 +5699,10 @@ class BaseBtnComponent {
|
|
|
5410
5699
|
this.fill = 'solid';
|
|
5411
5700
|
}
|
|
5412
5701
|
}
|
|
5413
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
5414
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
5702
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseBtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5703
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BaseBtnComponent, isStandalone: true, selector: "ng-component", inputs: { disabled: "disabled", type: "type", icon: "icon", iconSrc: "iconSrc", title: "title", fill: "fill", expand: "expand", size: "size", iconSlot: "iconSlot", color: "color" }, outputs: { btnClick: "btnClick" }, ngImport: i0, template: '', isInline: true });
|
|
5415
5704
|
}
|
|
5416
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
5705
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BaseBtnComponent, decorators: [{
|
|
5417
5706
|
type: Component,
|
|
5418
5707
|
args: [{
|
|
5419
5708
|
template: ''
|
|
@@ -5462,10 +5751,10 @@ class BtnActionComponent extends BaseBtnComponent {
|
|
|
5462
5751
|
ngOnInit() {
|
|
5463
5752
|
this.buttonStyle = '';
|
|
5464
5753
|
}
|
|
5465
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
5466
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
5754
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5755
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: BtnActionComponent, isStandalone: true, selector: "kb-btn-action", inputs: { title: "title", color: "color", hidden: "hidden", icon: "icon", iconSrc: "iconSrc", imgSrc: "imgSrc", boxColor: "boxColor", btnMargin: "btnMargin", expand: "expand", iconStyle: "iconStyle", titleStyle: "titleStyle" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n [hidden]=\"hidden\" (click)=\"onClick()\" class=\"kb-btn-action\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? iconSlot : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\" [style]=\"iconStyle\"></ion-icon>\n }\n <span [style]=\"titleStyle\">{{ title }}</span>\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? iconSlot : 'icon-only'\" />\n }\n</ion-button>", styles: ["img{width:24px;margin-right:6px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
|
|
5467
5756
|
}
|
|
5468
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
5757
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnActionComponent, decorators: [{
|
|
5469
5758
|
type: Component,
|
|
5470
5759
|
args: [{ selector: 'kb-btn-action', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n [hidden]=\"hidden\" (click)=\"onClick()\" class=\"kb-btn-action\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? iconSlot : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\" [style]=\"iconStyle\"></ion-icon>\n }\n <span [style]=\"titleStyle\">{{ title }}</span>\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? iconSlot : 'icon-only'\" />\n }\n</ion-button>", styles: ["img{width:24px;margin-right:6px}\n"] }]
|
|
5471
5760
|
}], ctorParameters: () => [], propDecorators: { title: [{
|
|
@@ -5502,10 +5791,10 @@ class BtnCancelarComponent extends BaseBtnComponent {
|
|
|
5502
5791
|
super();
|
|
5503
5792
|
this.type = 'button';
|
|
5504
5793
|
}
|
|
5505
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
5506
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
5794
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnCancelarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5795
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BtnCancelarComponent, isStandalone: true, selector: "kb-btn-cancelar", inputs: { icon: "icon", title: "title", color: "color" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" \n [size]=\"size\" class=\"kb-btn-cancelar\"\n (click)=\"onClick()\"\n > \n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\n {{ title }}\n</ion-button> \n<!-- \n<ion-button color=\"tertiary\" fill=\"outline\" (click)=\"cancelarContato()\" style=\"box-shadow: #6370ff 0px 3px 3px 0.05px\"\n [disabled]=\"!selectedContato\">\n <ion-icon src=\"/assets/icon/limpar_purple_24dp.svg\"></ion-icon>\n Cancelar\n</ion-button>\n-->", styles: ["ion-button{margin:4px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
|
|
5507
5796
|
}
|
|
5508
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
5797
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnCancelarComponent, decorators: [{
|
|
5509
5798
|
type: Component,
|
|
5510
5799
|
args: [{ selector: 'kb-btn-cancelar', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" \n [size]=\"size\" class=\"kb-btn-cancelar\"\n (click)=\"onClick()\"\n > \n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\n {{ title }}\n</ion-button> \n<!-- \n<ion-button color=\"tertiary\" fill=\"outline\" (click)=\"cancelarContato()\" style=\"box-shadow: #6370ff 0px 3px 3px 0.05px\"\n [disabled]=\"!selectedContato\">\n <ion-icon src=\"/assets/icon/limpar_purple_24dp.svg\"></ion-icon>\n Cancelar\n</ion-button>\n-->", styles: ["ion-button{margin:4px}\n"] }]
|
|
5511
5800
|
}], ctorParameters: () => [], propDecorators: { icon: [{
|
|
@@ -5525,10 +5814,10 @@ class BtnExcluirComponent extends BaseBtnComponent {
|
|
|
5525
5814
|
constructor() {
|
|
5526
5815
|
super();
|
|
5527
5816
|
}
|
|
5528
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
5529
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
5817
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnExcluirComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5818
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: BtnExcluirComponent, isStandalone: true, selector: "kb-btn-excluir", inputs: { type: "type", expand: "expand", icon: "icon", title: "title", color: "color" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\">\n @if (icon) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\n }\n {{ title }}\n</ion-button>", styles: ["ion-button{margin:4px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
|
|
5530
5819
|
}
|
|
5531
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
5820
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnExcluirComponent, decorators: [{
|
|
5532
5821
|
type: Component,
|
|
5533
5822
|
args: [{ selector: 'kb-btn-excluir', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\">\n @if (icon) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\n }\n {{ title }}\n</ion-button>", styles: ["ion-button{margin:4px}\n"] }]
|
|
5534
5823
|
}], ctorParameters: () => [], propDecorators: { type: [{
|
|
@@ -5554,10 +5843,10 @@ class BtnNovoComponent extends BaseBtnComponent {
|
|
|
5554
5843
|
super();
|
|
5555
5844
|
this.type = 'button';
|
|
5556
5845
|
}
|
|
5557
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
5558
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
5846
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnNovoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5847
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: BtnNovoComponent, isStandalone: true, selector: "kb-btn-novo", inputs: { title: "title", icon: "icon", iconSrc: "iconSrc", expand: "expand", imgSrc: "imgSrc", color: "color" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" class=\"kb-btn-novo\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\n }\n {{ title }}\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\n }\n</ion-button>\n<!-- \n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\n Novo\n</ion-button>\n-->", styles: ["img{width:24px;margin-right:6px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
|
|
5559
5848
|
}
|
|
5560
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
5849
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnNovoComponent, decorators: [{
|
|
5561
5850
|
type: Component,
|
|
5562
5851
|
args: [{ selector: 'kb-btn-novo', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" class=\"kb-btn-novo\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\n }\n {{ title }}\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\n }\n</ion-button>\n<!-- \n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\n Novo\n</ion-button>\n-->", styles: ["img{width:24px;margin-right:6px}\n"] }]
|
|
5563
5852
|
}], ctorParameters: () => [], propDecorators: { title: [{
|
|
@@ -5580,10 +5869,10 @@ class BtnSalvarComponent extends BaseBtnComponent {
|
|
|
5580
5869
|
constructor() {
|
|
5581
5870
|
super();
|
|
5582
5871
|
}
|
|
5583
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
5584
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
5872
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnSalvarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5873
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: BtnSalvarComponent, isStandalone: true, selector: "kb-btn-salvar", inputs: { btnMargin: "btnMargin", color: "color" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" [style.margin]=\"btnMargin\" class=\"kb-btn-salvar\">\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\n {{ title }}\n</ion-button>", styles: [""], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
|
|
5585
5874
|
}
|
|
5586
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
5875
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnSalvarComponent, decorators: [{
|
|
5587
5876
|
type: Component,
|
|
5588
5877
|
args: [{ selector: 'kb-btn-salvar', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" [style.margin]=\"btnMargin\" class=\"kb-btn-salvar\">\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\n {{ title }}\n</ion-button>" }]
|
|
5589
5878
|
}], ctorParameters: () => [], propDecorators: { btnMargin: [{
|
|
@@ -5604,10 +5893,10 @@ class BtnRoundedComponent extends BaseBtnComponent {
|
|
|
5604
5893
|
super();
|
|
5605
5894
|
this.type = 'button';
|
|
5606
5895
|
}
|
|
5607
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
5608
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
5896
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnRoundedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5897
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: BtnRoundedComponent, isStandalone: true, selector: "kb-btn-rounded", inputs: { title: "title", icon: "icon", iconSrc: "iconSrc", expand: "expand", imgSrc: "imgSrc", color: "color", fill: "fill" }, usesInheritance: true, ngImport: i0, template: "<ion-button [color]=\"color\" [type]=\"type\" shape=\"round\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" class=\"kb-btn-rounded\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\n }\n <!-- \n {{ title }}\n -->\n @if (title) {\n <span [innerHTML]=\"title\"></span>\n }\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\n }\n</ion-button>\n<!-- \n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\n Novo\n</ion-button>\n-->", styles: ["img{width:24px;margin-right:6px}\n"], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"], outputs: ["ionFocus", "ionBlur"] }] });
|
|
5609
5898
|
}
|
|
5610
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
5899
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: BtnRoundedComponent, decorators: [{
|
|
5611
5900
|
type: Component,
|
|
5612
5901
|
args: [{ selector: 'kb-btn-rounded', imports: [IonIcon, IonButton,], template: "<ion-button [color]=\"color\" [type]=\"type\" shape=\"round\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\n (click)=\"onClick()\" class=\"kb-btn-rounded\">\n @if (icon || iconSrc) {\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\n }\n <!-- \n {{ title }}\n -->\n @if (title) {\n <span [innerHTML]=\"title\"></span>\n }\n @if (imgSrc) {\n <img [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\" />\n }\n</ion-button>\n<!-- \n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\n Novo\n</ion-button>\n-->", styles: ["img{width:24px;margin-right:6px}\n"] }]
|
|
5613
5902
|
}], ctorParameters: () => [], propDecorators: { title: [{
|
|
@@ -5627,10 +5916,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
|
|
|
5627
5916
|
}] } });
|
|
5628
5917
|
|
|
5629
5918
|
class TituloComponent {
|
|
5630
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
5631
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
5919
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TituloComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5920
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: TituloComponent, isStandalone: true, selector: "kb-titulo", ngImport: i0, template: "<div>\n <h4 class=\"kb-titulo\">\n <ng-content></ng-content>\n </h4>\n</div>", styles: ["h4{margin-top:8px!important;margin-bottom:4px!important}\n"] });
|
|
5632
5921
|
}
|
|
5633
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
5922
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TituloComponent, decorators: [{
|
|
5634
5923
|
type: Component,
|
|
5635
5924
|
args: [{ selector: 'kb-titulo', imports: [], template: "<div>\n <h4 class=\"kb-titulo\">\n <ng-content></ng-content>\n </h4>\n</div>", styles: ["h4{margin-top:8px!important;margin-bottom:4px!important}\n"] }]
|
|
5636
5925
|
}] });
|
|
@@ -5643,5 +5932,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
|
|
|
5643
5932
|
* Generated bundle index. Do not edit.
|
|
5644
5933
|
*/
|
|
5645
5934
|
|
|
5646
|
-
export { AppprojectFramework, BaseCadastro, BaseInputComponent, BaseModel, BasePage, BtnActionComponent, BtnCancelarComponent, BtnExcluirComponent, BtnNovoComponent, BtnRoundedComponent, BtnSalvarComponent, CadastroService, DataService, Dominio, EntityEditComponent, EventoCadastro, EventoFoco, GridColuna, GridFiltroValor, GridTabela, GridViewComponent, HtmlCampo, HtmlRow, InputAreaComponent, InputArquivoComponent, InputCepComponent, InputCheckboxComponent, InputFormatComponent, InputHtmlComponent, InputPesquisaComponent, InputRadioComponent, InputSelectComponent, InputTextComponent, InputValorComponent, Intervalo, LibConfigService, LibService, NomePipe, PageResult, PeriodoIntervaloComponent, PesquisaCampo, SafeHtmlPipe, TituloComponent, Tree, UtilsGeralService, UtilsService, ValorFormatPipe, email, formatted, getEmail, getFormatted, getIgnore, getLabel, getMax, getMaxLength, getMin, getMinLength, getPattern, getPlaceholder, getPosicao, getReadOnly, getRequired, getTipo, ignore, label, max, maxLength, min, minLength, pattern, placeholder, posicao, readOnly, required, tipo };
|
|
5935
|
+
export { AgendaSemanalComponent, AppprojectFramework, BaseCadastro, BaseInputComponent, BaseModel, BasePage, BtnActionComponent, BtnCancelarComponent, BtnExcluirComponent, BtnNovoComponent, BtnRoundedComponent, BtnSalvarComponent, CadastroService, DataService, Dominio, EntityEditComponent, EventoCadastro, EventoFoco, GridColuna, GridFiltroValor, GridTabela, GridViewComponent, HtmlCampo, HtmlRow, InputAreaComponent, InputArquivoComponent, InputCepComponent, InputCheckboxComponent, InputFormatComponent, InputHtmlComponent, InputPesquisaComponent, InputRadioComponent, InputSelectComponent, InputTextComponent, InputValorComponent, Intervalo, LibConfigService, LibService, NomePipe, PageResult, PeriodoIntervaloComponent, PesquisaCampo, SafeHtmlPipe, TituloComponent, Tree, UtilsGeralService, UtilsService, ValorFormatPipe, email, formatted, getEmail, getFormatted, getIgnore, getLabel, getMax, getMaxLength, getMin, getMinLength, getPattern, getPlaceholder, getPosicao, getReadOnly, getRequired, getTipo, ignore, label, max, maxLength, min, minLength, pattern, placeholder, posicao, readOnly, required, tipo };
|
|
5647
5936
|
//# sourceMappingURL=appproject-framework.mjs.map
|