keevo-components 1.8.69 → 1.8.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/api/modules/primeng.module.mjs +7 -3
- package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +44 -40
- package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +1 -1
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +134 -49
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +12 -5
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +3 -3
- package/fesm2022/keevo-components.mjs +189 -91
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/api/modules/primeng.module.d.ts +2 -1
- package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +4 -19
- package/lib/components/kv-table/kv-table.component.d.ts +1 -1
- package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +22 -6
- package/lib/components/kv-table-edit/kv-table-edit.module.d.ts +4 -2
- package/package.json +1 -1
|
@@ -13,8 +13,8 @@ import { MenuModule } from 'primeng/menu';
|
|
|
13
13
|
import * as i2 from 'primeng/ripple';
|
|
14
14
|
import { RippleModule } from 'primeng/ripple';
|
|
15
15
|
import * as i2$1 from '@angular/forms';
|
|
16
|
-
import { FormGroup, NgControl, FormControlName, FormGroupDirective, NG_VALUE_ACCESSOR, Validators, FormsModule, ReactiveFormsModule
|
|
17
|
-
import { Subject, finalize, combineLatest, filter, debounceTime, of, BehaviorSubject } from 'rxjs';
|
|
16
|
+
import { FormGroup, NgControl, FormControlName, FormGroupDirective, NG_VALUE_ACCESSOR, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
17
|
+
import { Subject, finalize, combineLatest, filter, debounceTime, of, BehaviorSubject, takeUntil, timer } from 'rxjs';
|
|
18
18
|
import * as i1$3 from 'primeng/dynamicdialog';
|
|
19
19
|
import { DynamicDialogModule, DialogService, DynamicDialogRef, DynamicDialogConfig } from 'primeng/dynamicdialog';
|
|
20
20
|
import * as i1$2 from 'primeng/api';
|
|
@@ -86,24 +86,25 @@ import { SidebarModule } from 'primeng/sidebar';
|
|
|
86
86
|
import * as i4$1 from 'primeng/skeleton';
|
|
87
87
|
import { SkeletonModule } from 'primeng/skeleton';
|
|
88
88
|
import { SpeedDialModule } from 'primeng/speeddial';
|
|
89
|
+
import * as i13 from 'primeng/splitbutton';
|
|
89
90
|
import { SplitButtonModule } from 'primeng/splitbutton';
|
|
90
91
|
import { StepsModule } from 'primeng/steps';
|
|
91
92
|
import * as i12 from 'primeng/styleclass';
|
|
92
93
|
import { StyleClassModule } from 'primeng/styleclass';
|
|
93
|
-
import * as
|
|
94
|
+
import * as i14 from 'primeng/table';
|
|
94
95
|
import { TableModule } from 'primeng/table';
|
|
95
96
|
import { TabViewModule } from 'primeng/tabview';
|
|
96
97
|
import { TagModule } from 'primeng/tag';
|
|
97
|
-
import * as
|
|
98
|
+
import * as i15 from 'primeng/toast';
|
|
98
99
|
import { ToastModule } from 'primeng/toast';
|
|
99
100
|
import { ToolbarModule } from 'primeng/toolbar';
|
|
100
101
|
import * as i1$6 from 'primeng/tree';
|
|
101
102
|
import { TreeModule } from 'primeng/tree';
|
|
102
103
|
import * as i9$1 from 'primeng/treetable';
|
|
103
104
|
import { TreeTableModule } from 'primeng/treetable';
|
|
104
|
-
import Quill from 'quill';
|
|
105
105
|
import * as i2$2 from 'primeng/selectbutton';
|
|
106
106
|
import { SelectButtonModule } from 'primeng/selectbutton';
|
|
107
|
+
import Quill from 'quill';
|
|
107
108
|
import * as i1$5 from 'ngx-loading';
|
|
108
109
|
import { NgxLoadingModule } from 'ngx-loading';
|
|
109
110
|
import { ProgressSpinnerModule } from 'primeng/progressspinner';
|
|
@@ -1944,7 +1945,8 @@ class PrimeNgModule {
|
|
|
1944
1945
|
ToolbarModule,
|
|
1945
1946
|
TooltipModule,
|
|
1946
1947
|
TreeModule,
|
|
1947
|
-
TreeTableModule
|
|
1948
|
+
TreeTableModule,
|
|
1949
|
+
SelectButtonModule] }); }
|
|
1948
1950
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: PrimeNgModule, providers: [
|
|
1949
1951
|
ConfirmationService,
|
|
1950
1952
|
DialogService,
|
|
@@ -2007,7 +2009,8 @@ class PrimeNgModule {
|
|
|
2007
2009
|
ToolbarModule,
|
|
2008
2010
|
TooltipModule,
|
|
2009
2011
|
TreeModule,
|
|
2010
|
-
TreeTableModule
|
|
2012
|
+
TreeTableModule,
|
|
2013
|
+
SelectButtonModule] }); }
|
|
2011
2014
|
}
|
|
2012
2015
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: PrimeNgModule, decorators: [{
|
|
2013
2016
|
type: NgModule,
|
|
@@ -2070,6 +2073,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
2070
2073
|
TooltipModule,
|
|
2071
2074
|
TreeModule,
|
|
2072
2075
|
TreeTableModule,
|
|
2076
|
+
SelectButtonModule
|
|
2073
2077
|
],
|
|
2074
2078
|
providers: [
|
|
2075
2079
|
ConfirmationService,
|
|
@@ -2468,74 +2472,78 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
2468
2472
|
}] } });
|
|
2469
2473
|
|
|
2470
2474
|
class KvEditorComponent extends BaseComponentInput {
|
|
2471
|
-
/**
|
|
2472
|
-
*
|
|
2473
|
-
*/
|
|
2474
2475
|
constructor(componentService) {
|
|
2475
2476
|
super(componentService);
|
|
2476
|
-
/**
|
|
2477
|
-
* @type {boolean}
|
|
2478
|
-
* @description
|
|
2479
|
-
* Esse item define se o editor e somente para leitura
|
|
2480
|
-
*/
|
|
2481
2477
|
this.readonly = false;
|
|
2482
|
-
/**
|
|
2483
|
-
* @type {boolean}
|
|
2484
|
-
* @description
|
|
2485
|
-
* Esse item define o tamanho do canva
|
|
2486
|
-
*/
|
|
2487
2478
|
this.canvaHeigth = '380px';
|
|
2488
2479
|
this.debug = false;
|
|
2489
|
-
/**
|
|
2490
|
-
* @description Executado a cada iteração
|
|
2491
|
-
*/
|
|
2492
2480
|
this.onTextChange = new EventEmitter();
|
|
2493
|
-
/**
|
|
2494
|
-
* @description Executado a cada seleção
|
|
2495
|
-
*/
|
|
2496
2481
|
this.onSelectionChange = new EventEmitter();
|
|
2482
|
+
this.updatingEditor = false;
|
|
2497
2483
|
}
|
|
2498
2484
|
ngOnInit() {
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2485
|
+
if (!this.quill) {
|
|
2486
|
+
this.initializeQuillEditor();
|
|
2487
|
+
}
|
|
2488
|
+
}
|
|
2489
|
+
initializeQuillEditor() {
|
|
2490
|
+
const ColorClass = Quill.import('attributors/class/color');
|
|
2491
|
+
const ColorStyle = Quill.import('attributors/style/color');
|
|
2492
|
+
const SizeStyle = Quill.import('attributors/style/size');
|
|
2493
|
+
const Font = Quill.import('formats/font');
|
|
2494
|
+
const Size = Quill.import('attributors/style/size');
|
|
2495
|
+
Size.whitelist = ['15px', '20px', '30px', '40px', '50px', '70px', '90px'];
|
|
2496
|
+
Font.whitelist = ['monospace', 'roboto', 'serif', 'inter'];
|
|
2497
|
+
ColorClass.whitelist = ['red'];
|
|
2498
|
+
Quill.register(ColorClass, true);
|
|
2499
|
+
Quill.register(ColorStyle, true);
|
|
2500
|
+
Quill.register(SizeStyle, true);
|
|
2501
|
+
Quill.register(Font, true);
|
|
2502
|
+
Quill.register(Size, true);
|
|
2511
2503
|
this.quill = new Quill('#kv-editor', {
|
|
2512
2504
|
theme: 'snow',
|
|
2513
2505
|
modules: {
|
|
2514
2506
|
toolbar: '#kv-editor-toolbar',
|
|
2515
2507
|
},
|
|
2516
2508
|
placeholder: this.label ? this.label : '',
|
|
2509
|
+
readOnly: this.readonly,
|
|
2517
2510
|
debug: this.debug,
|
|
2518
2511
|
});
|
|
2519
|
-
this.quill.on('text-change', (delta, oldContents, source) => {
|
|
2520
|
-
this.writeValue(this.quill.root.innerHTML);
|
|
2521
|
-
console.log();
|
|
2522
|
-
this.onTextChange.emit({ delta: delta, oldContents: oldContents, source: source });
|
|
2523
|
-
});
|
|
2524
2512
|
this.quill.on('selection-change', (range, oldRange, source) => {
|
|
2525
|
-
this.onTouched();
|
|
2526
2513
|
this.onSelectionChange.emit({
|
|
2527
2514
|
range: range,
|
|
2528
2515
|
oldRange: oldRange,
|
|
2529
2516
|
source: source
|
|
2530
2517
|
});
|
|
2531
2518
|
});
|
|
2519
|
+
this.quill.on('text-change', (delta, oldContents, source) => {
|
|
2520
|
+
if (!this.updatingEditor) {
|
|
2521
|
+
this.updatingEditor = false;
|
|
2522
|
+
this.escrevaValor(this.quill.root.innerHTML);
|
|
2523
|
+
this.onTextChange.emit({ delta: delta, oldContents: oldContents, source: source });
|
|
2524
|
+
}
|
|
2525
|
+
});
|
|
2526
|
+
}
|
|
2527
|
+
writeValue(value) {
|
|
2528
|
+
this.updatingEditor = true;
|
|
2529
|
+
this.escrevaValor(value);
|
|
2530
|
+
}
|
|
2531
|
+
escrevaValor(value) {
|
|
2532
|
+
if (this.quill) {
|
|
2533
|
+
if (this.updatingEditor) {
|
|
2534
|
+
this.quill.clipboard.dangerouslyPasteHTML(value);
|
|
2535
|
+
// this.quill.setText(value)
|
|
2536
|
+
}
|
|
2537
|
+
this.updatingEditor = false;
|
|
2538
|
+
this.value = value;
|
|
2539
|
+
}
|
|
2532
2540
|
}
|
|
2533
2541
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorComponent, deps: [{ token: ComponentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2534
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvEditorComponent, selector: "kv-editor", inputs: { readonly: "readonly", canvaHeigth: "canvaHeigth", debug: "debug" }, outputs: { onTextChange: "onTextChange", onSelectionChange: "onSelectionChange" }, providers: ComponentProviders(KvEditorComponent), usesInheritance: true, ngImport: i0, template: "<div class=\"kv-editor-container\">\r\n
|
|
2542
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvEditorComponent, selector: "kv-editor", inputs: { readonly: "readonly", canvaHeigth: "canvaHeigth", debug: "debug" }, outputs: { onTextChange: "onTextChange", onSelectionChange: "onSelectionChange" }, providers: ComponentProviders(KvEditorComponent), usesInheritance: true, ngImport: i0, template: "<div class=\"kv-editor-container\">\r\n <div #editor id=\"kv-editor-toolbar\">\r\n <span class=\"ql-formats\">\r\n <select class=\"ql-font\">\r\n <option value=\"roboto\">Roboto</option>\r\n <option value=\"monospace\">Monospace</option>\r\n <option value=\"inter\">Inter</option>\r\n <option selected>Sans Serif</option>\r\n <option value=\"serif\">Serif</option>\r\n </select>\r\n\r\n <select class=\"ql-header\">\r\n <option value=\"1\">Titulo</option>\r\n <option value=\"2\">Subtitulo</option>\r\n <option selected>Normal</option>\r\n </select>\r\n\r\n <span class=\"ql-format-group\">\r\n <select title=\"Size\" class=\"ql-size\">\r\n <option value=\"15px\">15px</option>\r\n <option value=\"20px\">20px</option>\r\n <option value=\"30px\">30px</option>\r\n <option value=\"40px\">40px</option>\r\n <option value=\"50px\">50px</option>\r\n <option value=\"70px\">70px</option>\r\n <option value=\"90px\">90px</option>\r\n </select>\r\n </span>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-bold\"></button>\r\n <button class=\"ql-italic\"></button>\r\n <button class=\"ql-underline\"></button>\r\n <button class=\"ql-strike\"></button>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-script\" value=\"sub\"></button>\r\n <button class=\"ql-script\" value=\"super\"></button>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-header\" value=\"1\"></button>\r\n <button class=\"ql-header\" value=\"2\"></button>\r\n <button class=\"ql-blockquote\"></button>\r\n <button class=\"ql-code-block\"></button>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-list\" value=\"ordered\"></button>\r\n <button class=\"ql-list\" value=\"bullet\"></button>\r\n <button class=\"ql-indent\" value=\"-1\"></button>\r\n <button class=\"ql-indent\" value=\"+1\"></button>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-direction\" value=\"rtl\"></button>\r\n <select class=\"ql-align\"></select>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-link\"></button>\r\n <button class=\"ql-image\"></button>\r\n <button class=\"ql-video\"></button>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-clean\"></button>\r\n </span>\r\n </div>\r\n <div id=\"kv-editor\" [style.height]=\"canvaHeigth\"></div>\r\n</div>\r\n\r\n\r\n\r\n <link href=\"https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.snow.css\" rel=\"stylesheet\" />\r\n <link href=\"https://fonts.googleapis.com/css?family=Roboto\" rel=\"stylesheet\">\r\n <script src=\"https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.js\"></script>\r\n <script src=\"https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js\"></script>\r\n\r\n\r\n <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.bubble.css\" />\r\n <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark.min.css\" />\r\n <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css\" />\r\n\r\n\r\n <!-- Import fonts -->\r\n\r\n <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\r\n <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\r\n\r\n <link href=\"https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;500;600;700;800&family=Inter:wght@100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap\" rel=\"stylesheet\">\r\n <link href=\"https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;500;600;700;800&family=Inter:wght@100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\" rel=\"stylesheet\">\r\n\r\n", styles: [":host ::ng-deep .ql-font-roboto{font-family:Roboto,sans-serif}:host ::ng-deep .ql-font-inter{font-family:Inter var,sans-serif}\n"], dependencies: [{ kind: "directive", type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] }); }
|
|
2535
2543
|
}
|
|
2536
2544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvEditorComponent, decorators: [{
|
|
2537
2545
|
type: Component,
|
|
2538
|
-
args: [{ selector: 'kv-editor', providers: ComponentProviders(KvEditorComponent), template: "<div class=\"kv-editor-container\">\r\n
|
|
2546
|
+
args: [{ selector: 'kv-editor', providers: ComponentProviders(KvEditorComponent), template: "<div class=\"kv-editor-container\">\r\n <div #editor id=\"kv-editor-toolbar\">\r\n <span class=\"ql-formats\">\r\n <select class=\"ql-font\">\r\n <option value=\"roboto\">Roboto</option>\r\n <option value=\"monospace\">Monospace</option>\r\n <option value=\"inter\">Inter</option>\r\n <option selected>Sans Serif</option>\r\n <option value=\"serif\">Serif</option>\r\n </select>\r\n\r\n <select class=\"ql-header\">\r\n <option value=\"1\">Titulo</option>\r\n <option value=\"2\">Subtitulo</option>\r\n <option selected>Normal</option>\r\n </select>\r\n\r\n <span class=\"ql-format-group\">\r\n <select title=\"Size\" class=\"ql-size\">\r\n <option value=\"15px\">15px</option>\r\n <option value=\"20px\">20px</option>\r\n <option value=\"30px\">30px</option>\r\n <option value=\"40px\">40px</option>\r\n <option value=\"50px\">50px</option>\r\n <option value=\"70px\">70px</option>\r\n <option value=\"90px\">90px</option>\r\n </select>\r\n </span>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-bold\"></button>\r\n <button class=\"ql-italic\"></button>\r\n <button class=\"ql-underline\"></button>\r\n <button class=\"ql-strike\"></button>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <select class=\"ql-color\"></select>\r\n <select class=\"ql-background\"></select>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-script\" value=\"sub\"></button>\r\n <button class=\"ql-script\" value=\"super\"></button>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-header\" value=\"1\"></button>\r\n <button class=\"ql-header\" value=\"2\"></button>\r\n <button class=\"ql-blockquote\"></button>\r\n <button class=\"ql-code-block\"></button>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-list\" value=\"ordered\"></button>\r\n <button class=\"ql-list\" value=\"bullet\"></button>\r\n <button class=\"ql-indent\" value=\"-1\"></button>\r\n <button class=\"ql-indent\" value=\"+1\"></button>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-direction\" value=\"rtl\"></button>\r\n <select class=\"ql-align\"></select>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-link\"></button>\r\n <button class=\"ql-image\"></button>\r\n <button class=\"ql-video\"></button>\r\n </span>\r\n\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-clean\"></button>\r\n </span>\r\n </div>\r\n <div id=\"kv-editor\" [style.height]=\"canvaHeigth\"></div>\r\n</div>\r\n\r\n\r\n\r\n <link href=\"https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.snow.css\" rel=\"stylesheet\" />\r\n <link href=\"https://fonts.googleapis.com/css?family=Roboto\" rel=\"stylesheet\">\r\n <script src=\"https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.js\"></script>\r\n <script src=\"https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js\"></script>\r\n\r\n\r\n <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/quill@2.0.2/dist/quill.bubble.css\" />\r\n <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark.min.css\" />\r\n <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css\" />\r\n\r\n\r\n <!-- Import fonts -->\r\n\r\n <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\r\n <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\r\n\r\n <link href=\"https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;500;600;700;800&family=Inter:wght@100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap\" rel=\"stylesheet\">\r\n <link href=\"https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;500;600;700;800&family=Inter:wght@100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\" rel=\"stylesheet\">\r\n\r\n", styles: [":host ::ng-deep .ql-font-roboto{font-family:Roboto,sans-serif}:host ::ng-deep .ql-font-inter{font-family:Inter var,sans-serif}\n"] }]
|
|
2539
2547
|
}], ctorParameters: () => [{ type: ComponentService }], propDecorators: { readonly: [{
|
|
2540
2548
|
type: Input
|
|
2541
2549
|
}], canvaHeigth: [{
|
|
@@ -2983,7 +2991,7 @@ class KvSelectButtonComponent {
|
|
|
2983
2991
|
this.optionClick.emit(event);
|
|
2984
2992
|
}
|
|
2985
2993
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvSelectButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2986
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvSelectButtonComponent, selector: "kv-select-button", inputs: { formGroup: "formGroup", formControlName: "formControlName", options: "options", optionLabel: "optionLabel", optionValue: "optionValue", mutiple: "mutiple", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange", optionClick: "optionClick" }, ngImport: i0, template: "<div [formGroup]=\"formGroup\"\r\n>\r\n<p-selectButton \r\n [options]=\"options\" \r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n (onChange)=\"selectionChange($event)\"\r\n (onOptionClick)=\"onOptionClick($event)\"\r\n [multiple]=\"mutiple\" \r\n [disabled]=\"disabled\"\r\n [formControlName]=\"formControlName\"\r\n />\r\n</div>", styles: [":host ::ng-deep .p-selectbutton .p-button.p-highlight{background:#183462!important;border:#183462;box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f}\n"], dependencies: [{ kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "
|
|
2994
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvSelectButtonComponent, selector: "kv-select-button", inputs: { formGroup: "formGroup", formControlName: "formControlName", options: "options", optionLabel: "optionLabel", optionValue: "optionValue", mutiple: "mutiple", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange", optionClick: "optionClick" }, ngImport: i0, template: "<div [formGroup]=\"formGroup\"\r\n>\r\n<p-selectButton \r\n [options]=\"options\" \r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n (onChange)=\"selectionChange($event)\"\r\n (onOptionClick)=\"onOptionClick($event)\"\r\n [multiple]=\"mutiple\" \r\n [disabled]=\"disabled\"\r\n [formControlName]=\"formControlName\"\r\n />\r\n</div>", styles: [":host ::ng-deep .p-selectbutton .p-button.p-highlight{background:#183462!important;border:#183462;box-shadow:0 4px 10px #00000008,0 0 2px #0000000f,0 2px 6px #0000001f}\n"], dependencies: [{ kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2$2.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
2987
2995
|
}
|
|
2988
2996
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvSelectButtonComponent, decorators: [{
|
|
2989
2997
|
type: Component,
|
|
@@ -3977,7 +3985,6 @@ class KvTableEditComponent {
|
|
|
3977
3985
|
this.notificationService = notificationService;
|
|
3978
3986
|
this.collapsed = false;
|
|
3979
3987
|
this.globalFilterFields = [];
|
|
3980
|
-
this.editMode = 'cell';
|
|
3981
3988
|
this.selectedItems = [];
|
|
3982
3989
|
this.paginator = true;
|
|
3983
3990
|
this.rows = 5;
|
|
@@ -3993,15 +4000,21 @@ class KvTableEditComponent {
|
|
|
3993
4000
|
this.responsiveLayout = true;
|
|
3994
4001
|
this.espacamentoPai = '2px';
|
|
3995
4002
|
this.espacamentoLateral = true;
|
|
3996
|
-
|
|
4003
|
+
//FIXME: Remover props não utlizadas
|
|
4004
|
+
//NOTE: PROPS CRIADAS AGORA
|
|
4005
|
+
this.editMode = 'cell';
|
|
4006
|
+
this.isEditing = false;
|
|
4007
|
+
this.isShowSizes = false;
|
|
4008
|
+
this.itemsParaSalvamento = [];
|
|
4009
|
+
this.enableSizes = false;
|
|
3997
4010
|
this.onFilter = new EventEmitter();
|
|
3998
|
-
this.selectedSize = '';
|
|
3999
4011
|
this.menuItems = [];
|
|
4000
4012
|
this.imgDefault = '/9j/4AAQSkZJRgABAQIAdgB2AAD/4QBiRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAMAAAITAAMAAAABAAEAAAAAAAAAAAB2AAAAAQAAAHYAAAAB/9sAQwADAgICAgIDAgICAwMDAwQGBAQEBAQIBgYFBgkICgoJCAkJCgwPDAoLDgsJCQ0RDQ4PEBAREAoMEhMSEBMPEBAQ/9sAQwEDAwMEAwQIBAQIEAsJCxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ/8AAEQgAkACQAwERAAIRAQMRAf/EAB0AAQABBAMBAAAAAAAAAAAAAAAGAQIHCAMECQX/xABBEAACAQQABQICCAQDBAsAAAABAgMABAURBgcSITETQQhRCRQVGSJVldEyYYGRQlJiFiM3OFNjcXN1dpKTsbO0/8QAGgEBAAIDAQAAAAAAAAAAAAAAAAEFAwQGAv/EADIRAAIABAMFCAEFAQEBAAAAAAABAgMEESExUQUSQZHwExUyYXGBobHRIjNCweE08SP/2gAMAwEAAhEDEQA/APKqgFAKAUBdDDLcSpBBE8ksjBERFJZmJ0AAPJJqUnE7IhtQq7yJ5w9ydz2Vi+s5e4XFRMu0V09SU70RtAR0jRPk9QI0V96s5GypkxXmPd+X/n35FbO2pKl4QfqfxzJ9jOU/BmO6WksZb6RJBIr3UpOta0pVelSO3gg72d7HarOXs2ngzV/XpIq49pVMfG3ovzdkmsMTisX1/ZmMtLP1ddfoQLH1a3rfSBvWz/etuCXBLvuJK+mBpxzI5lt9t21xO3WQ8CgOpf4nFZTo+08ZaXnpb6PrECydO9b11A63of2rHHLgmeNJ+qPcEyOXfcbV9MCM5PlPwZkepo7GWxkeQyM9rKRve9qFbqUL38ADWhrQ7VqTNm08eSt6P/1G5BtKog439V+LMgPEPJ3PYqL6ziLhcrGq7dET05RrZOkJPUNAeD1EnQX3qsn7KmS1vS3vfD/378i0k7UlTHuxrdfxz/wgc0M1vM9vcRPFLExR0dSrKwOiCD4IPtVY04XZlkmoldZFtQSKAUAoBQCgFASjg/l9meLZRKFeysOksbuSIlW7kaQdus7BB0dDR2d6B3aWhmVOOUOv41NKsrYaVYYxadX/AN+Vmzh7hHAcMRBMTYIkpXpe4f8AFK/Yb2x9j0g9I0u/YV0MimlU6tAsdeJzs2pmz/3Ir/XSy11Z9ms5gKhTUkXK6FBcaFCLjQoLjQoTcoVNBcpUEnxuIeEcBxRCUy1gjShelLhPwyp2OtMO5A6iek7XftWCfSyqhfrWOvEzyaibIf8A84reXDp5Xz0ZhPjHl/l+EZfUIa8sCoIu44yFU7A0479B2RrZ0djR3sDnaqimUru8Vr+dDoKSvl1KtFaGK+V888sr4K70+SL1pm+KAUAoBQE55dcu5eJplyuWR48TG3YbKtcsD3VT7KD2Lf0HfZWyoaF1D34/D99cerVtdXKnXZy/F9f7p1fOMMMVvElvbxJHFGoRERQFVQNAADwAPauiSUKssjnW3E7t4nIB869HhsrQgrUAUAoBQCgFAUqQUIoTc45oYp4ngniSSORSjo6hlZSNEEHsQR7VDSiVnkek3C7p4mDeYnLuXhiVsrikeTFSN3HctbMT2Vj7qT4b+h76Lc5XULp32kvw/X+efT6OhrlULs5ni+/916tB6rSyFAKAlHL/AIOl4uy+pCq2FmySXZJO2UntGNEHbaI37AE+dA7lFSuqmWeSz/HuaFfVqml7qvvRXt5eeTWF8nnpa5sFDFFBEkEESRxxqEREUBVUDQAA8AD2rqUklZHMtt4s5QKk8tlaggUAoCfcpuRPNLnbknx/Lvha4yEcDBbm9ciK1tt/9JK2lB136RtiPANYZ1RLp1eYzPIpptQ7S0bP4T6Lbju4tFk4h5qYKwuSNmKzsZrpAfl1sY//AIqui2vAn+mFllDseNr9USIrzB+jb528K2cuR4SyeG4tiiBY29s7W12QPcRyfgP/AGCTZ9gayStqyY3aK6MU3ZM6BXgaZqvlsTlcDkrnDZvG3WPv7OQxXFrdRNFLE48qyMAVP8jVkmoldZFZFC4XaLM6lSQKAUBaRU5kpnHNDFcRPb3ESSRSKUdHUMrKRogg+QahpNNM9wxOF7yzNfeYHB0vCOYIj6TYXjPJaEHuqgjaHZJ2uwN+40fOwOWraV0szDwvL8ex0tBVqpl7r8UKV/PzySxtksuRF60zfLoYZbiVIIInklkYIiIpLMxOgAB5JNSk4nZENqFXeRspwngIuGeH7TDoIzJEnVO6Af7yVu7HYALDfYEjfSFHtXW00hU8pS17+vXwchUTe2mxTMcXq/TV2yxSwvd5tn2AK2DAy6oIFAKAyp8NXIzJfEBzQsuC4JZLXFwIb3L3iAbgtEIDdO+3WxKovnu2yCAa16qoVNLcfHgbNJTOpmqDhxPYngzgvhfl7w1Y8IcHYa3xmJx8Yjgt4V0B82Y+WYnuWOySSSSa5WZMimxOKN3Z1kuXDKhUECsj7deD2KA1y+MT4W8Nzz4NuuI+H8dFDxzhrdpbC4jUK1/Gg2bWQ/4tjfQT/C2u4Bbe/Q1jp492Lwv48zQrqNVMG9Cv1L58jyVdHjdo5FKspIZSNEH5GumOWKUAoBQFpHvUko+Nxdw9DxRgLrEyBRK69du7aHRKP4TvR0N9job6SR71r1UhVEpy37epsU03sJsMzT6/v342ZrZNDNbzPb3ETxSxMUdHUqysDogg+CD7VyTThdmdcmoldZE85O8PRZXPy5a5CtFilV1Q6O5X2EOiD2AVjvYIYKastlyVMm77/j99fJWbUqHLlqWv5cfJW+/q5m+ujOdLqHkrUAUAoD0i+i74Vs7Tlrxdxr6S/W8lm1xpcjuIreBJAB8gWuW/sPlVDteNuZDBor9cjoNjwJS4o9X9f+m61VBcCgFAKA8Y/i24VtODPiP48wVhEsVv9p/XkRRoILmNLjpA9gPW0B8q6yijcyRDE9PrA5GugUuojhWv3iYjrZNUUAoClSC2oPRhDnFw9Fis/Fl7boWPKqzsg7alTQc6AA0QyneySxYn2rntqSFLmKYv5fa/P3c6PZc5zJW484frh/ZPuU+M+zuDLaRklSS+kkunWQa1s9KlRr+Eoiked734Iqz2bL3KdPW769kVe0o9+oflZf39smQFb5oMuqDyKAUAoD0b+i64xs7ngPjDgFpVF3j8smWVCe7RTwpESPmA1uN/LrHzqh2vLajhj8rHQbHmJwRQaO5u7VQXAoBQCgPFz4qOMbPjz4huOuJcfKstrJlGtIJFO1kjt0W3VwfkRECP5Guso5blyIYXp94nI1sxTKiKJa/WBiqtk1RQCgFAWkVJKIdzYxn2jwXcyKkzyWUkd0ix9/B6WLDR7BHc+2tb3oGq/aUtzKd24Y9cyw2dMUuoV+OHXukSXEWH2VirLGer6v1O3jg6+np6uhQu9bOt68brclwdnAoNFY05kfaRuPV35ndHishjZWoIFAKAUBkbkBzozfIXmZjuPcRGbiCMG2yVn1dIu7NyPUj37HsrKfZkUnY2DgqZCqZbgZsU1RFTTFGj2J5bczOC+bXClrxlwLmocjjrpRvpIEkEmtmKVPKON91P8iNggnlZsqOTFuRrE6yVOgnw78DuiU1jMgoDVj40vizw3KPhe+5e8F5SO444y0BgPoPv7JhcaMzkfwylT+BfIJDnsAGsqCic6JTI1+lfJW19apELggf6n8Hld5rozmRQCgFAKAo3ipJR0stYDK4q8xZm9IXlvJB6nT1dHWpXetjet+N1jmQdpA4NU1zMkuPs41Glezudush4RcPFDyytQBQCgFAKAlPLzmjzB5UZr/aDl5xVfYS9ICyGBwY5lB2FkjYFJF37MCKxzZME5bsxXMsqdMkPeluxsnhPpNueePtFtsvw1wjlZEGvrD2s8MjH5sElCf2UVXxbJkt4NosIdrzksUmRTmD9ID8RPHVnLjbLM47ha1mBVxg7ZopmX/vpGeRT/NCprLL2bIlu7V/UxTdp1ExWTt6GuVzc3F5cS3d3PJPPM5kklkYs7sTssxPckn3Nb6VsEV7beLOOgFAKAUAoCh8VIRbQ9CgRcPFDyytQBQCgFASfg/lfzH5gyenwPwLnc4OrpZ7GwkljQ/6nUdK/1IrHHOlyvHEkZJcmZN8ELZmDA/AJ8T+bRZZuBrXFRv3DX+Ut1Ov5qjsw/qBWrFtKnh/lf2NuHZlTF/G3uSuH6M/4hJUDSZfguE/5XyU5I/8ATARWPvWRo+vcyrZM/Vdex1b/AOjb+I2zQtbtwrfED+G3yjgn/wByNRUrash68iHsmoWnMx9xR8G3xL8JI82R5T5W6iQb68Y8V/sfMLAzt/cVngrqePKL+vswR0FRBnDyx+jEOTxeTwt7Jjsxjrqxu4TqSC5haKRD/NWAIrZTUSujUcLhdmdapIFAKAUBQ+KkItoejqYm/wDtTFWWT9L0vrlvHP0dXV09ahtb0N6351WOXH2kCj1SZ7mQdnG4L3s7cjujxWQxsrUECgMj8kOQPMPn7xIcDwRjlFvbdLX+Sudra2SHwXYA7Y6OkUFjo9tAkYKipl00O9GbFPTTKmLdg5no9yb+AvkjywggvuIsWvGmcQAvd5aINbK3/V2uygHj+Prb5EeKoZ+0Z07CF7q8vydBI2bJk4xLefn+DY62tbayt47Szt4oIIlCRxRIFRFHgADsBWg23iywStgjlqAKAUAoCOca8uOAuY+OOK474QxWcttEKt7bLI0e/dHI6kP81INZJc2OU7wOxjmSoJqtGrmk/P76Nu3jtLnibkHfTerGGkfh6/m6usfK3nbvv5LITv8AzjsDb021cd2fz/JT1OyVbekcvwaFZHHZDD5C5xWWsp7O9s5WguLeeMpJFIp0yMp7ggggg1dJqJXRSNOF2eZ16ECgKHxUko6WWvxisVeZQw+qLO3kn9Pq6evoUtrejrevOqxzI+zgceib5GSXA5kagTtd25ka5T5MZHgu1jZ5nksZJLV2kO/B6lCnZ/CEdAPGta8AVp7NmOZTpPhh1zNzaMvs6h2449e6ZMQasCvZdUEHZxmOu8vkrTE2EfqXN7PHbwpvXVI7BVH9yKhtQq7JScTsj225L8peHOSnLvFcBcOW8YWziDXlyF095dED1Z3Pklj434UKo7AVyNROiqJjjiOxp5ENPLUEJOawmYUAoBQCgFAKAUBoV9JfyVw8WMxXPHC2kcF+10mJzPprr6wrIxgmb/UvQUJ8kMg8LV1sqod3Jfqik2vTqynLPJnn5V2UQoC0mpJRDubGT+zuC7qNXmSS9kjtUaM61s9TBjsfhKI49971rRNV+0pjl07txw65G/s6WplQr8MevdogHJ3iCLFZ+XE3JVYsqqornQ1Mmyg2SOxDMPBJYqKrNlz1Lm7jyi++BZ7VkOZLUyH+PDyftw5Wv5Gb66I54uqTySzlL/xV4M/8wY7/APTHWKd+1F6MyyP3YfVHubXHHZigFAKAUAoBQCgFAay/SJ/8s+S/8VsP/sqw2Z/0L0ZXbU/5n6o8oa6U5goe1SC2oPRhDnFxDDlc9FibboaPFKyM47kyvouNgkaHSo8AhuoH2rntqz1MmKXD/H7f4+7nR7LkuXKccWcX1w/sgcM0tvKk8ErxyxsHR0YhlYHYII8EGqxNwu6LJpRKzyNlOEs/HxNw/Z5dTGJJU6Z0Uj8Eq9mGgSV79wD36Sp9662mnqolKNe/r18HIVEvsZ0UrT1yzXDH1WF7rNM+wD7VsGBnfweYveHs1j8/jWRbvGXUV5bl16lEkbh1JHuNgdq8xQqJOF8RDE4WolwNjvvFPiX/ADnBfpMf71od2U+j5lh3rUarkPvFPiX/ADnBfpMf707sp9HzHetRquQ+8U+Jf85wX6TH+9O7KfR8x3rUarkPvFPiX/OcF+kx/vTuyn0fMd61Gq5D7xT4l/znBfpMf707sp9HzHetRquQ+8U+Jf8AOcF+kx/vTuyn0fMd61Gq5D7xT4l/znBfpMf707sp9HzHetRquQ+8U+Jf85wX6TH+9O7KfR8x3rUarkPvFPiX/OcF+kx/vTuyn0fMd61Gq5EP5qfGBzp5ycITcD8b5HFzYueaK4dbfHpE/XGdr+Id/NZZNDJkRb8GZinV06og3I8jClbZplpPtUkpHxeLuIYuF8BdZZyhlRei3Rv8cp7KNbGx7nR30g1r1M9U8pzH7evXwbFPK7ebDL1+v698L2NbZppbiV555XklkYu7uxLMxOyST5JNck24nd5nXJKFWRbUEko5f8Yy8I5cGTpNheMkd2CDtVBOpBoE7XZOvcEjzojcoqp0szHwvP8APsaFfSKpl7yvvQ3t5+WOGNs+GtrmwUM0VxElxbypJFIodHRgyspGwQR5BrqU7q6OZaawZyA1OZ5aLqggUAoBQCgFAKAUAoBQFpNTkSkcc00VvE9xcSpHFGpd3dgqqoGyST4AqG0k2z3DC4nurM195gcYy8XZgmPpFhZs8doAO7KSNyHYB23SDr2Gh52Ty1bVOqmXWSy/J0tBSKml7z8USV/Lyzawvms+RF60zfFAKAnHLvmJLwxKuKyrvJipG7HuzWzE92Ue6k+V/qO+w1lQ1zp32czw/X+eXTra6hVQt+X4vvrh1bOUM0VxEk8EqSRSKHR0YFWUjYII8giujTTV0znGmnZo5AfnUnlorUEFaAUAoBQCgFAU3qpBQn5UJSOOaaK3ie4uJUjijUu7uwCqoGyST4AFQ2liz0ld2Rg3mJzEl4mlbFYp3jxUbdz3DXLA9mYeyj2X+p76C85XVzqHuQeH7668ujoaFU67SPxfXXXnB6rSyFAKAUAoCU8H8w81wnIsJd77HhCgs5ZSFTuW3Ge/QepiToaOzsb0RuUtbMpnbOHT8aFfVbOl1F4oLQxN3btnkscr4KyfCy4YGbcBxZgOJog2IyMcsgQO8Dfhlj7KTtT3IBYAsNrvwTXRSamVUK8t+3Hr4Ofm086T+5DbF/flfPNXxtmk8D69ZzCVDGpIsV6hQWGx86EWGx86Cw6hQmxQsaCxSoJPkZ/i3h/hmMtl8jHFIULpAv4pZOzEaUdxsqQGOl35IrBPqZVOrzH7cevgzSqebP8A24b4pcMOdss3xtkm8DCPGPMDL8XS+mS1nYBQBaRykqx2Dtz26zsDWxoaGhvZPO1VbMqnZ4LT86nRUtBLpknFaKLW3rlnbB2evwRetM3hQCgFAKAUAoC6GaW3lSeCV45Y2Do6MQysDsEEeCDUpuF3RDSiVnkTzh7nFn8VELbLQJlYlXSM7+nKOwA24B6h2PkFiTsmrKTtSbLVo1vL56+fMq5+ypcx3lvd14rjy+rK1if4zmxwXkelZL6WykeT01S6hK78aYsvUqjv5LDWjvQ71Zy9pU8x2vb16ZWzNnVEtXtf06T+CS2GWxWVEhxeStbwRa9T0Jlk6N71vpJ1vR/sa3IJkEzwNP0dzTjlxy7KNNX1O3WQ8CgOpf5fE4ro+08naWfq7KevMsfVrzrqI35H96xxzIJfjaXqzJBLjmeBN+iI1k+a/BeN6lS/lvZElMbJaxFvG9sGbpRl7eQx3sa2O9aczaVPLdr39Ol8G1L2dUTFe1vXptciAcQc4s/lYjbYmBMVEy6dkf1JTsEHTkAKO48DqBGw1Vk/ak2ZhB+lfPMtJGypct70x72nBcOfHyxy4kDmmmuJnuLiV5ZZWLu7sWZmJ2SSe5JPvVa24ndlmkoVZZFtQSKAUAoD/9k=';
|
|
4001
4013
|
this.isExpanded = false;
|
|
4002
4014
|
this.clonedDataSource = {};
|
|
4003
4015
|
/** Emite evento de salvamento da linha */
|
|
4004
|
-
|
|
4016
|
+
// @Output() onRowSave: EventEmitter<any> = new EventEmitter();
|
|
4017
|
+
this.onSave = new EventEmitter();
|
|
4005
4018
|
this.onActiveItem = new EventEmitter();
|
|
4006
4019
|
this.onActiveItemLote = new EventEmitter();
|
|
4007
4020
|
this.onPaginate = new EventEmitter();
|
|
@@ -4013,9 +4026,30 @@ class KvTableEditComponent {
|
|
|
4013
4026
|
rowData: {},
|
|
4014
4027
|
editing: false
|
|
4015
4028
|
};
|
|
4029
|
+
this.sizes = [
|
|
4030
|
+
{ label: 'Pequeno', class: 'p-datatable-sm', size: 0.83, command: (x) => {
|
|
4031
|
+
this.selectedSize = { label: 'Pequeno', class: 'p-datatable-sm', size: 0.83 };
|
|
4032
|
+
} },
|
|
4033
|
+
{ label: 'Normal', class: 'p-datatable-md', size: 1, command: (x) => {
|
|
4034
|
+
this.selectedSize = { label: 'Normal', class: 'p-datatable-md', size: 1 };
|
|
4035
|
+
} },
|
|
4036
|
+
{ label: 'Grande', class: 'p-datatable-lg', size: 1.17, command: (x) => {
|
|
4037
|
+
this.selectedSize = { label: 'Large', class: 'p-datatable-lg', size: 1.17 };
|
|
4038
|
+
} },
|
|
4039
|
+
// { name: 'Small', class: 'p-datatable-sm', size: 0.83 },
|
|
4040
|
+
// { name: 'Normal', class: 'p-datatable-md', size: 1 },
|
|
4041
|
+
// { name: 'Large', class: 'p-datatable-lg', size: 1.17 }
|
|
4042
|
+
];
|
|
4043
|
+
this.selectedSize = { name: 'Normal', class: 'p-datatable-md', size: 1 };
|
|
4044
|
+
this.onSaveTimer$ = new Subject(); // Sujeito para controlar o temporizador
|
|
4045
|
+
this.onDestroy$ = new Subject();
|
|
4016
4046
|
this.isRowSelectable = this.isRowSelectable.bind(this);
|
|
4017
4047
|
}
|
|
4018
4048
|
ngOnInit() {
|
|
4049
|
+
this.onSaveTimer$.pipe(takeUntil(this.onDestroy$)).subscribe(() => {
|
|
4050
|
+
// Quando o temporizador terminar, emita o evento onSave com os dados a serem salvos
|
|
4051
|
+
this.onRowEditSave();
|
|
4052
|
+
});
|
|
4019
4053
|
this.tamanhoTela = window.innerWidth;
|
|
4020
4054
|
this.items = [
|
|
4021
4055
|
{
|
|
@@ -4052,12 +4086,36 @@ class KvTableEditComponent {
|
|
|
4052
4086
|
}
|
|
4053
4087
|
}
|
|
4054
4088
|
},
|
|
4089
|
+
{
|
|
4090
|
+
label: 'Entrar em modo de edição', icon: 'pi pi-fw pi-pencil', command: () => {
|
|
4091
|
+
this.isEditing = true;
|
|
4092
|
+
}
|
|
4093
|
+
},
|
|
4094
|
+
{
|
|
4095
|
+
label: 'Sair do modo de edição', icon: 'pi pi-fw pi-pencil', command: () => {
|
|
4096
|
+
this.isEditing = false;
|
|
4097
|
+
}
|
|
4098
|
+
},
|
|
4055
4099
|
];
|
|
4100
|
+
// Subscreve-se ao sujeito onSaveTimer$
|
|
4101
|
+
}
|
|
4102
|
+
ngOnDestroy() {
|
|
4103
|
+
// Completa o sujeito onDestroy$
|
|
4104
|
+
this.onDestroy$.next();
|
|
4105
|
+
this.onDestroy$.complete();
|
|
4106
|
+
// Se houver um temporizador em execução, pare-o
|
|
4107
|
+
if (this.timerSubscription) {
|
|
4108
|
+
this.timerSubscription.unsubscribe();
|
|
4109
|
+
// Após parar o temporizador, chame onSave diretamente para salvar os dados
|
|
4110
|
+
this.onRowEditSave();
|
|
4111
|
+
}
|
|
4056
4112
|
}
|
|
4057
4113
|
ngDoCheck() {
|
|
4058
|
-
this.items[0].visible = !this.selectedProduct.editing && this.isEditableTable() !== false;
|
|
4059
|
-
this.items[1].visible = this.selectedProduct.editing && this.isEditableTable() !== false;
|
|
4060
|
-
this.items[2].visible = this.selectedProduct.editing && this.isEditableTable() !== false;
|
|
4114
|
+
this.items[0].visible = this.editMode == 'row' && !this.selectedProduct.editing && this.isEditableTable() !== false;
|
|
4115
|
+
this.items[1].visible = this.editMode == 'row' && this.selectedProduct.editing && this.isEditableTable() !== false;
|
|
4116
|
+
this.items[2].visible = this.editMode == 'row' && this.selectedProduct.editing && this.isEditableTable() !== false;
|
|
4117
|
+
this.items[3].visible = this.editMode == 'cell' && !this.isEditing;
|
|
4118
|
+
this.items[4].visible = this.editMode == 'cell' && this.isEditing;
|
|
4061
4119
|
}
|
|
4062
4120
|
dbClickEdit() {
|
|
4063
4121
|
const element = document.getElementById('rowEdit' + this.selectedItem[this.config.dataKey]);
|
|
@@ -4085,36 +4143,70 @@ class KvTableEditComponent {
|
|
|
4085
4143
|
onRowEditInit(rowData) {
|
|
4086
4144
|
this.clonedDataSource[rowData.id] = { ...rowData };
|
|
4087
4145
|
}
|
|
4088
|
-
|
|
4089
|
-
|
|
4090
|
-
|
|
4091
|
-
|
|
4092
|
-
if (col.required ?? true) {
|
|
4093
|
-
if (!rowData[col.field])
|
|
4094
|
-
this.notificationService.toastWarn(`O campo ${col.header} e obrigatório! `);
|
|
4146
|
+
onEditComplete(event) {
|
|
4147
|
+
if (this.isEditing) {
|
|
4148
|
+
if (this.itemsParaSalvamento.length === 0 || this.itemsParaSalvamento[this.itemsParaSalvamento.length - 1].index === event.index) {
|
|
4149
|
+
this.adicionarCelulaParaSalvar(event);
|
|
4095
4150
|
}
|
|
4096
|
-
|
|
4097
|
-
|
|
4098
|
-
|
|
4099
|
-
|
|
4100
|
-
if (tempFormControl.invalid) {
|
|
4101
|
-
this.notificationService.toastWarn(`Erro ao validar dados do campo: ${col.header}! `);
|
|
4102
|
-
errors.push({ erro: "Campo invalido", campo: rowData[col.field] });
|
|
4103
|
-
}
|
|
4151
|
+
else {
|
|
4152
|
+
// Se o último item editado não for da mesma linha, emita o evento onSave e adicione o item atual para salvar
|
|
4153
|
+
this.onRowEditSave();
|
|
4154
|
+
this.adicionarCelulaParaSalvar(event);
|
|
4104
4155
|
}
|
|
4105
|
-
});
|
|
4106
|
-
if (errors.length == 0) {
|
|
4107
|
-
this.onRowSave.emit(rowData);
|
|
4108
|
-
delete this.clonedDataSource[rowData.id];
|
|
4109
4156
|
}
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4157
|
+
}
|
|
4158
|
+
adicionarCelulaParaSalvar(item) {
|
|
4159
|
+
// Adiciona os dados editados ao array para salvamento
|
|
4160
|
+
this.itemsParaSalvamento.push(item);
|
|
4161
|
+
// Se houver um temporizador em execução, limpe-o e reinicie
|
|
4162
|
+
if (this.timerSubscription) {
|
|
4163
|
+
this.timerSubscription.unsubscribe();
|
|
4116
4164
|
}
|
|
4165
|
+
// Inicia o temporizador para emitir onSave após 5 segundos
|
|
4166
|
+
this.timerSubscription = timer(5000).subscribe(() => {
|
|
4167
|
+
this.onSaveTimer$.next(); // Emita onSave após 5 segundos
|
|
4168
|
+
});
|
|
4117
4169
|
}
|
|
4170
|
+
onRowEditSave() {
|
|
4171
|
+
const objetoRefletido = { ...this.itemsParaSalvamento[0].data };
|
|
4172
|
+
// Reflete as alterações em um objeto
|
|
4173
|
+
this.itemsParaSalvamento.forEach(item => {
|
|
4174
|
+
const chave = item.field;
|
|
4175
|
+
const valor = item.data[chave];
|
|
4176
|
+
objetoRefletido[chave] = valor;
|
|
4177
|
+
});
|
|
4178
|
+
this.onSave.emit(objetoRefletido);
|
|
4179
|
+
this.itemsParaSalvamento = [];
|
|
4180
|
+
}
|
|
4181
|
+
// onRowEditSave(rowData: any, index?: any) {
|
|
4182
|
+
// let errors = []
|
|
4183
|
+
// //Validação do formulario fake
|
|
4184
|
+
// this.config.columns.forEach((col: TableEditConfigColumn) => {
|
|
4185
|
+
// if (col.required ?? true) {
|
|
4186
|
+
// if (!rowData[col.field])
|
|
4187
|
+
// this.notificationService.toastWarn(`O campo ${col.header} e obrigatório! `)
|
|
4188
|
+
// }
|
|
4189
|
+
// if (col.validator) {
|
|
4190
|
+
// const tempFormControl = new FormControl(rowData[col.field], col.validator as ValidatorFn);
|
|
4191
|
+
// tempFormControl.markAllAsTouched()
|
|
4192
|
+
// tempFormControl.valid
|
|
4193
|
+
// if (tempFormControl.invalid) {
|
|
4194
|
+
// this.notificationService.toastWarn(`Erro ao validar dados do campo: ${col.header}! `)
|
|
4195
|
+
// errors.push({ erro: "Campo invalido", campo: rowData[col.field] })
|
|
4196
|
+
// }
|
|
4197
|
+
// }
|
|
4198
|
+
// })
|
|
4199
|
+
// if (errors.length == 0) {
|
|
4200
|
+
// this.onRowSave.emit(rowData)
|
|
4201
|
+
// delete this.clonedDataSource[rowData.id as string];
|
|
4202
|
+
// } else {
|
|
4203
|
+
// this.notificationService.toastWarn(`Erro de validação de dados! `)
|
|
4204
|
+
// // this.onRowEditCancel(rowData, index)
|
|
4205
|
+
// // this.onRowEditInit(rowData)
|
|
4206
|
+
// this.dataSource[index] = this.clonedDataSource[rowData.id as string];
|
|
4207
|
+
// delete this.clonedDataSource[rowData.id as string];
|
|
4208
|
+
// }
|
|
4209
|
+
// }
|
|
4118
4210
|
onRowEditCancel(product, index) {
|
|
4119
4211
|
this.dataSource[index] = this.clonedDataSource[product.id];
|
|
4120
4212
|
delete this.clonedDataSource[product.id];
|
|
@@ -4417,18 +4509,16 @@ class KvTableEditComponent {
|
|
|
4417
4509
|
return this.config.columns.some((column) => 'fieldControlType' in column);
|
|
4418
4510
|
}
|
|
4419
4511
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableEditComponent, deps: [{ token: i1.DatePipe }, { token: i1.DecimalPipe }, { token: CpfCnpjPipe }, { token: TelefonePipe }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4420
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvTableEditComponent, selector: "kv-table-edit", inputs: { setConfig: ["config", "setConfig"], dataSource: "dataSource", editMode: "editMode", selectedItems: "selectedItems", totalRecords: "totalRecords", paginator: "paginator", rowsPerPageOptions: "rowsPerPageOptions", rows: "rows", pageLinksOptions: "pageLinksOptions", showFirstLastIcon: "showFirstLastIcon", tableSize: "tableSize", applyStyle: "applyStyle", acoesLinhaTabela: "acoesLinhaTabela", filterColumnsBtn: "filterColumnsBtn", filtrosAvancados: "filtrosAvancados", scrollHeight: "scrollHeight", isTableScrollable: "isTableScrollable", rowTrackBy: "rowTrackBy", responsiveLayout: "responsiveLayout", espacamentoPai: "espacamentoPai", espacamentoLateral: "espacamentoLateral", tamanhoTotalTabela: "tamanhoTotalTabela", rightCollapse: "rightCollapse", _templates: ["templates", "_templates"] }, outputs: { onFilter: "onFilter", onRowSave: "onRowSave", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", onPaginate: "onPaginate", onSelectionChange: "onSelectionChange", doubleClickEvent: "doubleClickEvent", filterField: "filterField", onSwitchTableChange: "onSwitchTableChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, usesOnChanges: true, ngImport: i0, template: "\r\n\r\n<div class=\"card\" >\r\n <p-toast></p-toast>\r\n\r\n <p-panel\r\n *ngIf=\"filtrosAvancados\"\r\n header=\"Filtros avan\u00E7ados\"\r\n [toggleable]=\"true\"\r\n [collapsed]=\"true\"\r\n (collapsedChange)=\"collapsed = !collapsed\"\r\n [style]=\"{ 'margin-bottom': '2px' }\"\r\n >\r\n <ng-template pTemplate=\"headericons\">\r\n <i\r\n *ngIf=\"!collapsed\"\r\n class=\"pi pi-filter\"\r\n ></i>\r\n <!-- \u00CDcone quando o painel est\u00E1 aberto -->\r\n <i\r\n *ngIf=\"collapsed\"\r\n class=\"pi pi-minus\"\r\n ></i>\r\n <!-- \u00CDcone quando o painel est\u00E1 fechado -->\r\n </ng-template>\r\n <ng-content></ng-content>\r\n </p-panel>\r\n\r\n <p-contextMenu #cm [model]=\"items\"></p-contextMenu>\r\n <p-table\r\n #te\r\n [reorderableColumns]=\"config.reorderableColumns || false\"\r\n *ngIf=\"config\"\r\n [value]=\"dataSource\"\r\n [dataKey]=\"config.dataKey\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n [columns]=\"config.columns\"\r\n [editMode]=\"'row'\"\r\n [scrollable]=\"true\"\r\n scrollHeight=\"400px\"\r\n appendTo=\"body\"\r\n [styleClass]=\"'p-datatable-sm'\"\r\n [(selection)]=\"selectedItems\"\r\n [rowSelectable]=\"isRowSelectable\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [rows]=\"rows\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {{ totalRecords }}\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [pageLinks]=\"pageLinksOptions\"\r\n [scrollable]=\"isTableScrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [rowTrackBy]=\"rowTrackBy \"\r\n [(contextMenuSelection)]=\"selectedProduct\"\r\n [contextMenu]=\" isEditableTable() ? cm : null\"\r\n >\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n <ng-template\r\n pTemplate=\"caption\"\r\n *ngIf=\"config.enableCation\"\r\n >\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n <div\r\n *ngIf=\"config.title\"\r\n class=\"text-md font-bold my-3\"\r\n >\r\n {{ config.title }}\r\n </div>\r\n <div\r\n *ngIf=\"config.subtitle\"\r\n class=\"text-sm mb-4 font-medium\"\r\n >\r\n {{ config.subtitle }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center md:col-6 lg:col-4 {{\r\n tamanhoTela < 768 ? 'col-10' : 'col-12'\r\n }} mt-1 mb-2 \">\r\n <span\r\n *ngIf=\"config.enableFilter\"\r\n class=\"p-input-icon-left\"\r\n >\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(te, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end\">\r\n <div\r\n *ngFor=\"let action of config.actionsLote\"\r\n class=\"btns-options\"\r\n [style]=\"{ 'margin-right': '7px' }\"\r\n >\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n *ngIf=\"\r\n (selectedItems.length > 0 || action.showAcoesLote) &&\r\n exibirCampo(action, this.action)\r\n \"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"\r\n action?.command(commandEvent); activeItemLote(selectedItems)\r\n \"\r\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [style.backgroundColor]=\"\r\n retornarCampo(action, selectedItems, 'btnColor')\r\n \"\r\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n [style.color]=\"\r\n retornarCampo(action, selectedItems, 'iconBtnColor')\r\n \"\r\n >\r\n {{ retornarCampo(action, selectedItems, \"icon\") }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n style=\"width: 4rem; border-left: solid 4px transparent\"\r\n *ngIf=\"config.enableSelect\"\r\n >\r\n <p-tableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\"></p-tableHeaderCheckbox>\r\n </th>\r\n\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.min-width]=\"col.width\"\r\n pReorderableColumn\r\n class=\"text-sm\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n <p-sortIcon\r\n *ngIf=\"col.sortable === true\"\r\n [field]=\"col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n\r\n <span\r\n *ngIf=\"col.headerTooltip\"\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"config.actions && config.actions.length > 0\"></th>\r\n <th *ngIf=\"isEditableTable()\" id=\"th-edit\" style=\"width: 20px\">Editar</th>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n\r\n\r\n\r\n <ng-template pTemplate=\"body\" let-rowData let-editing=\"editing\" let-ri=\"rowIndex\" let-columns=\"columns\"\r\n let-rowgroup=\"rowgroup\" let-rowspan=\"rowspan\">\r\n <tr [pEditableRow]=\"rowData\" [pEditableRowDisabled]=\"false\"\r\n [pContextMenuRow]=\"{rowData, editing}\"\r\n >\r\n\r\n\r\n <td\r\n *ngIf=\"config.enableSelect\"\r\n [style]=\"applyStyle(rowData, { field: 'check-box', header: '' })\"\r\n >\r\n <!--<p-tableCheckbox *ngIf=\"isVisibleCheckbox(rowData)\"-->\r\n <p-tableCheckbox\r\n [value]=\"rowData\"\r\n [disabled]=\"isDisabledCheckbox(rowData)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n </td>\r\n\r\n\r\n <ng-container *ngFor=\"let col of columns; let i = index\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n <!-- Celula que armazena os controles de edi\u00E7\u00E3o para os campos -->\r\n <td *ngIf=\"col.fieldControlType\"\r\n [id]=\"'rowTable'+ rowData[config.dataKey]\"\r\n pSelectableRowDblClick=\"\"\r\n (click)=\"activeItem(rowData)\"\r\n (dblclick)=\"dbClickEdit()\"\r\n pSelectableRowDblClick=\"\"\r\n class=\"rowTable\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col) \" [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <p-cellEditor [ngClass]=\"{'switch': col.fieldControlType == 'switch'}\">\r\n <!-- Controle de edi\u00E7\u00E3o do campo -->\r\n <ng-template pTemplate=\"input\">\r\n\r\n <ng-container [ngSwitch]=\"col.fieldControlType\">\r\n\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-text [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\" [required]=\"col.required ?? true\"></kv-input-text>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-number [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\" [required]=\"col.required ?? true\"></kv-input-number>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'mask'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-mask [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [mask]=\"col.mask\" [required]=\"col.required ?? true\" [(ngModel)]=\"rowData[col.field]\"></kv-input-mask>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-switch [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\" ></kv-switch>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n <div [style.width]=\"col.width\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-calendar class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\"></kv-input-calendar>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <p-dropdown\r\n [disabled]=\"isDisableEditRowCellFunction(rowData, col)\"\r\n class=\"cellControl col\"\r\n appendTo=\"body\"\r\n [optionLabel]=\"col.fieldDropDownControl.descricaoobjeto\"\r\n [optionValue]=\"col.fieldDropDownControl.idobjeto\"\r\n [options]=\"col.fieldDropDownControl.fieldControlDropdownSource\"\r\n [(ngModel)]=\"rowData[col.field]\"\r\n >\r\n </p-dropdown>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n\r\n\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n\r\n\r\n\r\n <!-- Valor atual do campo -->\r\n <ng-template pTemplate=\"output\">\r\n <ng-container [ngSwitch]=\"col.fieldControlType\">\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <ng-container *ngIf=\"rowData[col.field]\">\r\n {{\r\n retornaDescricaoDrop(\r\n rowData,\r\n col\r\n )\r\n }}\r\n <!-- {{rowData[col.field]}} -->\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <kv-switch [(ngModel)]=\"rowData[col.field]\" [disabled]=\"true\"></kv-switch>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n {{ rowData[col.field] | date }}\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'mask'\">\r\n {{ rowData[col.field] | mask:col.mask }}\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n {{ rowData[col.field] }}\r\n </ng-container>\r\n\r\n </ng-container>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <td *ngIf=\"rowgroup && !col.template && !col.fieldControlType\" [attr.rowspan]=\"rowgroup && col.grouped ? rowspan : null\"\r\n class=\"rowTable\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \" [pTooltip]=\"returnTooltipRow(rowData, col)\">\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n <span *ngIf=\"\r\n !isChipField(col) && !col.iconField && !isImageField(col)\r\n \">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span [class]=\"returnClassChip(rowData, col)\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">{{\r\n transformValue(rowData, col) }}</span>\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <i *ngIf=\"col.iconField\" [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField && !isSwitchField(col)\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n\r\n <span *ngIf=\"isSwitchField(col)\" [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\" [switchValue]=\"transformValue(rowData, col)\">\r\n </kv-switch>\r\n </span>\r\n </ng-template>\r\n </td>\r\n\r\n <td *ngIf=\"!rowgroup && !col.grouped && !col.template && !col.fieldControlType\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \" class=\"rowTable\" [pTooltip]=\"returnTooltipRow(rowData, col)\">\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n <span *ngIf=\"\r\n !isChipField(col) && !col.iconField && !isImageField(col)\r\n \">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span [class]=\"returnClassChip(rowData, col)\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ transformValue(rowData, col) }}</span>\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <i *ngIf=\"col.iconField\" [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField && !isSwitchField(col)\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n\r\n <span *ngIf=\"isSwitchField(col)\" [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\" [switchValue]=\"transformValue(rowData, col)\">\r\n </kv-switch>\r\n </span>\r\n </ng-template>\r\n </td>\r\n\r\n <td *ngIf=\"col.template && !col.fieldControlType\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \" class=\"rowTable\">\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n <ng-container *ngIf=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\">\r\n </ng-container>\r\n </td>\r\n\r\n </ng-container>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ------------------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- Controle de a\u00E7\u00E3o -->\r\n <td [ngClass]=\"{'td-tools': isEditableTable(), 'td-tools-sticky': !isEditableTable() }\"\r\n *ngIf=\"config.actions && config.actions.length > 0 && !editing\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\"\r\n >\r\n <div\r\n class=\"flex flex-row justify-content-end w-full gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n <div\r\n *ngFor=\"let action of config.actions\"\r\n class=\"mr-1\"\r\n >\r\n <!-- <button\r\n id=\"actionBtns\"\r\n pButton\r\n *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowData); action?.command(commandEvent)\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"\r\n action.tooltipPosition ? action.tooltipPosition : 'bottom'\r\n \"\r\n [disabled]=\"callDisabled(action, rowData)\"\r\n >\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span\r\n >\r\n </button> -->\r\n\r\n <span\r\n class=\"material-symbols-outlined {{\r\n callDisabled(action, rowData)\r\n ? 'text-gray-400 cursor-auto'\r\n : 'cursor-pointer'\r\n }}\"\r\n style=\"font-size: 20px\"\r\n (click)=\"isButtonDisable(action, rowData, commandEvent)\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"\r\n action.tooltipPosition ? action.tooltipPosition : 'bottom'\r\n \"\r\n >\r\n {{ retornarCampo(action, rowData, \"icon\") }}\r\n </span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"!acoesLinhaTabela\"\r\n >\r\n <!-- <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n > -->\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 20px\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n <!-- </button> -->\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <!-- <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div> -->\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n </div>\r\n </td>\r\n\r\n <td\r\n class=\"td-tools\"\r\n *ngIf=\"config.actions && config.actions.length > 0 && editing\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\"\r\n >\r\n <div\r\n class=\"flex flex-row justify-content-end w-full gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n\r\n </div>\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"!acoesLinhaTabela\"\r\n >\r\n </div>\r\n </td>\r\n\r\n\r\n\r\n <!-- ------------------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- Controle de edi\u00E7\u00E3o -->\r\n <td class=\"td-edit\" *ngIf=\"this.isEditableTable()\" >\r\n <div class=\"flex align-items-center justify-content-center gap-2\">\r\n <button [style.height]=\"'28px'\" [id]=\"'rowEdit' + rowData[config.dataKey] \" [style.width]=\"'28px'\" [disabled]=\"isDisableEditRowFunction(rowData)\" *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow icon=\"pi pi-pencil\"\r\n (click)=\"onRowEditInit(rowData)\" class=\"p-button-rounded p-button-text\"></button>\r\n <button [style.height]=\"'28px'\" [style.width]=\"'28px'\" [disabled]=\"isDisableEditRowFunction(rowData)\" *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow icon=\"pi pi-check\"\r\n (click)=\"onRowEditSave(rowData, ri)\" [id]=\"'rowSave' + rowData[config.dataKey] \" class=\"p-button-rounded p-button-text p-button-success mr-2\"></button>\r\n <button [style.height]=\"'28px'\" [style.width]=\"'28px'\" [disabled]=\"isDisableEditRowFunction(rowData)\" *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow icon=\"pi pi-times\"\r\n (click)=\"onRowEditCancel(rowData, ri)\" [id]=\"'rowCancel' + rowData[config.dataKey] \" class=\"p-button-rounded p-button-text p-button-danger\"></button>\r\n </div>\r\n </td>\r\n\r\n\r\n\r\n\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.td-edit{position:sticky;right:-1px;background-color:#fff;color:#5289b4}.td-tools{position:sticky;right:52px;border-right:3px solid #fff!important;background-color:#fff;box-shadow:-5px 0 20px -10px #000000bf}.td-tools-sticky{position:sticky;right:0;border-right:3px solid #fff!important;background-color:#fff;box-shadow:-5px 0 20px -10px #000000bf}#th-edit{position:sticky;right:0;background-color:#eaeaea}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{text-align:center;border:1px solid #eaeaea;border-width:1px 1px;padding:0rem .5rem}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{text-align:center;padding:0rem .5rem;border:1px solid #dee2e6;border-width:1px 1px;font-weight:700;color:#343a40;background:#eaeaea;transition:box-shadow .2s}.error-show{background-color:red;width:5px;height:10px}.btns-options{position:relative;left:20px}.chip-style{border:solid 1px}:host::ng-deep .p-card .p-card-content{padding:0}.material-symbols-outlined.md-19{font-size:15px}.material-symbols-outlined.md-22{font-size:19px}.checkbox-container{display:flex;align-items:center;gap:2px;margin-top:5px}#botaoFiltro:hover{color:#a9a9a9}.actionLoteBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;font-size:16px;width:2rem;height:2rem;top:2px;margin-left:.5rem;justify-content:center;text-decoration:none;text-align:justify;padding:12px}:host ::ng-deep .center{display:flex;align-items:center;justify-content:center}#actionLoteBtns:hover,.actionLoteBtns:hover{background-color:#29b92d!important}.actionBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;width:.8rem;height:.8rem;margin-left:.22rem;justify-content:center;text-decoration:none;text-align:justify;padding:11px}:host::ng-deep .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:.9;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#actionBtns:hover{color:#a9a9a9}.image{border-style:solid;border-width:3.5px;border-color:#5289b4;border-radius:100%;height:55px;width:55px;padding:0;margin:0;vertical-align:middle}:host ::ng-deep .p-inputtext{font-size:.75rem}:host ::ng-deep .p-datatable-table{font-size:.75rem}:host ::ng-deep .p-datatable-header{background-color:#eaeaea!important;padding:2px 13px 0!important;border-radius:5px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th{background-color:#eaeaea!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td{border-bottom:1px solid #ddd!important;border-top:1px solid #ddd!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:50%;width:2.5rem!important;height:2.5rem!important;box-shadow:#0000003d 0 3px 8px}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}@media only screen and (min-width: 768px){.actionLoteBtns{top:-1px}}@media only screen and (max-width: 960px){:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(p-tablecheckbox){border-bottom:0px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(img){justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(img) .p-column-title{display:none!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child div{justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td .p-column-title{font-weight:600}}::ng-deep .p-panel.p-panel-toggleable .p-panel-header{background-color:#eaeaea!important}::ng-deep .field.grid,.formgrid.grid{padding:0rem!important}@media screen and (min-width: 961px){.moreVertBtn{position:relative;right:3px}}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:last-of-type{border-radius:0 0 5px!important}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:first-of-type{border-radius:0 0 0 5px!important}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before{transform:translate(1.25rem);height:15px;margin-top:-8px;-webkit-transform:translateX(1.25rem);-moz-transform:translateX(1.25rem);-ms-transform:translateX(1.25rem);-o-transform:translateX(1.25rem)}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch.p-inputswitch-checked .p-inputswitch-slider{height:21px}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch{height:21px}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider:before{background:#fff;width:1rem;height:1.25rem;height:16px!important;left:.25rem;margin-top:-9px!important;margin-top:-.625rem;border-radius:50%;transition-duration:.2s}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch:not(.p-disabled) .p-inputswitch-slider{height:21px}:host ::ng-deep p-celleditor>div>kv-input-text>span>.inputs{height:15px!important}:host ::ng-deep p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options){height:25px!important}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider{height:21px!important}:host ::ng-deep input.p-inputtext.p-component.p-element.p-inputmask.inputs.p-filled{height:15px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4$5.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i5$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i7$2.ContextMenu, selector: "p-contextMenu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "id", "ariaLabel", "ariaLabelledBy", "pressDelay"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i4.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i6.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i5.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i11$1.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }, { kind: "component", type: i13.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i13.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i13.ContextMenuRow, selector: "[pContextMenuRow]", inputs: ["pContextMenuRow", "pContextMenuRowIndex", "pContextMenuRowDisabled"] }, { kind: "directive", type: i13.ReorderableColumn, selector: "[pReorderableColumn]", inputs: ["pReorderableColumnDisabled"] }, { kind: "component", type: i13.CellEditor, selector: "p-cellEditor" }, { kind: "component", type: i13.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i13.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i13.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: i13.SelectableRowDblClick, selector: "[pSelectableRowDblClick]", inputs: ["pSelectableRowDblClick", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "directive", type: i13.EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: i13.InitEditableRow, selector: "[pInitEditableRow]" }, { kind: "directive", type: i13.SaveEditableRow, selector: "[pSaveEditableRow]" }, { kind: "directive", type: i13.CancelEditableRow, selector: "[pCancelEditableRow]" }, { kind: "component", type: i14.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: KvInputCalendarComponent, selector: "kv-input-calendar", inputs: ["isYear", "isMonthYear", "minDate", "maxDate", "showButtonBar", "showIcon", "showTime", "selectionMode"], outputs: ["onSelectionChange", "onSelectionValue"] }, { kind: "component", type: KvInputMaskComponent, selector: "kv-input-mask", inputs: ["mask"], outputs: ["onComplete"] }, { kind: "component", type: KvInputNumberComponent, selector: "kv-input-number", inputs: ["mode", "digits", "min", "max", "suffix"] }, { kind: "component", type: KvInputTextComponent, selector: "kv-input-text", inputs: ["textCaptalized"] }, { kind: "component", type: KvSwitchComponent, selector: "kv-switch", inputs: ["readonly", "switchValue"], outputs: ["onSwitchChange"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: MaskPipe, name: "mask" }] }); }
|
|
4512
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvTableEditComponent, selector: "kv-table-edit", inputs: { setConfig: ["config", "setConfig"], dataSource: "dataSource", selectedItems: "selectedItems", totalRecords: "totalRecords", paginator: "paginator", rowsPerPageOptions: "rowsPerPageOptions", rows: "rows", pageLinksOptions: "pageLinksOptions", showFirstLastIcon: "showFirstLastIcon", tableSize: "tableSize", applyStyle: "applyStyle", acoesLinhaTabela: "acoesLinhaTabela", filterColumnsBtn: "filterColumnsBtn", filtrosAvancados: "filtrosAvancados", scrollHeight: "scrollHeight", isTableScrollable: "isTableScrollable", rowTrackBy: "rowTrackBy", responsiveLayout: "responsiveLayout", espacamentoPai: "espacamentoPai", espacamentoLateral: "espacamentoLateral", tamanhoTotalTabela: "tamanhoTotalTabela", editMode: "editMode", enableSizes: "enableSizes", _templates: ["templates", "_templates"] }, outputs: { onFilter: "onFilter", onSave: "onSave", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", onPaginate: "onPaginate", onSelectionChange: "onSelectionChange", doubleClickEvent: "doubleClickEvent", filterField: "filterField", onSwitchTableChange: "onSwitchTableChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, usesOnChanges: true, ngImport: i0, template: "\r\n\r\n<div class=\"card\" id=\"tamanhotabela\" [style.font-size]=\"'1px'\">\r\n <p-toast></p-toast>\r\n\r\n <p-panel\r\n *ngIf=\"filtrosAvancados\"\r\n header=\"Filtros avan\u00E7ados\"\r\n [toggleable]=\"true\"\r\n [collapsed]=\"true\"\r\n (collapsedChange)=\"collapsed = !collapsed\"\r\n [style]=\"{ 'margin-bottom': '2px' }\"\r\n >\r\n <ng-template pTemplate=\"headericons\">\r\n <i\r\n *ngIf=\"!collapsed\"\r\n class=\"pi pi-filter\"\r\n ></i>\r\n <!-- \u00CDcone quando o painel est\u00E1 aberto -->\r\n <i\r\n *ngIf=\"collapsed\"\r\n class=\"pi pi-minus\"\r\n ></i>\r\n <!-- \u00CDcone quando o painel est\u00E1 fechado -->\r\n </ng-template>s\r\n <ng-content></ng-content>\r\n </p-panel>\r\n\r\n <p-contextMenu #cm [model]=\"items\"></p-contextMenu>\r\n <p-table\r\n #te\r\n\r\n [editMode]=\"editMode\"\r\n (onEditComplete)=\"onEditComplete($event)\"\r\n [reorderableColumns]=\"config.reorderableColumns || false\"\r\n *ngIf=\"config\"\r\n [value]=\"dataSource\"\r\n [dataKey]=\"config.dataKey\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n [columns]=\"config.columns\"\r\n [scrollable]=\"true\"\r\n scrollHeight=\"400px\"\r\n appendTo=\"body\"\r\n [styleClass]=\"selectedSize.class\"\r\n [(selection)]=\"selectedItems\"\r\n [rowSelectable]=\"isRowSelectable\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [rows]=\"rows\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {{ totalRecords }}\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [pageLinks]=\"pageLinksOptions\"\r\n [scrollable]=\"isTableScrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [rowTrackBy]=\"rowTrackBy \"\r\n [(contextMenuSelection)]=\"selectedProduct\"\r\n [contextMenu]=\" isEditableTable() ? cm : null\"\r\n >\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n <ng-template\r\n pTemplate=\"caption\"\r\n *ngIf=\"config.enableCation || enableSizes\"\r\n >\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n <div\r\n *ngIf=\"config.title\"\r\n class=\"text-md font-bold my-3\"\r\n >\r\n {{ config.title }}\r\n </div>\r\n <div\r\n *ngIf=\"config.subtitle\"\r\n class=\"text-sm mb-4 font-medium\"\r\n >\r\n {{ config.subtitle }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center md:col-6 lg:col-4 {{\r\n tamanhoTela < 768 ? 'col-10' : 'col-12'\r\n }} mt-1 mb-2 \">\r\n <span\r\n *ngIf=\"config.enableFilter\"\r\n class=\"p-input-icon-left\"\r\n >\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(te, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n\r\n\r\n <!-- FIXME: Op\u00E7\u00E3o 1 -->\r\n <!-- <div class=\"sizes-controls ml-2\" *ngIf=\"isShowSizes\">\r\n <p-selectButton\r\n [options]=\"sizes\"\r\n [(ngModel)]=\"selectedSize\"\r\n [style]=\"{'display': 'flex'}\"\r\n optionLabel=\"name\"\r\n />\r\n </div>\r\n <button\r\n id=\"btn-sizes\"\r\n pButton\r\n [pTooltip]=\"isShowSizes ? 'Esconder controles de tamanho' : 'Mostrar controles de tamanho'\"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"isShowSizes = !isShowSizes\"\r\n >\r\n <span style=\"font-size: 0.8rem;\" class=\"flex align-items-end\">\r\n <span style=\"font-size: 0.7rem;\">\r\n A\r\n </span>\r\n A\r\n </span>\r\n </button> -->\r\n\r\n <!-- FIXME: Op\u00E7\u00E3o 2 -->\r\n <div *ngIf=\"enableSizes\" class=\"sizes-controls ml-2\" >\r\n <p-splitButton\r\n label=\"aA\"\r\n [model]=\"sizes\"\r\n styleClass=\"teste\"\r\n ngModel\r\n >\r\n </p-splitButton>\r\n </div>\r\n\r\n <!-- FIXME: Op\u00E7\u00E3o 3 -->\r\n <!-- <div class=\"sizes-controls ml-2\" style=\"transform: translate(0px, -15px);\" >\r\n <p-speedDial\r\n [model]=\"sizes\"\r\n showIcon=\"format_size\"\r\n hideIcon=\"format_size\"\r\n radius=\"120\"\r\n direction=\"down-right\"\r\n type=\"quarter-circle\"\r\n buttonClassName=\"item-circle\"\r\n >\r\n\r\n <ng-template pTemplate=\"button\">\r\n <span class=\"material-symbols-outlined\">\r\n format_size\r\n </span>\r\n </ng-template>\r\n\r\n\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"item-circle\">\r\n {{item.label}}\r\n </div>\r\n </ng-template>\r\n\r\n </p-speedDial>\r\n </div> -->\r\n\r\n\r\n </div>\r\n\r\n <span *ngIf=\"isEditing\" class=\"text-aviso\">\r\n\r\n Tabela em modo de edi\u00E7\u00E3o\r\n\r\n </span>\r\n\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end\">\r\n\r\n\r\n <div\r\n *ngFor=\"let action of config.actionsLote\"\r\n class=\"btns-options\"\r\n [style]=\"{ 'margin-right': '7px' }\"\r\n >\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n *ngIf=\"\r\n !isEditing &&\r\n (selectedItems.length > 0 || action.showAcoesLote) &&\r\n exibirCampo(action, this.action)\r\n \"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"\r\n action?.command(commandEvent); activeItemLote(selectedItems)\r\n \"\r\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [style.backgroundColor]=\"\r\n retornarCampo(action, selectedItems, 'btnColor')\r\n \"\r\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n [style.color]=\"\r\n retornarCampo(action, selectedItems, 'iconBtnColor')\r\n \"\r\n >\r\n {{ retornarCampo(action, selectedItems, \"icon\") }}\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"isEditableTable()\" class=\"btns-options\"\r\n [style]=\"{ 'margin-right': '7px' }\"\r\n >\r\n <button\r\n (click)=\"this.isEditing = !this.isEditing\"\r\n id=\"actionLoteBtns\"\r\n pButton\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n >\r\n <span class=\"material-symbols-outlined\">\r\n edit_square\r\n </span>\r\n </button>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n style=\"width: 4rem; border-left: solid 4px transparent\"\r\n *ngIf=\"config.enableSelect && !isEditing\"\r\n [class]=\"selectedSize.class+'th'\"\r\n >\r\n <p-tableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\"></p-tableHeaderCheckbox>\r\n </th>\r\n\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.min-width]=\"col.width * selectedSize.size + 'px'\"\r\n pReorderableColumn\r\n [class]=\"selectedSize.class+'th'\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n <p-sortIcon\r\n *ngIf=\"col.sortable === true\"\r\n [field]=\"col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n\r\n <span\r\n *ngIf=\"col.headerTooltip\"\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"!isEditing && config.actions && config.actions.length > 0\"></th>\r\n <th *ngIf=\"isEditableTable() && this.editMode == 'row'\" id=\"th-edit\" style=\"width: 20px\">Editar</th>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n\r\n\r\n\r\n <ng-template pTemplate=\"body\" let-rowData let-editing=\"editing\" let-ri=\"rowIndex\" let-columns=\"columns\"\r\n let-rowgroup=\"rowgroup\" let-rowspan=\"rowspan\">\r\n <tr [pEditableRow]=\"rowData\" [pEditableRowDisabled]=\"false\"\r\n [pContextMenuRow]=\"{rowData, editing}\"\r\n [class]=\"selectedSize.class+'-tr'\"\r\n >\r\n\r\n\r\n <td\r\n *ngIf=\"config.enableSelect && !isEditing\"\r\n [style]=\"applyStyle(rowData, { field: 'check-box', header: '' })\"\r\n >\r\n <!--<p-tableCheckbox *ngIf=\"isVisibleCheckbox(rowData)\"-->\r\n <p-tableCheckbox\r\n class=\"check-edit-list\"\r\n [value]=\"rowData\"\r\n [disabled]=\"isDisabledCheckbox(rowData)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n </td>\r\n\r\n\r\n <ng-container *ngFor=\"let col of columns; let i = index\">\r\n\r\n\r\n\r\n\r\n <!-- FIXME: Testar a implementa\u00E7\u00E3o abaixo e mesaclar as duas formas -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <ng-template #templateInput let-rowData=\"rowData\" let-col=\"col\">\r\n <ng-container *ngIf=\"isEditing; else templatevisualedicao\">\r\n <ng-container [ngSwitch]=\"col.fieldControlType\">\r\n\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-text [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\" [required]=\"col.required ?? true\"></kv-input-text>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-number [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\" [required]=\"col.required ?? true\"></kv-input-number>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'mask'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-mask [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [mask]=\"col.mask\" [required]=\"col.required ?? true\" [(ngModel)]=\"rowData[col.field]\"></kv-input-mask>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-switch [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\" ></kv-switch>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n <div [style.width]=\"col.width\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-calendar class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\"></kv-input-calendar>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <p-dropdown\r\n [disabled]=\"isDisableEditRowCellFunction(rowData, col)\"\r\n class=\"cellControl col\"\r\n appendTo=\"body\"\r\n [panelStyle]=\"{'font-size': '0.75rem'}\"\r\n [optionLabel]=\"col.fieldDropDownControl.descricaoobjeto\"\r\n [optionValue]=\"col.fieldDropDownControl.idobjeto\"\r\n [options]=\"col.fieldDropDownControl.fieldControlDropdownSource\"\r\n [(ngModel)]=\"rowData[col.field]\"\r\n >\r\n </p-dropdown>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-template #templatevisualedicao>\r\n <ng-container *ngTemplateOutlet=\"templateOutput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template>\r\n </ng-template>\r\n\r\n <ng-template #templateOutput let-rowData=\"rowData\" let-col=\"col\">\r\n <ng-container [ngSwitch]=\"col.fieldControlType\">\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <ng-container *ngIf=\"rowData[col.field]\">\r\n {{\r\n retornaDescricaoDrop(\r\n rowData,\r\n col\r\n )\r\n }}\r\n <!-- {{rowData[col.field]}} -->\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <kv-switch [(ngModel)]=\"rowData[col.field]\" [disabled]=\"true\"></kv-switch>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n {{ rowData[col.field] | date }}\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'mask'\">\r\n {{ rowData[col.field] | mask:col.mask }}\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n {{ rowData[col.field] }}\r\n </ng-container>\r\n\r\n </ng-container>\r\n </ng-template>\r\n\r\n\r\n\r\n <td\r\n *ngIf=\"editMode == 'cell' && col.fieldControlType\"\r\n [pEditableColumn]=\"rowData\"\r\n [pEditableColumnField]=\"col.field\"\r\n [pEditableColumnRowIndex]=\"rowData[config.dataKey]\"\r\n [id]=\"'rowTable'+ rowData[config.dataKey]\"\r\n (click)=\"activeItem(rowData)\"\r\n (dblclick)=\"dbClickEdit()\"\r\n class=\"rowTable\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col) \"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n\r\n >\r\n <p-cellEditor>\r\n\r\n <ng-container >\r\n\r\n <ng-template pTemplate=\"input\">\r\n <ng-container *ngTemplateOutlet=\"templateInput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngTemplateOutlet=\"templateOutput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template>\r\n\r\n </ng-container>\r\n\r\n\r\n\r\n\r\n <!-- <ng-template *ngIf=\"!isEditing\" pTemplate=\"input\">\r\n <ng-container *ngTemplateOutlet=\"templateInput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"isEditing\" pTemplate=\"output\">\r\n <ng-container *ngTemplateOutlet=\"templateOutput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template> -->\r\n\r\n </p-cellEditor>\r\n </td>\r\n\r\n\r\n <!-- NOTE: Edi\u00E7\u00E3o de linha -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n <!-- Celula que armazena os controles de edi\u00E7\u00E3o para os campos -->\r\n <td *ngIf=\"false && col.fieldControlType && editMode == 'row'\"\r\n [id]=\"'rowTable'+ rowData[config.dataKey]\"\r\n (click)=\"activeItem(rowData)\"\r\n (dblclick)=\"dbClickEdit()\"\r\n class=\"rowTable\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <p-cellEditor [ngClass]=\"{'switch': col.fieldControlType == 'switch'}\">\r\n\r\n <ng-template pTemplate=\"input\">\r\n <ng-container *ngTemplateOutlet=\"templateInput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngTemplateOutlet=\"templateOutput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template>\r\n\r\n </p-cellEditor>\r\n </td>\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <td *ngIf=\"rowgroup && !col.template \" [attr.rowspan]=\"rowgroup && col.grouped ? rowspan : null\"\r\n class=\"rowTable\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \" [pTooltip]=\"returnTooltipRow(rowData, col)\">\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n <span *ngIf=\"\r\n !isChipField(col) && !col.iconField && !isImageField(col)\r\n \">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span [class]=\"returnClassChip(rowData, col)\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">{{\r\n transformValue(rowData, col) }}</span>\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <i *ngIf=\"col.iconField\" [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField && !isSwitchField(col)\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n\r\n <span *ngIf=\"isSwitchField(col)\" [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\" [switchValue]=\"transformValue(rowData, col)\">\r\n </kv-switch>\r\n </span>\r\n </ng-template>\r\n </td>\r\n\r\n <td *ngIf=\"!rowgroup && !col.grouped && !col.template && !isEditableTable()\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \" class=\"rowTable\" [pTooltip]=\"returnTooltipRow(rowData, col)\">\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n <span *ngIf=\"\r\n !isChipField(col) && !col.iconField && !isImageField(col)\r\n \">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span [class]=\"returnClassChip(rowData, col)\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ transformValue(rowData, col) }}</span>\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <i *ngIf=\"col.iconField\" [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField && !isSwitchField(col)\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n\r\n <span *ngIf=\"isSwitchField(col)\" [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\" [switchValue]=\"transformValue(rowData, col)\">\r\n </kv-switch>\r\n </span>\r\n </ng-template>\r\n </td>\r\n\r\n <td *ngIf=\"col.template && !isEditableTable()\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \" class=\"rowTable\">\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n <ng-container *ngIf=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\">\r\n </ng-container>\r\n </td>\r\n\r\n </ng-container>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ------------------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- Controle de a\u00E7\u00E3o -->\r\n <td [ngClass]=\"{'td-tools': isEditableTable() && this.editMode == 'row' , 'td-tools-sticky': !isEditableTable() || this.editMode == 'cell' }\"\r\n *ngIf=\"!isEditing && config.actions && config.actions.length > 0 \"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\"\r\n >\r\n <div\r\n class=\"flex flex-row justify-content-end w-full gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n <div\r\n *ngFor=\"let action of config.actions\"\r\n class=\"mr-1\"\r\n >\r\n <!-- <button\r\n id=\"actionBtns\"\r\n pButton\r\n *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowData); action?.command(commandEvent)\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"\r\n action.tooltipPosition ? action.tooltipPosition : 'bottom'\r\n \"\r\n [disabled]=\"callDisabled(action, rowData)\"\r\n >\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span\r\n >\r\n </button> -->\r\n\r\n <span\r\n class=\"material-symbols-outlined {{\r\n callDisabled(action, rowData)\r\n ? 'text-gray-400 cursor-auto'\r\n : 'cursor-pointer'\r\n }}\"\r\n style=\"font-size: 20px\"\r\n (click)=\"isButtonDisable(action, rowData, commandEvent)\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"\r\n action.tooltipPosition ? action.tooltipPosition : 'bottom'\r\n \"\r\n >\r\n {{ retornarCampo(action, rowData, \"icon\") }}\r\n </span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"!acoesLinhaTabela\"\r\n >\r\n <!-- <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n > -->\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 1rem; height: 10px; width: 20px;\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n <!-- </button> -->\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <!-- <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div> -->\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n </div>\r\n </td>\r\n\r\n <!-- <td\r\n class=\"td-tools\"\r\n *ngIf=\"!isEditing && config.actions && config.actions.length > 0\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\"\r\n >\r\n <div\r\n class=\"flex flex-row justify-content-end w-full gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n\r\n </div>\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"!acoesLinhaTabela\"\r\n >\r\n </div>\r\n </td> -->\r\n\r\n\r\n\r\n <!-- ------------------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- Controle de edi\u00E7\u00E3o -->\r\n <td class=\"td-edit\" *ngIf=\"this.isEditableTable() && this.editMode == 'row'\" >\r\n <div class=\"flex align-items-center justify-content-center gap-2\">\r\n <button [style.height]=\"'28px'\" [id]=\"'rowEdit' + rowData[config.dataKey] \" [style.width]=\"'28px'\" [disabled]=\"isDisableEditRowFunction(rowData)\" *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow icon=\"pi pi-pencil\"\r\n (click)=\"onRowEditInit(rowData)\" class=\"p-button-rounded p-button-text\"></button>\r\n <!-- <button [style.height]=\"'28px'\" [style.width]=\"'28px'\" [disabled]=\"isDisableEditRowFunction(rowData)\" *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow icon=\"pi pi-check\"\r\n (click)=\"onRowEditSave(rowData, ri)\" [id]=\"'rowSave' + rowData[config.dataKey] \" class=\"p-button-rounded p-button-text p-button-success mr-2\"></button> -->\r\n <button [style.height]=\"'28px'\" [style.width]=\"'28px'\" [disabled]=\"isDisableEditRowFunction(rowData)\" *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow icon=\"pi pi-times\"\r\n (click)=\"onRowEditCancel(rowData, ri)\" [id]=\"'rowCancel' + rowData[config.dataKey] \" class=\"p-button-rounded p-button-text p-button-danger\"></button>\r\n </div>\r\n </td>\r\n\r\n\r\n\r\n\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.td-edit{position:sticky;right:-1px;background-color:#fff;color:#5289b4}.td-tools{position:sticky;right:52px;border-right:3px solid #fff!important;background-color:#fff;box-shadow:-5px 0 20px -10px #000000bf}.td-tools-sticky{position:sticky;right:0;border-right:3px solid #fff!important;background-color:#fff;box-shadow:-5px 0 20px -10px #000000bf}#th-edit{position:sticky;right:0;background-color:#eaeaea}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{text-align:center;border:1px solid #eaeaea;border-width:1px 1px;padding:0rem .5rem}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{text-align:center;padding:0rem .5rem;border-left:none;border-right:none;border-width:1px 1px;font-weight:700;color:#343a40;background:#eaeaea;transition:box-shadow .2s}.error-show{background-color:red;width:5px;height:10px}.btns-options{position:relative;left:20px}.chip-style{border:solid 1px}:host::ng-deep .p-card .p-card-content{padding:0}.material-symbols-outlined.md-19{font-size:15px}.material-symbols-outlined.md-22{font-size:19px}.checkbox-container{display:flex;align-items:center;gap:2px;margin-top:5px}#botaoFiltro:hover{color:#a9a9a9}.actionLoteBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;font-size:16px;width:2rem;height:2rem;top:2px;margin-left:.5rem;justify-content:center;text-decoration:none;text-align:justify;padding:12px}:host ::ng-deep .center{display:flex;align-items:center;justify-content:center}#actionLoteBtns:hover,.actionLoteBtns:hover{background-color:#29b92d!important}.actionBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;width:.8rem;height:.8rem;margin-left:.22rem;justify-content:center;text-decoration:none;text-align:justify;padding:11px}:host::ng-deep .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:.9;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#actionBtns:hover{color:#a9a9a9}.image{border-style:solid;border-width:3.5px;border-color:#5289b4;border-radius:100%;height:55px;width:55px;padding:0;margin:0;vertical-align:middle}:host ::ng-deep .p-datatable-header{background-color:#eaeaea!important;padding:2px 13px 0!important;border-radius:5px!important}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{background-color:#eaeaea!important}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{border-left:none!important;border-right:none!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:50%;width:2.5rem!important;height:2.5rem!important;box-shadow:#0000003d 0 3px 8px}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}@media only screen and (min-width: 768px){.actionLoteBtns{top:-1px}}@media only screen and (max-width: 960px){:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td:has(p-tablecheckbox){border-bottom:0px!important}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td:has(img){justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td:has(img) .p-column-title{display:none!important}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid #ddd!important}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td:last-child div{justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td .p-column-title{font-weight:600}}::ng-deep .p-panel.p-panel-toggleable .p-panel-header{background-color:#eaeaea!important}::ng-deep .field.grid,.formgrid.grid{padding:0rem!important}@media screen and (min-width: 961px){.moreVertBtn{position:relative;right:3px}}::ng-deep .p-datatable .p-datatable-thead>tr>th:last-of-type{border-radius:0 0 5px!important;-webkit-border-radius:0px 0px 5px 0px!important;-moz-border-radius:0px 0px 5px 0px!important;-ms-border-radius:0px 0px 5px 0px!important;-o-border-radius:0px 0px 5px 0px!important}::ng-deep .p-datatable .p-datatable-thead>tr>th:first-of-type{border-radius:0 0 0 5px!important;-webkit-border-radius:0px 0px 0px 5px!important;-moz-border-radius:0px 0px 0px 5px!important;-ms-border-radius:0px 0px 0px 5px!important;-o-border-radius:0px 0px 0px 5px!important}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before{transform:translate(1.25rem);height:15px;margin-top:-8px;-webkit-transform:translateX(1.25rem);-moz-transform:translateX(1.25rem);-ms-transform:translateX(1.25rem);-o-transform:translateX(1.25rem)}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch.p-inputswitch-checked .p-inputswitch-slider{height:21px}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch{height:21px}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider:before{background:#fff;width:1rem;height:1.25rem;height:16px!important;left:.25rem;margin-top:-9px!important;margin-top:-.625rem;border-radius:50%;transition-duration:.2s}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch:not(.p-disabled) .p-inputswitch-slider{height:21px}:host ::ng-deep .p-cell-editing{padding-top:0!important;padding-bottom:0!important}:host ::ng-deep p-dropdown-item{font-size:.1rem}.text-aviso{color:red;font-size:.85rem;font-weight:400;width:500px}:host ::ng-deep .p-checkbox .p-checkbox-box{width:18px;height:18px}:host ::ng-deep .p-selectbutton .p-button{font-size:.75rem!important;height:24px;padding:11px}#btn-sizes{border-radius:50%;width:.5rem!important;height:.5rem!important;box-shadow:#0000003d 0 3px 8px}:host ::ng-deep .p-datatable.p-datatable-sm{font-size:.625rem!important}:host ::ng-deep .p-datatable.p-datatable-md{font-size:.75rem!important}:host ::ng-deep .p-datatable.p-datatable-lg{font-size:.875rem!important}:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>div>.cellControl>.p-dropdown .p-dropdown-label{width:1%;padding-top:0;padding-bottom:0;font-size:.6rem}:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>div>kv-input-text>span>.inputs{padding-top:0;padding-bottom:0;font-size:.6rem;height:1rem}:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>div>.cellControl>span>p-inputmask>.inputs{height:1rem;padding-top:0;padding-bottom:0;font-size:.6rem}:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>div>kv-switch>div>p-inputswitch>div,:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>kv-switch>div>p-inputswitch,:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider{height:.6rem!important;width:2.4rem}:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider:before{background:#fff;width:.6rem!important;height:.6rem!important;left:.2rem;margin-top:-.35rem!important;border-radius:50%;transition-duration:.2s}:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>div>kv-switch>div>p-inputswitch>div>span:before{background:#fff;width:.6rem!important;height:.6rem!important;left:.2rem;margin-top:-.35rem!important;border-radius:50%;transition-duration:.2s}:host ::ng-deep .p-datatable-md-tr>td p-celleditor>div>.cellControl>.p-dropdown .p-dropdown-label{width:1%;padding-top:0;padding-bottom:0;font-size:.7rem}:host ::ng-deep .p-datatable-md-tr>td p-celleditor>div>kv-input-text>span>.inputs{padding-top:0;padding-bottom:0;font-size:.7rem;height:1rem}:host ::ng-deep .p-datatable-md-tr>td p-celleditor>div>.cellControl>span>p-inputmask>.inputs{height:1rem;padding-top:0;padding-bottom:0;font-size:.7rem}:host ::ng-deep .p-datatable-md-tr>td p-celleditor>div>kv-switch>div>p-inputswitch>div,:host ::ng-deep .p-datatable-md-tr>td p-celleditor>kv-switch>div>p-inputswitch,:host ::ng-deep .p-datatable-md-tr>td p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider{height:.83rem!important;width:2.7rem}:host ::ng-deep .p-datatable-md-tr>td p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider:before{background:#fff;width:.7rem!important;height:.7rem!important;left:.25rem;margin-top:-.35rem!important;border-radius:50%;transition-duration:.2s}:host ::ng-deep .p-datatable-md-tr>td p-celleditor>div>kv-switch>div>p-inputswitch>div>span:before{background:#fff;width:.7rem;height:.7rem;left:.25rem;margin-top:-.4rem;border-radius:50%;transition-duration:.2s}:host ::ng-deep .p-datatable-lg-tr>td p-celleditor>div>kv-input-text>span>.inputs{padding-top:0;padding-bottom:0;font-size:.8rem;height:1rem}:host ::ng-deep .p-datatable-lg-tr>td p-celleditor>div>.cellControl>.p-dropdown .p-dropdown-label{padding-top:0;padding-bottom:0;font-size:.8rem}:host ::ng-deep .p-datatable-lg-tr>td p-celleditor>div>.cellControl>span>p-inputmask>.inputs{height:1rem;padding-top:0;padding-bottom:0;font-size:.8rem}:host ::ng-deep .p-datatable-sm-tr>td,:host ::ng-deep .p-datatable-md-tr>td,:host ::ng-deep .p-datatable-lg-tr>td{padding:.15rem!important}.p-datatable.p-datatable-smth{font-size:.6rem!important}.p-datatable.p-datatable-dmth{font-size:.7rem!important}.p-datatable.p-datatable-lgth{font-size:.8rem!important}:host ::ng-deep .p-datatable.p-datatable-sm * p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options) p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options){height:15px!important}:host ::ng-deep .p-datatable.p-datatable-md * p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options) p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options){height:25px!important}:host ::ng-deep .p-datatable.p-datatable-lg * p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options) p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options){height:30px!important}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider{height:21px!important}:host ::ng-deep .teste>.p-button{background:#eaeaea!important;color:#a9a9a9;border:none;box-shadow:#0000003d 0 3px 8px;height:20px}:host ::ng-deep .teste{width:70px}:host ::ng-deep .p-tieredmenu-root-list>li:first-child{font-size:.6rem}:host ::ng-deep .p-tieredmenu-root-list>li:last-child{font-size:1.17rem}:host ::ng-deep .p-speeddial-button.p-button.p-button-icon-only{width:2rem;height:2rem;font-size:1rem}.item-circle{width:4rem;height:2rem;padding:1rem;font-size:.8rem;border-radius:17%;display:flex;align-items:center;justify-content:center;background:#eaeaea!important;box-shadow:#0000003d 0 3px 13px}:host ::ng-deep p-speeddial>div>button>span.material-symbols-outlined.ng-star-inserted{font-size:1.1rem}:host ::ng-deep .check-edit-list>div.p-checkbox.p-component{height:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4$5.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i5$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i7$2.ContextMenu, selector: "p-contextMenu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "id", "ariaLabel", "ariaLabelledBy", "pressDelay"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i4.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i6.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i5.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i11$1.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }, { kind: "component", type: i13.SplitButton, selector: "p-splitButton", inputs: ["model", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions", "buttonProps", "menuButtonProps", "autofocus", "disabled", "menuButtonDisabled", "buttonDisabled"], outputs: ["onClick", "onDropdownClick"] }, { kind: "component", type: i14.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i14.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i14.ContextMenuRow, selector: "[pContextMenuRow]", inputs: ["pContextMenuRow", "pContextMenuRowIndex", "pContextMenuRowDisabled"] }, { kind: "directive", type: i14.ReorderableColumn, selector: "[pReorderableColumn]", inputs: ["pReorderableColumnDisabled"] }, { kind: "directive", type: i14.EditableColumn, selector: "[pEditableColumn]", inputs: ["pEditableColumn", "pEditableColumnField", "pEditableColumnRowIndex", "pEditableColumnDisabled", "pFocusCellSelector"] }, { kind: "component", type: i14.CellEditor, selector: "p-cellEditor" }, { kind: "component", type: i14.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i14.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i14.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: i14.EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: i14.InitEditableRow, selector: "[pInitEditableRow]" }, { kind: "directive", type: i14.CancelEditableRow, selector: "[pCancelEditableRow]" }, { kind: "component", type: i15.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: KvInputCalendarComponent, selector: "kv-input-calendar", inputs: ["isYear", "isMonthYear", "minDate", "maxDate", "showButtonBar", "showIcon", "showTime", "selectionMode"], outputs: ["onSelectionChange", "onSelectionValue"] }, { kind: "component", type: KvInputMaskComponent, selector: "kv-input-mask", inputs: ["mask"], outputs: ["onComplete"] }, { kind: "component", type: KvInputNumberComponent, selector: "kv-input-number", inputs: ["mode", "digits", "min", "max", "suffix"] }, { kind: "component", type: KvInputTextComponent, selector: "kv-input-text", inputs: ["textCaptalized"] }, { kind: "component", type: KvSwitchComponent, selector: "kv-switch", inputs: ["readonly", "switchValue"], outputs: ["onSwitchChange"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: MaskPipe, name: "mask" }] }); }
|
|
4421
4513
|
}
|
|
4422
4514
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableEditComponent, decorators: [{
|
|
4423
4515
|
type: Component,
|
|
4424
|
-
args: [{ selector: 'kv-table-edit', template: "\r\n\r\n<div class=\"card\" >\r\n <p-toast></p-toast>\r\n\r\n <p-panel\r\n *ngIf=\"filtrosAvancados\"\r\n header=\"Filtros avan\u00E7ados\"\r\n [toggleable]=\"true\"\r\n [collapsed]=\"true\"\r\n (collapsedChange)=\"collapsed = !collapsed\"\r\n [style]=\"{ 'margin-bottom': '2px' }\"\r\n >\r\n <ng-template pTemplate=\"headericons\">\r\n <i\r\n *ngIf=\"!collapsed\"\r\n class=\"pi pi-filter\"\r\n ></i>\r\n <!-- \u00CDcone quando o painel est\u00E1 aberto -->\r\n <i\r\n *ngIf=\"collapsed\"\r\n class=\"pi pi-minus\"\r\n ></i>\r\n <!-- \u00CDcone quando o painel est\u00E1 fechado -->\r\n </ng-template>\r\n <ng-content></ng-content>\r\n </p-panel>\r\n\r\n <p-contextMenu #cm [model]=\"items\"></p-contextMenu>\r\n <p-table\r\n #te\r\n [reorderableColumns]=\"config.reorderableColumns || false\"\r\n *ngIf=\"config\"\r\n [value]=\"dataSource\"\r\n [dataKey]=\"config.dataKey\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n [columns]=\"config.columns\"\r\n [editMode]=\"'row'\"\r\n [scrollable]=\"true\"\r\n scrollHeight=\"400px\"\r\n appendTo=\"body\"\r\n [styleClass]=\"'p-datatable-sm'\"\r\n [(selection)]=\"selectedItems\"\r\n [rowSelectable]=\"isRowSelectable\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [rows]=\"rows\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {{ totalRecords }}\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [pageLinks]=\"pageLinksOptions\"\r\n [scrollable]=\"isTableScrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [rowTrackBy]=\"rowTrackBy \"\r\n [(contextMenuSelection)]=\"selectedProduct\"\r\n [contextMenu]=\" isEditableTable() ? cm : null\"\r\n >\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n <ng-template\r\n pTemplate=\"caption\"\r\n *ngIf=\"config.enableCation\"\r\n >\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n <div\r\n *ngIf=\"config.title\"\r\n class=\"text-md font-bold my-3\"\r\n >\r\n {{ config.title }}\r\n </div>\r\n <div\r\n *ngIf=\"config.subtitle\"\r\n class=\"text-sm mb-4 font-medium\"\r\n >\r\n {{ config.subtitle }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center md:col-6 lg:col-4 {{\r\n tamanhoTela < 768 ? 'col-10' : 'col-12'\r\n }} mt-1 mb-2 \">\r\n <span\r\n *ngIf=\"config.enableFilter\"\r\n class=\"p-input-icon-left\"\r\n >\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(te, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end\">\r\n <div\r\n *ngFor=\"let action of config.actionsLote\"\r\n class=\"btns-options\"\r\n [style]=\"{ 'margin-right': '7px' }\"\r\n >\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n *ngIf=\"\r\n (selectedItems.length > 0 || action.showAcoesLote) &&\r\n exibirCampo(action, this.action)\r\n \"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"\r\n action?.command(commandEvent); activeItemLote(selectedItems)\r\n \"\r\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [style.backgroundColor]=\"\r\n retornarCampo(action, selectedItems, 'btnColor')\r\n \"\r\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n [style.color]=\"\r\n retornarCampo(action, selectedItems, 'iconBtnColor')\r\n \"\r\n >\r\n {{ retornarCampo(action, selectedItems, \"icon\") }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n style=\"width: 4rem; border-left: solid 4px transparent\"\r\n *ngIf=\"config.enableSelect\"\r\n >\r\n <p-tableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\"></p-tableHeaderCheckbox>\r\n </th>\r\n\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.min-width]=\"col.width\"\r\n pReorderableColumn\r\n class=\"text-sm\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n <p-sortIcon\r\n *ngIf=\"col.sortable === true\"\r\n [field]=\"col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n\r\n <span\r\n *ngIf=\"col.headerTooltip\"\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"config.actions && config.actions.length > 0\"></th>\r\n <th *ngIf=\"isEditableTable()\" id=\"th-edit\" style=\"width: 20px\">Editar</th>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n\r\n\r\n\r\n <ng-template pTemplate=\"body\" let-rowData let-editing=\"editing\" let-ri=\"rowIndex\" let-columns=\"columns\"\r\n let-rowgroup=\"rowgroup\" let-rowspan=\"rowspan\">\r\n <tr [pEditableRow]=\"rowData\" [pEditableRowDisabled]=\"false\"\r\n [pContextMenuRow]=\"{rowData, editing}\"\r\n >\r\n\r\n\r\n <td\r\n *ngIf=\"config.enableSelect\"\r\n [style]=\"applyStyle(rowData, { field: 'check-box', header: '' })\"\r\n >\r\n <!--<p-tableCheckbox *ngIf=\"isVisibleCheckbox(rowData)\"-->\r\n <p-tableCheckbox\r\n [value]=\"rowData\"\r\n [disabled]=\"isDisabledCheckbox(rowData)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n </td>\r\n\r\n\r\n <ng-container *ngFor=\"let col of columns; let i = index\">\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n <!-- Celula que armazena os controles de edi\u00E7\u00E3o para os campos -->\r\n <td *ngIf=\"col.fieldControlType\"\r\n [id]=\"'rowTable'+ rowData[config.dataKey]\"\r\n pSelectableRowDblClick=\"\"\r\n (click)=\"activeItem(rowData)\"\r\n (dblclick)=\"dbClickEdit()\"\r\n pSelectableRowDblClick=\"\"\r\n class=\"rowTable\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col) \" [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <p-cellEditor [ngClass]=\"{'switch': col.fieldControlType == 'switch'}\">\r\n <!-- Controle de edi\u00E7\u00E3o do campo -->\r\n <ng-template pTemplate=\"input\">\r\n\r\n <ng-container [ngSwitch]=\"col.fieldControlType\">\r\n\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-text [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\" [required]=\"col.required ?? true\"></kv-input-text>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-number [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\" [required]=\"col.required ?? true\"></kv-input-number>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'mask'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-mask [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [mask]=\"col.mask\" [required]=\"col.required ?? true\" [(ngModel)]=\"rowData[col.field]\"></kv-input-mask>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-switch [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\" ></kv-switch>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n <div [style.width]=\"col.width\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-calendar class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\"></kv-input-calendar>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <p-dropdown\r\n [disabled]=\"isDisableEditRowCellFunction(rowData, col)\"\r\n class=\"cellControl col\"\r\n appendTo=\"body\"\r\n [optionLabel]=\"col.fieldDropDownControl.descricaoobjeto\"\r\n [optionValue]=\"col.fieldDropDownControl.idobjeto\"\r\n [options]=\"col.fieldDropDownControl.fieldControlDropdownSource\"\r\n [(ngModel)]=\"rowData[col.field]\"\r\n >\r\n </p-dropdown>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n\r\n\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n\r\n\r\n\r\n <!-- Valor atual do campo -->\r\n <ng-template pTemplate=\"output\">\r\n <ng-container [ngSwitch]=\"col.fieldControlType\">\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <ng-container *ngIf=\"rowData[col.field]\">\r\n {{\r\n retornaDescricaoDrop(\r\n rowData,\r\n col\r\n )\r\n }}\r\n <!-- {{rowData[col.field]}} -->\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <kv-switch [(ngModel)]=\"rowData[col.field]\" [disabled]=\"true\"></kv-switch>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n {{ rowData[col.field] | date }}\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'mask'\">\r\n {{ rowData[col.field] | mask:col.mask }}\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n {{ rowData[col.field] }}\r\n </ng-container>\r\n\r\n </ng-container>\r\n </ng-template>\r\n </p-cellEditor>\r\n </td>\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <td *ngIf=\"rowgroup && !col.template && !col.fieldControlType\" [attr.rowspan]=\"rowgroup && col.grouped ? rowspan : null\"\r\n class=\"rowTable\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \" [pTooltip]=\"returnTooltipRow(rowData, col)\">\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n <span *ngIf=\"\r\n !isChipField(col) && !col.iconField && !isImageField(col)\r\n \">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span [class]=\"returnClassChip(rowData, col)\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">{{\r\n transformValue(rowData, col) }}</span>\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <i *ngIf=\"col.iconField\" [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField && !isSwitchField(col)\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n\r\n <span *ngIf=\"isSwitchField(col)\" [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\" [switchValue]=\"transformValue(rowData, col)\">\r\n </kv-switch>\r\n </span>\r\n </ng-template>\r\n </td>\r\n\r\n <td *ngIf=\"!rowgroup && !col.grouped && !col.template && !col.fieldControlType\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \" class=\"rowTable\" [pTooltip]=\"returnTooltipRow(rowData, col)\">\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n <span *ngIf=\"\r\n !isChipField(col) && !col.iconField && !isImageField(col)\r\n \">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span [class]=\"returnClassChip(rowData, col)\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ transformValue(rowData, col) }}</span>\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <i *ngIf=\"col.iconField\" [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField && !isSwitchField(col)\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n\r\n <span *ngIf=\"isSwitchField(col)\" [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\" [switchValue]=\"transformValue(rowData, col)\">\r\n </kv-switch>\r\n </span>\r\n </ng-template>\r\n </td>\r\n\r\n <td *ngIf=\"col.template && !col.fieldControlType\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \" class=\"rowTable\">\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n <ng-container *ngIf=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\">\r\n </ng-container>\r\n </td>\r\n\r\n </ng-container>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ------------------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- Controle de a\u00E7\u00E3o -->\r\n <td [ngClass]=\"{'td-tools': isEditableTable(), 'td-tools-sticky': !isEditableTable() }\"\r\n *ngIf=\"config.actions && config.actions.length > 0 && !editing\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\"\r\n >\r\n <div\r\n class=\"flex flex-row justify-content-end w-full gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n <div\r\n *ngFor=\"let action of config.actions\"\r\n class=\"mr-1\"\r\n >\r\n <!-- <button\r\n id=\"actionBtns\"\r\n pButton\r\n *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowData); action?.command(commandEvent)\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"\r\n action.tooltipPosition ? action.tooltipPosition : 'bottom'\r\n \"\r\n [disabled]=\"callDisabled(action, rowData)\"\r\n >\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span\r\n >\r\n </button> -->\r\n\r\n <span\r\n class=\"material-symbols-outlined {{\r\n callDisabled(action, rowData)\r\n ? 'text-gray-400 cursor-auto'\r\n : 'cursor-pointer'\r\n }}\"\r\n style=\"font-size: 20px\"\r\n (click)=\"isButtonDisable(action, rowData, commandEvent)\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"\r\n action.tooltipPosition ? action.tooltipPosition : 'bottom'\r\n \"\r\n >\r\n {{ retornarCampo(action, rowData, \"icon\") }}\r\n </span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"!acoesLinhaTabela\"\r\n >\r\n <!-- <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n > -->\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 20px\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n <!-- </button> -->\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <!-- <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div> -->\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n </div>\r\n </td>\r\n\r\n <td\r\n class=\"td-tools\"\r\n *ngIf=\"config.actions && config.actions.length > 0 && editing\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\"\r\n >\r\n <div\r\n class=\"flex flex-row justify-content-end w-full gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n\r\n </div>\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"!acoesLinhaTabela\"\r\n >\r\n </div>\r\n </td>\r\n\r\n\r\n\r\n <!-- ------------------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- Controle de edi\u00E7\u00E3o -->\r\n <td class=\"td-edit\" *ngIf=\"this.isEditableTable()\" >\r\n <div class=\"flex align-items-center justify-content-center gap-2\">\r\n <button [style.height]=\"'28px'\" [id]=\"'rowEdit' + rowData[config.dataKey] \" [style.width]=\"'28px'\" [disabled]=\"isDisableEditRowFunction(rowData)\" *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow icon=\"pi pi-pencil\"\r\n (click)=\"onRowEditInit(rowData)\" class=\"p-button-rounded p-button-text\"></button>\r\n <button [style.height]=\"'28px'\" [style.width]=\"'28px'\" [disabled]=\"isDisableEditRowFunction(rowData)\" *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow icon=\"pi pi-check\"\r\n (click)=\"onRowEditSave(rowData, ri)\" [id]=\"'rowSave' + rowData[config.dataKey] \" class=\"p-button-rounded p-button-text p-button-success mr-2\"></button>\r\n <button [style.height]=\"'28px'\" [style.width]=\"'28px'\" [disabled]=\"isDisableEditRowFunction(rowData)\" *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow icon=\"pi pi-times\"\r\n (click)=\"onRowEditCancel(rowData, ri)\" [id]=\"'rowCancel' + rowData[config.dataKey] \" class=\"p-button-rounded p-button-text p-button-danger\"></button>\r\n </div>\r\n </td>\r\n\r\n\r\n\r\n\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.td-edit{position:sticky;right:-1px;background-color:#fff;color:#5289b4}.td-tools{position:sticky;right:52px;border-right:3px solid #fff!important;background-color:#fff;box-shadow:-5px 0 20px -10px #000000bf}.td-tools-sticky{position:sticky;right:0;border-right:3px solid #fff!important;background-color:#fff;box-shadow:-5px 0 20px -10px #000000bf}#th-edit{position:sticky;right:0;background-color:#eaeaea}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{text-align:center;border:1px solid #eaeaea;border-width:1px 1px;padding:0rem .5rem}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{text-align:center;padding:0rem .5rem;border:1px solid #dee2e6;border-width:1px 1px;font-weight:700;color:#343a40;background:#eaeaea;transition:box-shadow .2s}.error-show{background-color:red;width:5px;height:10px}.btns-options{position:relative;left:20px}.chip-style{border:solid 1px}:host::ng-deep .p-card .p-card-content{padding:0}.material-symbols-outlined.md-19{font-size:15px}.material-symbols-outlined.md-22{font-size:19px}.checkbox-container{display:flex;align-items:center;gap:2px;margin-top:5px}#botaoFiltro:hover{color:#a9a9a9}.actionLoteBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;font-size:16px;width:2rem;height:2rem;top:2px;margin-left:.5rem;justify-content:center;text-decoration:none;text-align:justify;padding:12px}:host ::ng-deep .center{display:flex;align-items:center;justify-content:center}#actionLoteBtns:hover,.actionLoteBtns:hover{background-color:#29b92d!important}.actionBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;width:.8rem;height:.8rem;margin-left:.22rem;justify-content:center;text-decoration:none;text-align:justify;padding:11px}:host::ng-deep .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:.9;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#actionBtns:hover{color:#a9a9a9}.image{border-style:solid;border-width:3.5px;border-color:#5289b4;border-radius:100%;height:55px;width:55px;padding:0;margin:0;vertical-align:middle}:host ::ng-deep .p-inputtext{font-size:.75rem}:host ::ng-deep .p-datatable-table{font-size:.75rem}:host ::ng-deep .p-datatable-header{background-color:#eaeaea!important;padding:2px 13px 0!important;border-radius:5px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th{background-color:#eaeaea!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td{border-bottom:1px solid #ddd!important;border-top:1px solid #ddd!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:50%;width:2.5rem!important;height:2.5rem!important;box-shadow:#0000003d 0 3px 8px}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}@media only screen and (min-width: 768px){.actionLoteBtns{top:-1px}}@media only screen and (max-width: 960px){:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(p-tablecheckbox){border-bottom:0px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(img){justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(img) .p-column-title{display:none!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child div{justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td .p-column-title{font-weight:600}}::ng-deep .p-panel.p-panel-toggleable .p-panel-header{background-color:#eaeaea!important}::ng-deep .field.grid,.formgrid.grid{padding:0rem!important}@media screen and (min-width: 961px){.moreVertBtn{position:relative;right:3px}}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:last-of-type{border-radius:0 0 5px!important}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:first-of-type{border-radius:0 0 0 5px!important}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before{transform:translate(1.25rem);height:15px;margin-top:-8px;-webkit-transform:translateX(1.25rem);-moz-transform:translateX(1.25rem);-ms-transform:translateX(1.25rem);-o-transform:translateX(1.25rem)}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch.p-inputswitch-checked .p-inputswitch-slider{height:21px}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch{height:21px}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider:before{background:#fff;width:1rem;height:1.25rem;height:16px!important;left:.25rem;margin-top:-9px!important;margin-top:-.625rem;border-radius:50%;transition-duration:.2s}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch:not(.p-disabled) .p-inputswitch-slider{height:21px}:host ::ng-deep p-celleditor>div>kv-input-text>span>.inputs{height:15px!important}:host ::ng-deep p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options){height:25px!important}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider{height:21px!important}:host ::ng-deep input.p-inputtext.p-component.p-element.p-inputmask.inputs.p-filled{height:15px}\n"] }]
|
|
4516
|
+
args: [{ selector: 'kv-table-edit', template: "\r\n\r\n<div class=\"card\" id=\"tamanhotabela\" [style.font-size]=\"'1px'\">\r\n <p-toast></p-toast>\r\n\r\n <p-panel\r\n *ngIf=\"filtrosAvancados\"\r\n header=\"Filtros avan\u00E7ados\"\r\n [toggleable]=\"true\"\r\n [collapsed]=\"true\"\r\n (collapsedChange)=\"collapsed = !collapsed\"\r\n [style]=\"{ 'margin-bottom': '2px' }\"\r\n >\r\n <ng-template pTemplate=\"headericons\">\r\n <i\r\n *ngIf=\"!collapsed\"\r\n class=\"pi pi-filter\"\r\n ></i>\r\n <!-- \u00CDcone quando o painel est\u00E1 aberto -->\r\n <i\r\n *ngIf=\"collapsed\"\r\n class=\"pi pi-minus\"\r\n ></i>\r\n <!-- \u00CDcone quando o painel est\u00E1 fechado -->\r\n </ng-template>s\r\n <ng-content></ng-content>\r\n </p-panel>\r\n\r\n <p-contextMenu #cm [model]=\"items\"></p-contextMenu>\r\n <p-table\r\n #te\r\n\r\n [editMode]=\"editMode\"\r\n (onEditComplete)=\"onEditComplete($event)\"\r\n [reorderableColumns]=\"config.reorderableColumns || false\"\r\n *ngIf=\"config\"\r\n [value]=\"dataSource\"\r\n [dataKey]=\"config.dataKey\"\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n [columns]=\"config.columns\"\r\n [scrollable]=\"true\"\r\n scrollHeight=\"400px\"\r\n appendTo=\"body\"\r\n [styleClass]=\"selectedSize.class\"\r\n [(selection)]=\"selectedItems\"\r\n [rowSelectable]=\"isRowSelectable\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [rows]=\"rows\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {{ totalRecords }}\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [pageLinks]=\"pageLinksOptions\"\r\n [scrollable]=\"isTableScrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [rowTrackBy]=\"rowTrackBy \"\r\n [(contextMenuSelection)]=\"selectedProduct\"\r\n [contextMenu]=\" isEditableTable() ? cm : null\"\r\n >\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n <ng-template\r\n pTemplate=\"caption\"\r\n *ngIf=\"config.enableCation || enableSizes\"\r\n >\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n <div\r\n *ngIf=\"config.title\"\r\n class=\"text-md font-bold my-3\"\r\n >\r\n {{ config.title }}\r\n </div>\r\n <div\r\n *ngIf=\"config.subtitle\"\r\n class=\"text-sm mb-4 font-medium\"\r\n >\r\n {{ config.subtitle }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center md:col-6 lg:col-4 {{\r\n tamanhoTela < 768 ? 'col-10' : 'col-12'\r\n }} mt-1 mb-2 \">\r\n <span\r\n *ngIf=\"config.enableFilter\"\r\n class=\"p-input-icon-left\"\r\n >\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(te, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n\r\n\r\n <!-- FIXME: Op\u00E7\u00E3o 1 -->\r\n <!-- <div class=\"sizes-controls ml-2\" *ngIf=\"isShowSizes\">\r\n <p-selectButton\r\n [options]=\"sizes\"\r\n [(ngModel)]=\"selectedSize\"\r\n [style]=\"{'display': 'flex'}\"\r\n optionLabel=\"name\"\r\n />\r\n </div>\r\n <button\r\n id=\"btn-sizes\"\r\n pButton\r\n [pTooltip]=\"isShowSizes ? 'Esconder controles de tamanho' : 'Mostrar controles de tamanho'\"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"isShowSizes = !isShowSizes\"\r\n >\r\n <span style=\"font-size: 0.8rem;\" class=\"flex align-items-end\">\r\n <span style=\"font-size: 0.7rem;\">\r\n A\r\n </span>\r\n A\r\n </span>\r\n </button> -->\r\n\r\n <!-- FIXME: Op\u00E7\u00E3o 2 -->\r\n <div *ngIf=\"enableSizes\" class=\"sizes-controls ml-2\" >\r\n <p-splitButton\r\n label=\"aA\"\r\n [model]=\"sizes\"\r\n styleClass=\"teste\"\r\n ngModel\r\n >\r\n </p-splitButton>\r\n </div>\r\n\r\n <!-- FIXME: Op\u00E7\u00E3o 3 -->\r\n <!-- <div class=\"sizes-controls ml-2\" style=\"transform: translate(0px, -15px);\" >\r\n <p-speedDial\r\n [model]=\"sizes\"\r\n showIcon=\"format_size\"\r\n hideIcon=\"format_size\"\r\n radius=\"120\"\r\n direction=\"down-right\"\r\n type=\"quarter-circle\"\r\n buttonClassName=\"item-circle\"\r\n >\r\n\r\n <ng-template pTemplate=\"button\">\r\n <span class=\"material-symbols-outlined\">\r\n format_size\r\n </span>\r\n </ng-template>\r\n\r\n\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"item-circle\">\r\n {{item.label}}\r\n </div>\r\n </ng-template>\r\n\r\n </p-speedDial>\r\n </div> -->\r\n\r\n\r\n </div>\r\n\r\n <span *ngIf=\"isEditing\" class=\"text-aviso\">\r\n\r\n Tabela em modo de edi\u00E7\u00E3o\r\n\r\n </span>\r\n\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end\">\r\n\r\n\r\n <div\r\n *ngFor=\"let action of config.actionsLote\"\r\n class=\"btns-options\"\r\n [style]=\"{ 'margin-right': '7px' }\"\r\n >\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n *ngIf=\"\r\n !isEditing &&\r\n (selectedItems.length > 0 || action.showAcoesLote) &&\r\n exibirCampo(action, this.action)\r\n \"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"\r\n action?.command(commandEvent); activeItemLote(selectedItems)\r\n \"\r\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [style.backgroundColor]=\"\r\n retornarCampo(action, selectedItems, 'btnColor')\r\n \"\r\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n [style.color]=\"\r\n retornarCampo(action, selectedItems, 'iconBtnColor')\r\n \"\r\n >\r\n {{ retornarCampo(action, selectedItems, \"icon\") }}\r\n </span>\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"isEditableTable()\" class=\"btns-options\"\r\n [style]=\"{ 'margin-right': '7px' }\"\r\n >\r\n <button\r\n (click)=\"this.isEditing = !this.isEditing\"\r\n id=\"actionLoteBtns\"\r\n pButton\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n >\r\n <span class=\"material-symbols-outlined\">\r\n edit_square\r\n </span>\r\n </button>\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n style=\"width: 4rem; border-left: solid 4px transparent\"\r\n *ngIf=\"config.enableSelect && !isEditing\"\r\n [class]=\"selectedSize.class+'th'\"\r\n >\r\n <p-tableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\"></p-tableHeaderCheckbox>\r\n </th>\r\n\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.min-width]=\"col.width * selectedSize.size + 'px'\"\r\n pReorderableColumn\r\n [class]=\"selectedSize.class+'th'\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n <p-sortIcon\r\n *ngIf=\"col.sortable === true\"\r\n [field]=\"col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n\r\n <span\r\n *ngIf=\"col.headerTooltip\"\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"!isEditing && config.actions && config.actions.length > 0\"></th>\r\n <th *ngIf=\"isEditableTable() && this.editMode == 'row'\" id=\"th-edit\" style=\"width: 20px\">Editar</th>\r\n </tr>\r\n </ng-template>\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n\r\n\r\n\r\n <ng-template pTemplate=\"body\" let-rowData let-editing=\"editing\" let-ri=\"rowIndex\" let-columns=\"columns\"\r\n let-rowgroup=\"rowgroup\" let-rowspan=\"rowspan\">\r\n <tr [pEditableRow]=\"rowData\" [pEditableRowDisabled]=\"false\"\r\n [pContextMenuRow]=\"{rowData, editing}\"\r\n [class]=\"selectedSize.class+'-tr'\"\r\n >\r\n\r\n\r\n <td\r\n *ngIf=\"config.enableSelect && !isEditing\"\r\n [style]=\"applyStyle(rowData, { field: 'check-box', header: '' })\"\r\n >\r\n <!--<p-tableCheckbox *ngIf=\"isVisibleCheckbox(rowData)\"-->\r\n <p-tableCheckbox\r\n class=\"check-edit-list\"\r\n [value]=\"rowData\"\r\n [disabled]=\"isDisabledCheckbox(rowData)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n </td>\r\n\r\n\r\n <ng-container *ngFor=\"let col of columns; let i = index\">\r\n\r\n\r\n\r\n\r\n <!-- FIXME: Testar a implementa\u00E7\u00E3o abaixo e mesaclar as duas formas -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <ng-template #templateInput let-rowData=\"rowData\" let-col=\"col\">\r\n <ng-container *ngIf=\"isEditing; else templatevisualedicao\">\r\n <ng-container [ngSwitch]=\"col.fieldControlType\">\r\n\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-text [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\" [required]=\"col.required ?? true\"></kv-input-text>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-number [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\" [required]=\"col.required ?? true\"></kv-input-number>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'mask'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-mask [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [mask]=\"col.mask\" [required]=\"col.required ?? true\" [(ngModel)]=\"rowData[col.field]\"></kv-input-mask>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-switch [disabled]=\"isDisableEditRowCellFunction(rowData, col)\" class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\" ></kv-switch>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n <div [style.width]=\"col.width\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <kv-input-calendar class=\"cellControl col\" [(ngModel)]=\"rowData[col.field]\"></kv-input-calendar>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <div [style.width]=\"col.width\" class=\"grid formgrid p-fluid\" >\r\n <p-dropdown\r\n [disabled]=\"isDisableEditRowCellFunction(rowData, col)\"\r\n class=\"cellControl col\"\r\n appendTo=\"body\"\r\n [panelStyle]=\"{'font-size': '0.75rem'}\"\r\n [optionLabel]=\"col.fieldDropDownControl.descricaoobjeto\"\r\n [optionValue]=\"col.fieldDropDownControl.idobjeto\"\r\n [options]=\"col.fieldDropDownControl.fieldControlDropdownSource\"\r\n [(ngModel)]=\"rowData[col.field]\"\r\n >\r\n </p-dropdown>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-template #templatevisualedicao>\r\n <ng-container *ngTemplateOutlet=\"templateOutput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template>\r\n </ng-template>\r\n\r\n <ng-template #templateOutput let-rowData=\"rowData\" let-col=\"col\">\r\n <ng-container [ngSwitch]=\"col.fieldControlType\">\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <ng-container *ngIf=\"rowData[col.field]\">\r\n {{\r\n retornaDescricaoDrop(\r\n rowData,\r\n col\r\n )\r\n }}\r\n <!-- {{rowData[col.field]}} -->\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch'\">\r\n <kv-switch [(ngModel)]=\"rowData[col.field]\" [disabled]=\"true\"></kv-switch>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n {{ rowData[col.field] | date }}\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'mask'\">\r\n {{ rowData[col.field] | mask:col.mask }}\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n {{ rowData[col.field] }}\r\n </ng-container>\r\n\r\n </ng-container>\r\n </ng-template>\r\n\r\n\r\n\r\n <td\r\n *ngIf=\"editMode == 'cell' && col.fieldControlType\"\r\n [pEditableColumn]=\"rowData\"\r\n [pEditableColumnField]=\"col.field\"\r\n [pEditableColumnRowIndex]=\"rowData[config.dataKey]\"\r\n [id]=\"'rowTable'+ rowData[config.dataKey]\"\r\n (click)=\"activeItem(rowData)\"\r\n (dblclick)=\"dbClickEdit()\"\r\n class=\"rowTable\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col) \"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n\r\n >\r\n <p-cellEditor>\r\n\r\n <ng-container >\r\n\r\n <ng-template pTemplate=\"input\">\r\n <ng-container *ngTemplateOutlet=\"templateInput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngTemplateOutlet=\"templateOutput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template>\r\n\r\n </ng-container>\r\n\r\n\r\n\r\n\r\n <!-- <ng-template *ngIf=\"!isEditing\" pTemplate=\"input\">\r\n <ng-container *ngTemplateOutlet=\"templateInput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template *ngIf=\"isEditing\" pTemplate=\"output\">\r\n <ng-container *ngTemplateOutlet=\"templateOutput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template> -->\r\n\r\n </p-cellEditor>\r\n </td>\r\n\r\n\r\n <!-- NOTE: Edi\u00E7\u00E3o de linha -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n <!-- Celula que armazena os controles de edi\u00E7\u00E3o para os campos -->\r\n <td *ngIf=\"false && col.fieldControlType && editMode == 'row'\"\r\n [id]=\"'rowTable'+ rowData[config.dataKey]\"\r\n (click)=\"activeItem(rowData)\"\r\n (dblclick)=\"dbClickEdit()\"\r\n class=\"rowTable\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <p-cellEditor [ngClass]=\"{'switch': col.fieldControlType == 'switch'}\">\r\n\r\n <ng-template pTemplate=\"input\">\r\n <ng-container *ngTemplateOutlet=\"templateInput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"output\">\r\n <ng-container *ngTemplateOutlet=\"templateOutput; context: { rowData: rowData, col: col }\"></ng-container>\r\n </ng-template>\r\n\r\n </p-cellEditor>\r\n </td>\r\n\r\n\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- ----------------------------------------------------------------------------------------------------------------------------------- -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <td *ngIf=\"rowgroup && !col.template \" [attr.rowspan]=\"rowgroup && col.grouped ? rowspan : null\"\r\n class=\"rowTable\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \" [pTooltip]=\"returnTooltipRow(rowData, col)\">\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n <span *ngIf=\"\r\n !isChipField(col) && !col.iconField && !isImageField(col)\r\n \">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span [class]=\"returnClassChip(rowData, col)\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">{{\r\n transformValue(rowData, col) }}</span>\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <i *ngIf=\"col.iconField\" [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField && !isSwitchField(col)\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n\r\n <span *ngIf=\"isSwitchField(col)\" [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\" [switchValue]=\"transformValue(rowData, col)\">\r\n </kv-switch>\r\n </span>\r\n </ng-template>\r\n </td>\r\n\r\n <td *ngIf=\"!rowgroup && !col.grouped && !col.template && !isEditableTable()\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \" class=\"rowTable\" [pTooltip]=\"returnTooltipRow(rowData, col)\">\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span *ngIf=\"!isBooleanField(rowData, col); else booleanField\" [class]=\"returnRowClass(rowData, col)\">\r\n <span *ngIf=\"\r\n !isChipField(col) && !col.iconField && !isImageField(col)\r\n \">\r\n <i *ngIf=\"col.icon\" [class]=\"col.icon + ' mr-2'\"></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span [class]=\"returnClassChip(rowData, col)\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ transformValue(rowData, col) }}</span>\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img class=\"image\" [src]=\"loadImage(rowData, col)\" />\r\n </span>\r\n </span>\r\n\r\n <i *ngIf=\"col.iconField\" [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\" [pTooltip]=\"returnTooltipIcon(rowData, col)\">\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i *ngIf=\"!col.iconField && !isSwitchField(col)\" [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n\r\n <span *ngIf=\"isSwitchField(col)\" [class]=\"returnRowClass(rowData, col)\">\r\n <kv-switch (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\" [switchValue]=\"transformValue(rowData, col)\">\r\n </kv-switch>\r\n </span>\r\n </ng-template>\r\n </td>\r\n\r\n <td *ngIf=\"col.template && !isEditableTable()\" [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \" class=\"rowTable\">\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n <ng-container *ngIf=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\">\r\n </ng-container>\r\n </td>\r\n\r\n </ng-container>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n <!-- ------------------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- Controle de a\u00E7\u00E3o -->\r\n <td [ngClass]=\"{'td-tools': isEditableTable() && this.editMode == 'row' , 'td-tools-sticky': !isEditableTable() || this.editMode == 'cell' }\"\r\n *ngIf=\"!isEditing && config.actions && config.actions.length > 0 \"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\"\r\n >\r\n <div\r\n class=\"flex flex-row justify-content-end w-full gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n <div\r\n *ngFor=\"let action of config.actions\"\r\n class=\"mr-1\"\r\n >\r\n <!-- <button\r\n id=\"actionBtns\"\r\n pButton\r\n *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowData); action?.command(commandEvent)\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"\r\n action.tooltipPosition ? action.tooltipPosition : 'bottom'\r\n \"\r\n [disabled]=\"callDisabled(action, rowData)\"\r\n >\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span\r\n >\r\n </button> -->\r\n\r\n <span\r\n class=\"material-symbols-outlined {{\r\n callDisabled(action, rowData)\r\n ? 'text-gray-400 cursor-auto'\r\n : 'cursor-pointer'\r\n }}\"\r\n style=\"font-size: 20px\"\r\n (click)=\"isButtonDisable(action, rowData, commandEvent)\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"\r\n action.tooltipPosition ? action.tooltipPosition : 'bottom'\r\n \"\r\n >\r\n {{ retornarCampo(action, rowData, \"icon\") }}\r\n </span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"!acoesLinhaTabela\"\r\n >\r\n <!-- <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n > -->\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 1rem; height: 10px; width: 20px;\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n <!-- </button> -->\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <!-- <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div> -->\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n </div>\r\n </td>\r\n\r\n <!-- <td\r\n class=\"td-tools\"\r\n *ngIf=\"!isEditing && config.actions && config.actions.length > 0\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\"\r\n >\r\n <div\r\n class=\"flex flex-row justify-content-end w-full gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n\r\n </div>\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"!acoesLinhaTabela\"\r\n >\r\n </div>\r\n </td> -->\r\n\r\n\r\n\r\n <!-- ------------------------------------------------------------------------------------------------------------------------------------------- -->\r\n <!-- Controle de edi\u00E7\u00E3o -->\r\n <td class=\"td-edit\" *ngIf=\"this.isEditableTable() && this.editMode == 'row'\" >\r\n <div class=\"flex align-items-center justify-content-center gap-2\">\r\n <button [style.height]=\"'28px'\" [id]=\"'rowEdit' + rowData[config.dataKey] \" [style.width]=\"'28px'\" [disabled]=\"isDisableEditRowFunction(rowData)\" *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow icon=\"pi pi-pencil\"\r\n (click)=\"onRowEditInit(rowData)\" class=\"p-button-rounded p-button-text\"></button>\r\n <!-- <button [style.height]=\"'28px'\" [style.width]=\"'28px'\" [disabled]=\"isDisableEditRowFunction(rowData)\" *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow icon=\"pi pi-check\"\r\n (click)=\"onRowEditSave(rowData, ri)\" [id]=\"'rowSave' + rowData[config.dataKey] \" class=\"p-button-rounded p-button-text p-button-success mr-2\"></button> -->\r\n <button [style.height]=\"'28px'\" [style.width]=\"'28px'\" [disabled]=\"isDisableEditRowFunction(rowData)\" *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow icon=\"pi pi-times\"\r\n (click)=\"onRowEditCancel(rowData, ri)\" [id]=\"'rowCancel' + rowData[config.dataKey] \" class=\"p-button-rounded p-button-text p-button-danger\"></button>\r\n </div>\r\n </td>\r\n\r\n\r\n\r\n\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.td-edit{position:sticky;right:-1px;background-color:#fff;color:#5289b4}.td-tools{position:sticky;right:52px;border-right:3px solid #fff!important;background-color:#fff;box-shadow:-5px 0 20px -10px #000000bf}.td-tools-sticky{position:sticky;right:0;border-right:3px solid #fff!important;background-color:#fff;box-shadow:-5px 0 20px -10px #000000bf}#th-edit{position:sticky;right:0;background-color:#eaeaea}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{text-align:center;border:1px solid #eaeaea;border-width:1px 1px;padding:0rem .5rem}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{text-align:center;padding:0rem .5rem;border-left:none;border-right:none;border-width:1px 1px;font-weight:700;color:#343a40;background:#eaeaea;transition:box-shadow .2s}.error-show{background-color:red;width:5px;height:10px}.btns-options{position:relative;left:20px}.chip-style{border:solid 1px}:host::ng-deep .p-card .p-card-content{padding:0}.material-symbols-outlined.md-19{font-size:15px}.material-symbols-outlined.md-22{font-size:19px}.checkbox-container{display:flex;align-items:center;gap:2px;margin-top:5px}#botaoFiltro:hover{color:#a9a9a9}.actionLoteBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;font-size:16px;width:2rem;height:2rem;top:2px;margin-left:.5rem;justify-content:center;text-decoration:none;text-align:justify;padding:12px}:host ::ng-deep .center{display:flex;align-items:center;justify-content:center}#actionLoteBtns:hover,.actionLoteBtns:hover{background-color:#29b92d!important}.actionBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;width:.8rem;height:.8rem;margin-left:.22rem;justify-content:center;text-decoration:none;text-align:justify;padding:11px}:host::ng-deep .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:.9;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#actionBtns:hover{color:#a9a9a9}.image{border-style:solid;border-width:3.5px;border-color:#5289b4;border-radius:100%;height:55px;width:55px;padding:0;margin:0;vertical-align:middle}:host ::ng-deep .p-datatable-header{background-color:#eaeaea!important;padding:2px 13px 0!important;border-radius:5px!important}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{background-color:#eaeaea!important}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td{border-left:none!important;border-right:none!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:50%;width:2.5rem!important;height:2.5rem!important;box-shadow:#0000003d 0 3px 8px}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}@media only screen and (min-width: 768px){.actionLoteBtns{top:-1px}}@media only screen and (max-width: 960px){:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td:has(p-tablecheckbox){border-bottom:0px!important}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td:has(img){justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td:has(img) .p-column-title{display:none!important}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid #ddd!important}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td:last-child div{justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable .p-datatable-tbody>tr>td .p-column-title{font-weight:600}}::ng-deep .p-panel.p-panel-toggleable .p-panel-header{background-color:#eaeaea!important}::ng-deep .field.grid,.formgrid.grid{padding:0rem!important}@media screen and (min-width: 961px){.moreVertBtn{position:relative;right:3px}}::ng-deep .p-datatable .p-datatable-thead>tr>th:last-of-type{border-radius:0 0 5px!important;-webkit-border-radius:0px 0px 5px 0px!important;-moz-border-radius:0px 0px 5px 0px!important;-ms-border-radius:0px 0px 5px 0px!important;-o-border-radius:0px 0px 5px 0px!important}::ng-deep .p-datatable .p-datatable-thead>tr>th:first-of-type{border-radius:0 0 0 5px!important;-webkit-border-radius:0px 0px 0px 5px!important;-moz-border-radius:0px 0px 0px 5px!important;-ms-border-radius:0px 0px 0px 5px!important;-o-border-radius:0px 0px 0px 5px!important}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch.p-inputswitch-checked .p-inputswitch-slider:before{transform:translate(1.25rem);height:15px;margin-top:-8px;-webkit-transform:translateX(1.25rem);-moz-transform:translateX(1.25rem);-ms-transform:translateX(1.25rem);-o-transform:translateX(1.25rem)}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch.p-inputswitch-checked .p-inputswitch-slider{height:21px}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch{height:21px}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider:before{background:#fff;width:1rem;height:1.25rem;height:16px!important;left:.25rem;margin-top:-9px!important;margin-top:-.625rem;border-radius:50%;transition-duration:.2s}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch:not(.p-disabled) .p-inputswitch-slider{height:21px}:host ::ng-deep .p-cell-editing{padding-top:0!important;padding-bottom:0!important}:host ::ng-deep p-dropdown-item{font-size:.1rem}.text-aviso{color:red;font-size:.85rem;font-weight:400;width:500px}:host ::ng-deep .p-checkbox .p-checkbox-box{width:18px;height:18px}:host ::ng-deep .p-selectbutton .p-button{font-size:.75rem!important;height:24px;padding:11px}#btn-sizes{border-radius:50%;width:.5rem!important;height:.5rem!important;box-shadow:#0000003d 0 3px 8px}:host ::ng-deep .p-datatable.p-datatable-sm{font-size:.625rem!important}:host ::ng-deep .p-datatable.p-datatable-md{font-size:.75rem!important}:host ::ng-deep .p-datatable.p-datatable-lg{font-size:.875rem!important}:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>div>.cellControl>.p-dropdown .p-dropdown-label{width:1%;padding-top:0;padding-bottom:0;font-size:.6rem}:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>div>kv-input-text>span>.inputs{padding-top:0;padding-bottom:0;font-size:.6rem;height:1rem}:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>div>.cellControl>span>p-inputmask>.inputs{height:1rem;padding-top:0;padding-bottom:0;font-size:.6rem}:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>div>kv-switch>div>p-inputswitch>div,:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>kv-switch>div>p-inputswitch,:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider{height:.6rem!important;width:2.4rem}:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider:before{background:#fff;width:.6rem!important;height:.6rem!important;left:.2rem;margin-top:-.35rem!important;border-radius:50%;transition-duration:.2s}:host ::ng-deep .p-datatable-sm-tr>td p-celleditor>div>kv-switch>div>p-inputswitch>div>span:before{background:#fff;width:.6rem!important;height:.6rem!important;left:.2rem;margin-top:-.35rem!important;border-radius:50%;transition-duration:.2s}:host ::ng-deep .p-datatable-md-tr>td p-celleditor>div>.cellControl>.p-dropdown .p-dropdown-label{width:1%;padding-top:0;padding-bottom:0;font-size:.7rem}:host ::ng-deep .p-datatable-md-tr>td p-celleditor>div>kv-input-text>span>.inputs{padding-top:0;padding-bottom:0;font-size:.7rem;height:1rem}:host ::ng-deep .p-datatable-md-tr>td p-celleditor>div>.cellControl>span>p-inputmask>.inputs{height:1rem;padding-top:0;padding-bottom:0;font-size:.7rem}:host ::ng-deep .p-datatable-md-tr>td p-celleditor>div>kv-switch>div>p-inputswitch>div,:host ::ng-deep .p-datatable-md-tr>td p-celleditor>kv-switch>div>p-inputswitch,:host ::ng-deep .p-datatable-md-tr>td p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider{height:.83rem!important;width:2.7rem}:host ::ng-deep .p-datatable-md-tr>td p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider:before{background:#fff;width:.7rem!important;height:.7rem!important;left:.25rem;margin-top:-.35rem!important;border-radius:50%;transition-duration:.2s}:host ::ng-deep .p-datatable-md-tr>td p-celleditor>div>kv-switch>div>p-inputswitch>div>span:before{background:#fff;width:.7rem;height:.7rem;left:.25rem;margin-top:-.4rem;border-radius:50%;transition-duration:.2s}:host ::ng-deep .p-datatable-lg-tr>td p-celleditor>div>kv-input-text>span>.inputs{padding-top:0;padding-bottom:0;font-size:.8rem;height:1rem}:host ::ng-deep .p-datatable-lg-tr>td p-celleditor>div>.cellControl>.p-dropdown .p-dropdown-label{padding-top:0;padding-bottom:0;font-size:.8rem}:host ::ng-deep .p-datatable-lg-tr>td p-celleditor>div>.cellControl>span>p-inputmask>.inputs{height:1rem;padding-top:0;padding-bottom:0;font-size:.8rem}:host ::ng-deep .p-datatable-sm-tr>td,:host ::ng-deep .p-datatable-md-tr>td,:host ::ng-deep .p-datatable-lg-tr>td{padding:.15rem!important}.p-datatable.p-datatable-smth{font-size:.6rem!important}.p-datatable.p-datatable-dmth{font-size:.7rem!important}.p-datatable.p-datatable-lgth{font-size:.8rem!important}:host ::ng-deep .p-datatable.p-datatable-sm * p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options) p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options){height:15px!important}:host ::ng-deep .p-datatable.p-datatable-md * p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options) p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options){height:25px!important}:host ::ng-deep .p-datatable.p-datatable-lg * p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options) p-celleditor>div>p-dropdown>.p-dropdown:not(.p-paginator-rpp-options){height:30px!important}:host ::ng-deep p-celleditor>kv-switch>div>p-inputswitch .p-inputswitch-slider{height:21px!important}:host ::ng-deep .teste>.p-button{background:#eaeaea!important;color:#a9a9a9;border:none;box-shadow:#0000003d 0 3px 8px;height:20px}:host ::ng-deep .teste{width:70px}:host ::ng-deep .p-tieredmenu-root-list>li:first-child{font-size:.6rem}:host ::ng-deep .p-tieredmenu-root-list>li:last-child{font-size:1.17rem}:host ::ng-deep .p-speeddial-button.p-button.p-button-icon-only{width:2rem;height:2rem;font-size:1rem}.item-circle{width:4rem;height:2rem;padding:1rem;font-size:.8rem;border-radius:17%;display:flex;align-items:center;justify-content:center;background:#eaeaea!important;box-shadow:#0000003d 0 3px 13px}:host ::ng-deep p-speeddial>div>button>span.material-symbols-outlined.ng-star-inserted{font-size:1.1rem}:host ::ng-deep .check-edit-list>div.p-checkbox.p-component{height:1rem}\n"] }]
|
|
4425
4517
|
}], ctorParameters: () => [{ type: i1.DatePipe }, { type: i1.DecimalPipe }, { type: CpfCnpjPipe }, { type: TelefonePipe }, { type: NotificationService }], propDecorators: { setConfig: [{
|
|
4426
4518
|
type: Input,
|
|
4427
4519
|
args: ['config']
|
|
4428
4520
|
}], dataSource: [{
|
|
4429
4521
|
type: Input
|
|
4430
|
-
}], editMode: [{
|
|
4431
|
-
type: Input
|
|
4432
4522
|
}], selectedItems: [{
|
|
4433
4523
|
type: Input
|
|
4434
4524
|
}], totalRecords: [{
|
|
@@ -4467,14 +4557,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
4467
4557
|
type: Input
|
|
4468
4558
|
}], tamanhoTotalTabela: [{
|
|
4469
4559
|
type: Input
|
|
4470
|
-
}],
|
|
4560
|
+
}], editMode: [{
|
|
4561
|
+
type: Input
|
|
4562
|
+
}], enableSizes: [{
|
|
4471
4563
|
type: Input
|
|
4472
4564
|
}], onFilter: [{
|
|
4473
4565
|
type: Output
|
|
4474
4566
|
}], _templates: [{
|
|
4475
4567
|
type: Input,
|
|
4476
4568
|
args: ['templates']
|
|
4477
|
-
}],
|
|
4569
|
+
}], onSave: [{
|
|
4478
4570
|
type: Output
|
|
4479
4571
|
}], onActiveItem: [{
|
|
4480
4572
|
type: Output
|
|
@@ -4501,12 +4593,16 @@ class KvTableEditModule {
|
|
|
4501
4593
|
PrimeNgModule,
|
|
4502
4594
|
FormsModule,
|
|
4503
4595
|
KvInputsModule,
|
|
4504
|
-
|
|
4596
|
+
KvButtonsModule,
|
|
4597
|
+
PipesModule,
|
|
4598
|
+
SelectButtonModule], exports: [KvTableEditComponent] }); }
|
|
4505
4599
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableEditModule, imports: [CommonModule,
|
|
4506
4600
|
PrimeNgModule,
|
|
4507
4601
|
FormsModule,
|
|
4508
4602
|
KvInputsModule,
|
|
4509
|
-
|
|
4603
|
+
KvButtonsModule,
|
|
4604
|
+
PipesModule,
|
|
4605
|
+
SelectButtonModule] }); }
|
|
4510
4606
|
}
|
|
4511
4607
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableEditModule, decorators: [{
|
|
4512
4608
|
type: NgModule,
|
|
@@ -4517,7 +4613,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
4517
4613
|
PrimeNgModule,
|
|
4518
4614
|
FormsModule,
|
|
4519
4615
|
KvInputsModule,
|
|
4520
|
-
|
|
4616
|
+
KvButtonsModule,
|
|
4617
|
+
PipesModule,
|
|
4618
|
+
SelectButtonModule
|
|
4521
4619
|
],
|
|
4522
4620
|
exports: [KvTableEditComponent]
|
|
4523
4621
|
}]
|
|
@@ -4999,7 +5097,7 @@ class KvTableComponent {
|
|
|
4999
5097
|
});
|
|
5000
5098
|
}
|
|
5001
5099
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableComponent, deps: [{ token: i1.DatePipe }, { token: i1.DecimalPipe }, { token: CpfCnpjPipe }, { token: TelefonePipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5002
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvTableComponent, selector: "kv-table", inputs: { _templates: ["templates", "_templates"], setConfig: ["config", "setConfig"], defaultSortField: "defaultSortField", dataSource: "dataSource", selectedItems: "selectedItems", totalRecords: "totalRecords", paginator: "paginator", rowsPerPageOptions: "rowsPerPageOptions", rows: "rows", pageLinksOptions: "pageLinksOptions", showFirstLastIcon: "showFirstLastIcon", tableSize: "tableSize", applyStyle: "applyStyle", acoesLinhaTabela: "acoesLinhaTabela", filterColumnsBtn: "filterColumnsBtn", filtrosAvancados: "filtrosAvancados", scrollHeight: "scrollHeight", isTableScrollable: "isTableScrollable", tableCaptalized: "tableCaptalized", rowTrackBy: "rowTrackBy", responsiveLayout: "responsiveLayout" }, outputs: { onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", onPaginate: "onPaginate", onSelectionChange: "onSelectionChange", doubleClickEvent: "doubleClickEvent", filterField: "filterField", filtrosAvancadosEmit: "filtrosAvancadosEmit", onSwitchTableChange: "onSwitchTableChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "menuFiltroDiv", first: true, predicate: ["menuFiltroDiv"], descendants: true }, { propertyName: "botaoFiltro", first: true, predicate: ["botaoFiltro"], descendants: true }], ngImport: i0, template: "<div>\r\n <p-panel\r\n *ngIf=\"filtrosAvancados\"\r\n header=\"Filtros avan\u00E7ados\"\r\n [toggleable]=\"true\"\r\n [collapsed]=\"true\"\r\n (collapsedChange)=\"collapsed = !collapsed\"\r\n [style]=\"{ 'margin-bottom': '2px' }\"\r\n >\r\n <ng-template pTemplate=\"headericons\">\r\n <i\r\n *ngIf=\"!collapsed\"\r\n class=\"pi pi-filter\"\r\n ></i>\r\n <!-- \u00CDcone quando o painel est\u00E1 aberto -->\r\n <i\r\n *ngIf=\"collapsed\"\r\n class=\"pi pi-minus\"\r\n ></i>\r\n <!-- \u00CDcone quando o painel est\u00E1 fechado -->\r\n </ng-template>\r\n <ng-content></ng-content>\r\n </p-panel>\r\n\r\n <p-table\r\n *ngIf=\"config\"\r\n #dt\r\n styleClass=\"p-datatable-sm\"\r\n [value]=\"dataSource\"\r\n [(selection)]=\"selectedItems\"\r\n [rowSelectable]=\"isRowSelectable\"\r\n [columns]=\"config.columns\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [rows]=\"rows\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {{ totalRecords }}\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n rowGroupMode=\"rowspan\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [pageLinks]=\"pageLinksOptions\"\r\n [responsive]=\"true\"\r\n [responsiveLayout]=\"responsiveLayout ? 'stack' : ''\"\r\n [scrollable]=\"isTableScrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [rowTrackBy]=\"rowTrackBy \"\r\n >\r\n <ng-template\r\n pTemplate=\"caption\"\r\n *ngIf=\"config.enableCation\"\r\n >\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n <div\r\n *ngIf=\"config.title\"\r\n class=\"text-md font-bold my-3\"\r\n >\r\n {{ config.title }}\r\n </div>\r\n <div\r\n *ngIf=\"config.subtitle\"\r\n class=\"text-sm mb-4 font-medium\"\r\n >\r\n {{ config.subtitle }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center md:col-6 lg:col-4 {{\r\n tamanhoTela < 768 ? 'col-10' : 'col-12'\r\n }} mt-1 mb-2 \">\r\n <span\r\n *ngIf=\"config.enableFilter\"\r\n class=\"p-input-icon-left\"\r\n >\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(dt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n\r\n <!-- <div\r\n #menuFiltroDiv\r\n id = \"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200\"\r\n (click)=\"onClickEvent($event)\"\r\n > -->\r\n\r\n <div\r\n #menuFiltroDiv\r\n id=\"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200 menu-columns-filtro\"\r\n >\r\n <p-card>\r\n <div\r\n class=\"flex flex-column text-medium w-15rem\"\r\n *ngFor=\"let col of columns\"\r\n >\r\n {{ checkMenuFiltro(col) }}\r\n <p-checkbox\r\n #filterColumns\r\n [label]=\"col.header\"\r\n [binary]=\"true\"\r\n class=\"checkbox-container\"\r\n (onChange)=\"dinamicColumnSet($event, col)\"\r\n [(ngModel)]=\"col.checked\"\r\n *ngIf=\"!dinamicDisableColumn(col)\"\r\n ></p-checkbox>\r\n </div>\r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end\">\r\n <div\r\n *ngFor=\"let action of config.actionsLote; let i=index\"\r\n class=\"btns-options\"\r\n [style]=\"{ 'margin-right': '7px' }\"\r\n >\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n *ngIf=\"\r\n (selectedItems.length > 0 || action.showAcoesLote) &&\r\n exibirCampo(action, this.action)\r\n \"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"\r\n action?.command(commandEvent); activeItemLote(selectedItems)\r\n \"\r\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\r\n [tooltipPosition]=\"retornarCampo(action, selectedItems, 'tooltip').length > 7 && config.actionsLote && i == config.actionsLote.length - 1 ? 'left' : 'bottom'\" \r\n [style.backgroundColor]=\"\r\n retornarCampo(action, selectedItems, 'btnColor')\r\n \"\r\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n [style.color]=\"\r\n retornarCampo(action, selectedItems, 'iconBtnColor')\r\n \"\r\n >\r\n {{ retornarCampo(action, selectedItems, \"icon\") }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n style=\"width: 4rem; border-left: solid 4px transparent\"\r\n *ngIf=\"config.enableSelect\"\r\n >\r\n <p-tableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\"></p-tableHeaderCheckbox>\r\n </th>\r\n\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n class=\"text-sm\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n <p-sortIcon\r\n *ngIf=\"col.sortable === true\"\r\n [field]=\"col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n\r\n <span\r\n *ngIf=\"col.headerTooltip\"\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"config.actions && config.actions.length > 0\"></th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowData\r\n let-columns=\"columns\"\r\n let-rowgroup=\"rowgroup\"\r\n let-rowspan=\"rowspan\"\r\n >\r\n <tr (dblclick)=\"doubleClick($event, rowData)\" [ngClass]=\"{ 'capitalize': tableCaptalized }\">\r\n <td\r\n *ngIf=\"config.enableSelect\"\r\n [style]=\"applyStyle(rowData, { field: 'check-box', header: '' })\"\r\n >\r\n <!--<p-tableCheckbox *ngIf=\"isVisibleCheckbox(rowData)\"-->\r\n <p-tableCheckbox\r\n [value]=\"rowData\"\r\n [disabled]=\"isDisabledCheckbox(rowData)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n </td>\r\n\r\n <ng-container *ngFor=\"let col of columns\">\r\n\r\n\r\n\r\n <td \r\n *ngIf=\"rowgroup && !col.template\"\r\n [attr.rowspan]=\"rowgroup && col.grouped ? rowspan : null\"\r\n class=\"rowTable\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n <span *ngIf=\"\r\n !isChipField(col) && !col.iconField && !isImageField(col)\r\n \">\r\n <i\r\n *ngIf=\"col.icon\"\r\n [class]=\"col.icon + ' mr-2'\"\r\n ></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span\r\n [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >{{ transformValue(rowData, col) }}</span>\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img\r\n class=\"image\"\r\n [src]=\"loadImage(rowData, col)\"\r\n />\r\n </span>\r\n </span>\r\n\r\n <i\r\n *ngIf=\"col.iconField\"\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i\r\n *ngIf=\"!col.iconField && !isSwitchField(col)\"\r\n [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"\r\n ><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n\r\n <span\r\n *ngIf=\"isSwitchField(col)\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(rowData, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n\r\n </ng-template>\r\n </td>\r\n\r\n <td\r\n *ngIf=\"!rowgroup && !col.grouped && !col.template\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n <span *ngIf=\"\r\n !isChipField(col) && !col.iconField && !isImageField(col)\r\n \">\r\n <i\r\n *ngIf=\"col.icon\"\r\n [class]=\"col.icon + ' mr-2'\"\r\n ></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span\r\n [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ transformValue(rowData, col) }}</span>\r\n </div>\r\n </span>\r\n\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img\r\n class=\"image\"\r\n [src]=\"loadImage(rowData, col)\"\r\n />\r\n </span>\r\n </span>\r\n\r\n <i\r\n *ngIf=\"col.iconField\"\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n\r\n <i\r\n *ngIf=\"!col.iconField && !isSwitchField(col)\"\r\n [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"\r\n ><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n\r\n <span\r\n *ngIf=\"isSwitchField(col)\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(rowData, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n\r\n\r\n </ng-template>\r\n </td>\r\n\r\n <td\r\n *ngIf=\"col.template\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n <ng-container\r\n *ngIf=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n >\r\n </ng-container>\r\n </td>\r\n\r\n\r\n\r\n </ng-container>\r\n\r\n <td\r\n *ngIf=\"config.actions && config.actions.length > 0\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\"\r\n >\r\n <div\r\n class=\"flex flex-row justify-content-end w-full gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n <div\r\n *ngFor=\"let action of config.actions\"\r\n class=\"mr-1\"\r\n >\r\n <!-- <button\r\n id=\"actionBtns\"\r\n pButton\r\n *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowData); action?.command(commandEvent)\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"\r\n action.tooltipPosition ? action.tooltipPosition : 'bottom'\r\n \"\r\n [disabled]=\"callDisabled(action, rowData)\"\r\n >\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span\r\n >\r\n </button> -->\r\n\r\n <span\r\n class=\"material-symbols-outlined {{\r\n callDisabled(action, rowData)\r\n ? 'text-gray-400 cursor-auto'\r\n : 'cursor-pointer'\r\n }}\"\r\n style=\"font-size: 20px\"\r\n (click)=\"isButtonDisable(action, rowData, commandEvent)\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"\r\n action.tooltipPosition ? action.tooltipPosition : 'bottom'\r\n \"\r\n >\r\n {{ retornarCampo(action, rowData, \"icon\") }}\r\n </span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"!acoesLinhaTabela\"\r\n >\r\n <!-- <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n > -->\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 20px\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n <!-- </button> -->\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <!-- <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div> -->\r\n\r\n <p-tieredMenu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-tieredMenu>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"emptymessage\"\r\n let-columns\r\n >\r\n <tr>\r\n <td\r\n [attr.colspan]=\"columns.length + 2\"\r\n style=\"text-align: center; border-radius: 10px !important\"\r\n >\r\n <p class=\"font-medium m-0\">Nenhum registro encontrado</p>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n", styles: ["@charset \"UTF-8\";.error-show{background-color:red;width:5px;height:10px}.btns-options{position:relative;left:20px}.chip-style{border:solid 1px}:host::ng-deep .p-card .p-card-content{padding:0}.material-symbols-outlined.md-19{font-size:19px}.material-symbols-outlined.md-22{font-size:22px}.checkbox-container{display:flex;align-items:center;gap:2px;margin-top:5px}#botaoFiltro:hover{color:#a9a9a9}.actionLoteBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;font-size:16px;width:2rem;height:2rem;top:2px;margin-left:.5rem;justify-content:center;text-decoration:none;text-align:justify;padding:12px}#actionLoteBtns:hover,.actionLoteBtns:hover{background-color:#29b92d!important}.actionBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;width:.8rem;height:.8rem;margin-left:.22rem;justify-content:center;text-decoration:none;text-align:justify;padding:11px}:host::ng-deep .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#actionBtns:hover{color:#a9a9a9}.image{border-style:solid;border-width:3.5px;border-color:#5289b4;border-radius:100%;height:55px;width:55px;padding:0;margin:0;vertical-align:middle}:host ::ng-deep .p-datatable-table{border-spacing:0px 2px}:host ::ng-deep .p-datatable-header{background-color:#eaeaea!important;padding:2px 13px 0!important;border-radius:5px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th{background-color:#eaeaea!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td{border-bottom:1px solid #ddd!important;border-top:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-radius:10px 0 0 10px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child{border-radius:0 10px 10px 0!important;border-right:1px solid #ddd!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:50%;width:2.5rem!important;height:2.5rem!important;box-shadow:#0000003d 0 3px 8px}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}@media only screen and (min-width: 768px){.actionLoteBtns{top:-1px}}@media only screen and (max-width: 960px){.rowTable{text-align:right!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(p-tablecheckbox){border-bottom:0px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(img){justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(img) .p-column-title{display:none!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-top:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child div{justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td .p-column-title{font-weight:600}}::ng-deep .p-panel.p-panel-toggleable .p-panel-header{background-color:#eaeaea!important}::ng-deep .field.grid,.formgrid.grid{padding:0rem!important}@media screen and (min-width: 961px){.moreVertBtn{position:relative;right:3px}}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:last-of-type{border-radius:0 0 5px!important}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:first-of-type{border-radius:0 0 0 5px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4$5.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i5$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i7$1.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i4$2.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "directive", type: i6.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i11$1.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "component", type: i12$1.TieredMenu, selector: "p-tieredMenu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i13.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i13.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i13.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i13.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i13.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: KvSwitchComponent, selector: "kv-switch", inputs: ["readonly", "switchValue"], outputs: ["onSwitchChange"] }] }); }
|
|
5100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvTableComponent, selector: "kv-table", inputs: { _templates: ["templates", "_templates"], setConfig: ["config", "setConfig"], defaultSortField: "defaultSortField", dataSource: "dataSource", selectedItems: "selectedItems", totalRecords: "totalRecords", paginator: "paginator", rowsPerPageOptions: "rowsPerPageOptions", rows: "rows", pageLinksOptions: "pageLinksOptions", showFirstLastIcon: "showFirstLastIcon", tableSize: "tableSize", applyStyle: "applyStyle", acoesLinhaTabela: "acoesLinhaTabela", filterColumnsBtn: "filterColumnsBtn", filtrosAvancados: "filtrosAvancados", scrollHeight: "scrollHeight", isTableScrollable: "isTableScrollable", tableCaptalized: "tableCaptalized", rowTrackBy: "rowTrackBy", responsiveLayout: "responsiveLayout" }, outputs: { onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", onPaginate: "onPaginate", onSelectionChange: "onSelectionChange", doubleClickEvent: "doubleClickEvent", filterField: "filterField", filtrosAvancadosEmit: "filtrosAvancadosEmit", onSwitchTableChange: "onSwitchTableChange" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "menuFiltroDiv", first: true, predicate: ["menuFiltroDiv"], descendants: true }, { propertyName: "botaoFiltro", first: true, predicate: ["botaoFiltro"], descendants: true }], ngImport: i0, template: "<div>\r\n <p-panel\r\n *ngIf=\"filtrosAvancados\"\r\n header=\"Filtros avan\u00E7ados\"\r\n [toggleable]=\"true\"\r\n [collapsed]=\"true\"\r\n (collapsedChange)=\"collapsed = !collapsed\"\r\n [style]=\"{ 'margin-bottom': '2px' }\"\r\n >\r\n <ng-template pTemplate=\"headericons\">\r\n <i\r\n *ngIf=\"!collapsed\"\r\n class=\"pi pi-filter\"\r\n ></i>\r\n <!-- \u00CDcone quando o painel est\u00E1 aberto -->\r\n <i\r\n *ngIf=\"collapsed\"\r\n class=\"pi pi-minus\"\r\n ></i>\r\n <!-- \u00CDcone quando o painel est\u00E1 fechado -->\r\n </ng-template>\r\n <ng-content></ng-content>\r\n </p-panel>\r\n\r\n <p-table\r\n *ngIf=\"config\"\r\n #dt\r\n styleClass=\"p-datatable-sm\"\r\n [value]=\"dataSource\"\r\n [(selection)]=\"selectedItems\"\r\n [rowSelectable]=\"isRowSelectable\"\r\n [columns]=\"config.columns\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [rows]=\"rows\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"{first} - {last} de {{ totalRecords }}\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n (selectionChange)=\"selectionChange($event)\"\r\n rowGroupMode=\"rowspan\"\r\n [groupRowsBy]=\"config.fieldGroup\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [pageLinks]=\"pageLinksOptions\"\r\n [responsive]=\"true\"\r\n [responsiveLayout]=\"responsiveLayout ? 'stack' : ''\"\r\n [scrollable]=\"isTableScrollable\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [rowTrackBy]=\"rowTrackBy \"\r\n >\r\n <ng-template\r\n pTemplate=\"caption\"\r\n *ngIf=\"config.enableCation\"\r\n >\r\n <div class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n <div\r\n *ngIf=\"config.title\"\r\n class=\"text-md font-bold my-3\"\r\n >\r\n {{ config.title }}\r\n </div>\r\n <div\r\n *ngIf=\"config.subtitle\"\r\n class=\"text-sm mb-4 font-medium\"\r\n >\r\n {{ config.subtitle }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row align-items-center md:col-6 lg:col-4 {{\r\n tamanhoTela < 768 ? 'col-10' : 'col-12'\r\n }} mt-1 mb-2 \">\r\n <span\r\n *ngIf=\"config.enableFilter\"\r\n class=\"p-input-icon-left\"\r\n >\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(dt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n\r\n <!-- <div\r\n #menuFiltroDiv\r\n id = \"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200\"\r\n (click)=\"onClickEvent($event)\"\r\n > -->\r\n\r\n <div\r\n #menuFiltroDiv\r\n id=\"menuFiltroDiv\"\r\n [style.visibility]=\"'hidden'\"\r\n class=\"absolute z-4 bg-gray-200 menu-columns-filtro\"\r\n >\r\n <p-card>\r\n <div\r\n class=\"flex flex-column text-medium w-15rem\"\r\n *ngFor=\"let col of columns\"\r\n >\r\n {{ checkMenuFiltro(col) }}\r\n <p-checkbox\r\n #filterColumns\r\n [label]=\"col.header\"\r\n [binary]=\"true\"\r\n class=\"checkbox-container\"\r\n (onChange)=\"dinamicColumnSet($event, col)\"\r\n [(ngModel)]=\"col.checked\"\r\n *ngIf=\"!dinamicDisableColumn(col)\"\r\n ></p-checkbox>\r\n </div>\r\n </p-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end\">\r\n <div\r\n *ngFor=\"let action of config.actionsLote; let i=index\"\r\n class=\"btns-options\"\r\n [style]=\"{ 'margin-right': '7px' }\"\r\n >\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n *ngIf=\"\r\n (selectedItems.length > 0 || action.showAcoesLote) &&\r\n exibirCampo(action, this.action)\r\n \"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"\r\n action?.command(commandEvent); activeItemLote(selectedItems)\r\n \"\r\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\r\n [tooltipPosition]=\"retornarCampo(action, selectedItems, 'tooltip').length > 7 && config.actionsLote && i == config.actionsLote.length - 1 ? 'left' : 'bottom'\" \r\n [style.backgroundColor]=\"\r\n retornarCampo(action, selectedItems, 'btnColor')\r\n \"\r\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n [style.color]=\"\r\n retornarCampo(action, selectedItems, 'iconBtnColor')\r\n \"\r\n >\r\n {{ retornarCampo(action, selectedItems, \"icon\") }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n style=\"width: 4rem; border-left: solid 4px transparent\"\r\n *ngIf=\"config.enableSelect\"\r\n >\r\n <p-tableHeaderCheckbox (click)=\"activeItemLote(selectedItems)\"></p-tableHeaderCheckbox>\r\n </th>\r\n\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [pSortableColumn]=\"col.field\"\r\n [pSortableColumnDisabled]=\"col.sortable === false\"\r\n [style.width]=\"col.width\"\r\n class=\"text-sm\"\r\n >\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n <p-sortIcon\r\n *ngIf=\"col.sortable === true\"\r\n [field]=\"col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n\r\n <span\r\n *ngIf=\"col.headerTooltip\"\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"config.actions && config.actions.length > 0\"></th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowData\r\n let-columns=\"columns\"\r\n let-rowgroup=\"rowgroup\"\r\n let-rowspan=\"rowspan\"\r\n >\r\n <tr (dblclick)=\"doubleClick($event, rowData)\" [ngClass]=\"{ 'capitalize': tableCaptalized }\">\r\n <td\r\n *ngIf=\"config.enableSelect\"\r\n [style]=\"applyStyle(rowData, { field: 'check-box', header: '' })\"\r\n >\r\n <!--<p-tableCheckbox *ngIf=\"isVisibleCheckbox(rowData)\"-->\r\n <p-tableCheckbox\r\n [value]=\"rowData\"\r\n [disabled]=\"isDisabledCheckbox(rowData)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n ></p-tableCheckbox>\r\n </td>\r\n\r\n <ng-container *ngFor=\"let col of columns\">\r\n\r\n\r\n\r\n <td \r\n *ngIf=\"rowgroup && !col.template\"\r\n [attr.rowspan]=\"rowgroup && col.grouped ? rowspan : null\"\r\n class=\"rowTable\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n <span *ngIf=\"\r\n !isChipField(col) && !col.iconField && !isImageField(col)\r\n \">\r\n <i\r\n *ngIf=\"col.icon\"\r\n [class]=\"col.icon + ' mr-2'\"\r\n ></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span\r\n [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >{{ transformValue(rowData, col) }}</span>\r\n </div>\r\n </span>\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img\r\n class=\"image\"\r\n [src]=\"loadImage(rowData, col)\"\r\n />\r\n </span>\r\n </span>\r\n\r\n <i\r\n *ngIf=\"col.iconField\"\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n <i\r\n *ngIf=\"!col.iconField && !isSwitchField(col)\"\r\n [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"\r\n ><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n\r\n <span\r\n *ngIf=\"isSwitchField(col)\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(rowData, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n\r\n </ng-template>\r\n </td>\r\n\r\n <td\r\n *ngIf=\"!rowgroup && !col.grouped && !col.template\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n [pTooltip]=\"returnTooltipRow(rowData, col)\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n\r\n <span\r\n *ngIf=\"!isBooleanField(rowData, col); else booleanField\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n <span *ngIf=\"\r\n !isChipField(col) && !col.iconField && !isImageField(col)\r\n \">\r\n <i\r\n *ngIf=\"col.icon\"\r\n [class]=\"col.icon + ' mr-2'\"\r\n ></i>\r\n {{ transformValue(rowData, col) }}\r\n </span>\r\n\r\n <div *ngIf=\"isChipField(col) && !col.iconField\">\r\n <span\r\n [class]=\"returnClassChip(rowData, col)\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ transformValue(rowData, col) }}</span>\r\n </div>\r\n </span>\r\n\r\n\r\n <span *ngIf=\"isImageField(col)\">\r\n <span>\r\n <img\r\n class=\"image\"\r\n [src]=\"loadImage(rowData, col)\"\r\n />\r\n </span>\r\n </span>\r\n\r\n <i\r\n *ngIf=\"col.iconField\"\r\n [ngClass]=\"{\r\n 'material-icons': col.indIconMaterial,\r\n 'material-symbols-outlined mr-2': !col.indIconMaterial\r\n }\"\r\n [pTooltip]=\"returnTooltipIcon(rowData, col)\"\r\n >\r\n {{ returnClassIcon(rowData, col) }}\r\n </i>\r\n\r\n <ng-template #booleanField>\r\n\r\n <i\r\n *ngIf=\"!col.iconField && !isSwitchField(col)\"\r\n [ngClass]=\"\r\n rowData[col.field] ? 'text-green-500' : 'text-red-500'\r\n \"\r\n ><span class=\"material-symbols-outlined\">\r\n {{ rowData[col.field] ? \"check\" : \"close\" }}\r\n </span>\r\n </i>\r\n\r\n <span\r\n *ngIf=\"isSwitchField(col)\"\r\n [class]=\"returnRowClass(rowData, col)\"\r\n >\r\n <kv-switch\r\n (onSwitchChange)=\"onSwitchChange($event, rowData, col)\"\r\n [disabled]=\"col?.onlyReadField ?? true\"\r\n [switchValue]=\"transformValue(rowData, col)\"\r\n >\r\n </kv-switch>\r\n </span>\r\n\r\n\r\n </ng-template>\r\n </td>\r\n\r\n <td\r\n *ngIf=\"col.template\"\r\n [style]=\"\r\n applyStyle(rowData, col) +\r\n centralizarColunas(col) +\r\n alignColunas(col)\r\n \"\r\n class=\"rowTable\"\r\n >\r\n <span class=\"p-column-title\">{{ col.header }}:</span>\r\n <ng-container\r\n *ngIf=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n >\r\n </ng-container>\r\n </td>\r\n\r\n\r\n\r\n </ng-container>\r\n\r\n <td\r\n *ngIf=\"config.actions && config.actions.length > 0\"\r\n [style]=\"applyStyle(rowData, { field: 'btns-options', header: '' })\"\r\n >\r\n <div\r\n class=\"flex flex-row justify-content-end w-full gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n <div\r\n *ngFor=\"let action of config.actions\"\r\n class=\"mr-1\"\r\n >\r\n <!-- <button\r\n id=\"actionBtns\"\r\n pButton\r\n *ngIf=\"exibirCampo(action, rowData)\"\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"activeItem(rowData); action?.command(commandEvent)\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"\r\n action.tooltipPosition ? action.tooltipPosition : 'bottom'\r\n \"\r\n [disabled]=\"callDisabled(action, rowData)\"\r\n >\r\n <span class=\"material-symbols-outlined md-19\">\r\n {{ retornarCampo(action, rowData, \"icon\") }}</span\r\n >\r\n </button> -->\r\n\r\n <span\r\n class=\"material-symbols-outlined {{\r\n callDisabled(action, rowData)\r\n ? 'text-gray-400 cursor-auto'\r\n : 'cursor-pointer'\r\n }}\"\r\n style=\"font-size: 20px\"\r\n (click)=\"isButtonDisable(action, rowData, commandEvent)\"\r\n [pTooltip]=\"retornarCampo(action, rowData, 'tooltip')\"\r\n [tooltipPosition]=\"\r\n action.tooltipPosition ? action.tooltipPosition : 'bottom'\r\n \"\r\n >\r\n {{ retornarCampo(action, rowData, \"icon\") }}\r\n </span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"flex flex-row justify-content-end w-full\"\r\n *ngIf=\"!acoesLinhaTabela\"\r\n >\r\n <!-- <button\r\n id=\"moreVertBtn\"\r\n pButton\r\n class=\"actionBtns p-button-text p-button-raised\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n > -->\r\n <span\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 20px\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n <!-- </button> -->\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <!-- <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div> -->\r\n\r\n <p-tieredMenu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-tieredMenu>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"emptymessage\"\r\n let-columns\r\n >\r\n <tr>\r\n <td\r\n [attr.colspan]=\"columns.length + 2\"\r\n style=\"text-align: center; border-radius: 10px !important\"\r\n >\r\n <p class=\"font-medium m-0\">Nenhum registro encontrado</p>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n", styles: ["@charset \"UTF-8\";.error-show{background-color:red;width:5px;height:10px}.btns-options{position:relative;left:20px}.chip-style{border:solid 1px}:host::ng-deep .p-card .p-card-content{padding:0}.material-symbols-outlined.md-19{font-size:19px}.material-symbols-outlined.md-22{font-size:22px}.checkbox-container{display:flex;align-items:center;gap:2px;margin-top:5px}#botaoFiltro:hover{color:#a9a9a9}.actionLoteBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;font-size:16px;width:2rem;height:2rem;top:2px;margin-left:.5rem;justify-content:center;text-decoration:none;text-align:justify;padding:12px}#actionLoteBtns:hover,.actionLoteBtns:hover{background-color:#29b92d!important}.actionBtns{align-items:center;background-color:transparent;color:#a9a9a9;display:flex;width:.8rem;height:.8rem;margin-left:.22rem;justify-content:center;text-decoration:none;text-align:justify;padding:11px}:host::ng-deep .material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#actionBtns:hover{color:#a9a9a9}.image{border-style:solid;border-width:3.5px;border-color:#5289b4;border-radius:100%;height:55px;width:55px;padding:0;margin:0;vertical-align:middle}:host ::ng-deep .p-datatable-table{border-spacing:0px 2px}:host ::ng-deep .p-datatable-header{background-color:#eaeaea!important;padding:2px 13px 0!important;border-radius:5px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th{background-color:#eaeaea!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td{border-bottom:1px solid #ddd!important;border-top:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-radius:10px 0 0 10px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child{border-radius:0 10px 10px 0!important;border-right:1px solid #ddd!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:50%;width:2.5rem!important;height:2.5rem!important;box-shadow:#0000003d 0 3px 8px}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}@media only screen and (min-width: 768px){.actionLoteBtns{top:-1px}}@media only screen and (max-width: 960px){.rowTable{text-align:right!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(p-tablecheckbox){border-bottom:0px!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(img){justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:has(img) .p-column-title{display:none!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-top:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid #ddd!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td:last-child div{justify-content:center!important;align-items:center!important}:host ::ng-deep .p-datatable.p-datatable-sm .p-datatable-tbody>tr>td .p-column-title{font-weight:600}}::ng-deep .p-panel.p-panel-toggleable .p-panel-header{background-color:#eaeaea!important}::ng-deep .field.grid,.formgrid.grid{padding:0rem!important}@media screen and (min-width: 961px){.moreVertBtn{position:relative;right:3px}}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:last-of-type{border-radius:0 0 5px!important}::ng-deep .p-datatable.p-datatable-sm .p-datatable-thead>tr>th:first-of-type{border-radius:0 0 0 5px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4$5.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i5$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i7$1.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: i4$2.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "directive", type: i6.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i11$1.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "component", type: i12$1.TieredMenu, selector: "p-tieredMenu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i14.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i14.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i14.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i14.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i14.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: KvSwitchComponent, selector: "kv-switch", inputs: ["readonly", "switchValue"], outputs: ["onSwitchChange"] }] }); }
|
|
5003
5101
|
}
|
|
5004
5102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTableComponent, decorators: [{
|
|
5005
5103
|
type: Component,
|
|
@@ -5284,11 +5382,11 @@ class KvTreetableComponent {
|
|
|
5284
5382
|
return true;
|
|
5285
5383
|
}
|
|
5286
5384
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTreetableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5287
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvTreetableComponent, selector: "kv-tree-table", inputs: { config: "config", dataSource: "dataSource", gridLines: "gridLines", acoesLinhaTabela: "acoesLinhaTabela", tableCaptalized: "tableCaptalized", selectedItems: "selectedItems", paginator: "paginator", rows: "rows", pageLinks: "pageLinks", showFirstLastIcon: "showFirstLastIcon", totalRecords: "totalRecords", _templates: ["templates", "_templates"] }, outputs: { onFilter: "onFilter", onPaginate: "onPaginate", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", doubleClickEvent: "doubleClickEvent" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], ngImport: i0, template: "<div>\r\n <p-treeTable\r\n #tt\r\n [value]=\"dataSource\"\r\n [columns]=\"config.columns\"\r\n [resizableColumns]=\"true\"\r\n [tableStyle]=\"{'min-width': '50rem'}\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"paginator\"\r\n [rows]=\"rows\"\r\n [pageLinks]=\"pageLinks\"\r\n [totalRecords]=\"totalRecords\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50]\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [styleClass]=\"gridLines ? 'p-treetable-gridlines' : ''\"\r\n [(selection)]=\"selectedItems\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n currentPageReportTemplate=\"{first} - {last} de {{ totalRecords }}\"\r\n >\r\n\r\n <ng-template\r\n pTemplate=\"caption\"\r\n *ngIf=\"config.enableCation\"\r\n >\r\n <div\r\n class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n <div\r\n *ngIf=\"config.title\"\r\n class=\"text-md font-bold my-3\"\r\n >\r\n {{ config.title }}\r\n </div>\r\n <div\r\n *ngIf=\"config.subtitle\"\r\n class=\"text-sm mb-4 font-medium\"\r\n >\r\n {{ config.subtitle }}\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"\r\n tamanhoTela < 768\r\n ? 'flex flex-row align-items-center col-10 md:col-6 lg:col-4 justify-content-center'\r\n : 'flex flex-row align-items-center col-12 md:col-6 lg:col-4 justify-content-center input-search'\r\n \">\r\n\r\n <span\r\n *ngIf=\"config.enableFilter\"\r\n class=\"p-input-icon-left\"\r\n >\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(tt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2.5rem\"\r\n />\r\n </span>\r\n\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\r\n <div\r\n *ngFor=\"let action of config.actionsLote\"\r\n class=\"btns-options\"\r\n >\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n *ngIf=\"\r\n (selectedItems.length > 0 || action.showAcoesLote) &&\r\n exibirCampo(action, this.action)\r\n \"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"action?.command(commandEvent); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [style.backgroundColor]=\"\r\n retornarCampo(action, selectedItems, 'btnColor')\r\n \"\r\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n [style.color]=\"\r\n retornarCampo(action, selectedItems, 'iconBtnColor')\r\n \"\r\n >\r\n {{ retornarCampo(action, selectedItems, \"icon\") }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n *ngFor=\"let col of columns; index as i\"\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n class=\"text-sm\"\r\n [style.width]=\"col.width\"\r\n >\r\n <div>\r\n <div [ngClass]=\"{ flex: i == 0, 'gap-3': i == 0 }\">\r\n <div *ngIf=\"i == 0 && config.enableSelect\">\r\n <p-treeTableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"></p-treeTableHeaderCheckbox>\r\n </div>\r\n\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n <p-sortIcon\r\n *ngIf=\"col.sortable === true\"\r\n [field]=\"col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n\r\n <span\r\n *ngIf=\"col.headerTooltip\"\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n *ngFor=\"let col of columns\"\r\n ttResizableColumn\r\n [style.width]=\"col.width\"\r\n [style]=\"col.centralize ? 'text-align: center;' : ''\"\r\n >\r\n {{ col.header }} <br>\r\n </th>\r\n\r\n <th\r\n [style.width]=\"5\"\r\n *ngIf=\"config.actions.length > 0\"\r\n ></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowNode\r\n let-rowData=\"rowData\"\r\n let-columns=\"columns\"\r\n >\r\n <tr\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ 'capitalize': tableCaptalized }\"\r\n >\r\n <td\r\n *ngFor=\"let col of columns; let i = index\"\r\n [style]=\"returnStyleRow(col, rowNode)\"\r\n [style.position]=\"rowNode.level !== 0 ? 'sticky' : null\"\r\n [style.left.px]=\"rowNode.level !== 0 ? rowNode.level*30 : null\"\r\n >\r\n\r\n <div class=\"flex flex-row {{col.boolean ? 'justify-content-center' : '' }}\">\r\n <div\r\n class=\"w-full-h-full flex align-items-center\"\r\n *ngIf=\"i == 0\"\r\n >\r\n <p-treeTableToggler\r\n class=\"hiddenVisible\"\r\n [rowNode]=\"rowNode\"\r\n ></p-treeTableToggler>\r\n\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n *ngIf=\"config.enableSelect == true\"\r\n ></p-treeTableCheckbox>\r\n\r\n <!-- \r\n <p-treeTableToggler\r\n [rowNode]=\"rowNode\"\r\n *ngIf=\"!rightCollapse\"\r\n ></p-treeTableToggler>\r\n <p-treeTableToggler\r\n class=\"hiddenVisible\"\r\n [rowNode]=\"rowNode\"\r\n *ngIf=\"rightCollapse\"\r\n ></p-treeTableToggler> -->\r\n </div>\r\n\r\n\r\n <div class=\"flex flex-row align-items-center\">\r\n <div class=\"flex flex-row align-items-center justify-content-center\">\r\n\r\n <i\r\n *ngIf=\"col.boolean\"\r\n class=\"pi {{rowData[col.field] ? 'pi-check text-green-300' : ''}}\"\r\n style=\"font-size: 1.1rem;\"\r\n ></i>\r\n\r\n\r\n <div\r\n class=\"flex flex-column\"\r\n *ngIf=\"!col.boolean\"\r\n >\r\n <span class=\"m-0\">{{ rowData[col.field] }}</span>\r\n\r\n <p\r\n *ngIf=\"col.subtitle\"\r\n class=\"m-0 text-xs font-semibold\"\r\n >{{rowData[col.subtitle]}}</p>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <span *ngIf=\"col.template && validateShowTemplate(rowNode, col)\">\r\n <ng-container\r\n *ngIf=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n >\r\n </ng-container>\r\n </span>\r\n\r\n </td>\r\n\r\n\r\n <td\r\n style=\"border-left: none;\"\r\n *ngIf=\"config.actions.length > 0 || config.actionsPai\"\r\n >\r\n\r\n <div *ngIf=\"config.actions.length > 0 && validateActionPosition(rowNode)\">\r\n <div\r\n class=\"flex flex-row justify-content-center gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n <p-button\r\n *ngFor=\"let action of config.actions\"\r\n icon=\"pi {{action.icon}}\"\r\n [rounded]=\"true\"\r\n [severity]=\"action.severity ? action.severity : 'secondary'\"\r\n [style]=\"{width: '2rem', height: '2rem'}\"\r\n (onClick)=\"action.command($event)\"\r\n ></p-button>\r\n\r\n </div>\r\n\r\n <span\r\n *ngIf=\"!acoesLinhaTabela\"\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 22px\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n\r\n </div>\r\n\r\n <div *ngIf=\"config.actionsPai?.length > 0 && rowNode.level == 0\">\r\n\r\n <div\r\n *ngFor=\"let actionPai of config.actionsPai\"\r\n class=\"flex justify-content-end\"\r\n >\r\n\r\n <p-button\r\n icon=\"pi {{actionPai.icon}}\"\r\n [rounded]=\"true\"\r\n [severity]=\"actionPai.severity ? actionPai.severity : 'secondary'\"\r\n [style]=\"{width: '2rem', height: '2rem'}\"\r\n (onClick)=\"activeItem(rowData);actionPai.command($event);\"\r\n ></p-button>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </td>\r\n\r\n </tr>\r\n </ng-template>\r\n\r\n </p-treeTable>\r\n</div>", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-treetable table{border-spacing:0 3px}#botaoFiltro:hover{color:#d4d4d4}:host ::ng-deep .p-treetable .p-treetable-header{background-color:#d1d1d1;padding:2px 0 0!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th{background-color:#eaeaea;padding:.5rem!important;margin-bottom:-5px!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{padding:.5rem!important}:host ::ng-deep .p-treetable .p-treetable-thead{border-spacing:0 1px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:first-of-type{background-color:#eaeaea;padding:.5rem!important;border-top-left-radius:5px!important;border-bottom-left-radius:5px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:last-child{background-color:#eaeaea;padding:.5rem!important;border-radius:0 5px 5px 0!important;-webkit-border-radius:0 5px 5px 0!important;-moz-border-radius:0 5px 5px 0!important;-ms-border-radius:0 5px 5px 0!important;-o-border-radius:0 5px 5px 0!important}:host ::ng-deep .p-treetable-scrollable-header-box{padding:0!important}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th{background-color:#f2f2f2}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{border-bottom:1px solid #ddd!important;border-top:1px solid #ddd!important}:host ::ng-deep #tr-style{border-left:solid 4px #5289B4!important;border-radius:10px!important;display:block}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-right:none!important;border-radius:10px 0 0 10px!important;-webkit-border-radius:10px 0 0 10px!important;-moz-border-radius:10px 0 0 10px!important;-ms-border-radius:10px 0 0 10px!important;-o-border-radius:10px 0 0 10px!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:last-child{border-radius:0 10px 10px 0!important;border-right:1px solid #ddd!important;-webkit-border-radius:0 10px 10px 0!important;-moz-border-radius:0 10px 10px 0!important;-ms-border-radius:0 10px 10px 0!important;-o-border-radius:0 10px 10px 0!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:50%;box-shadow:#0000003d 0 3px 8px;width:2.5rem!important;height:2.5rem!important;display:flex;align-items:center;justify-content:center}:host ::ng-deep .p-treetable table{border-collapse:separate!important;table-layout:auto!important}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4$5.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i5$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i6.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i5.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i13.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i9$1.TreeTable, selector: "p-treeTable", inputs: ["columns", "style", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "customSort", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "compareSelectionBy", "rowHover", "loading", "loadingIcon", "showLoader", "scrollable", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "frozenColumns", "resizableColumns", "columnResizeMode", "reorderableColumns", "contextMenu", "rowTrackBy", "filters", "globalFilterFields", "filterDelay", "filterMode", "filterLocale", "paginatorLocale", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "value", "virtualRowHeight", "selectionKeys"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel", "selectionKeysChange"] }, { kind: "component", type: i9$1.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i9$1.TTSortableColumn, selector: "[ttSortableColumn]", inputs: ["ttSortableColumn", "ttSortableColumnDisabled"] }, { kind: "directive", type: i9$1.TTResizableColumn, selector: "[ttResizableColumn]", inputs: ["ttResizableColumnDisabled"] }, { kind: "directive", type: i9$1.TTRow, selector: "[ttRow]", inputs: ["ttRow"] }, { kind: "component", type: i9$1.TTCheckbox, selector: "p-treeTableCheckbox", inputs: ["disabled", "value"] }, { kind: "component", type: i9$1.TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox" }] }); }
|
|
5385
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvTreetableComponent, selector: "kv-tree-table", inputs: { config: "config", dataSource: "dataSource", gridLines: "gridLines", acoesLinhaTabela: "acoesLinhaTabela", tableCaptalized: "tableCaptalized", selectedItems: "selectedItems", paginator: "paginator", rows: "rows", pageLinks: "pageLinks", showFirstLastIcon: "showFirstLastIcon", totalRecords: "totalRecords", _templates: ["templates", "_templates"] }, outputs: { onFilter: "onFilter", onPaginate: "onPaginate", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", doubleClickEvent: "doubleClickEvent" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], ngImport: i0, template: "<div>\r\n <p-treeTable\r\n #tt\r\n [value]=\"dataSource\"\r\n [columns]=\"config.columns\"\r\n [resizableColumns]=\"true\"\r\n [tableStyle]=\"{'min-width': '50rem'}\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"paginator\"\r\n [rows]=\"rows\"\r\n [pageLinks]=\"pageLinks\"\r\n [totalRecords]=\"totalRecords\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50]\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [styleClass]=\"gridLines ? 'p-treetable-gridlines' : ''\"\r\n [(selection)]=\"selectedItems\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n currentPageReportTemplate=\"{first} - {last} de {{ totalRecords }}\"\r\n >\r\n\r\n <ng-template\r\n pTemplate=\"caption\"\r\n *ngIf=\"config.enableCation\"\r\n >\r\n <div\r\n class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n <div\r\n *ngIf=\"config.title\"\r\n class=\"text-md font-bold my-3\"\r\n >\r\n {{ config.title }}\r\n </div>\r\n <div\r\n *ngIf=\"config.subtitle\"\r\n class=\"text-sm mb-4 font-medium\"\r\n >\r\n {{ config.subtitle }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center col-10 md:col-6 lg:col-4 justify-content-center {{tamanhoTela < 768 ? '' : 'input-search'}}\">\r\n <span\r\n *ngIf=\"config.enableFilter\"\r\n class=\"p-input-icon-left\"\r\n >\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(tt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\r\n <div\r\n *ngFor=\"let action of config.actionsLote\"\r\n class=\"btns-options\"\r\n >\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n *ngIf=\"\r\n (selectedItems.length > 0 || action.showAcoesLote) &&\r\n exibirCampo(action, this.action)\r\n \"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"action?.command(commandEvent); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [style.backgroundColor]=\"\r\n retornarCampo(action, selectedItems, 'btnColor')\r\n \"\r\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n [style.color]=\"\r\n retornarCampo(action, selectedItems, 'iconBtnColor')\r\n \"\r\n >\r\n {{ retornarCampo(action, selectedItems, \"icon\") }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n *ngFor=\"let col of columns; index as i\"\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n class=\"text-sm\"\r\n [style.width]=\"col.width\"\r\n >\r\n <div>\r\n <div [ngClass]=\"{ flex: i == 0, 'gap-3': i == 0 }\">\r\n <div *ngIf=\"i == 0 && config.enableSelect\">\r\n <p-treeTableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"></p-treeTableHeaderCheckbox>\r\n </div>\r\n\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n <p-sortIcon\r\n *ngIf=\"col.sortable === true\"\r\n [field]=\"col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n\r\n <span\r\n *ngIf=\"col.headerTooltip\"\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n *ngFor=\"let col of columns\"\r\n ttResizableColumn\r\n [style.width]=\"col.width\"\r\n [style]=\"col.centralize ? 'text-align: center;' : ''\"\r\n >\r\n {{ col.header }} <br>\r\n </th>\r\n\r\n <th\r\n [style.width]=\"5\"\r\n *ngIf=\"config.actions.length > 0\"\r\n ></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowNode\r\n let-rowData=\"rowData\"\r\n let-columns=\"columns\"\r\n >\r\n <tr\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ 'capitalize': tableCaptalized }\"\r\n >\r\n <td\r\n *ngFor=\"let col of columns; let i = index\"\r\n [style]=\"returnStyleRow(col, rowNode)\"\r\n [style.position]=\"rowNode.level !== 0 ? 'sticky' : null\"\r\n [style.left.px]=\"rowNode.level !== 0 ? rowNode.level*30 : null\"\r\n >\r\n\r\n <div class=\"flex flex-row {{col.boolean ? 'justify-content-center' : '' }}\">\r\n <div\r\n class=\"w-full-h-full flex align-items-center\"\r\n *ngIf=\"i == 0\"\r\n >\r\n <p-treeTableToggler\r\n class=\"hiddenVisible\"\r\n [rowNode]=\"rowNode\"\r\n ></p-treeTableToggler>\r\n\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n *ngIf=\"config.enableSelect == true\"\r\n ></p-treeTableCheckbox>\r\n\r\n <!-- \r\n <p-treeTableToggler\r\n [rowNode]=\"rowNode\"\r\n *ngIf=\"!rightCollapse\"\r\n ></p-treeTableToggler>\r\n <p-treeTableToggler\r\n class=\"hiddenVisible\"\r\n [rowNode]=\"rowNode\"\r\n *ngIf=\"rightCollapse\"\r\n ></p-treeTableToggler> -->\r\n </div>\r\n\r\n\r\n <div class=\"flex flex-row align-items-center\">\r\n <div class=\"flex flex-row align-items-center justify-content-center\">\r\n\r\n <i\r\n *ngIf=\"col.boolean\"\r\n class=\"pi {{rowData[col.field] ? 'pi-check text-green-300' : ''}}\"\r\n style=\"font-size: 1.1rem;\"\r\n ></i>\r\n\r\n\r\n <div\r\n class=\"flex flex-column\"\r\n *ngIf=\"!col.boolean\"\r\n >\r\n <span class=\"m-0\">{{ rowData[col.field] }}</span>\r\n\r\n <p\r\n *ngIf=\"col.subtitle\"\r\n class=\"m-0 text-xs font-semibold\"\r\n >{{rowData[col.subtitle]}}</p>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <span *ngIf=\"col.template && validateShowTemplate(rowNode, col)\">\r\n <ng-container\r\n *ngIf=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n >\r\n </ng-container>\r\n </span>\r\n\r\n </td>\r\n\r\n\r\n <td\r\n style=\"border-left: none;\"\r\n *ngIf=\"config.actions.length > 0 || config.actionsPai\"\r\n >\r\n\r\n <div *ngIf=\"config.actions.length > 0 && validateActionPosition(rowNode)\">\r\n <div\r\n class=\"flex flex-row justify-content-center gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n <p-button\r\n *ngFor=\"let action of config.actions\"\r\n icon=\"pi {{action.icon}}\"\r\n [rounded]=\"true\"\r\n [severity]=\"action.severity ? action.severity : 'secondary'\"\r\n [style]=\"{width: '2rem', height: '2rem'}\"\r\n (onClick)=\"action.command($event)\"\r\n ></p-button>\r\n\r\n </div>\r\n\r\n <span\r\n *ngIf=\"!acoesLinhaTabela\"\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 22px\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n\r\n </div>\r\n\r\n <div *ngIf=\"config.actionsPai?.length > 0 && rowNode.level == 0\">\r\n\r\n <div\r\n *ngFor=\"let actionPai of config.actionsPai\"\r\n class=\"flex justify-content-end\"\r\n >\r\n\r\n <p-button\r\n icon=\"pi {{actionPai.icon}}\"\r\n [rounded]=\"true\"\r\n [severity]=\"actionPai.severity ? actionPai.severity : 'secondary'\"\r\n [style]=\"{width: '2rem', height: '2rem'}\"\r\n (onClick)=\"activeItem(rowData);actionPai.command($event);\"\r\n ></p-button>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </td>\r\n\r\n </tr>\r\n </ng-template>\r\n\r\n </p-treeTable>\r\n</div>", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-treetable table{border-spacing:0 3px}#botaoFiltro:hover{color:#d4d4d4}:host ::ng-deep .p-treetable .p-treetable-header{background-color:#eaeaea;padding:2px 0 0!important;border-radius:5px}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th{background-color:#eaeaea;padding:.5rem!important;margin-bottom:-5px!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{padding:.5rem!important}:host ::ng-deep .p-treetable .p-treetable-thead{border-spacing:0 1px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:first-of-type{background-color:#eaeaea;padding:.5rem!important;border-top-left-radius:5px!important;border-bottom-left-radius:5px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:last-child{background-color:#eaeaea;padding:.5rem!important;border-radius:0 5px 5px 0!important;-webkit-border-radius:0 5px 5px 0!important;-moz-border-radius:0 5px 5px 0!important;-ms-border-radius:0 5px 5px 0!important;-o-border-radius:0 5px 5px 0!important}:host ::ng-deep .p-treetable-scrollable-header-box{padding:0!important}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th{background-color:#f2f2f2}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{border-bottom:1px solid #ddd!important;border-top:1px solid #ddd!important}:host ::ng-deep #tr-style{border-left:solid 4px #5289B4!important;border-radius:10px!important;display:block}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-right:none!important;border-radius:10px 0 0 10px!important;-webkit-border-radius:10px 0 0 10px!important;-moz-border-radius:10px 0 0 10px!important;-ms-border-radius:10px 0 0 10px!important;-o-border-radius:10px 0 0 10px!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:last-child{border-radius:0 10px 10px 0!important;border-right:1px solid #ddd!important;-webkit-border-radius:0 10px 10px 0!important;-moz-border-radius:0 10px 10px 0!important;-ms-border-radius:0 10px 10px 0!important;-o-border-radius:0 10px 10px 0!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:50%;box-shadow:#0000003d 0 3px 8px;width:2.5rem!important;height:2.5rem!important;display:flex;align-items:center;justify-content:center}:host ::ng-deep .p-treetable table{border-collapse:separate!important;table-layout:auto!important}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4$5.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i5$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i6.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i5.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i14.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i9$1.TreeTable, selector: "p-treeTable", inputs: ["columns", "style", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "customSort", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "compareSelectionBy", "rowHover", "loading", "loadingIcon", "showLoader", "scrollable", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "frozenColumns", "resizableColumns", "columnResizeMode", "reorderableColumns", "contextMenu", "rowTrackBy", "filters", "globalFilterFields", "filterDelay", "filterMode", "filterLocale", "paginatorLocale", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "value", "virtualRowHeight", "selectionKeys"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel", "selectionKeysChange"] }, { kind: "component", type: i9$1.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i9$1.TTSortableColumn, selector: "[ttSortableColumn]", inputs: ["ttSortableColumn", "ttSortableColumnDisabled"] }, { kind: "directive", type: i9$1.TTResizableColumn, selector: "[ttResizableColumn]", inputs: ["ttResizableColumnDisabled"] }, { kind: "directive", type: i9$1.TTRow, selector: "[ttRow]", inputs: ["ttRow"] }, { kind: "component", type: i9$1.TTCheckbox, selector: "p-treeTableCheckbox", inputs: ["disabled", "value"] }, { kind: "component", type: i9$1.TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox" }] }); }
|
|
5288
5386
|
}
|
|
5289
5387
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvTreetableComponent, decorators: [{
|
|
5290
5388
|
type: Component,
|
|
5291
|
-
args: [{ selector: 'kv-tree-table', template: "<div>\r\n <p-treeTable\r\n #tt\r\n [value]=\"dataSource\"\r\n [columns]=\"config.columns\"\r\n [resizableColumns]=\"true\"\r\n [tableStyle]=\"{'min-width': '50rem'}\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"paginator\"\r\n [rows]=\"rows\"\r\n [pageLinks]=\"pageLinks\"\r\n [totalRecords]=\"totalRecords\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50]\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [styleClass]=\"gridLines ? 'p-treetable-gridlines' : ''\"\r\n [(selection)]=\"selectedItems\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n currentPageReportTemplate=\"{first} - {last} de {{ totalRecords }}\"\r\n >\r\n\r\n <ng-template\r\n pTemplate=\"caption\"\r\n *ngIf=\"config.enableCation\"\r\n >\r\n <div\r\n class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n <div\r\n *ngIf=\"config.title\"\r\n class=\"text-md font-bold my-3\"\r\n >\r\n {{ config.title }}\r\n </div>\r\n <div\r\n *ngIf=\"config.subtitle\"\r\n class=\"text-sm mb-4 font-medium\"\r\n >\r\n {{ config.subtitle }}\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"\r\n tamanhoTela < 768\r\n ? 'flex flex-row align-items-center col-10 md:col-6 lg:col-4 justify-content-center'\r\n : 'flex flex-row align-items-center col-12 md:col-6 lg:col-4 justify-content-center input-search'\r\n \">\r\n\r\n <span\r\n *ngIf=\"config.enableFilter\"\r\n class=\"p-input-icon-left\"\r\n >\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(tt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2.5rem\"\r\n />\r\n </span>\r\n\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\r\n <div\r\n *ngFor=\"let action of config.actionsLote\"\r\n class=\"btns-options\"\r\n >\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n *ngIf=\"\r\n (selectedItems.length > 0 || action.showAcoesLote) &&\r\n exibirCampo(action, this.action)\r\n \"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"action?.command(commandEvent); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [style.backgroundColor]=\"\r\n retornarCampo(action, selectedItems, 'btnColor')\r\n \"\r\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n [style.color]=\"\r\n retornarCampo(action, selectedItems, 'iconBtnColor')\r\n \"\r\n >\r\n {{ retornarCampo(action, selectedItems, \"icon\") }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n *ngFor=\"let col of columns; index as i\"\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n class=\"text-sm\"\r\n [style.width]=\"col.width\"\r\n >\r\n <div>\r\n <div [ngClass]=\"{ flex: i == 0, 'gap-3': i == 0 }\">\r\n <div *ngIf=\"i == 0 && config.enableSelect\">\r\n <p-treeTableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"></p-treeTableHeaderCheckbox>\r\n </div>\r\n\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n <p-sortIcon\r\n *ngIf=\"col.sortable === true\"\r\n [field]=\"col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n\r\n <span\r\n *ngIf=\"col.headerTooltip\"\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n *ngFor=\"let col of columns\"\r\n ttResizableColumn\r\n [style.width]=\"col.width\"\r\n [style]=\"col.centralize ? 'text-align: center;' : ''\"\r\n >\r\n {{ col.header }} <br>\r\n </th>\r\n\r\n <th\r\n [style.width]=\"5\"\r\n *ngIf=\"config.actions.length > 0\"\r\n ></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowNode\r\n let-rowData=\"rowData\"\r\n let-columns=\"columns\"\r\n >\r\n <tr\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ 'capitalize': tableCaptalized }\"\r\n >\r\n <td\r\n *ngFor=\"let col of columns; let i = index\"\r\n [style]=\"returnStyleRow(col, rowNode)\"\r\n [style.position]=\"rowNode.level !== 0 ? 'sticky' : null\"\r\n [style.left.px]=\"rowNode.level !== 0 ? rowNode.level*30 : null\"\r\n >\r\n\r\n <div class=\"flex flex-row {{col.boolean ? 'justify-content-center' : '' }}\">\r\n <div\r\n class=\"w-full-h-full flex align-items-center\"\r\n *ngIf=\"i == 0\"\r\n >\r\n <p-treeTableToggler\r\n class=\"hiddenVisible\"\r\n [rowNode]=\"rowNode\"\r\n ></p-treeTableToggler>\r\n\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n *ngIf=\"config.enableSelect == true\"\r\n ></p-treeTableCheckbox>\r\n\r\n <!-- \r\n <p-treeTableToggler\r\n [rowNode]=\"rowNode\"\r\n *ngIf=\"!rightCollapse\"\r\n ></p-treeTableToggler>\r\n <p-treeTableToggler\r\n class=\"hiddenVisible\"\r\n [rowNode]=\"rowNode\"\r\n *ngIf=\"rightCollapse\"\r\n ></p-treeTableToggler> -->\r\n </div>\r\n\r\n\r\n <div class=\"flex flex-row align-items-center\">\r\n <div class=\"flex flex-row align-items-center justify-content-center\">\r\n\r\n <i\r\n *ngIf=\"col.boolean\"\r\n class=\"pi {{rowData[col.field] ? 'pi-check text-green-300' : ''}}\"\r\n style=\"font-size: 1.1rem;\"\r\n ></i>\r\n\r\n\r\n <div\r\n class=\"flex flex-column\"\r\n *ngIf=\"!col.boolean\"\r\n >\r\n <span class=\"m-0\">{{ rowData[col.field] }}</span>\r\n\r\n <p\r\n *ngIf=\"col.subtitle\"\r\n class=\"m-0 text-xs font-semibold\"\r\n >{{rowData[col.subtitle]}}</p>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <span *ngIf=\"col.template && validateShowTemplate(rowNode, col)\">\r\n <ng-container\r\n *ngIf=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n >\r\n </ng-container>\r\n </span>\r\n\r\n </td>\r\n\r\n\r\n <td\r\n style=\"border-left: none;\"\r\n *ngIf=\"config.actions.length > 0 || config.actionsPai\"\r\n >\r\n\r\n <div *ngIf=\"config.actions.length > 0 && validateActionPosition(rowNode)\">\r\n <div\r\n class=\"flex flex-row justify-content-center gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n <p-button\r\n *ngFor=\"let action of config.actions\"\r\n icon=\"pi {{action.icon}}\"\r\n [rounded]=\"true\"\r\n [severity]=\"action.severity ? action.severity : 'secondary'\"\r\n [style]=\"{width: '2rem', height: '2rem'}\"\r\n (onClick)=\"action.command($event)\"\r\n ></p-button>\r\n\r\n </div>\r\n\r\n <span\r\n *ngIf=\"!acoesLinhaTabela\"\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 22px\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n\r\n </div>\r\n\r\n <div *ngIf=\"config.actionsPai?.length > 0 && rowNode.level == 0\">\r\n\r\n <div\r\n *ngFor=\"let actionPai of config.actionsPai\"\r\n class=\"flex justify-content-end\"\r\n >\r\n\r\n <p-button\r\n icon=\"pi {{actionPai.icon}}\"\r\n [rounded]=\"true\"\r\n [severity]=\"actionPai.severity ? actionPai.severity : 'secondary'\"\r\n [style]=\"{width: '2rem', height: '2rem'}\"\r\n (onClick)=\"activeItem(rowData);actionPai.command($event);\"\r\n ></p-button>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </td>\r\n\r\n </tr>\r\n </ng-template>\r\n\r\n </p-treeTable>\r\n</div>", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-treetable table{border-spacing:0 3px}#botaoFiltro:hover{color:#d4d4d4}:host ::ng-deep .p-treetable .p-treetable-header{background-color:#d1d1d1;padding:2px 0 0!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th{background-color:#eaeaea;padding:.5rem!important;margin-bottom:-5px!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{padding:.5rem!important}:host ::ng-deep .p-treetable .p-treetable-thead{border-spacing:0 1px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:first-of-type{background-color:#eaeaea;padding:.5rem!important;border-top-left-radius:5px!important;border-bottom-left-radius:5px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:last-child{background-color:#eaeaea;padding:.5rem!important;border-radius:0 5px 5px 0!important;-webkit-border-radius:0 5px 5px 0!important;-moz-border-radius:0 5px 5px 0!important;-ms-border-radius:0 5px 5px 0!important;-o-border-radius:0 5px 5px 0!important}:host ::ng-deep .p-treetable-scrollable-header-box{padding:0!important}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th{background-color:#f2f2f2}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{border-bottom:1px solid #ddd!important;border-top:1px solid #ddd!important}:host ::ng-deep #tr-style{border-left:solid 4px #5289B4!important;border-radius:10px!important;display:block}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-right:none!important;border-radius:10px 0 0 10px!important;-webkit-border-radius:10px 0 0 10px!important;-moz-border-radius:10px 0 0 10px!important;-ms-border-radius:10px 0 0 10px!important;-o-border-radius:10px 0 0 10px!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:last-child{border-radius:0 10px 10px 0!important;border-right:1px solid #ddd!important;-webkit-border-radius:0 10px 10px 0!important;-moz-border-radius:0 10px 10px 0!important;-ms-border-radius:0 10px 10px 0!important;-o-border-radius:0 10px 10px 0!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:50%;box-shadow:#0000003d 0 3px 8px;width:2.5rem!important;height:2.5rem!important;display:flex;align-items:center;justify-content:center}:host ::ng-deep .p-treetable table{border-collapse:separate!important;table-layout:auto!important}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}\n"] }]
|
|
5389
|
+
args: [{ selector: 'kv-tree-table', template: "<div>\r\n <p-treeTable\r\n #tt\r\n [value]=\"dataSource\"\r\n [columns]=\"config.columns\"\r\n [resizableColumns]=\"true\"\r\n [tableStyle]=\"{'min-width': '50rem'}\"\r\n [resizableColumns]=\"true\"\r\n [paginator]=\"paginator\"\r\n [rows]=\"rows\"\r\n [pageLinks]=\"pageLinks\"\r\n [totalRecords]=\"totalRecords\"\r\n [rowsPerPageOptions]=\"[5, 10, 25, 50]\"\r\n [showFirstLastIcon]=\"showFirstLastIcon\"\r\n [styleClass]=\"gridLines ? 'p-treetable-gridlines' : ''\"\r\n [(selection)]=\"selectedItems\"\r\n [lazy]=\"config.lazy\"\r\n (onLazyLoad)=\"paginate($event)\"\r\n currentPageReportTemplate=\"{first} - {last} de {{ totalRecords }}\"\r\n >\r\n\r\n <ng-template\r\n pTemplate=\"caption\"\r\n *ngIf=\"config.enableCation\"\r\n >\r\n <div\r\n class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\r\n <div class=\"col-12 flex flex-column\">\r\n <div\r\n *ngIf=\"config.title\"\r\n class=\"text-md font-bold my-3\"\r\n >\r\n {{ config.title }}\r\n </div>\r\n <div\r\n *ngIf=\"config.subtitle\"\r\n class=\"text-sm mb-4 font-medium\"\r\n >\r\n {{ config.subtitle }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center col-10 md:col-6 lg:col-4 justify-content-center {{tamanhoTela < 768 ? '' : 'input-search'}}\">\r\n <span\r\n *ngIf=\"config.enableFilter\"\r\n class=\"p-input-icon-left\"\r\n >\r\n <i class=\"pi pi-search\"></i>\r\n\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"true\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter(tt, $event)\"\r\n placeholder=\"Pesquisar...\"\r\n class=\"h-2rem\"\r\n />\r\n </span>\r\n\r\n </div>\r\n\r\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\r\n <div\r\n *ngFor=\"let action of config.actionsLote\"\r\n class=\"btns-options\"\r\n >\r\n <button\r\n id=\"actionLoteBtns\"\r\n pButton\r\n *ngIf=\"\r\n (selectedItems.length > 0 || action.showAcoesLote) &&\r\n exibirCampo(action, this.action)\r\n \"\r\n class=\"actionLoteBtns p-button-raised p-button-text\"\r\n (click)=\"action?.command(commandEvent); activeItemLote(selectedItems)\"\r\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\r\n [tooltipPosition]=\"'bottom'\"\r\n [style.backgroundColor]=\"\r\n retornarCampo(action, selectedItems, 'btnColor')\r\n \"\r\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined md-22\"\r\n [style.color]=\"\r\n retornarCampo(action, selectedItems, 'iconBtnColor')\r\n \"\r\n >\r\n {{ retornarCampo(action, selectedItems, \"icon\") }}\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n *ngFor=\"let col of columns; index as i\"\r\n [ttSortableColumn]=\"col.field\"\r\n [ttSortableColumnDisabled]=\"col.sortable === false\"\r\n class=\"text-sm\"\r\n [style.width]=\"col.width\"\r\n >\r\n <div>\r\n <div [ngClass]=\"{ flex: i == 0, 'gap-3': i == 0 }\">\r\n <div *ngIf=\"i == 0 && config.enableSelect\">\r\n <p-treeTableHeaderCheckbox\r\n (click)=\"activeItemLote(selectedItems)\"></p-treeTableHeaderCheckbox>\r\n </div>\r\n\r\n <div\r\n [class]=\"\r\n centralizarColunas(col) && alignColunasHeader(col) == ''\r\n ? 'flex flex-row justify-content-center'\r\n : 'flex flex-row'\r\n \"\r\n [style]=\"alignColunasHeader(col)\"\r\n >\r\n <span>{{ col.header }}</span>\r\n <p-sortIcon\r\n *ngIf=\"col.sortable === true\"\r\n [field]=\"col.field\"\r\n style=\"font-size: 10px\"\r\n ></p-sortIcon>\r\n\r\n <span\r\n *ngIf=\"col.headerTooltip\"\r\n class=\"material-symbols-outlined flex align-items-center\"\r\n [pTooltip]=\"col.headerTooltip\"\r\n >info</span>\r\n </div>\r\n </div>\r\n </div>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template\r\n pTemplate=\"header\"\r\n let-columns\r\n >\r\n <tr>\r\n <th\r\n *ngFor=\"let col of columns\"\r\n ttResizableColumn\r\n [style.width]=\"col.width\"\r\n [style]=\"col.centralize ? 'text-align: center;' : ''\"\r\n >\r\n {{ col.header }} <br>\r\n </th>\r\n\r\n <th\r\n [style.width]=\"5\"\r\n *ngIf=\"config.actions.length > 0\"\r\n ></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template\r\n pTemplate=\"body\"\r\n let-rowNode\r\n let-rowData=\"rowData\"\r\n let-columns=\"columns\"\r\n >\r\n <tr\r\n [ttRow]=\"rowNode\"\r\n (dblclick)=\"doubleClick($event, rowData)\"\r\n [ngClass]=\"{ 'capitalize': tableCaptalized }\"\r\n >\r\n <td\r\n *ngFor=\"let col of columns; let i = index\"\r\n [style]=\"returnStyleRow(col, rowNode)\"\r\n [style.position]=\"rowNode.level !== 0 ? 'sticky' : null\"\r\n [style.left.px]=\"rowNode.level !== 0 ? rowNode.level*30 : null\"\r\n >\r\n\r\n <div class=\"flex flex-row {{col.boolean ? 'justify-content-center' : '' }}\">\r\n <div\r\n class=\"w-full-h-full flex align-items-center\"\r\n *ngIf=\"i == 0\"\r\n >\r\n <p-treeTableToggler\r\n class=\"hiddenVisible\"\r\n [rowNode]=\"rowNode\"\r\n ></p-treeTableToggler>\r\n\r\n <p-treeTableCheckbox\r\n [disabled]=\"isDisabledCheckbox(rowData, rowNode)\"\r\n (click)=\"activeItemLote(selectedItems)\"\r\n [value]=\"rowNode\"\r\n *ngIf=\"config.enableSelect == true\"\r\n ></p-treeTableCheckbox>\r\n\r\n <!-- \r\n <p-treeTableToggler\r\n [rowNode]=\"rowNode\"\r\n *ngIf=\"!rightCollapse\"\r\n ></p-treeTableToggler>\r\n <p-treeTableToggler\r\n class=\"hiddenVisible\"\r\n [rowNode]=\"rowNode\"\r\n *ngIf=\"rightCollapse\"\r\n ></p-treeTableToggler> -->\r\n </div>\r\n\r\n\r\n <div class=\"flex flex-row align-items-center\">\r\n <div class=\"flex flex-row align-items-center justify-content-center\">\r\n\r\n <i\r\n *ngIf=\"col.boolean\"\r\n class=\"pi {{rowData[col.field] ? 'pi-check text-green-300' : ''}}\"\r\n style=\"font-size: 1.1rem;\"\r\n ></i>\r\n\r\n\r\n <div\r\n class=\"flex flex-column\"\r\n *ngIf=\"!col.boolean\"\r\n >\r\n <span class=\"m-0\">{{ rowData[col.field] }}</span>\r\n\r\n <p\r\n *ngIf=\"col.subtitle\"\r\n class=\"m-0 text-xs font-semibold\"\r\n >{{rowData[col.subtitle]}}</p>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <span *ngIf=\"col.template && validateShowTemplate(rowNode, col)\">\r\n <ng-container\r\n *ngIf=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\r\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\r\n >\r\n </ng-container>\r\n </span>\r\n\r\n </td>\r\n\r\n\r\n <td\r\n style=\"border-left: none;\"\r\n *ngIf=\"config.actions.length > 0 || config.actionsPai\"\r\n >\r\n\r\n <div *ngIf=\"config.actions.length > 0 && validateActionPosition(rowNode)\">\r\n <div\r\n class=\"flex flex-row justify-content-center gap-1\"\r\n *ngIf=\"acoesLinhaTabela\"\r\n >\r\n <p-button\r\n *ngFor=\"let action of config.actions\"\r\n icon=\"pi {{action.icon}}\"\r\n [rounded]=\"true\"\r\n [severity]=\"action.severity ? action.severity : 'secondary'\"\r\n [style]=\"{width: '2rem', height: '2rem'}\"\r\n (onClick)=\"action.command($event)\"\r\n ></p-button>\r\n\r\n </div>\r\n\r\n <span\r\n *ngIf=\"!acoesLinhaTabela\"\r\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\r\n style=\"font-size: 22px\"\r\n (click)=\"menu.toggle($event); activeItem(rowData)\"\r\n >\r\n more_horiz\r\n </span>\r\n\r\n <div *ngFor=\"let action of config.actions\">\r\n {{ criarMenusModal(rowData) }}\r\n </div>\r\n\r\n <p-menu\r\n #menu\r\n [popup]=\"true\"\r\n [model]=\"menuItems\"\r\n appendTo=\"body\"\r\n ></p-menu>\r\n\r\n </div>\r\n\r\n <div *ngIf=\"config.actionsPai?.length > 0 && rowNode.level == 0\">\r\n\r\n <div\r\n *ngFor=\"let actionPai of config.actionsPai\"\r\n class=\"flex justify-content-end\"\r\n >\r\n\r\n <p-button\r\n icon=\"pi {{actionPai.icon}}\"\r\n [rounded]=\"true\"\r\n [severity]=\"actionPai.severity ? actionPai.severity : 'secondary'\"\r\n [style]=\"{width: '2rem', height: '2rem'}\"\r\n (onClick)=\"activeItem(rowData);actionPai.command($event);\"\r\n ></p-button>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n </td>\r\n\r\n </tr>\r\n </ng-template>\r\n\r\n </p-treeTable>\r\n</div>", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-treetable table{border-spacing:0 3px}#botaoFiltro:hover{color:#d4d4d4}:host ::ng-deep .p-treetable .p-treetable-header{background-color:#eaeaea;padding:2px 0 0!important;border-radius:5px}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th{background-color:#eaeaea;padding:.5rem!important;margin-bottom:-5px!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{padding:.5rem!important}:host ::ng-deep .p-treetable .p-treetable-thead{border-spacing:0 1px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:first-of-type{background-color:#eaeaea;padding:.5rem!important;border-top-left-radius:5px!important;border-bottom-left-radius:5px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:last-child{background-color:#eaeaea;padding:.5rem!important;border-radius:0 5px 5px 0!important;-webkit-border-radius:0 5px 5px 0!important;-moz-border-radius:0 5px 5px 0!important;-ms-border-radius:0 5px 5px 0!important;-o-border-radius:0 5px 5px 0!important}:host ::ng-deep .p-treetable-scrollable-header-box{padding:0!important}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th{background-color:#f2f2f2}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{border-bottom:1px solid #ddd!important;border-top:1px solid #ddd!important}:host ::ng-deep #tr-style{border-left:solid 4px #5289B4!important;border-radius:10px!important;display:block}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-right:none!important;border-radius:10px 0 0 10px!important;-webkit-border-radius:10px 0 0 10px!important;-moz-border-radius:10px 0 0 10px!important;-ms-border-radius:10px 0 0 10px!important;-o-border-radius:10px 0 0 10px!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:last-child{border-radius:0 10px 10px 0!important;border-right:1px solid #ddd!important;-webkit-border-radius:0 10px 10px 0!important;-moz-border-radius:0 10px 10px 0!important;-ms-border-radius:0 10px 10px 0!important;-o-border-radius:0 10px 10px 0!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:50%;box-shadow:#0000003d 0 3px 8px;width:2.5rem!important;height:2.5rem!important;display:flex;align-items:center;justify-content:center}:host ::ng-deep .p-treetable table{border-collapse:separate!important;table-layout:auto!important}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}\n"] }]
|
|
5292
5390
|
}], propDecorators: { config: [{
|
|
5293
5391
|
type: Input
|
|
5294
5392
|
}], dataSource: [{
|