ng-unidades 1.2.1 → 1.3.0

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.
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { NgModule, inject, EventEmitter, Output, Input, Component, Injectable, Inject, HostListener } from '@angular/core';
3
- import * as i1$1 from '@angular/material/dialog';
3
+ import * as i1 from '@angular/material/dialog';
4
4
  import { MatDialogModule, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
5
5
  import { MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';
6
6
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
7
- import * as i1 from '@angular/material/button';
7
+ import * as i4 from '@angular/material/button';
8
8
  import { MatButtonModule } from '@angular/material/button';
9
- import * as i3$1 from '@angular/material/card';
9
+ import * as i5$1 from '@angular/material/card';
10
10
  import { MatCardModule, MatCard, MatCardHeader, MatCardTitle } from '@angular/material/card';
11
11
  import { MatCheckboxModule } from '@angular/material/checkbox';
12
12
  import { MatChipsModule } from '@angular/material/chips';
@@ -15,14 +15,14 @@ import { MatDividerModule } from '@angular/material/divider';
15
15
  import { MatExpansionModule } from '@angular/material/expansion';
16
16
  import { MatFormFieldModule } from '@angular/material/form-field';
17
17
  import { MatGridListModule } from '@angular/material/grid-list';
18
- import * as i2 from '@angular/material/icon';
18
+ import * as i5 from '@angular/material/icon';
19
19
  import { MatIconModule } from '@angular/material/icon';
20
20
  import { MatInputModule } from '@angular/material/input';
21
21
  import { MatListModule } from '@angular/material/list';
22
22
  import { MatMenuModule } from '@angular/material/menu';
23
23
  import { MatPaginatorModule } from '@angular/material/paginator';
24
24
  import { MatProgressBarModule } from '@angular/material/progress-bar';
25
- import * as i6 from '@angular/material/progress-spinner';
25
+ import * as i6$1 from '@angular/material/progress-spinner';
26
26
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
27
27
  import { MatSelectModule } from '@angular/material/select';
28
28
  import { MatSidenavModule } from '@angular/material/sidenav';
@@ -35,13 +35,15 @@ import { MatTableModule } from '@angular/material/table';
35
35
  import { MatTabsModule } from '@angular/material/tabs';
36
36
  import * as i3 from '@angular/material/toolbar';
37
37
  import { MatToolbarModule } from '@angular/material/toolbar';
38
- import * as i4 from '@angular/material/tooltip';
38
+ import * as i4$1 from '@angular/material/tooltip';
39
39
  import { MatTooltipModule } from '@angular/material/tooltip';
40
40
  import { AgGridAngular } from 'ag-grid-angular';
41
41
  import { ModuleRegistry, AllCommunityModule } from 'ag-grid-community';
42
+ import * as i6 from '@angular/forms';
43
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
44
+ import { Subject, debounceTime, takeUntil, map } from 'rxjs';
42
45
  import { CommonModule } from '@angular/common';
43
- import { map } from 'rxjs';
44
- import * as i1$2 from '@angular/common/http';
46
+ import * as i1$1 from '@angular/common/http';
45
47
  import { HttpHeaders } from '@angular/common/http';
46
48
 
47
49
  class MaterialModule {
@@ -242,7 +244,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
242
244
 
243
245
  class MatToolbarComponent {
244
246
  dialogRef = inject((MatDialogRef));
245
- version = 'v1.2.1';
247
+ version = 'v1.3.0';
246
248
  titulo;
247
249
  icono;
248
250
  cerrar = new EventEmitter();
@@ -251,7 +253,7 @@ class MatToolbarComponent {
251
253
  this.cerrar.emit();
252
254
  }
253
255
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: MatToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
254
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: MatToolbarComponent, isStandalone: true, selector: "lib-mat-toolbar", inputs: { titulo: "titulo", icono: "icono" }, outputs: { cerrar: "cerrar" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"heightHeader\">\r\n <span class=\"fill-remaining-space\"></span>\r\n @if (icono) {\r\n <mat-icon>{{ icono }}</mat-icon>\r\n }\r\n <span class=\"fill-remaining-space\">{{ titulo }}</span>\r\n <span class=\"spacer-toolbar\"></span>\r\n <span>{{ version }}</span>\r\n <button class=\"close-modal\" mat-icon-button (click)=\"cerrarModal()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n</mat-toolbar>\r\n", styles: [".spacer-toolbar{flex:1 1 auto}.heightHeader{height:40px;border-top-left-radius:4px;border-top-right-radius:4px}span{font-size:15px;padding-left:5px;height:28px}.mat-toolbar.mat-primary{background:#b71c1c;color:#fff}.close-modal{color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }] });
256
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: MatToolbarComponent, isStandalone: true, selector: "lib-mat-toolbar", inputs: { titulo: "titulo", icono: "icono" }, outputs: { cerrar: "cerrar" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"heightHeader\">\r\n <span class=\"fill-remaining-space\"></span>\r\n @if (icono) {\r\n <mat-icon>{{ icono }}</mat-icon>\r\n }\r\n <span class=\"fill-remaining-space\">{{ titulo }}</span>\r\n <span class=\"spacer-toolbar\"></span>\r\n <span>{{ version }}</span>\r\n <button class=\"close-modal\" mat-icon-button (click)=\"cerrarModal()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n</mat-toolbar>\r\n", styles: [".spacer-toolbar{flex:1 1 auto}.heightHeader{height:40px;border-top-left-radius:4px;border-top-right-radius:4px}span{font-size:15px;padding-left:5px;height:28px}.mat-toolbar.mat-primary{background:#b71c1c;color:#fff}.close-modal{color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }] });
255
257
  }
256
258
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: MatToolbarComponent, decorators: [{
257
259
  type: Component,
@@ -464,20 +466,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
464
466
  }]
465
467
  }], ctorParameters: () => [{ type: TrazabilidadRepository }] });
466
468
 
469
+ ModuleRegistry.registerModules([AllCommunityModule]);
467
470
  class ConsultaTrazabilidadComponent {
468
471
  data;
469
472
  gridDefinition;
470
473
  trazabilidadUnidadUseCase;
471
- constructor(data, gridDefinition, trazabilidadUnidadUseCase) {
474
+ dialogRef;
475
+ constructor(data, gridDefinition, trazabilidadUnidadUseCase, dialogRef) {
472
476
  this.data = data;
473
477
  this.gridDefinition = gridDefinition;
474
478
  this.trazabilidadUnidadUseCase = trazabilidadUnidadUseCase;
479
+ this.dialogRef = dialogRef;
475
480
  this.columnDefs = this.gridDefinition.columnDefs;
476
481
  this.config = data;
477
482
  this.heightTable = this.config.heightTable ?? '350px';
478
483
  this.overlayLoadingTemplate = '<span style="padding: 10px; background: #a82e26; color: white; font-size: 12px">Consultado, por favor espere...</span>';
479
484
  this.overlayNoRowsTemplate = '<span style="padding: 10px; background: #a82e26; color: white; font-size: 12px">No se han encontrado registros con los parámetros ingresados.</span>';
480
485
  }
486
+ cancel() {
487
+ this.close(false);
488
+ }
489
+ close(value) {
490
+ this.dialogRef.close(value);
491
+ }
481
492
  titulo = '';
482
493
  columnDefs;
483
494
  rowData = [];
@@ -489,12 +500,23 @@ class ConsultaTrazabilidadComponent {
489
500
  overlayLoadingTemplate;
490
501
  overlayNoRowsTemplate;
491
502
  isLoading = false;
503
+ searchControl = new FormControl('');
504
+ destroy$ = new Subject();
505
+ gridOptions = {
506
+ suppressMovableColumns: false,
507
+ enableRangeSelection: true,
508
+ };
492
509
  get totalRegistros() {
493
510
  return this.rowData.length;
494
511
  }
495
512
  ngOnInit() {
496
513
  this.completarTitulo();
497
514
  this.obtenerDatosTrazabilidad();
515
+ this.setupSearchListener();
516
+ }
517
+ ngOnDestroy() {
518
+ this.destroy$.next();
519
+ this.destroy$.complete();
498
520
  }
499
521
  completarTitulo() {
500
522
  this.titulo = `Trazabilidad de la unidad ${this.config.numeroUnidad}`;
@@ -504,6 +526,13 @@ class ConsultaTrazabilidadComponent {
504
526
  this.rowData = response;
505
527
  });
506
528
  }
529
+ setupSearchListener() {
530
+ this.searchControl.valueChanges
531
+ .pipe(debounceTime(300), takeUntil(this.destroy$))
532
+ .subscribe((searchText) => {
533
+ this.onSearch(searchText || '');
534
+ });
535
+ }
507
536
  onGridReady(params) {
508
537
  params.api.hideOverlay();
509
538
  this.gridApi = params.api;
@@ -512,10 +541,16 @@ class ConsultaTrazabilidadComponent {
512
541
  applyOrder: true,
513
542
  });
514
543
  }
515
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConsultaTrazabilidadComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: GridConsultaTrazabilidadDefinition }, { token: TrazabilidadUnidadUseCase }], target: i0.ɵɵFactoryTarget.Component });
544
+ onSearch(searchText) {
545
+ if (!this.gridApi) {
546
+ return;
547
+ }
548
+ this.gridApi.setGridOption('quickFilterText', searchText);
549
+ }
550
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConsultaTrazabilidadComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: GridConsultaTrazabilidadDefinition }, { token: TrazabilidadUnidadUseCase }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
516
551
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ConsultaTrazabilidadComponent, isStandalone: true, selector: "lib-consulta-trazabilidad", providers: [
517
552
  GridConsultaTrazabilidadDefinition
518
- ], ngImport: i0, template: "<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<div>\r\n <mat-card>\r\n <lib-mat-toolbar [titulo]=\"titulo\"></lib-mat-toolbar>\r\n </mat-card>\r\n <mat-card class=\"card\" appearance=\"outlined\">\r\n <mat-card-header class=\"card-header-custom\">\r\n <mat-card-title class=\"card-title\">\r\n Lista de registros ({{ totalRegistros }})\r\n </mat-card-title>\r\n </mat-card-header>\r\n\r\n <div class=\"container\">\r\n <div style=\"width: 100%;\">\r\n <ag-grid-angular data-testid=\"lib-consul-undiades-tabla\"\r\n [style.height]=\"heightTable\"\r\n style=\"width: 100%;\"\r\n [rowData]=\"rowData\"\r\n [columnDefs]=\"columnDefs\"\r\n [components]=\"gridComponents\"\r\n [context]=\"context\"\r\n [suppressDragLeaveHidesColumns]=\"true\"\r\n [enableCellTextSelection]=\"true\"\r\n [overlayLoadingTemplate]=\"overlayLoadingTemplate\"\r\n [overlayNoRowsTemplate]=\"overlayNoRowsTemplate\"\r\n (gridReady)=\"onGridReady($event)\"\r\n [loading]=\"isLoading\"\r\n />\r\n </div>\r\n </div>\r\n </mat-card>\r\n</div>\r\n", styles: ["div.container{display:flex;margin:10px}.card{margin:20px;border:2px solid #b71c1c;border-top:0}.card-header-custom{background-color:#b71c1c;color:#fff;padding:5px 15px;border-radius:10px 10px 0 0}.card-title{font-size:15px;color:#fff}::ng-deep .ag-header{background:#fff;color:#000;font-size:12px;height:40px!important;min-height:40px!important}::ng-deep .ag-row{font-size:12px}::ng-deep .ag-header-cell-label,.ag-header-row{height:40px!important}::ng-deep .ag-header-cell-filter-button{height:23px}::ng-deep div.mat-mdc-autocomplete-panel{background-color:#faf9fd!important}::ng-deep .mat-mdc-option.mdc-list-item{font-size:12px}::ng-deep .cdk-overlay-pane.mat-mdc-dialog-panel{overflow:auto}\n"], dependencies: [{ kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: MatToolbarComponent, selector: "lib-mat-toolbar", inputs: ["titulo", "icono"], outputs: ["cerrar"] }, { kind: "component", type: AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "hidePaddedHeaderRows", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "suppressStartEditOnTab", "getFullRowEditValidationErrors", "invalidEditValueMode", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "findSearchValue", "findOptions", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "advancedFilterParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableFilterHandlers", "filterHandlers", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableCellSpan", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "rowDragInsertDelay", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "treeDataChildrenField", "treeDataParentIdField", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "groupHierarchyConfig", "pinnedTopRowData", "pinnedBottomRowData", "enableRowPinning", "isRowPinnable", "isRowPinned", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "rowNumbers", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "themeCssLayer", "styleNonce", "themeStyleContainer", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "ssrmExpandAllAffectsAllRows", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow", "isRowValidDropPosition"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnsReset", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "bulkEditingStarted", "bulkEditingStopped", "batchEditingStarted", "batchEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "filterUiChanged", "floatingFilterUiChanged", "advancedFilterBuilderVisibleChanged", "findChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "rowResizeStarted", "rowResizeEnded", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "pinnedRowsChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }, { kind: "component", type: MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }] });
553
+ ], ngImport: i0, template: "<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<div>\r\n <mat-card>\r\n <lib-mat-toolbar [titulo]=\"titulo\"></lib-mat-toolbar>\r\n </mat-card>\r\n\r\n <mat-card class=\"card\" appearance=\"outlined\">\r\n <mat-card-header class=\"card-header-custom\">\r\n <mat-card-title class=\"card-title\">\r\n Lista de registros ({{ totalRegistros }})\r\n </mat-card-title>\r\n </mat-card-header>\r\n\r\n <div class=\"container\">\r\n <div class=\"grid-con-buscador-integrado\">\r\n <div class=\"mi-toolbar\">\r\n <input #searchRef type=\"text\"\r\n placeholder=\"Buscar\"\r\n aria-label=\"Buscar descripci\u00F3n\"\r\n [formControl]=\"searchControl\"\r\n data-testid=\"input-buscar-items\" />\r\n </div>\r\n <div class=\"grid-wrapper\">\r\n <ag-grid-angular data-testid=\"lib-consul-undiades-tabla\"\r\n [style.height]=\"heightTable\"\r\n style=\"width: 100%;\"\r\n [rowData]=\"rowData\"\r\n [gridOptions]=\"gridOptions\"\r\n [columnDefs]=\"columnDefs\"\r\n [components]=\"gridComponents\"\r\n [context]=\"context\"\r\n [suppressDragLeaveHidesColumns]=\"true\"\r\n [enableCellTextSelection]=\"true\"\r\n [overlayLoadingTemplate]=\"overlayLoadingTemplate\"\r\n [overlayNoRowsTemplate]=\"overlayNoRowsTemplate\"\r\n (gridReady)=\"onGridReady($event)\"\r\n [loading]=\"isLoading\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card>\r\n <div class=\"modal-actions\">\r\n <button data-testid=\"boton-cerrar-modal-trazabilidad\"\r\n mat-raised-button\r\n type=\"button\" (click)=\"cancel()\"\r\n class=\"button-medium button-close\"\r\n >\r\n <mat-icon style=\"font-size: 16px\">close</mat-icon>\r\n Cerrar\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["div.container{display:flex;margin:10px}.card{margin:20px;border:2px solid #b71c1c;border-top:0}.card-header-custom{background-color:#b71c1c;color:#fff;padding:5px 15px;border-radius:10px 10px 0 0}.card-title{font-size:15px;color:#fff}::ng-deep .ag-header{background:#fff;color:#000;font-size:12px;height:40px!important;min-height:40px!important}::ng-deep .ag-row{font-size:12px}::ng-deep .ag-header-cell-label,.ag-header-row{height:40px!important}::ng-deep .ag-header-cell-filter-button{height:23px}::ng-deep div.mat-mdc-autocomplete-panel{background-color:#faf9fd!important}::ng-deep .mat-mdc-option.mdc-list-item{font-size:12px}::ng-deep .cdk-overlay-pane.mat-mdc-dialog-panel{overflow:auto}.grid-con-buscador-integrado{width:100%;border:1px solid #d0d0d0;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 2px 4px #0000001a}.grid-con-buscador-integrado .mi-toolbar{display:flex;gap:8px;align-items:center;padding:8px 12px;background-color:#f5f5f5;border-bottom:1px solid #d0d0d0;width:100%;box-sizing:border-box;min-height:40px}.grid-con-buscador-integrado .mi-toolbar input{flex:1 1 auto;padding:6px 10px;border-radius:4px;border:1px solid #d0d0d0;font-size:13px;font-family:Roboto,sans-serif;outline:none;transition:border-color .2s ease,box-shadow .2s ease;height:30px;box-sizing:border-box}.grid-con-buscador-integrado .mi-toolbar input:focus{border-color:#b71c1c;box-shadow:0 0 0 1px #b71c1c33}.grid-con-buscador-integrado .mi-toolbar input::placeholder{color:#666;font-size:13px}.grid-con-buscador-integrado .grid-wrapper{border-radius:6px;overflow:hidden;background:#fff;box-shadow:none}.modal-actions{display:flex;justify-content:flex-end;margin:8px 20px}.close-button{background-color:#b71c1c!important;color:#fff!important;font-size:12px;padding:3px;border-radius:4px;display:flex;align-items:center;gap:0;transition:background-color .2s ease;min-height:15px}.close-button:hover{background-color:#d32f2f!important}.close-button mat-icon{font-size:16px;width:16px;height:16px;line-height:16px;margin:0 2px 0 0!important}.button-medium{font-size:14px;line-height:30px;margin-bottom:10px}.button-close,::ng-deep .mat-mdc-raised-button{background-color:#a82e26!important;color:#fff!important}::ng-deep .mat-mdc-raised-button{border-radius:4px!important}\n"], dependencies: [{ kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: MatToolbarComponent, selector: "lib-mat-toolbar", inputs: ["titulo", "icono"], outputs: ["cerrar"] }, { kind: "component", type: AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "hidePaddedHeaderRows", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "suppressStartEditOnTab", "getFullRowEditValidationErrors", "invalidEditValueMode", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "findSearchValue", "findOptions", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "advancedFilterParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableFilterHandlers", "filterHandlers", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableCellSpan", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "rowDragInsertDelay", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "treeDataChildrenField", "treeDataParentIdField", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "groupHierarchyConfig", "pinnedTopRowData", "pinnedBottomRowData", "enableRowPinning", "isRowPinnable", "isRowPinned", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "rowNumbers", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "themeCssLayer", "styleNonce", "themeStyleContainer", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "ssrmExpandAllAffectsAllRows", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow", "isRowValidDropPosition"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnsReset", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "bulkEditingStarted", "bulkEditingStopped", "batchEditingStarted", "batchEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "filterUiChanged", "floatingFilterUiChanged", "advancedFilterBuilderVisibleChanged", "findChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "rowResizeStarted", "rowResizeEnded", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "pinnedRowsChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }, { kind: "component", type: MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
519
554
  }
520
555
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConsultaTrazabilidadComponent, decorators: [{
521
556
  type: Component,
@@ -524,14 +559,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
524
559
  MatToolbarComponent,
525
560
  AgGridAngular,
526
561
  MatCardHeader,
527
- MatCardTitle
562
+ MatCardTitle,
563
+ MaterialModule,
564
+ ReactiveFormsModule
528
565
  ], providers: [
529
566
  GridConsultaTrazabilidadDefinition
530
- ], template: "<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<div>\r\n <mat-card>\r\n <lib-mat-toolbar [titulo]=\"titulo\"></lib-mat-toolbar>\r\n </mat-card>\r\n <mat-card class=\"card\" appearance=\"outlined\">\r\n <mat-card-header class=\"card-header-custom\">\r\n <mat-card-title class=\"card-title\">\r\n Lista de registros ({{ totalRegistros }})\r\n </mat-card-title>\r\n </mat-card-header>\r\n\r\n <div class=\"container\">\r\n <div style=\"width: 100%;\">\r\n <ag-grid-angular data-testid=\"lib-consul-undiades-tabla\"\r\n [style.height]=\"heightTable\"\r\n style=\"width: 100%;\"\r\n [rowData]=\"rowData\"\r\n [columnDefs]=\"columnDefs\"\r\n [components]=\"gridComponents\"\r\n [context]=\"context\"\r\n [suppressDragLeaveHidesColumns]=\"true\"\r\n [enableCellTextSelection]=\"true\"\r\n [overlayLoadingTemplate]=\"overlayLoadingTemplate\"\r\n [overlayNoRowsTemplate]=\"overlayNoRowsTemplate\"\r\n (gridReady)=\"onGridReady($event)\"\r\n [loading]=\"isLoading\"\r\n />\r\n </div>\r\n </div>\r\n </mat-card>\r\n</div>\r\n", styles: ["div.container{display:flex;margin:10px}.card{margin:20px;border:2px solid #b71c1c;border-top:0}.card-header-custom{background-color:#b71c1c;color:#fff;padding:5px 15px;border-radius:10px 10px 0 0}.card-title{font-size:15px;color:#fff}::ng-deep .ag-header{background:#fff;color:#000;font-size:12px;height:40px!important;min-height:40px!important}::ng-deep .ag-row{font-size:12px}::ng-deep .ag-header-cell-label,.ag-header-row{height:40px!important}::ng-deep .ag-header-cell-filter-button{height:23px}::ng-deep div.mat-mdc-autocomplete-panel{background-color:#faf9fd!important}::ng-deep .mat-mdc-option.mdc-list-item{font-size:12px}::ng-deep .cdk-overlay-pane.mat-mdc-dialog-panel{overflow:auto}\n"] }]
567
+ ], template: "<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<div>\r\n <mat-card>\r\n <lib-mat-toolbar [titulo]=\"titulo\"></lib-mat-toolbar>\r\n </mat-card>\r\n\r\n <mat-card class=\"card\" appearance=\"outlined\">\r\n <mat-card-header class=\"card-header-custom\">\r\n <mat-card-title class=\"card-title\">\r\n Lista de registros ({{ totalRegistros }})\r\n </mat-card-title>\r\n </mat-card-header>\r\n\r\n <div class=\"container\">\r\n <div class=\"grid-con-buscador-integrado\">\r\n <div class=\"mi-toolbar\">\r\n <input #searchRef type=\"text\"\r\n placeholder=\"Buscar\"\r\n aria-label=\"Buscar descripci\u00F3n\"\r\n [formControl]=\"searchControl\"\r\n data-testid=\"input-buscar-items\" />\r\n </div>\r\n <div class=\"grid-wrapper\">\r\n <ag-grid-angular data-testid=\"lib-consul-undiades-tabla\"\r\n [style.height]=\"heightTable\"\r\n style=\"width: 100%;\"\r\n [rowData]=\"rowData\"\r\n [gridOptions]=\"gridOptions\"\r\n [columnDefs]=\"columnDefs\"\r\n [components]=\"gridComponents\"\r\n [context]=\"context\"\r\n [suppressDragLeaveHidesColumns]=\"true\"\r\n [enableCellTextSelection]=\"true\"\r\n [overlayLoadingTemplate]=\"overlayLoadingTemplate\"\r\n [overlayNoRowsTemplate]=\"overlayNoRowsTemplate\"\r\n (gridReady)=\"onGridReady($event)\"\r\n [loading]=\"isLoading\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card>\r\n <div class=\"modal-actions\">\r\n <button data-testid=\"boton-cerrar-modal-trazabilidad\"\r\n mat-raised-button\r\n type=\"button\" (click)=\"cancel()\"\r\n class=\"button-medium button-close\"\r\n >\r\n <mat-icon style=\"font-size: 16px\">close</mat-icon>\r\n Cerrar\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["div.container{display:flex;margin:10px}.card{margin:20px;border:2px solid #b71c1c;border-top:0}.card-header-custom{background-color:#b71c1c;color:#fff;padding:5px 15px;border-radius:10px 10px 0 0}.card-title{font-size:15px;color:#fff}::ng-deep .ag-header{background:#fff;color:#000;font-size:12px;height:40px!important;min-height:40px!important}::ng-deep .ag-row{font-size:12px}::ng-deep .ag-header-cell-label,.ag-header-row{height:40px!important}::ng-deep .ag-header-cell-filter-button{height:23px}::ng-deep div.mat-mdc-autocomplete-panel{background-color:#faf9fd!important}::ng-deep .mat-mdc-option.mdc-list-item{font-size:12px}::ng-deep .cdk-overlay-pane.mat-mdc-dialog-panel{overflow:auto}.grid-con-buscador-integrado{width:100%;border:1px solid #d0d0d0;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 2px 4px #0000001a}.grid-con-buscador-integrado .mi-toolbar{display:flex;gap:8px;align-items:center;padding:8px 12px;background-color:#f5f5f5;border-bottom:1px solid #d0d0d0;width:100%;box-sizing:border-box;min-height:40px}.grid-con-buscador-integrado .mi-toolbar input{flex:1 1 auto;padding:6px 10px;border-radius:4px;border:1px solid #d0d0d0;font-size:13px;font-family:Roboto,sans-serif;outline:none;transition:border-color .2s ease,box-shadow .2s ease;height:30px;box-sizing:border-box}.grid-con-buscador-integrado .mi-toolbar input:focus{border-color:#b71c1c;box-shadow:0 0 0 1px #b71c1c33}.grid-con-buscador-integrado .mi-toolbar input::placeholder{color:#666;font-size:13px}.grid-con-buscador-integrado .grid-wrapper{border-radius:6px;overflow:hidden;background:#fff;box-shadow:none}.modal-actions{display:flex;justify-content:flex-end;margin:8px 20px}.close-button{background-color:#b71c1c!important;color:#fff!important;font-size:12px;padding:3px;border-radius:4px;display:flex;align-items:center;gap:0;transition:background-color .2s ease;min-height:15px}.close-button:hover{background-color:#d32f2f!important}.close-button mat-icon{font-size:16px;width:16px;height:16px;line-height:16px;margin:0 2px 0 0!important}.button-medium{font-size:14px;line-height:30px;margin-bottom:10px}.button-close,::ng-deep .mat-mdc-raised-button{background-color:#a82e26!important;color:#fff!important}::ng-deep .mat-mdc-raised-button{border-radius:4px!important}\n"] }]
531
568
  }], ctorParameters: () => [{ type: undefined, decorators: [{
532
569
  type: Inject,
533
570
  args: [MAT_DIALOG_DATA]
534
- }] }, { type: GridConsultaTrazabilidadDefinition }, { type: TrazabilidadUnidadUseCase }] });
571
+ }] }, { type: GridConsultaTrazabilidadDefinition }, { type: TrazabilidadUnidadUseCase }, { type: i1.MatDialogRef }] });
535
572
 
536
573
  class ImagenesUnidadRepository {
537
574
  }
@@ -622,8 +659,8 @@ class ConsultaImagenesComponent {
622
659
  break;
623
660
  }
624
661
  }
625
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConsultaImagenesComponent, deps: [{ token: i1$1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: ImagenesUnidadUsecase }], target: i0.ɵɵFactoryTarget.Component });
626
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ConsultaImagenesComponent, isStandalone: true, selector: "lib-consulta-imagenes", host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0, template: "<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<div>\r\n <mat-card>\r\n <lib-mat-toolbar [titulo]=\"titulo\"></lib-mat-toolbar>\r\n </mat-card>\r\n <div class=\"carousel-content\">\r\n <div class=\"carousel-navigation\">\r\n <button\r\n mat-icon-button\r\n (click)=\"previousImage()\"\r\n [disabled]=\"currentImageIndex === 0\"\r\n class=\"nav-button prev-button\"\r\n [class.disabled]=\"currentImageIndex === 0\">\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n\r\n <div class=\"image-display\">\r\n <div class=\"image-wrapper\">\r\n <img\r\n [src]=\"currentImage.url\"\r\n [alt]=\"currentImage.caption\"\r\n class=\"carousel-image\"\r\n (load)=\"onImageLoad()\"\r\n (error)=\"onImageError()\" />\r\n\r\n @if (imageLoading) {\r\n <div class=\"loading-overlay\">\r\n <mat-spinner diameter=\"50\"></mat-spinner>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"image-info\">\r\n <p class=\"image-caption\">{{ currentImage.caption }}</p>\r\n <p class=\"image-observations\">{{ currentImage.imageObservations }}</p>\r\n <p class=\"image-path\">{{ currentImage.nombreFoto }}</p>\r\n </div>\r\n </div>\r\n\r\n <button\r\n mat-icon-button\r\n (click)=\"nextImage()\"\r\n [disabled]=\"currentImageIndex === data.imagenes.length - 1\"\r\n class=\"nav-button next-button\"\r\n [class.disabled]=\"currentImageIndex === data.imagenes.length - 1\">\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n\r\n @if (data.imagenes.length > 1) {\r\n <div class=\"carousel-indicators\">\r\n @for (imagen of data.imagenes; track imagen; let i = $index) {\r\n <button\r\n class=\"indicator-dot\"\r\n [class.active]=\"i === currentImageIndex\"\r\n (click)=\"goToImage(i)\">\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".carousel-container{max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.carousel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e0e0e0;background:#fff}.carousel-header h2{margin:0;font-size:1.5rem;color:#333}.carousel-counter{font-size:.9rem;color:#666;background:#f5f5f5;padding:4px 12px;border-radius:16px}.close-button{color:#666}.close-button:hover{color:#333;background-color:#f5f5f5}.carousel-content{flex:1;display:flex;flex-direction:column;padding:20px;background:#fafafa}.carousel-navigation{display:flex;align-items:center;gap:16px;flex:1}.nav-button{min-width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #00000026;transition:all .3s ease}.nav-button:not(.disabled):hover{background:#f0f0f0;transform:scale(1.05)}.nav-button.disabled{opacity:.3;cursor:not-allowed}.image-display{flex:1;display:flex;flex-direction:column;align-items:center;max-height:70vh}.image-wrapper{position:relative;display:flex;justify-content:center;align-items:center;background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001a;padding:5px;margin-bottom:16px;min-height:400px}.carousel-image{max-width:100%;max-height:500px;border:2px solid white;border-radius:4px;object-fit:contain;transition:opacity .3s ease;animation:fadeIn .3s ease}.loading-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#ffffffe6;border-radius:8px}.image-info{text-align:center;max-width:600px;padding:0 16px}.image-caption{font-weight:500;color:#333;margin:8px 0;font-size:1.1rem}.image-observations{color:#666;font-size:.9rem;margin:4px 0}.image-path{color:#999;font-size:.8rem;font-family:monospace;margin:4px 0}.carousel-indicators{display:flex;justify-content:center;gap:8px;margin-top:20px}.indicator-dot{width:12px;height:12px;border-radius:50%;border:none;background:#ccc;cursor:pointer;transition:all .3s ease}.indicator-dot.active{background:#b71c1c;transform:scale(1.2)}.indicator-dot:hover{background:#999}@media (max-width: 768px){.carousel-header{padding:12px 16px}.carousel-header h2{font-size:1.2rem}.carousel-content{padding:16px}.carousel-image{max-height:400px}.image-wrapper{min-height:300px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: MatToolbarComponent, selector: "lib-mat-toolbar", inputs: ["titulo", "icono"], outputs: ["cerrar"] }, { kind: "ngmodule", type: CommonModule }] });
662
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConsultaImagenesComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: ImagenesUnidadUsecase }], target: i0.ɵɵFactoryTarget.Component });
663
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: ConsultaImagenesComponent, isStandalone: true, selector: "lib-consulta-imagenes", host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0, template: "<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<div>\r\n <mat-card>\r\n <lib-mat-toolbar [titulo]=\"titulo\"></lib-mat-toolbar>\r\n </mat-card>\r\n <div class=\"carousel-content\">\r\n <div class=\"carousel-navigation\">\r\n <button\r\n mat-icon-button\r\n (click)=\"previousImage()\"\r\n [disabled]=\"currentImageIndex === 0\"\r\n class=\"nav-button prev-button\"\r\n [class.disabled]=\"currentImageIndex === 0\">\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n\r\n <div class=\"image-display\">\r\n <div class=\"image-wrapper\">\r\n <img\r\n [src]=\"currentImage.url\"\r\n [alt]=\"currentImage.caption\"\r\n class=\"carousel-image\"\r\n (load)=\"onImageLoad()\"\r\n (error)=\"onImageError()\" />\r\n\r\n @if (imageLoading) {\r\n <div class=\"loading-overlay\">\r\n <mat-spinner diameter=\"50\"></mat-spinner>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"image-info\">\r\n <p class=\"image-caption\">{{ currentImage.caption }}</p>\r\n <p class=\"image-observations\">{{ currentImage.imageObservations }}</p>\r\n <p class=\"image-path\">{{ currentImage.nombreFoto }}</p>\r\n </div>\r\n </div>\r\n\r\n <button\r\n mat-icon-button\r\n (click)=\"nextImage()\"\r\n [disabled]=\"currentImageIndex === data.imagenes.length - 1\"\r\n class=\"nav-button next-button\"\r\n [class.disabled]=\"currentImageIndex === data.imagenes.length - 1\">\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n\r\n @if (data.imagenes.length > 1) {\r\n <div class=\"carousel-indicators\">\r\n @for (imagen of data.imagenes; track imagen; let i = $index) {\r\n <button\r\n class=\"indicator-dot\"\r\n [class.active]=\"i === currentImageIndex\"\r\n (click)=\"goToImage(i)\">\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".carousel-container{max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.carousel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e0e0e0;background:#fff}.carousel-header h2{margin:0;font-size:1.5rem;color:#333}.carousel-counter{font-size:.9rem;color:#666;background:#f5f5f5;padding:4px 12px;border-radius:16px}.close-button{color:#666}.close-button:hover{color:#333;background-color:#f5f5f5}.carousel-content{flex:1;display:flex;flex-direction:column;padding:20px;background:#fafafa}.carousel-navigation{display:flex;align-items:center;gap:16px;flex:1}.nav-button{min-width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #00000026;transition:all .3s ease}.nav-button:not(.disabled):hover{background:#f0f0f0;transform:scale(1.05)}.nav-button.disabled{opacity:.3;cursor:not-allowed}.image-display{flex:1;display:flex;flex-direction:column;align-items:center;max-height:70vh}.image-wrapper{position:relative;display:flex;justify-content:center;align-items:center;background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001a;padding:5px;margin-bottom:16px;min-height:400px}.carousel-image{max-width:100%;max-height:500px;border:2px solid white;border-radius:4px;object-fit:contain;transition:opacity .3s ease;animation:fadeIn .3s ease}.loading-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#ffffffe6;border-radius:8px}.image-info{text-align:center;max-width:600px;padding:0 16px}.image-caption{font-weight:500;color:#333;margin:8px 0;font-size:1.1rem}.image-observations{color:#666;font-size:.9rem;margin:4px 0}.image-path{color:#999;font-size:.8rem;font-family:monospace;margin:4px 0}.carousel-indicators{display:flex;justify-content:center;gap:8px;margin-top:20px}.indicator-dot{width:12px;height:12px;border-radius:50%;border:none;background:#ccc;cursor:pointer;transition:all .3s ease}.indicator-dot.active{background:#b71c1c;transform:scale(1.2)}.indicator-dot:hover{background:#999}@media (max-width: 768px){.carousel-header{padding:12px 16px}.carousel-header h2{font-size:1.2rem}.carousel-content{padding:16px}.carousel-image{max-height:400px}.image-wrapper{min-height:300px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\n"], dependencies: [{ kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: MatToolbarComponent, selector: "lib-mat-toolbar", inputs: ["titulo", "icono"], outputs: ["cerrar"] }, { kind: "ngmodule", type: CommonModule }] });
627
664
  }
628
665
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConsultaImagenesComponent, decorators: [{
629
666
  type: Component,
@@ -632,7 +669,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
632
669
  MatToolbarComponent,
633
670
  CommonModule
634
671
  ], template: "<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<div>\r\n <mat-card>\r\n <lib-mat-toolbar [titulo]=\"titulo\"></lib-mat-toolbar>\r\n </mat-card>\r\n <div class=\"carousel-content\">\r\n <div class=\"carousel-navigation\">\r\n <button\r\n mat-icon-button\r\n (click)=\"previousImage()\"\r\n [disabled]=\"currentImageIndex === 0\"\r\n class=\"nav-button prev-button\"\r\n [class.disabled]=\"currentImageIndex === 0\">\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n\r\n <div class=\"image-display\">\r\n <div class=\"image-wrapper\">\r\n <img\r\n [src]=\"currentImage.url\"\r\n [alt]=\"currentImage.caption\"\r\n class=\"carousel-image\"\r\n (load)=\"onImageLoad()\"\r\n (error)=\"onImageError()\" />\r\n\r\n @if (imageLoading) {\r\n <div class=\"loading-overlay\">\r\n <mat-spinner diameter=\"50\"></mat-spinner>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div class=\"image-info\">\r\n <p class=\"image-caption\">{{ currentImage.caption }}</p>\r\n <p class=\"image-observations\">{{ currentImage.imageObservations }}</p>\r\n <p class=\"image-path\">{{ currentImage.nombreFoto }}</p>\r\n </div>\r\n </div>\r\n\r\n <button\r\n mat-icon-button\r\n (click)=\"nextImage()\"\r\n [disabled]=\"currentImageIndex === data.imagenes.length - 1\"\r\n class=\"nav-button next-button\"\r\n [class.disabled]=\"currentImageIndex === data.imagenes.length - 1\">\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </div>\r\n\r\n @if (data.imagenes.length > 1) {\r\n <div class=\"carousel-indicators\">\r\n @for (imagen of data.imagenes; track imagen; let i = $index) {\r\n <button\r\n class=\"indicator-dot\"\r\n [class.active]=\"i === currentImageIndex\"\r\n (click)=\"goToImage(i)\">\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".carousel-container{max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.carousel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e0e0e0;background:#fff}.carousel-header h2{margin:0;font-size:1.5rem;color:#333}.carousel-counter{font-size:.9rem;color:#666;background:#f5f5f5;padding:4px 12px;border-radius:16px}.close-button{color:#666}.close-button:hover{color:#333;background-color:#f5f5f5}.carousel-content{flex:1;display:flex;flex-direction:column;padding:20px;background:#fafafa}.carousel-navigation{display:flex;align-items:center;gap:16px;flex:1}.nav-button{min-width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #00000026;transition:all .3s ease}.nav-button:not(.disabled):hover{background:#f0f0f0;transform:scale(1.05)}.nav-button.disabled{opacity:.3;cursor:not-allowed}.image-display{flex:1;display:flex;flex-direction:column;align-items:center;max-height:70vh}.image-wrapper{position:relative;display:flex;justify-content:center;align-items:center;background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001a;padding:5px;margin-bottom:16px;min-height:400px}.carousel-image{max-width:100%;max-height:500px;border:2px solid white;border-radius:4px;object-fit:contain;transition:opacity .3s ease;animation:fadeIn .3s ease}.loading-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#ffffffe6;border-radius:8px}.image-info{text-align:center;max-width:600px;padding:0 16px}.image-caption{font-weight:500;color:#333;margin:8px 0;font-size:1.1rem}.image-observations{color:#666;font-size:.9rem;margin:4px 0}.image-path{color:#999;font-size:.8rem;font-family:monospace;margin:4px 0}.carousel-indicators{display:flex;justify-content:center;gap:8px;margin-top:20px}.indicator-dot{width:12px;height:12px;border-radius:50%;border:none;background:#ccc;cursor:pointer;transition:all .3s ease}.indicator-dot.active{background:#b71c1c;transform:scale(1.2)}.indicator-dot:hover{background:#999}@media (max-width: 768px){.carousel-header{padding:12px 16px}.carousel-header h2{font-size:1.2rem}.carousel-content{padding:16px}.carousel-image{max-height:400px}.image-wrapper{min-height:300px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\n"] }]
635
- }], ctorParameters: () => [{ type: i1$1.MatDialogRef }, { type: undefined, decorators: [{
672
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
636
673
  type: Inject,
637
674
  args: [MAT_DIALOG_DATA]
638
675
  }] }, { type: ImagenesUnidadUsecase }], propDecorators: { onKeyDown: [{
@@ -720,8 +757,8 @@ class AccionesComponent {
720
757
  });
721
758
  }
722
759
  }
723
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AccionesComponent, deps: [{ token: i1$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
724
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: AccionesComponent, isStandalone: true, selector: "lib-acciones", ngImport: i0, template: "@if (mostrarTrazabilidad) {\r\n <button mat-icon-button\r\n matTooltip=\"Ver trazabilidad\"\r\n [attr.data-testid]=\"'unidades-trazabilidad-btn-' + (params?.data?.codigoUnidad || '')\"\r\n (click)=\"verTrazabilidadUnidad()\"\r\n class=\"color-info\"\r\n >\r\n <mat-icon>info</mat-icon>\r\n </button>\r\n}\r\n\r\n@if (mostrarNovedad) {\r\n <button mat-icon-button\r\n matTooltip=\"Ver novedades\"\r\n [attr.data-testid]=\"'unidades-novedad-btn-' + (params?.data?.codigoUnidad || '')\"\r\n (click)=\"verNovedadUnidad()\"\r\n class=\"color-warning\"\r\n disabled\r\n >\r\n <mat-icon>warning</mat-icon>\r\n </button>\r\n}\r\n\r\n@if (mostrarImagen) {\r\n <button mat-icon-button\r\n matTooltip=\"Ver imagenes\"\r\n [attr.data-testid]=\"'unidades-imagen-btn-' + (params?.data?.codigoUnidad || '')\"\r\n (click)=\"verImagenUnidad()\"\r\n class=\"color-image\"\r\n >\r\n <mat-icon>image</mat-icon>\r\n </button>\r\n}\r\n", styles: [".color-info{color:#b71c1c}.color-warning{color:#ff9800}.color-warning:disabled{color:#9e9e9e!important;cursor:not-allowed}.color-image{color:#009688}\n"], dependencies: [{ kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: CommonModule }] });
760
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AccionesComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
761
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: AccionesComponent, isStandalone: true, selector: "lib-acciones", ngImport: i0, template: "@if (mostrarTrazabilidad) {\r\n <button mat-icon-button\r\n matTooltip=\"Ver trazabilidad\"\r\n [attr.data-testid]=\"'unidades-trazabilidad-btn-' + (params?.data?.codigoUnidad || '')\"\r\n (click)=\"verTrazabilidadUnidad()\"\r\n class=\"color-info\"\r\n >\r\n <mat-icon>info</mat-icon>\r\n </button>\r\n}\r\n\r\n@if (mostrarNovedad) {\r\n <button mat-icon-button\r\n matTooltip=\"Ver novedades\"\r\n [attr.data-testid]=\"'unidades-novedad-btn-' + (params?.data?.codigoUnidad || '')\"\r\n (click)=\"verNovedadUnidad()\"\r\n class=\"color-warning\"\r\n disabled\r\n >\r\n <mat-icon>warning</mat-icon>\r\n </button>\r\n}\r\n\r\n@if (mostrarImagen) {\r\n <button mat-icon-button\r\n matTooltip=\"Ver imagenes\"\r\n [attr.data-testid]=\"'unidades-imagen-btn-' + (params?.data?.codigoUnidad || '')\"\r\n (click)=\"verImagenUnidad()\"\r\n class=\"color-image\"\r\n >\r\n <mat-icon>image</mat-icon>\r\n </button>\r\n}\r\n", styles: [".color-info{color:#b71c1c}.color-warning{color:#ff9800}.color-warning:disabled{color:#9e9e9e!important;cursor:not-allowed}.color-image{color:#009688}\n"], dependencies: [{ kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: CommonModule }] });
725
762
  }
726
763
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AccionesComponent, decorators: [{
727
764
  type: Component,
@@ -729,7 +766,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
729
766
  MaterialModule,
730
767
  CommonModule
731
768
  ], template: "@if (mostrarTrazabilidad) {\r\n <button mat-icon-button\r\n matTooltip=\"Ver trazabilidad\"\r\n [attr.data-testid]=\"'unidades-trazabilidad-btn-' + (params?.data?.codigoUnidad || '')\"\r\n (click)=\"verTrazabilidadUnidad()\"\r\n class=\"color-info\"\r\n >\r\n <mat-icon>info</mat-icon>\r\n </button>\r\n}\r\n\r\n@if (mostrarNovedad) {\r\n <button mat-icon-button\r\n matTooltip=\"Ver novedades\"\r\n [attr.data-testid]=\"'unidades-novedad-btn-' + (params?.data?.codigoUnidad || '')\"\r\n (click)=\"verNovedadUnidad()\"\r\n class=\"color-warning\"\r\n disabled\r\n >\r\n <mat-icon>warning</mat-icon>\r\n </button>\r\n}\r\n\r\n@if (mostrarImagen) {\r\n <button mat-icon-button\r\n matTooltip=\"Ver imagenes\"\r\n [attr.data-testid]=\"'unidades-imagen-btn-' + (params?.data?.codigoUnidad || '')\"\r\n (click)=\"verImagenUnidad()\"\r\n class=\"color-image\"\r\n >\r\n <mat-icon>image</mat-icon>\r\n </button>\r\n}\r\n", styles: [".color-info{color:#b71c1c}.color-warning{color:#ff9800}.color-warning:disabled{color:#9e9e9e!important;cursor:not-allowed}.color-image{color:#009688}\n"] }]
732
- }], ctorParameters: () => [{ type: i1$1.MatDialog }] });
769
+ }], ctorParameters: () => [{ type: i1.MatDialog }] });
733
770
 
734
771
  class UnidadRepository {
735
772
  }
@@ -757,10 +794,12 @@ class ConsultaUnidadesComponent {
757
794
  data;
758
795
  gridDefinition;
759
796
  consultaUnidadesUseCase;
760
- constructor(data, gridDefinition, consultaUnidadesUseCase) {
797
+ dialogRef;
798
+ constructor(data, gridDefinition, consultaUnidadesUseCase, dialogRef) {
761
799
  this.data = data;
762
800
  this.gridDefinition = gridDefinition;
763
801
  this.consultaUnidadesUseCase = consultaUnidadesUseCase;
802
+ this.dialogRef = dialogRef;
764
803
  this.columnDefs = this.gridDefinition.columnDefs;
765
804
  this.configurarColumnasAcciones(data.iconosAOcultar);
766
805
  this.gridComponents = {
@@ -785,12 +824,23 @@ class ConsultaUnidadesComponent {
785
824
  overlayLoadingTemplate;
786
825
  overlayNoRowsTemplate;
787
826
  isLoading = false;
827
+ searchControl = new FormControl('');
828
+ destroy$ = new Subject();
829
+ gridOptions = {
830
+ suppressMovableColumns: false,
831
+ enableRangeSelection: true,
832
+ };
788
833
  get totalUnidades() {
789
834
  return this.rowData.length;
790
835
  }
791
836
  ngOnInit() {
792
837
  this.obtenerDatosUnidades();
793
838
  this.completarTitulo();
839
+ this.setupSearchListener();
840
+ }
841
+ ngOnDestroy() {
842
+ this.destroy$.next();
843
+ this.destroy$.complete();
794
844
  }
795
845
  completarTitulo() {
796
846
  this.titulo = `Unidades de la remesa ${this.config.numeroRemesa}`;
@@ -800,6 +850,13 @@ class ConsultaUnidadesComponent {
800
850
  this.rowData = response;
801
851
  });
802
852
  }
853
+ setupSearchListener() {
854
+ this.searchControl.valueChanges
855
+ .pipe(debounceTime(300), takeUntil(this.destroy$))
856
+ .subscribe((searchText) => {
857
+ this.onSearch(searchText || '');
858
+ });
859
+ }
803
860
  configurarColumnasAcciones(iconosAOcultar = []) {
804
861
  const accionesCol = this.columnDefs.find((col) => col.field === 'acciones');
805
862
  if (accionesCol) {
@@ -831,24 +888,37 @@ class ConsultaUnidadesComponent {
831
888
  applyOrder: true,
832
889
  });
833
890
  }
834
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConsultaUnidadesComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: GridConsultaUnidadesDefinition }, { token: ConsultaUnidadesUseCase }], target: i0.ɵɵFactoryTarget.Component });
891
+ onSearch(searchText) {
892
+ if (!this.gridApi) {
893
+ return;
894
+ }
895
+ this.gridApi.setGridOption('quickFilterText', searchText);
896
+ }
897
+ cancel() {
898
+ this.close(false);
899
+ }
900
+ close(value) {
901
+ this.dialogRef.close(value);
902
+ }
903
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConsultaUnidadesComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: GridConsultaUnidadesDefinition }, { token: ConsultaUnidadesUseCase }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
835
904
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ConsultaUnidadesComponent, isStandalone: true, selector: "lib-consulta-unidades", providers: [
836
905
  GridConsultaUnidadesDefinition
837
- ], ngImport: i0, template: "<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<div>\r\n <mat-card>\r\n <lib-mat-toolbar [titulo]=\"titulo\"></lib-mat-toolbar>\r\n </mat-card>\r\n\r\n <mat-card class=\"card\" appearance=\"outlined\">\r\n <mat-card-header class=\"card-header-custom\">\r\n <mat-card-title class=\"card-title\">\r\n Lista de unidades ({{ totalUnidades }})\r\n </mat-card-title>\r\n </mat-card-header>\r\n\r\n <div class=\"container\">\r\n <div style=\"width: 100%;\">\r\n <ag-grid-angular data-testid=\"lib-consul-undiades-tabla\"\r\n [style.height]=\"heightTable\"\r\n style=\"width: 100%;\"\r\n [rowData]=\"rowData\"\r\n [columnDefs]=\"columnDefs\"\r\n [components]=\"gridComponents\"\r\n [context]=\"context\"\r\n [suppressDragLeaveHidesColumns]=\"true\"\r\n [enableCellTextSelection]=\"true\"\r\n [overlayLoadingTemplate]=\"overlayLoadingTemplate\"\r\n [overlayNoRowsTemplate]=\"overlayNoRowsTemplate\"\r\n (gridReady)=\"onGridReady($event)\"\r\n [loading]=\"isLoading\"\r\n />\r\n </div>\r\n </div>\r\n </mat-card>\r\n</div>\r\n", styles: ["div.container{display:flex;margin:10px}.card{margin:20px;border:2px solid #b71c1c;border-top:0}.card-header-custom{background-color:#b71c1c;color:#fff;padding:5px 15px;border-radius:10px 10px 0 0}.card-title{font-size:15px;color:#fff}::ng-deep .ag-header{background:#fff;color:#000;font-size:12px;height:40px!important;min-height:40px!important}::ng-deep .ag-row{font-size:12px}::ng-deep .ag-header-cell-label,.ag-header-row{height:40px!important}::ng-deep .ag-header-cell-filter-button{height:23px}::ng-deep div.mat-mdc-autocomplete-panel{background-color:#faf9fd!important}::ng-deep .mat-mdc-option.mdc-list-item{font-size:12px}::ng-deep .cdk-overlay-pane.mat-mdc-dialog-panel{overflow:auto}\n"], dependencies: [{ kind: "component", type: MatToolbarComponent, selector: "lib-mat-toolbar", inputs: ["titulo", "icono"], outputs: ["cerrar"] }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i3$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i3$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "hidePaddedHeaderRows", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "suppressStartEditOnTab", "getFullRowEditValidationErrors", "invalidEditValueMode", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "findSearchValue", "findOptions", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "advancedFilterParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableFilterHandlers", "filterHandlers", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableCellSpan", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "rowDragInsertDelay", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "treeDataChildrenField", "treeDataParentIdField", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "groupHierarchyConfig", "pinnedTopRowData", "pinnedBottomRowData", "enableRowPinning", "isRowPinnable", "isRowPinned", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "rowNumbers", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "themeCssLayer", "styleNonce", "themeStyleContainer", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "ssrmExpandAllAffectsAllRows", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow", "isRowValidDropPosition"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnsReset", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "bulkEditingStarted", "bulkEditingStopped", "batchEditingStarted", "batchEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "filterUiChanged", "floatingFilterUiChanged", "advancedFilterBuilderVisibleChanged", "findChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "rowResizeStarted", "rowResizeEnded", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "pinnedRowsChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }] });
906
+ ], ngImport: i0, template: "<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<div>\r\n <mat-card>\r\n <lib-mat-toolbar [titulo]=\"titulo\"></lib-mat-toolbar>\r\n </mat-card>\r\n\r\n <mat-card class=\"card\" appearance=\"outlined\">\r\n <mat-card-header class=\"card-header-custom\">\r\n <mat-card-title class=\"card-title\">\r\n Lista de unidades ({{ totalUnidades }})\r\n </mat-card-title>\r\n </mat-card-header>\r\n\r\n <div class=\"container\">\r\n <div class=\"grid-con-buscador-integrado\">\r\n <div class=\"mi-toolbar\">\r\n <input #searchRef type=\"text\"\r\n placeholder=\"Buscar\"\r\n aria-label=\"Buscar descripci\u00F3n\"\r\n [formControl]=\"searchControl\"\r\n data-testid=\"input-buscar-items\" />\r\n </div>\r\n <div class=\"grid-wrapper\">\r\n <ag-grid-angular data-testid=\"lib-consul-undiades-tabla\"\r\n [style.height]=\"heightTable\"\r\n style=\"width: 100%;\"\r\n [rowData]=\"rowData\"\r\n [gridOptions]=\"gridOptions\"\r\n [columnDefs]=\"columnDefs\"\r\n [components]=\"gridComponents\"\r\n [context]=\"context\"\r\n [suppressDragLeaveHidesColumns]=\"true\"\r\n [enableCellTextSelection]=\"true\"\r\n [overlayLoadingTemplate]=\"overlayLoadingTemplate\"\r\n [overlayNoRowsTemplate]=\"overlayNoRowsTemplate\"\r\n (gridReady)=\"onGridReady($event)\"\r\n [loading]=\"isLoading\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card>\r\n <div class=\"modal-actions\">\r\n <button data-testid=\"boton-cerrar-modal-unidades\"\r\n mat-raised-button\r\n type=\"button\" (click)=\"cancel()\"\r\n class=\"button-medium button-close\"\r\n >\r\n <mat-icon style=\"font-size: 16px\">close</mat-icon>\r\n Cerrar\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["div.container{display:flex;margin:10px}.card{margin:20px;border:2px solid #b71c1c;border-top:0}.card-header-custom{background-color:#b71c1c;color:#fff;padding:5px 15px;border-radius:10px 10px 0 0}.card-title{font-size:15px;color:#fff}::ng-deep .ag-header{background:#fff;color:#000;font-size:12px;height:40px!important;min-height:40px!important}::ng-deep .ag-row{font-size:12px}::ng-deep .ag-header-cell-label,.ag-header-row{height:40px!important}::ng-deep .ag-header-cell-filter-button{height:23px}::ng-deep div.mat-mdc-autocomplete-panel{background-color:#faf9fd!important}::ng-deep .mat-mdc-option.mdc-list-item{font-size:12px}::ng-deep .cdk-overlay-pane.mat-mdc-dialog-panel{overflow:auto}.grid-con-buscador-integrado{width:100%;border:1px solid #d0d0d0;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 2px 4px #0000001a}.grid-con-buscador-integrado .mi-toolbar{display:flex;gap:8px;align-items:center;padding:8px 12px;background-color:#f5f5f5;border-bottom:1px solid #d0d0d0;width:100%;box-sizing:border-box;min-height:40px}.grid-con-buscador-integrado .mi-toolbar input{flex:1 1 auto;padding:6px 10px;border-radius:4px;border:1px solid #d0d0d0;font-size:13px;font-family:Roboto,sans-serif;outline:none;transition:border-color .2s ease,box-shadow .2s ease;height:30px;box-sizing:border-box}.grid-con-buscador-integrado .mi-toolbar input:focus{border-color:#b71c1c;box-shadow:0 0 0 1px #b71c1c33}.grid-con-buscador-integrado .mi-toolbar input::placeholder{color:#666;font-size:13px}.grid-con-buscador-integrado .grid-wrapper{border-radius:6px;overflow:hidden;background:#fff;box-shadow:none}.modal-actions{display:flex;justify-content:flex-end;margin:8px 20px}.close-button{background-color:#b71c1c!important;color:#fff!important;font-size:12px;padding:3px;border-radius:4px;display:flex;align-items:center;gap:0;transition:background-color .2s ease;min-height:15px}.close-button:hover{background-color:#d32f2f!important}.close-button mat-icon{font-size:16px;width:16px;height:16px;line-height:16px;margin:0 2px 0 0!important}.button-medium{font-size:14px;line-height:30px;margin-bottom:10px}.button-close,::ng-deep .mat-mdc-raised-button{background-color:#a82e26!important;color:#fff!important}::ng-deep .mat-mdc-raised-button{border-radius:4px!important}\n"], dependencies: [{ kind: "component", type: MatToolbarComponent, selector: "lib-mat-toolbar", inputs: ["titulo", "icono"], outputs: ["cerrar"] }, { kind: "ngmodule", type: MaterialModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i5$1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i5$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "hidePaddedHeaderRows", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "suppressStartEditOnTab", "getFullRowEditValidationErrors", "invalidEditValueMode", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "findSearchValue", "findOptions", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "advancedFilterParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableFilterHandlers", "filterHandlers", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableCellSpan", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "rowDragInsertDelay", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "treeDataChildrenField", "treeDataParentIdField", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "groupHierarchyConfig", "pinnedTopRowData", "pinnedBottomRowData", "enableRowPinning", "isRowPinnable", "isRowPinned", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "rowNumbers", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "themeCssLayer", "styleNonce", "themeStyleContainer", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "ssrmExpandAllAffectsAllRows", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow", "isRowValidDropPosition"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnsReset", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "bulkEditingStarted", "bulkEditingStopped", "batchEditingStarted", "batchEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "filterUiChanged", "floatingFilterUiChanged", "advancedFilterBuilderVisibleChanged", "findChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "rowResizeStarted", "rowResizeEnded", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "pinnedRowsChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
838
907
  }
839
908
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConsultaUnidadesComponent, decorators: [{
840
909
  type: Component,
841
910
  args: [{ selector: 'lib-consulta-unidades', imports: [
842
911
  MatToolbarComponent,
843
912
  MaterialModule,
844
- AgGridAngular
913
+ AgGridAngular,
914
+ ReactiveFormsModule
845
915
  ], providers: [
846
916
  GridConsultaUnidadesDefinition
847
- ], template: "<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<div>\r\n <mat-card>\r\n <lib-mat-toolbar [titulo]=\"titulo\"></lib-mat-toolbar>\r\n </mat-card>\r\n\r\n <mat-card class=\"card\" appearance=\"outlined\">\r\n <mat-card-header class=\"card-header-custom\">\r\n <mat-card-title class=\"card-title\">\r\n Lista de unidades ({{ totalUnidades }})\r\n </mat-card-title>\r\n </mat-card-header>\r\n\r\n <div class=\"container\">\r\n <div style=\"width: 100%;\">\r\n <ag-grid-angular data-testid=\"lib-consul-undiades-tabla\"\r\n [style.height]=\"heightTable\"\r\n style=\"width: 100%;\"\r\n [rowData]=\"rowData\"\r\n [columnDefs]=\"columnDefs\"\r\n [components]=\"gridComponents\"\r\n [context]=\"context\"\r\n [suppressDragLeaveHidesColumns]=\"true\"\r\n [enableCellTextSelection]=\"true\"\r\n [overlayLoadingTemplate]=\"overlayLoadingTemplate\"\r\n [overlayNoRowsTemplate]=\"overlayNoRowsTemplate\"\r\n (gridReady)=\"onGridReady($event)\"\r\n [loading]=\"isLoading\"\r\n />\r\n </div>\r\n </div>\r\n </mat-card>\r\n</div>\r\n", styles: ["div.container{display:flex;margin:10px}.card{margin:20px;border:2px solid #b71c1c;border-top:0}.card-header-custom{background-color:#b71c1c;color:#fff;padding:5px 15px;border-radius:10px 10px 0 0}.card-title{font-size:15px;color:#fff}::ng-deep .ag-header{background:#fff;color:#000;font-size:12px;height:40px!important;min-height:40px!important}::ng-deep .ag-row{font-size:12px}::ng-deep .ag-header-cell-label,.ag-header-row{height:40px!important}::ng-deep .ag-header-cell-filter-button{height:23px}::ng-deep div.mat-mdc-autocomplete-panel{background-color:#faf9fd!important}::ng-deep .mat-mdc-option.mdc-list-item{font-size:12px}::ng-deep .cdk-overlay-pane.mat-mdc-dialog-panel{overflow:auto}\n"] }]
917
+ ], template: "<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\" rel=\"stylesheet\">\r\n<link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\r\n<div>\r\n <mat-card>\r\n <lib-mat-toolbar [titulo]=\"titulo\"></lib-mat-toolbar>\r\n </mat-card>\r\n\r\n <mat-card class=\"card\" appearance=\"outlined\">\r\n <mat-card-header class=\"card-header-custom\">\r\n <mat-card-title class=\"card-title\">\r\n Lista de unidades ({{ totalUnidades }})\r\n </mat-card-title>\r\n </mat-card-header>\r\n\r\n <div class=\"container\">\r\n <div class=\"grid-con-buscador-integrado\">\r\n <div class=\"mi-toolbar\">\r\n <input #searchRef type=\"text\"\r\n placeholder=\"Buscar\"\r\n aria-label=\"Buscar descripci\u00F3n\"\r\n [formControl]=\"searchControl\"\r\n data-testid=\"input-buscar-items\" />\r\n </div>\r\n <div class=\"grid-wrapper\">\r\n <ag-grid-angular data-testid=\"lib-consul-undiades-tabla\"\r\n [style.height]=\"heightTable\"\r\n style=\"width: 100%;\"\r\n [rowData]=\"rowData\"\r\n [gridOptions]=\"gridOptions\"\r\n [columnDefs]=\"columnDefs\"\r\n [components]=\"gridComponents\"\r\n [context]=\"context\"\r\n [suppressDragLeaveHidesColumns]=\"true\"\r\n [enableCellTextSelection]=\"true\"\r\n [overlayLoadingTemplate]=\"overlayLoadingTemplate\"\r\n [overlayNoRowsTemplate]=\"overlayNoRowsTemplate\"\r\n (gridReady)=\"onGridReady($event)\"\r\n [loading]=\"isLoading\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </mat-card>\r\n <div class=\"modal-actions\">\r\n <button data-testid=\"boton-cerrar-modal-unidades\"\r\n mat-raised-button\r\n type=\"button\" (click)=\"cancel()\"\r\n class=\"button-medium button-close\"\r\n >\r\n <mat-icon style=\"font-size: 16px\">close</mat-icon>\r\n Cerrar\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["div.container{display:flex;margin:10px}.card{margin:20px;border:2px solid #b71c1c;border-top:0}.card-header-custom{background-color:#b71c1c;color:#fff;padding:5px 15px;border-radius:10px 10px 0 0}.card-title{font-size:15px;color:#fff}::ng-deep .ag-header{background:#fff;color:#000;font-size:12px;height:40px!important;min-height:40px!important}::ng-deep .ag-row{font-size:12px}::ng-deep .ag-header-cell-label,.ag-header-row{height:40px!important}::ng-deep .ag-header-cell-filter-button{height:23px}::ng-deep div.mat-mdc-autocomplete-panel{background-color:#faf9fd!important}::ng-deep .mat-mdc-option.mdc-list-item{font-size:12px}::ng-deep .cdk-overlay-pane.mat-mdc-dialog-panel{overflow:auto}.grid-con-buscador-integrado{width:100%;border:1px solid #d0d0d0;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 2px 4px #0000001a}.grid-con-buscador-integrado .mi-toolbar{display:flex;gap:8px;align-items:center;padding:8px 12px;background-color:#f5f5f5;border-bottom:1px solid #d0d0d0;width:100%;box-sizing:border-box;min-height:40px}.grid-con-buscador-integrado .mi-toolbar input{flex:1 1 auto;padding:6px 10px;border-radius:4px;border:1px solid #d0d0d0;font-size:13px;font-family:Roboto,sans-serif;outline:none;transition:border-color .2s ease,box-shadow .2s ease;height:30px;box-sizing:border-box}.grid-con-buscador-integrado .mi-toolbar input:focus{border-color:#b71c1c;box-shadow:0 0 0 1px #b71c1c33}.grid-con-buscador-integrado .mi-toolbar input::placeholder{color:#666;font-size:13px}.grid-con-buscador-integrado .grid-wrapper{border-radius:6px;overflow:hidden;background:#fff;box-shadow:none}.modal-actions{display:flex;justify-content:flex-end;margin:8px 20px}.close-button{background-color:#b71c1c!important;color:#fff!important;font-size:12px;padding:3px;border-radius:4px;display:flex;align-items:center;gap:0;transition:background-color .2s ease;min-height:15px}.close-button:hover{background-color:#d32f2f!important}.close-button mat-icon{font-size:16px;width:16px;height:16px;line-height:16px;margin:0 2px 0 0!important}.button-medium{font-size:14px;line-height:30px;margin-bottom:10px}.button-close,::ng-deep .mat-mdc-raised-button{background-color:#a82e26!important;color:#fff!important}::ng-deep .mat-mdc-raised-button{border-radius:4px!important}\n"] }]
848
918
  }], ctorParameters: () => [{ type: undefined, decorators: [{
849
919
  type: Inject,
850
920
  args: [MAT_DIALOG_DATA]
851
- }] }, { type: GridConsultaUnidadesDefinition }, { type: ConsultaUnidadesUseCase }] });
921
+ }] }, { type: GridConsultaUnidadesDefinition }, { type: ConsultaUnidadesUseCase }, { type: i1.MatDialogRef }] });
852
922
 
853
923
  class NgConsultaUnidadesDialog {
854
924
  dialog;
@@ -864,12 +934,12 @@ class NgConsultaUnidadesDialog {
864
934
  panelClass: 'ng-consulta-unidades-lib'
865
935
  });
866
936
  }
867
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NgConsultaUnidadesDialog, deps: [{ token: i1$1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
937
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NgConsultaUnidadesDialog, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
868
938
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NgConsultaUnidadesDialog });
869
939
  }
870
940
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NgConsultaUnidadesDialog, decorators: [{
871
941
  type: Injectable
872
- }], ctorParameters: () => [{ type: i1$1.MatDialog }] });
942
+ }], ctorParameters: () => [{ type: i1.MatDialog }] });
873
943
 
874
944
  class NgConsultaTrazabilidadDialog {
875
945
  dialog;
@@ -886,12 +956,12 @@ class NgConsultaTrazabilidadDialog {
886
956
  panelClass: 'ng-consulta-trazabildad-lib'
887
957
  });
888
958
  }
889
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NgConsultaTrazabilidadDialog, deps: [{ token: i1$1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
959
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NgConsultaTrazabilidadDialog, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
890
960
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NgConsultaTrazabilidadDialog });
891
961
  }
892
962
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NgConsultaTrazabilidadDialog, decorators: [{
893
963
  type: Injectable
894
- }], ctorParameters: () => [{ type: i1$1.MatDialog }] });
964
+ }], ctorParameters: () => [{ type: i1.MatDialog }] });
895
965
 
896
966
  class NgConsultaImagenesDialog {
897
967
  dialog;
@@ -906,35 +976,66 @@ class NgConsultaImagenesDialog {
906
976
  panelClass: 'ng-consulta-imagenes-lib'
907
977
  });
908
978
  }
909
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NgConsultaImagenesDialog, deps: [{ token: i1$1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
979
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NgConsultaImagenesDialog, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
910
980
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NgConsultaImagenesDialog });
911
981
  }
912
982
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NgConsultaImagenesDialog, decorators: [{
913
983
  type: Injectable
914
- }], ctorParameters: () => [{ type: i1$1.MatDialog }] });
984
+ }], ctorParameters: () => [{ type: i1.MatDialog }] });
985
+
986
+ /**
987
+ * BaseMapper
988
+ * @param T - DTO
989
+ * @param U - Domain
990
+ */
991
+ class BaseMapper {
992
+ }
915
993
 
916
- class UnidadMapper {
917
- static fromApiToDomain(unidad) {
994
+ class UnidadMapper extends BaseMapper {
995
+ fromApiToDomain(dto) {
918
996
  return {
919
- idIup: unidad.idIup,
920
- remeIdInt: unidad.remeIdInt,
921
- codigoUnidad: unidad.codigoUnidad,
922
- tipoUnidad: unidad.tipoUnidad,
923
- claseEmpaque: unidad.claseEmpaque,
924
- estadoUnidad: unidad.estadoUnidad,
925
- tipoUbicacion: unidad.tipoUbicacion,
926
- codigoUbicacionActual: unidad.codBarrasUbicacion,
927
- ubicacionActual: unidad.ubicacion,
928
- regionalUbicacion: unidad.ceOp ?? null,
929
- tieneNovedad: unidad.tieneNovedad,
930
- movilEntrega: unidad.movilEntrega ?? null,
931
- certificacion: unidad.certificacion ?? null,
932
- pesoReal: unidad.pesoReal,
933
- pesoVolumen: unidad.pesoVolumen,
934
- alto: unidad.alto,
935
- ancho: unidad.ancho,
936
- largo: unidad.largo,
937
- licencia: unidad.licencia
997
+ idIup: dto.idIup,
998
+ remeIdInt: dto.remeIdInt,
999
+ codigoUnidad: dto.codigoUnidad,
1000
+ tipoUnidad: dto.tipoUnidad,
1001
+ claseEmpaque: dto.claseEmpaque,
1002
+ estadoUnidad: dto.estadoUnidad,
1003
+ tipoUbicacion: dto.tipoUbicacion,
1004
+ codigoUbicacionActual: dto.codBarrasUbicacion,
1005
+ ubicacionActual: dto.ubicacion,
1006
+ regionalUbicacion: dto.ceOp ?? null,
1007
+ tieneNovedad: dto.tieneNovedad,
1008
+ movilEntrega: dto.movilEntrega ?? null,
1009
+ certificacion: dto.certificacion ?? null,
1010
+ pesoReal: dto.pesoReal,
1011
+ pesoVolumen: dto.pesoVolumen,
1012
+ alto: dto.alto,
1013
+ ancho: dto.ancho,
1014
+ largo: dto.largo,
1015
+ licencia: dto.licencia
1016
+ };
1017
+ }
1018
+ fromDomainToApi(domain) {
1019
+ return {
1020
+ idIup: domain.idIup,
1021
+ remeIdInt: domain.remeIdInt,
1022
+ codigoUnidad: domain.codigoUnidad,
1023
+ tipoUnidad: domain.tipoUnidad,
1024
+ claseEmpaque: domain.claseEmpaque,
1025
+ estadoUnidad: domain.estadoUnidad,
1026
+ tipoUbicacion: domain.tipoUbicacion,
1027
+ codBarrasUbicacion: domain.codigoUbicacionActual,
1028
+ ubicacion: domain.ubicacionActual,
1029
+ ceOp: domain.regionalUbicacion ?? null,
1030
+ tieneNovedad: domain.tieneNovedad,
1031
+ movilEntrega: domain.movilEntrega ?? null,
1032
+ certificacion: domain.certificacion ?? null,
1033
+ pesoReal: domain.pesoReal,
1034
+ pesoVolumen: domain.pesoVolumen,
1035
+ alto: domain.alto,
1036
+ ancho: domain.ancho,
1037
+ largo: domain.largo,
1038
+ licencia: domain.licencia
938
1039
  };
939
1040
  }
940
1041
  }
@@ -958,7 +1059,7 @@ class UnidadService {
958
1059
  this.headers = new HttpHeaders().set('authorization', config.accessToken);
959
1060
  return this.http.get(UNIDADES_URL, { headers: this.headers });
960
1061
  }
961
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: UnidadService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1062
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: UnidadService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
962
1063
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: UnidadService, providedIn: 'root' });
963
1064
  }
964
1065
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: UnidadService, decorators: [{
@@ -966,7 +1067,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
966
1067
  args: [{
967
1068
  providedIn: 'root',
968
1069
  }]
969
- }], ctorParameters: () => [{ type: i1$2.HttpClient }] });
1070
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }] });
970
1071
 
971
1072
  class UnidadRepositoryAdapter {
972
1073
  unidadService;
@@ -974,9 +1075,10 @@ class UnidadRepositoryAdapter {
974
1075
  this.unidadService = unidadService;
975
1076
  }
976
1077
  consultarUnidadesRemesa(config) {
1078
+ const mapper = new UnidadMapper();
977
1079
  return this.unidadService.consultarUnidadesRemesa(config).pipe(map(response => {
978
1080
  const unidades = response.data;
979
- return unidades.map(unidad => UnidadMapper.fromApiToDomain(unidad));
1081
+ return unidades.map(unidad => mapper.fromApiToDomain(unidad));
980
1082
  }));
981
1083
  }
982
1084
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: UnidadRepositoryAdapter, deps: [{ token: UnidadService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -989,18 +1091,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
989
1091
  }]
990
1092
  }], ctorParameters: () => [{ type: UnidadService }] });
991
1093
 
992
- class TrazabilidadMapper {
993
- static fromApiToDomain(trazabilidad) {
1094
+ class TrazabilidadMapper extends BaseMapper {
1095
+ fromApiToDomain(dto) {
1096
+ return {
1097
+ fechaEvento: dto.fechaTraza,
1098
+ proceso: dto.proceso,
1099
+ ceopProceso: dto.ciudadProceso,
1100
+ tipoUbicacion: dto.tipoUbicacion,
1101
+ codigoUbicacion: dto.codBarrasUbicacion,
1102
+ ubicacion: dto.descUbicacion,
1103
+ usuario: dto.usuario,
1104
+ estado: dto.estadoTraza,
1105
+ observaciones: dto.observaciones
1106
+ };
1107
+ }
1108
+ fromDomainToApi(domain) {
994
1109
  return {
995
- fechaEvento: trazabilidad.fechaTraza,
996
- proceso: trazabilidad.proceso,
997
- ceopProceso: trazabilidad.ciudadProceso,
998
- tipoUbicacion: trazabilidad.tipoUbicacion,
999
- codigoUbicacion: trazabilidad.codBarrasUbicacion,
1000
- ubicacion: trazabilidad.descUbicacion,
1001
- usuario: trazabilidad.usuario,
1002
- estado: trazabilidad.estadoTraza,
1003
- observaciones: trazabilidad.observaciones
1110
+ fechaTraza: domain.fechaEvento,
1111
+ proceso: domain.proceso,
1112
+ ciudadProceso: domain.ceopProceso,
1113
+ tipoUbicacion: domain.tipoUbicacion,
1114
+ codBarrasUbicacion: domain.codigoUbicacion,
1115
+ descUbicacion: domain.ubicacion,
1116
+ usuario: domain.usuario,
1117
+ estadoTraza: domain.estado,
1118
+ observaciones: domain.observaciones
1004
1119
  };
1005
1120
  }
1006
1121
  }
@@ -1018,7 +1133,7 @@ class TrazabilidadUnidadService {
1018
1133
  this.headers = new HttpHeaders().set('authorization', config.accessToken);
1019
1134
  return this.http.get(TRAZABILIDAD_URL, { headers: this.headers });
1020
1135
  }
1021
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TrazabilidadUnidadService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TrazabilidadUnidadService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1022
1137
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TrazabilidadUnidadService, providedIn: 'root' });
1023
1138
  }
1024
1139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TrazabilidadUnidadService, decorators: [{
@@ -1026,7 +1141,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
1026
1141
  args: [{
1027
1142
  providedIn: 'root',
1028
1143
  }]
1029
- }], ctorParameters: () => [{ type: i1$2.HttpClient }] });
1144
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }] });
1030
1145
 
1031
1146
  class TrazabilidadRepositoryAdapter {
1032
1147
  trazabilidadUnidadService;
@@ -1034,9 +1149,10 @@ class TrazabilidadRepositoryAdapter {
1034
1149
  this.trazabilidadUnidadService = trazabilidadUnidadService;
1035
1150
  }
1036
1151
  consultarTrazabilidadUnidad(config) {
1152
+ const mapper = new TrazabilidadMapper();
1037
1153
  return this.trazabilidadUnidadService.consultarTrazabilidadUnidad(config).pipe(map(response => {
1038
1154
  const trazabilidades = response.data;
1039
- return trazabilidades.map(trazabilidad => TrazabilidadMapper.fromApiToDomain(trazabilidad));
1155
+ return trazabilidades.map(trazabilidad => mapper.fromApiToDomain(trazabilidad));
1040
1156
  }));
1041
1157
  }
1042
1158
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TrazabilidadRepositoryAdapter, deps: [{ token: TrazabilidadUnidadService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -1049,14 +1165,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
1049
1165
  }]
1050
1166
  }], ctorParameters: () => [{ type: TrazabilidadUnidadService }] });
1051
1167
 
1052
- class ImagenUnidadMapper {
1053
- static fromApiToDomain(imagenDto) {
1168
+ class ImagenUnidadMapper extends BaseMapper {
1169
+ fromApiToDomain(dto) {
1054
1170
  return {
1055
- nombreFoto: imagenDto.nombreFoto
1171
+ nombreFoto: dto.nombreFoto
1056
1172
  };
1057
1173
  }
1058
- static fromApiListToDomain(imagenes) {
1059
- return imagenes.map(imagen => this.fromApiToDomain(imagen));
1174
+ fromDomainToApi(domain) {
1175
+ return {
1176
+ nombreFoto: domain.nombreFoto
1177
+ };
1060
1178
  }
1061
1179
  }
1062
1180
 
@@ -1073,7 +1191,7 @@ class ImagenUnidadService {
1073
1191
  this.headers = new HttpHeaders().set('authorization', config.accessToken);
1074
1192
  return this.http.get(IMAGENES_URL, { headers: this.headers });
1075
1193
  }
1076
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ImagenUnidadService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1194
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ImagenUnidadService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1077
1195
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ImagenUnidadService, providedIn: 'root' });
1078
1196
  }
1079
1197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ImagenUnidadService, decorators: [{
@@ -1081,7 +1199,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
1081
1199
  args: [{
1082
1200
  providedIn: 'root',
1083
1201
  }]
1084
- }], ctorParameters: () => [{ type: i1$2.HttpClient }] });
1202
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }] });
1085
1203
 
1086
1204
  class ImagenRepositoryAdapter {
1087
1205
  imagenUnidadService;
@@ -1089,9 +1207,10 @@ class ImagenRepositoryAdapter {
1089
1207
  this.imagenUnidadService = imagenUnidadService;
1090
1208
  }
1091
1209
  imagenesDeUnidad(config) {
1210
+ const mapper = new ImagenUnidadMapper();
1092
1211
  return this.imagenUnidadService.imagenesUnidad(config).pipe(map(response => {
1093
1212
  const imagenes = response.list;
1094
- return imagenes.map(imagen => ImagenUnidadMapper.fromApiToDomain(imagen));
1213
+ return imagenes.map(imagen => mapper.fromApiToDomain(imagen));
1095
1214
  }));
1096
1215
  }
1097
1216
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ImagenRepositoryAdapter, deps: [{ token: ImagenUnidadService }], target: i0.ɵɵFactoryTarget.Injectable });