sgc-ng-crud-view-list
Version:
Custom SGC-NG-CRUD-VIEW-LIST (DATATABLE CRUD VIEW) UI Components. *** This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 19.1.0.
995 lines • 108 kB
JavaScript
import * as i0 from '@angular/core';
import { Injectable, ViewChild, Input, Component, NgModule } from '@angular/core';
import * as i2 from 'sgc-share-lib';
import { CrudDataService, TypeCrudView, getListeTypeExportFormat, getListeTypeExportOrientation, getListeTypeExportHeaderDataValueFrom, TExportHeaderDataValueFrom, TExportPageOrientation, TExportFormat, CrudFiltreRecherche, Enum_FilterOperator, TypeFieldDataView, isColTypeDate, isColTypeBooleen, isColTypeNombre, isColTypeTexte, Enum_FilterMatchMode } from 'sgc-share-lib';
import * as fileSaver from 'file-saver';
import * as i6 from '@angular/material/sort';
import { MatSort, MatSortModule } from '@angular/material/sort';
import { BehaviorSubject } from 'rxjs';
import * as i1 from '@angular/router';
import { RouterModule } from '@angular/router';
import * as i3 from '@angular/common';
import { CommonModule } from '@angular/common';
import * as i4 from '@angular/forms';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import * as i5 from '@angular/material/table';
import { MatTableModule } from '@angular/material/table';
import * as i7 from '@angular/material/progress-spinner';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
import * as i8 from '@angular/material/icon';
import { MatIconModule } from '@angular/material/icon';
import * as i9 from '@angular/material/input';
import { MatInputModule } from '@angular/material/input';
import * as i10 from '@angular/material/button';
import { MatButtonModule } from '@angular/material/button';
import * as i11 from '@angular/material/toolbar';
import { MatToolbarModule } from '@angular/material/toolbar';
import * as i12 from '@angular/material/tooltip';
import { MatTooltipModule } from '@angular/material/tooltip';
import * as i13 from 'sgc-ng-paginator';
import { SgcNgPaginatorModule } from 'sgc-ng-paginator';
import * as i14 from '@angular/material/select';
import { MatSelectModule } from '@angular/material/select';
import * as i15 from '@angular/cdk/overlay';
import { OverlayModule } from '@angular/cdk/overlay';
import * as i16 from '@angular/material/radio';
import { MatRadioModule } from '@angular/material/radio';
import * as i17 from '@angular/material/divider';
import { MatDividerModule } from '@angular/material/divider';
import * as i18 from '@angular/material/checkbox';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatSnackBarModule } from '@angular/material/snack-bar';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatDialogModule } from '@angular/material/dialog';
import { MatMenuModule } from '@angular/material/menu';
class SgcNgCrudViewListService {
constructor() { }
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SgcNgCrudViewListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SgcNgCrudViewListService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SgcNgCrudViewListService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: () => [] });
//-----------------------------------------------
var TypeViewList;
(function (TypeViewList) {
TypeViewList[TypeViewList["DATAGRID_VIEW"] = 0] = "DATAGRID_VIEW";
TypeViewList[TypeViewList["REPORT_VIEW"] = 1] = "REPORT_VIEW";
TypeViewList[TypeViewList["STATISTICS_VIEW"] = 2] = "STATISTICS_VIEW";
})(TypeViewList || (TypeViewList = {}));
//--------------------------------------
class CrudDataSource {
constructor(crudDataService) {
this.crudDataService = crudDataService;
this.dataSubject = new BehaviorSubject([]);
this.loadingSubject = new BehaviorSubject(false);
this.totalRecords = 0;
//public pageCourant: number = 0;
//public reponseAPI?:PaginateReponseAPI<TDataList[]>;
this.loading$ = this.loadingSubject.asObservable();
}
connect(collectionViewer) {
return this.dataSubject.asObservable();
}
disconnect(collectionViewer) {
this.dataSubject.complete();
this.loadingSubject.complete();
}
loadData(findParams) {
this.loadingSubject.next(true);
/*this.crudDataService.findLessons(courseId, filter, sortDirection,
pageIndex, pageSize).pipe(
catchError(() => of([])),
finalize(() => this.loadingSubject.next(false))
)
.subscribe(lessons => this.dataSubject.next(lessons));*/
this.crudDataService
.findDataFromServer(findParams) /*.pipe(
catchError(() => of([])),
finalize(() => this.loadingSubject.next(false))
)*/
.subscribe({
next: (response) => {
console.log('***** CRUDDATASOURCE - LOADDATA - response subscribe');
console.log(response);
if (response.reponseOK) {
/*this.dataSource.data = response.data.pageData;
this.totalRecords = response.data.totalRecords;
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;*/
this.totalRecords = response.data.totalRecords;
this.dataSubject.next(response.data.pageData);
//this.reponseAPI=response;
this.loadingSubject.next(false);
return;
}
else {
//this.notificationService.error(response.message);
console.log(response);
this.loadingSubject.next(false);
return;
}
},
error: (err) => {
console.log('***** CRUDDATASOURCE - LOADDATA - response subscribe ERROR');
console.log(err);
this.loadingSubject.next(false);
return;
//return of([]);
},
complete: () => {
console.log('***** CRUDDATASOURCE - LOADDATA - response subscribe COMPLETE');
this.loadingSubject.next(false);
return;
},
});
}
}
//-------------------------------------------------------------------
/**
*
*/
class CrudDataService_ReportView extends CrudDataService {
constructor(myHttpClient, myDataKeyField, myTitreView, myUrlNavigateListView) {
super(myHttpClient, myDataKeyField, TypeCrudView.REPORT);
this.titreReportView = myTitreView ? myTitreView : 'REPORT VIEW';
this.urlNavigatePageListView = myUrlNavigateListView
? myUrlNavigateListView
: '';
}
}
//-------------------------------------------------------------------
/**
*
*/
class CrudDataService_StatisticsView extends CrudDataService {
constructor(myHttpClient, myDataKeyField, myTitreView, myUrlNavigateListView) {
super(myHttpClient, myDataKeyField, TypeCrudView.REPORT);
this.titreStatisticsView = myTitreView ? myTitreView : 'STATISTICS VIEW';
this.urlNavigatePageListView = myUrlNavigateListView
? myUrlNavigateListView
: '';
}
}
class SgcNgCrudViewListComponent {
//currentArb: Number = 0;
//currentCecId: Number = 0;
constructor(
//protected menuDataService: MenuDataService,
route, router,
//protected routeStateService: RouteStateService,
/*protected crudDataService: CrudDataService<
TDataList,
TDataCreate,
TDataEdit,
TDataImport,
TDataExport
>,*/
notificationService, filtreRechercheService //protected reloadViewService: ReloadViewService, //protected userCtxtService: UserContextService
) {
this.route = route;
this.router = router;
this.notificationService = notificationService;
this.filtreRechercheService = filtreRechercheService;
this.css_heightMainDiv = '300';
this.useRoutingForNavigate = false;
this.selectedTypeViewList = TypeViewList.DATAGRID_VIEW;
this.isMenuVisible = true;
this.isPanelExportOpen = false;
this.listeTypeExportFormat = getListeTypeExportFormat();
this.listeTypeExportOrientationPage = getListeTypeExportOrientation();
this.listeTypeExportHeaderDataValueFrom = getListeTypeExportHeaderDataValueFrom();
this.selectedExportOption = { exportFormat: TExportFormat.EXCEL, exportPageOrientation: TExportPageOrientation.PORTRAIT, exportHeaderDataValueFrom: TExportHeaderDataValueFrom.FIELD_LABEL, exportListeColsData: [], exportShowRowNumber: false };
//selectedColsExport: Array<string>=[];
this.listeAllColsExport = [];
this.svc_cols = [];
this.pageCourant = 0;
this.totalRecords = 0;
this.listeColsGlobalFilter = [];
this.showCreateButton = true;
this.showEditButton = true;
this.showDeleteButton = true;
this.showImportButton = false;
this.showMaintenanceButton = false;
this.showExportButton = false;
this.filtres = [];
this.staticFiltres = [];
this.crudFiltreRecherhe = new CrudFiltreRecherche();
//heightCssMainDiv!: string;
//itemsExportButton: MenuItem[];
//itemsMaintenanceButton: MenuItem[];
this.exportParams = {
title: 'Liste des données',
useLandscape: false,
useHeaderDataFieldName: false,
addNumeroOrdre: false,
listeColsData: [],
periodeReference: '',
};
this.myInit = () => {
this.crudDataService_List.myInit_ListView();
this.listeAllColsExport = this.crudDataService_List.cols_Datatable.map(elt => ({ label: elt.header, value: elt.field }));
this.selectedExportOption.exportListeColsData = this.crudDataService_List.cols_Datatable.filter(elt => elt.visible == true).map(elt => elt.field);
};
this.onPrepareList = (responseResolveData) => {
this.crudDataService_List.onPrepare_ListView(responseResolveData);
};
this.setStaticParameters = () => {
this.crudDataService_List.setStaticParameters_ListView();
};
this.afterDelete = () => {
this.crudFiltreRecherhe.validateChangeFiltre(this.filtres);
};
}
ngOnInit() {
console.log('******** SgcNgCrudViewListComponent -- NGONINIT -- css_heightMainDiv ******************');
console.log(this.css_heightMainDiv);
//this.heightCssMainDiv = this.css_heightMainDiv;
//-----------------------------
//this.nbRowsPage = this.crudDataService.nbRowsDatatablePage;
this.resetParamsFindData();
this.dataSource = new CrudDataSource(this.crudDataService_List);
this.svc_dataKeyField = this.crudDataService_List.dataKeyField;
this.svc_titreViewDataList = this.crudDataService_List.titreViewDataList;
this.svc_cols = this.crudDataService_List.cols_Datatable;
this.svc_exportColumns = this.crudDataService_List.exportColumns
? this.crudDataService_List.exportColumns
: this.svc_cols.map((col) => ({
title: col.header,
dataKey: col.field,
}));
this.svc_globalFiltersColumns = this.crudDataService_List
.globalFiltersColumns
? this.crudDataService_List.globalFiltersColumns
: this.svc_cols
.filter((col1) => col1.visible == true)
.map((col2) => col2.field);
this.svc_urlNavigatePageCreateOrEdit =
this.crudDataService_List.urlNavigatePageCreateOrEdit;
this.svc_urlNavigatePageImport =
this.crudDataService_List.urlNavigatePageImport;
//-------------------------------------
this.crudDataService_List.navigateToEdit_Subject.next(false);
this.crudDataService_List.navigateToCreate_Subject.next(false);
this.crudDataService_List.navigateToImport_Subject.next(false);
//------------------------------------
console.log('**** VIEW CRUD COMPONENT LISTENER - NGONINIT - get constantscss*****');
/*if (this.heightCssMainDiv == undefined) {
this.heightCssMainDiv = readProperty('heightMiddleView');
console.log(
'**** VIEW CRUD COMPONENT LISTENER - NGONINIT - get heightCssMainDiv*****'
);
console.log(this.heightCssMainDiv);
}*/
//-------------------------------------
/*//----- Commentaires du 21/11/2023 ----
this.showMaintenanceButton =
this.userCtxtService.priveFN_isShowButtonMaintenance();
this.isMenuVisible = this.menuDataService.visible;
this.toggleMenuSubscription = this.menuDataService.toggleSideBar.subscribe(
(data: any) => {
console.log('**** VIEW CRUD COMPONENT LISTENER - NGONINIT *****');
console.log(data);
this.isMenuVisible = data;
}
);*/
let responseResolve = this.route.snapshot.data['listData'];
console.log('****** GENERIC VIEW - ResponseResolve *******');
console.log(responseResolve);
this.onPrepareList(responseResolve?.response);
this.myInit();
console.log('****** GENERIC VIEW - SVC_COLS *******');
console.log(this.svc_cols);
console.log('****** GENERIC VIEW - BEFORE filtreRechercheSubscription *******');
console.log(this.crudFiltreRecherhe.reloadOnFiltreChange);
this.filtreRechercheSubscription =
this.crudFiltreRecherhe.reloadOnFiltreChange.subscribe((data) => {
console.log('****** GENERIC VIEW - BEFORE ONFETCH *******');
this.onFetch();
});
this.onFetch();
console.log('****** GENERIC VIEW - AFTER filtreRechercheSubscription *******');
}
ngAfterViewInit() {
// If the user changes the sort order, reset back to the first page.
/*this.sort?.sortChange.subscribe({
next() {
if (this.paginator != undefined) this.paginator.pageIndex = 0;
},
});
this.paginator?.page.pipe(tap(() => this.onFetch())).subscribe();*/
/*if (this.heightCssMainDiv == undefined) {
this.heightCssMainDiv = readProperty('heightMiddleView') + 'px';
console.log(
'**** VIEW CRUD COMPONENT LISTENER - NGAFTERVIEWINIT - get heightCssMainDiv*****'
);
console.log(this.heightCssMainDiv);
//this.heightCssMainDiv = "300px";
}*/
}
ngOnDestroy() {
this.filtreRechercheSubscription.unsubscribe();
//this.toggleMenuSubscription.unsubscribe();
}
refreshParamsFindData() {
this.paramsFindData = {
listeFiltres: this.filtres,
page: this.pageCourant,
size: this.nbRowsPage,
};
}
resetParamsFindData() {
this.searchGlobalInputValue = '';
this.pageCourant = 0;
this.nbRowsPage = this.crudDataService_List.nbRowsDataTableByPage;
this.filtres = this.staticFiltres;
this.refreshParamsFindData();
}
/*handlePageEvent(e: PageEvent) {
this.pageEvent = e;
this.totalRecords = e.length;
this.nbRowsPage = e.pageSize;
this.pageCourant = e.pageIndex;
this.onFetch();
}*/
handlePaginatorChangeEvent(e) {
console.log('**** VIEW CRUD COMPONENT - handlePaginatorChangeEvent - indexpage - NbRowsPage ');
console.log(e);
console.log(this.pageCourant);
console.log(this.nbRowsPage);
this.onFetch();
}
applyGlobalFilter(event) {
//const filterValue = (event.target as HTMLInputElement).value;
const filterValue = this.searchGlobalInputValue;
console.log('**** VIEW CRUD COMPONENT LISTENER - APPLYFILTER --- Show filter value : ');
console.log(filterValue);
if (filterValue) {
let myMapFilter = new Map();
//myMapFilter.set(this.svc_dataKeyField,{operator:TFilterOperator.EQUALS,value:filterValue} as ColumnDatatableFilterValue);
myMapFilter.set(this.svc_globalFiltersColumns.join(','), {
operator: Enum_FilterOperator.EQUALS,
value: filterValue,
});
this.paramsFindData.filters = myMapFilter;
}
else {
this.paramsFindData.filters = undefined;
}
this.onFetch();
}
resetGlobalFilter(event) {
this.searchGlobalInputValue = '';
this.applyGlobalFilter(event);
}
/*updateFilterData(filterdata: any) {
console.log('******** VIEW CRUD - UPDATE FILTRE *************');
console.log(filterdata);
this.filtres = filterdata;
this.crudFiltreRecherhe.validateChangeFiltre(this.filtres);
}*/
/*getColumnsFilters(): Array<TColumnDataTableDef> {
return this.svc_cols.filter(
(elt1) => elt1.listFilterOperators != undefined
);
}*/
getColumnsToDisplay() {
return this.svc_cols.filter(elt => elt.visible == true);
//return this.svc_cols.filter(elt => elt.visible==true).map(elt => ({...elt, header:'list_'+elt.field}));
}
getColumnsNameToDisplay() {
return this.getColumnsToDisplay().map((elt1) => elt1.field);
}
/*************************************************************/
/** */
combineStaticFiltertoFilter() {
this.setStaticParameters();
console.log('****** VIEW CRUD COMPONENT - COMBINESTATICFILTERTOFILTER - Show staticParameters *****');
console.log(this.staticFiltres);
if (this.staticFiltres != undefined && this.staticFiltres.length > 0) {
if (this.filtres == undefined || this.filtres.length == 0) {
this.filtres = this.staticFiltres;
}
else {
let newFiltres = [];
this.filtres.forEach((orPredicates) => {
this.staticFiltres.forEach((staticOrPredicates) => {
newFiltres.push({
value: [...orPredicates.value, ...staticOrPredicates.value],
visible: orPredicates.visible,
});
});
});
this.filtres = newFiltres;
}
}
}
/*************************************************************/
/** */
combineDatatableFilterValues() {
if (this.filtres == undefined) {
this.filtres = [];
}
let dtFilters;
dtFilters = this.paramsFindData.filters
? this.paramsFindData.filters
: new Map(); //?.((value) => value != undefined);
console.log('****** VIEW CRUD COMPONENT - combineDatatableFilterValues - Show FilterValues *****');
console.log(dtFilters);
console.log(dtFilters.size);
console.log(dtFilters.entries());
if (dtFilters != undefined && dtFilters.size > 0) {
//----- Construire le filtre du Datatable ----
//----- Initialiser le nouveau prédicat avec les prédicats déjà contenus dans le filtre actuel ---
let newOrOfAndFilters = [];
if (this.filtres.length > 0) {
this.filtres.forEach((orPredicates) => {
newOrOfAndFilters.push({
value: [...orPredicates.value],
visible: orPredicates.visible,
});
});
}
for (let [dtfilterKey, dtfilterValue] of dtFilters.entries()) {
console.log('****** VIEW CRUD COMPONENT - combineDatatableFilterValues - Entry Map filtervalue *****');
console.log(dtfilterKey + ' : ' + dtfilterValue.value);
let colsFilterStr = [];
colsFilterStr = dtfilterKey.split(',');
for (let colfilterstr of colsFilterStr) {
let colFilter = this.svc_cols.find((col) => col.field == colfilterstr);
let newAndFilter = { value: [], visible: true };
if (dtfilterValue.value != undefined &&
dtfilterValue.value.length != 0 &&
colFilter != undefined) {
let colFilterOperator = dtfilterValue.operator;
if (colFilter.typeData == TypeFieldDataView.TEXTE) {
colFilterOperator = Enum_FilterOperator.CONTAINS;
}
newAndFilter.value.push({
name: colfilterstr,
value: dtfilterValue.value,
operator: colFilterOperator,
active: true,
ignoreWhenNull: true,
});
}
console.log('****** VIEW CRUD COMPONENT - combineDatatableFilterValues - AndFilter *****');
console.log(newAndFilter);
newOrOfAndFilters.push({
value: [...newAndFilter.value],
visible: true,
});
}
console.log('****** VIEW CRUD COMPONENT - combineDatatableFilterValues - OrOfAndFilters *****');
console.log(newOrOfAndFilters);
/*let colFilter: TColumnDataTableDef | undefined = this.svc_cols.find(
(col) => col.field == dtfilterKey
);
if (
dtfilterValue.value != undefined &&
colFilter != undefined &&
(colFilter.typeData != TypeFieldData.TEXTE ||
dtfilterValue.value != '')
) {
newAndFilter.value.push({
name: dtfilterKey,
value: dtfilterValue.value,
operator: dtfilterValue.operator,
active: true,
ignoreWhenNull: true,
} as FiltreRequete);
}
console.log(
'****** VIEW CRUD COMPONENT - combineDatatableFilterValues - Filtres *****'
);
console.log(newAndFilter);
*/
}
//----- Mettre à jour le filtre principal en fonction des données du filtre du Datatable ----
if (newOrOfAndFilters.length > 0) {
this.filtres = newOrOfAndFilters;
}
}
}
/*************************************************************/
/** */
onFetch() {
console.log('******** VIEW CRUD - ONFETCH (initLoadingSubject to true before fetching data) ************');
//this.resetParamsFindData();
this.filtres = [];
this.combineStaticFiltertoFilter();
this.combineDatatableFilterValues();
this.refreshParamsFindData();
console.log('******** VIEW CRUD - ONFETCH (critères) ************');
console.log(this.filtres);
console.log('******** VIEW CRUD - ONFETCH (critères as string) ************');
console.log(this.paramsFindData);
this.dataSource.loadData(this.paramsFindData);
this.crudDataService_List.selectedData = undefined;
/*setTimeout(() => {
this.crudDataService
.findDataFromServer(this.paramsFindData)
.subscribe((response) => {
console.log('RECHERCHE DATA - ONFETCH');
console.log(response);
if (response.reponseOK) {
this.dataSource.data = response.data.pageData;
this.totalRecords = response.data.totalRecords;
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
this.loadingSubject.next(false);
return;
} else {
this.notificationService.error(response.message);
console.log(response);
this.loadingSubject.next(false);
return;
}
});
}, 1000);*/
}
/*************************************************************/
/** */
navigateToEditView() {
console.log('***** VIEW CRUD COMPONENT : EDIT DATA ******');
console.log('***** ROW DATA ******');
console.log(this.crudDataService_List.selectedData);
if (this.crudDataService_List.selectedData != undefined) {
if (this.useRoutingForNavigate) {
this.router.navigate([this.svc_urlNavigatePageCreateOrEdit], {
queryParams: {
id: this.crudDataService_List.getIDValue(this.crudDataService_List.selectedData), //.get(this.svc_dataKeyField),
urlPage: this.svc_urlNavigatePageCreateOrEdit,
},
});
}
else {
this.crudDataService_List.navigateToEdit_Subject.next(true);
}
//this.routeStateService.add(this.menudataService.menuitem_.label, this.menudataService.menuitem_detailcontrat.routerLink, { idMenu: this.menudataService.menuitem_detailcontrat.id, params: {numContrat: ""+rowData?.connum.toString()}}, true);
}
return;
}
/*************************************************************/
/** */
navigateToCreateView() {
console.log('***** VIEW CRUD COMPONENT : CREATE DATA ******');
//console.log('***** EVENT ******');
//console.log(event);
if (this.useRoutingForNavigate) {
this.router.navigate([this.svc_urlNavigatePageCreateOrEdit], {
queryParams: { urlPage: this.svc_urlNavigatePageCreateOrEdit },
});
}
else {
this.crudDataService_List.navigateToCreate_Subject.next(true);
}
//this.routeStateService.add(this.menudataService.menuitem_detailcontrat.label, this.menudataService.menuitem_detailcontrat.routerLink, { idMenu: this.menudataService.menuitem_detailcontrat.id, params: {numContrat: ""+rowData?.connum.toString()}}, true);
return;
}
/*************************************************************/
/** */
navigateToImportView() {
console.log('***** VIEW CRUD COMPONENT : Navigate to Import View ******');
//console.log('***** EVENT ******');
//console.log(event);
console.log(this.svc_urlNavigatePageImport);
if (this.useRoutingForNavigate) {
if (this.svc_urlNavigatePageImport != null) {
this.router.navigate([this.svc_urlNavigatePageImport], {
queryParams: { urlPage: this.svc_urlNavigatePageImport },
});
//this.routeStateService.add(this.menudataService.menuitem_detailcontrat.label, this.menudataService.menuitem_detailcontrat.routerLink, { idMenu: this.menudataService.menuitem_detailcontrat.id, params: {numContrat: ""+rowData?.connum.toString()}}, true);
}
}
else {
this.crudDataService_List.navigateToImport_Subject.next(true);
}
}
/*************************************************************/
/** */
deleteData() {
console.log('***** VIEW CRUD COMPONENT : DELETE DATA ******');
console.log('***** ROWDATA ******');
console.log(this.crudDataService_List.selectedData);
if (this.crudDataService_List.selectedData != undefined) {
const idRowData = this.crudDataService_List.getIDValue(this.crudDataService_List.selectedData);
this.notificationService.confirmation('Voulez-vous supprimer cette enregistrement? ', 'Confirmation suppression', () => {
this.crudDataService_List
.deleteById(idRowData)
.subscribe((response) => {
if (response.reponseOK) {
//this.filtreRechercheService.validateChangeFiltre(undefined)
this.afterDelete();
this.notificationService.success(response.message);
//this.loading = false;
return;
}
else {
console.log('--- Error1 ---');
console.log(response.message);
this.notificationService.error(response.message);
return;
}
}); /*.catch(
(error) => {
this.toastService.addSingle('error', '', 'Erreur système - suppression des données!');
console.log("--- Error2 ---");
console.log(error);
//this.loading = false;
return;
});*/
});
}
return;
}
/*************************************************************/
/** */
/*clearAllData() {
console.log('***** VIEW CRUD COMPONENT : CLEAR ALL DATA ******');
this.notificationService.confirmation(
'Attention! vous allez effacer la liste des enregistrements? ',
'Confirmation suppression',
() => {
this.crudDataService.deleteAll().subscribe((response) => {
if (response.reponseOK) {
//this.filtreRechercheService.validateChangeFiltre(undefined)
this.afterDelete();
this.notificationService.success(response.message);
return;
} else {
console.log('--- Error1 ---');
console.log(response.message);
this.notificationService.error(response.message);
return;
}
});
}
);
return;
}*/
/*************************************************************/
rowClicked(mySelectedRowData) {
console.log('***** VIEW CRUD COMPONENT -- RowClicked ******');
console.log(mySelectedRowData);
this.crudDataService_List.selectedData = mySelectedRowData;
}
rowDblClicked(mySelectedRowData) {
console.log('***** VIEW CRUD COMPONENT -- RowDblClicked ******');
console.log(mySelectedRowData);
this.crudDataService_List.selectedData = mySelectedRowData;
this.navigateToEditView();
}
isSelectedDataRow(myrow) {
return this.crudDataService_List.selectedData == myrow;
}
/** */
isColTypeDate(col) {
return isColTypeDate(col);
}
isColTypeBooleen(col) {
return isColTypeBooleen(col);
}
isColTypeNombre(col) {
return isColTypeNombre(col);
}
isColTypeTexte(col) {
return isColTypeTexte(col);
}
//********************************************************* */
actionCustomGridView() {
console.log('******** VIEWCRUD PERSONNALISER GRILLE AFFICHAGE ******************');
}
//********************************************************* */
/*exportPDF() {
this.export('pdf');
}
exportEXCEL() {
this.export('xlsx');
}
exportCSV() {
this.export('csv');
}*/
//-----------
export() {
const typeExport = this.selectedExportOption.exportFormat;
const orientationExport = this.selectedExportOption.exportPageOrientation === TExportPageOrientation.LANDSCAPE ? true : false;
const headerValueUseExport = this.selectedExportOption.exportHeaderDataValueFrom === TExportHeaderDataValueFrom.FIELD_NAME ? true : false;
console.log('******** VIEWCRUD EXPORT -- ExportParams ***************');
console.log(this.exportParams);
this.exportParams.title = this.crudDataService_List.titreViewDataList;
this.exportParams.useLandscape = orientationExport;
this.exportParams.useHeaderDataFieldName = headerValueUseExport;
this.exportParams.addNumeroOrdre = this.selectedExportOption.exportShowRowNumber;
this.exportParams.listeColsData = this.selectedExportOption.exportListeColsData;
this.crudDataService_List
.exportData(typeExport, this.exportParams, this.paramsFindData.listeFiltres)
.subscribe({
next: (res) => {
console.log('************** VIEWCRUD - EXPORT ***********************');
console.log(res);
const blob = new Blob([res.body], {
type: res.headers.get('content-type'),
});
const filename = res.headers
.get('content-disposition')
?.split('filename=')[1];
console.log('************** VIEWCRUD - EXPORT - FILEOUTPUT NAME***********************');
console.log(filename);
this.isPanelExportOpen = false;
fileSaver.saveAs(blob, filename);
},
error: (error) => {
console.log('************** VIEWCRUD - EXPORT -- ERROR ***********************');
console.log(error);
this.notificationService.error('Echec export.');
},
});
}
/*************************************************************/
getFilterTypeFromTypeFieldData(typefielddata) {
if (TypeFieldDataView.TEXTE == typefielddata) {
return 'text';
}
else if (TypeFieldDataView.NOMBRE == typefielddata) {
return 'numeric';
}
else if (TypeFieldDataView.BOOLEEN == typefielddata) {
return 'boolean';
}
else if (TypeFieldDataView.DATE_HEURE == typefielddata) {
return 'date';
} /*else if (TypeFieldDataView.HEURE == typefielddata) {
return 'text';
} else if (TypeFieldDataView.FILE_DOC == typefielddata) {
return 'text';
}else if (TypeFieldDataView.FILE_IMAGE == typefielddata) {
return 'date';
}*/
else {
return 'text';
}
}
/*************************************************************/
getDefaultFilterMatchmodeFromTypeFieldData(typefielddata) {
if (TypeFieldDataView.TEXTE == typefielddata) {
return Enum_FilterMatchMode.CONTAINS;
}
else if (TypeFieldDataView.NOMBRE == typefielddata) {
return Enum_FilterMatchMode.EXACT;
}
else if (TypeFieldDataView.BOOLEEN == typefielddata) {
return Enum_FilterMatchMode.EXACT;
}
else if (TypeFieldDataView.DATE_HEURE == typefielddata) {
return Enum_FilterMatchMode.EXACT;
}
else {
return Enum_FilterMatchMode.EXACT;
}
}
//---------------------------
/*getColWidth(col:TColumnDataTableDef):number{
return col.width?col.width:0
}*/
//-----------------------------------------------------
isTypeViewList_DataGrid() {
//return false;
return this.selectedTypeViewList == TypeViewList.DATAGRID_VIEW;
}
resetTypeViewListTo_DataGrid() {
this.selectedTypeViewList = TypeViewList.DATAGRID_VIEW;
this.onTypeViewListChange();
}
isTypeViewList_Report() {
return this.selectedTypeViewList == TypeViewList.REPORT_VIEW;
}
resetTypeViewListTo_Report() {
this.selectedTypeViewList = TypeViewList.REPORT_VIEW;
this.onTypeViewListChange();
}
isTypeViewList_Statistics() {
return this.selectedTypeViewList == TypeViewList.STATISTICS_VIEW;
}
resetTypeViewListTo_Statistics() {
console.log("********* SGC-NG-CRUD-VIEW-LIST-COMPONENT --> resetTypeViewListTo_Statistics 1 **************");
console.log(this.selectedTypeViewList);
this.selectedTypeViewList = TypeViewList.STATISTICS_VIEW;
console.log("********* SGC-NG-CRUD-VIEW-LIST-COMPONENT --> resetTypeViewListTo_Statistics 2 **************");
console.log(this.selectedTypeViewList);
this.onTypeViewListChange();
}
onTypeViewListChange() { }
isSelectedTypeExportFormat_CSV() {
return this.selectedExportOption?.exportFormat == TExportFormat.CSV;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SgcNgCrudViewListComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.NotificationService }, { token: i2.FiltreRechercheService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SgcNgCrudViewListComponent, isStandalone: false, selector: "sgc-ng-crud-view-list", inputs: { css_heightMainDiv: "css_heightMainDiv", crudDataService_List: "crudDataService_List", crudDataService_Report: "crudDataService_Report", crudDataService_Statistics: "crudDataService_Statistics", useRoutingForNavigate: "useRoutingForNavigate", selectedTypeViewList: "selectedTypeViewList" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<ng-template #customToolbarButtons>\n <button mat-stroked-button matToolTip=\"List Data\" aria-label=\"List Data\" (click)=\"resetTypeViewListTo_DataGrid()\">\n <mat-icon class=\"color_green\">list_alt</mat-icon>\n </button>\n <button mat-stroked-button matToolTip=\"Report Data\" aria-label=\"Report Data\" [disabled]=\"!crudDataService_Report\"\n (click)=\"resetTypeViewListTo_Report()\">\n <mat-icon>library_books</mat-icon>\n </button>\n <button mat-stroked-button matToolTip=\"Statistics\" aria-label=\"Statistics\" [disabled]=\"!crudDataService_Statistics\"\n (click)=\"resetTypeViewListTo_Statistics()\">\n <mat-icon>equalizer</mat-icon>\n </button>\n</ng-template>\n\n<div class=\"main-div\" style=\"--heightViewCrud: {{ css_heightMainDiv }}\">\n <!--div *ngIf=\"isTypeViewList_DataGrid()\"-->\n <p>MA DATA TABLE</p>\n <div class=\"spinner-container overlay\" *ngIf=\"dataSource.loading$ | async\">\n <div class=\"center\">\n <!--mat-spinner></mat-spinner-->\n <mat-progress-spinner diameter=\"100\" mode=\"indeterminate\"></mat-progress-spinner>\n </div>\n </div>\n\n <div class=\"datatable-toolbar-css\">\n <mat-toolbar>\n <mat-toolbar-row class=\"toolbar-row-title-css\">\n <div>\n <p>{{ crudDataService_List.titreViewDataList }}</p>\n </div>\n <div>\n <ng-container *ngTemplateOutlet=\"customToolbarButtons\"></ng-container>\n </div>\n </mat-toolbar-row>\n <mat-toolbar-row class=\"datatable-toolbar-row-filter-css\">\n <div class=\"datatable-filter-default-css\">\n <!--mat-form-field floatLabel=\"never\" appearance=\"standard\" class=\"datatable-filter-default-css\"-->\n <!--mat-form-field appearance=\"standard\" class=\"datatable-filter-default-css\" -->\n <input matInput type=\"search\" (keydown.enter)=\"applyGlobalFilter($event)\" [(ngModel)]=\"searchGlobalInputValue\"\n placeholder=\"search text\" class=\"searchInputCss\" #input />\n <div>\n <button *ngIf=\"searchGlobalInputValue\" mat-icon-button color=\"warn\" aria-label=\"Clear\"\n (click)=\"resetGlobalFilter($event)\">\n <mat-icon>close</mat-icon>\n </button>\n <button mat-icon-button color=\"accent\" (click)=\"applyGlobalFilter($event)\">\n <mat-icon>search</mat-icon>\n </button>\n </div>\n <!--/mat-form-field-->\n </div>\n <span class=\"my-toolbar-spacer\"></span>\n <div class=\"wrapper-action-buttons\">\n <button [disabled]=\"false\" matTooltip=\"Create-2\" matTooltipPosition=\"above\" (click)=\"navigateToCreateView()\">\n <mat-icon color=\"primary\">add_circle</mat-icon>\n </button>\n <button [disabled]=\"!crudDataService_List.selectedData\" matTooltip=\"Edit\" matTooltipPosition=\"above\"\n (click)=\"navigateToEditView()\">\n <mat-icon color=\"primary\">create</mat-icon>\n </button>\n <button [disabled]=\"!crudDataService_List.selectedData\" matTooltip=\"Delete\" matTooltipPosition=\"above\"\n (click)=\"deleteData()\">\n <mat-icon color=\"warn\">delete</mat-icon>\n </button>\n \n\n <button cdkOverlayOrigin #myExportOriginOverlay=\"cdkOverlayOrigin\"\n (click)=\"isPanelExportOpen = !isPanelExportOpen\" [disabled]=\"false\" matTooltip=\"Export data\"\n matTooltipPosition=\"above\" aria-label=\"Export data\">\n <mat-icon color=\"primary\">browser_updated</mat-icon>\n </button>\n <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"myExportOriginOverlay\"\n [cdkConnectedOverlayOpen]=\"isPanelExportOpen\" cdkConnectedOverlayWidth=\"35%\"\n >\n <div class=\"overlayExportContainer\">\n <!--section class=\"overlayExportBody\"-->\n <!--mat-form-field-->\n <div class=\"overlayRow\">\n <label id=\"format-export-label\">Format export</label>\n <mat-radio-group aria-labelledby=\"format-export-label\" class=\"format-export-radio-group\"\n [(ngModel)]=\"selectedExportOption.exportFormat\">\n <mat-radio-button *ngFor=\"let fmtExport of listeTypeExportFormat\" class=\"format-export-radio-button\"\n [value]=\"fmtExport.value\">{{fmtExport.label}}</mat-radio-button>\n </mat-radio-group>\n </div>\n <!--/mat-form-field-->\n\n <!--mat-form-field-->\n <div class=\"overlayRow\" *ngIf=\"!isSelectedTypeExportFormat_CSV()\">\n <label id=\"pageorientation-export-label\">Orientation page</label>\n <mat-radio-group aria-labelledby=\"pageorientation-export-label\" class=\"orientation-export-radio-group\"\n [(ngModel)]=\"selectedExportOption.exportPageOrientation\">\n <mat-radio-button *ngFor=\"let orientExport of listeTypeExportOrientationPage\"\n class=\"orientation-export-radio-button\"\n [value]=\"orientExport.value\">{{orientExport.label}}</mat-radio-button>\n </mat-radio-group>\n </div>\n\n <div class=\"overlayRow\">\n <label id=\"header-data-export\">Header data</label>\n <mat-radio-group aria-labelledby=\"header-data-export\" class=\"header-data-export-radio-group\"\n [(ngModel)]=\"selectedExportOption.exportHeaderDataValueFrom\">\n <mat-radio-button *ngFor=\"let headerDataValueExport of listeTypeExportHeaderDataValueFrom\"\n class=\"header-data-export-radio-button\"\n [value]=\"headerDataValueExport.value\">{{headerDataValueExport.label}}</mat-radio-button>\n </mat-radio-group>\n </div>\n\n <div class=\"overlayRow\">\n <label id=\"custom-cols-export\">Customize columns</label>\n <mat-select aria-labelledby=\"custom-cols-export\" [(ngModel)]=\"selectedExportOption.exportListeColsData\" multiple>\n <mat-option *ngFor=\"let col of listeAllColsExport\" [value]=\"col.value\">{{col.value}}</mat-option>\n </mat-select>\n </div>\n\n <div class=\"overlayRow\">\n <label id=\"custom-row-number-export\">Add row number</label>\n <mat-checkbox aria-labelledby=\"custom-row-number-export\" class=\"custom-row-number-export-class\" [(ngModel)]=\"selectedExportOption.exportShowRowNumber\">\n </mat-checkbox> \n </div>\n <!--/mat-form-field-->\n <!--/section-->\n <mat-divider class=\"section-separator\"></mat-divider>\n <section class=\"overlayExportFooter\">\n <button mat-raised-button color=\"accent\" (click)=\"isPanelExportOpen = false\">Annuler</button>\n <button mat-raised-button color=\"primary\" (click)=\"export()\">Exporter</button>\n </section>\n </div>\n </ng-template>\n\n <button [disabled]=\"false\" matTooltip=\"Import data\" matTooltipPosition=\"above\" (click)=\"navigateToImportView()\">\n <mat-icon color=\"primary\">publish</mat-icon>\n </button>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n </div>\n\n <section class=\"datatable-container-default-css mat-elevation-z8\" tabindex=\"0\">\n <table #myTable mat-table [dataSource]=\"dataSource\" matSort matSortDisableClear *ngIf=\"true\">\n <ng-container *ngFor=\"let col of getColumnsToDisplay()\" [matColumnDef]=\"col.field\">\n <!--span *ngIf=\"col.width\"-->\n <th mat-header-cell *matHeaderCellDef [ngClass]=\"[col.styleClassHeader?col.styleClassHeader:'']\" mat-sort-header\n [ngStyle]=\"{\n width: col.css_width ? col.css_width + '%' : null,\n 'text-align': col.css_textAlign ? col.css_textAlign : null\n }\">\n {{ col.header }}\n </th>\n <td [ngStyle]=\"{\n width: col.css_width ? col.css_width + '%' : null,\n 'text-align': col.css_textAlign ? col.css_textAlign : null\n }\" mat-cell *matCellDef=\"let element\">\n {{ element[col.field] }}\n </td>\n </ng-container>\n\n <tr mat-header-row class=\"datatable-header-default-css\"\n *matHeaderRowDef=\"getColumnsNameToDisplay(); sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let myRowData; columns: getColumnsNameToDisplay()\"\n [ngClass]=\"{ selectedRowCss: isSelectedDataRow(myRowData) }\" (click)=\"rowClicked(myRowData)\"\n (dblclick)=\"rowDblClicked(myRowData)\"></tr>\n </table>\n </section>\n <div class=\"wrapper-paginator\">\n <sgc-ng-paginator [totalElements]=\"dataSource.totalRecords\" [(taillePage)]=\"nbRowsPage\"\n [(indexPageCourant)]=\"pageCourant\" [listeTaillesPages]=\"[5, 10, 15, 20, 25, 30, 40, 50]\"\n (onPaginatorChangeEvent)=\"handlePaginatorChangeEvent($event)\"></sgc-ng-paginator>\n </div>\n <!--/div>\n\n <div *ngIf=\"isTypeViewList_Report() && crudDataService_Report\">\n <div class=\"report-toolbar-css\">\n <mat-toolbar>\n <mat-toolbar-row class=\"toolbar-row-title-css\">\n <div>\n <p>{{ crudDataService_Report.titreReportView }}</p>\n </div>\n <div>\n <ng-container\n *ngTemplateOutlet=\"customToolbarButtons\"\n ></ng-container>\n </div> </mat-toolbar-row\n ></mat-toolbar>\n <section\n class=\"report-container-default-css mat-elevation-z8\"\n tabindex=\"0\"\n >\n REPORT VIEW LIST\n </section>\n </div>\n\n <div *ngIf=\"isTypeViewList_Statistics() && crudDataService_Statistics\">\n <div class=\"statistics-toolbar-css\">\n <mat-toolbar>\n <mat-toolbar-row class=\"toolbar-row-title-css\">\n <div>\n <p>{{ crudDataService_Statistics.titreStatisticsView }}</p>\n </div>\n <div>\n <ng-container\n *ngTemplateOutlet=\"customToolbarButtons\"\n ></ng-container>\n </div> </mat-toolbar-row\n ></mat-toolbar>\n <section\n class=\"statistics-container-default-css mat-elevation-z8\"\n tabindex=\"0\"\n >\n STATISTICS VIEW LIST\n </section>\n </div>\n </div>\n </div-->\n</div>", styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media (prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media (forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}html{--mat-badge-text-font: Roboto, sans-serif;--mat-badge-line-height: 22px;--mat-badge-text-size: 12px;--mat-badge-text-weight: 600;--mat-badge-small-size-text-size: 9px;--mat-badge-small-size-line-height: 16px;--mat-badge-large-size-text-size: 24px;--mat-badge-large-size-line-height: 28px}.mat-h1,.mat-headline-5,.mat-typography .mat-h1,.mat-typography .mat-headline-5,.mat-typography h1{font:400 24px/32px Roboto,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-headline-6,.mat-typography .mat-h2,.mat-typography .mat-headline-6,.mat-typography h2{font:500 20px/32px Roboto,sans-serif;letter-spacing:.0125em;margin:0 0 16px}.mat-h3,.mat-subtitle-1,.mat-typography .mat-h3,.mat-typography .mat-subtitle-1,.mat-typography h3{font:400 16px/28px Roboto,sans-serif;letter-spacing:.009375em;margin:0 0 16px}.mat-h4,.mat-body-1,.mat-typography .mat-h4,.mat-typography .mat-body-1,.mat-typography h4{font:400 16px/24px Roboto,sans-serif;letter-spacing:.03125em;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-subtitle-2,.mat-typography .mat-body-strong,.mat-typography .mat-subtitle-2{font:500 14px/22px Roboto,sans-serif;letter-spacing:.0071428571em}.mat-body,.mat-body-2,.mat-typography .mat-body,.mat-typography .mat-body-2,.mat-typography{font:400 14px/20px Roboto,sans-serif;letter-spacing:.0178571429em}.mat-body p,.mat-body-2 p,.mat-typography .mat-body p,.mat-typography .mat-body-2 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 12px/20px Roboto,sans-serif;letter-spacing:.0333333333em}.mat-headline-1,.mat-typography .mat-headline-1{font:300 96px/96px Roboto,sans-serif;letter-spacing:-.015625em;margin:0 0 56px}.mat-headline-2,.mat-typography .mat-headline-2{font:300 60px/60px Roboto,sans-serif;letter-spacing:-.0083333333em;margin:0 0 64px}.mat-headline-3,.mat-typography .mat-headline-3{font:400 48px/50px Roboto,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-headline-4,.mat-typography .mat-headline-4{font:400 34px/40px Roboto,sans-serif;letter-spacing:.0073529412em;margin:0 0 64px}html{--mat-bottom-sheet-container-text-font: Roboto, sans-serif;--mat-bottom-sheet-container-text-line-height: 20px;--mat-bottom-sheet-container-text-size: 14px;--mat-bottom-sheet-container-text-tracking: .0178571429em;--mat-bottom-sheet-container-text-weight: 400}html{--mat-legacy-button-toggle-label-text-font: Roboto, sans-serif;--mat-legacy-button-toggle-label-text-line-height: 24px;--mat-legacy-button-toggle-label-text-size: 16px;--mat-legacy-button-toggle-label-text-tracking: .03125em;--mat-legacy-button-toggle-label-text-weight: 400}html{--mat-standard-button-toggle-label-text-font: Roboto, sans-serif;--mat-standard-button-toggle-label-text-line-height: 24px;--mat-standard-button-toggle-label-text-size: 16px;--mat-standard-button-toggle-label-text-tracking: .03125em;--mat-standard-button-toggle-label-text-weight: 400}html{--mat-datepicker-calendar-text-font: Roboto, sans-serif;--mat-datepicker-calendar-text-size: 13px;--mat-datepicker-calendar-body-label-text-size: 14px;--mat-datepicker-calendar-body-label-text-weight: 500;--mat-datepicker-calendar-period-button-text-size: 14px;--mat-datepicker-calendar-period-button-text-weight: 500;--mat-datepicker-calendar-header-text-size: 11px;--mat-datepicker-calendar-header-text-weight: 400}html{--mat-expansion-header-text-font: Roboto, sans-serif;--mat-expansion-header-text-size: 14px;--mat-expansion-header-text-weight: 500;--mat-expansion-header-text-line-height: inherit;--mat-expansion-header-text-tracking: inherit;--mat-expansion-container-text-font: Roboto, sans-serif;--mat-expansion-container-text-line-height: 20px;--mat-expansion-container-text-size: 14px;--mat-expansion-container-text-tracking: .0178571429em;--mat-expansion-container-text-weight: 400}html{--mat-grid-list-tile-header-primary-text-size: 14px;--mat-grid-list-tile-header-secondary-text-size: 12px;--mat-grid-list-tile-footer-primary-text-size: 14px;--mat-grid-list-tile-footer-secondary-text-size: 12px}html{--mat-stepper-container-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-size: 14px;--mat-stepper-header-label-text-weight: 400;--mat-stepper-header-error-state-label-text-size: 16px;--mat-stepper-header-selected-state-label-text-size: 16px;--mat-stepper-header-selected-state-label-text-weight: 400}html{--mat-toolbar-title-text-font: Roboto, sans-serif;--mat-toolbar-title-text-line-height: 32px;--mat-toolbar-title-text-size: 20px;--mat-toolbar-title-text-tracking: .0125em;--mat-toolbar-title-text-weight: 500}html{--mat-tree-node-text-font: Roboto, sans-serif;--mat-tree-node-text-size: 14px;--mat-tree-node-text-weight: 400}html{--mat-option-label-text-font: Roboto, sans-serif;--mat-option-label-text-line-height: 24px;--mat-option-label-text-size: 16px;--mat-option-label-text-tracking: .03125em;--mat-option-label-text-weight: 400}html{--mat-optgroup-label-text-font: Roboto, sans-serif;--mat-optgroup-label-text-line-height: 24px;--mat-optgroup-label-text-size: 16px;--mat-optgroup-label-text-tracking: .03125em;--mat-optgroup-label-text-weight: 400}html{--mat-card-title-text-font: Roboto, sans-serif;--mat-card-title-text-line-height: 32px;--mat-card-title-text-size: 20px;--mat-card-title-text-tracking: .0125em;--mat-card-title-text-weight: 500;--mat-card-subtitle-text-font: Roboto, sans-serif;--mat-card-subtitle-text-line-height: 22px;--mat-card-subtitle-text-size: 14px;--mat-card-subtitle-text-tracking: .0071428571em;--mat-card-subtitle-text-weight: 500}html{--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: 12px;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: .0333333333em}html{--mdc-filled-text-field-label-text-font: Roboto, sans-serif;--mdc-filled-text-field-label-text-size: 16px;--mdc-filled-text-field-label-text-tracking: .03125em;--mdc-filled-text-field-label-text-weight: 400}html{--mdc-outlined-text-field-label-text-font: Roboto, sans-serif;--mdc-outlined-text-field-label-text-size: 16px;--mdc-outlined-text-field-label-text-tracking: .03125em;--mdc-outlined-text-field-label-text-weight: 400}html{--mat-form-field-container-text-font: Roboto, sans-serif;--mat-form-field-container-text-line-height: 24px;--mat-form-field-container-text-size: 16px;--mat-form-field-container-text-tracking: .03125em;--mat-form-field-container-text-weight: 400;--mat-form-field-outlined-label-text-populated-size: 16px;--mat-form-field-subscript-text-font: Roboto, sans-serif;--mat-form-field-subscript-text-line-height: 20px;--mat-form-field-subscript-text-size: 12px;--mat-form-field-subscript-text-tracking: .0333333333em;--mat-form-field-subscript-text-weight: 400}html{--mat-select-trigger-text-font: Roboto, sans-serif;--mat-select-trigger-text-line-height: 24px;--mat-select-trigger-text-size: 16px;--mat-select-trigger-text-tracking: .03125em;--mat-select-trigger-text-weight: 400}html{--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-size: 20px;--mdc-dialog-subhead-weight: 500;--mdc-dialog-subhead-tracking: .0125em;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 24px;--mdc-dialog-supporting-text-size: 16px;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: .03125em}.mat-mdc-standard-chip{--mdc-chip-label-text-font: Roboto, sans-serif;--mdc-chip-label-text-line-height: 20px;--mdc-chip-label-text-size: 14px;--mdc-chip-label-text-tracking: .0178571429em;--mdc-chip-label-text-weight: 400}html .mat-mdc-slide-toggle{--mat-switch-label-text-font: Roboto, sans-serif;--mat-switch-label-text-line-height: 20px;--mat-switch-label-text-size: 14px;--mat-switch-label-text-tracking: .0178571429em;--mat-switch-label-text-weight: 400}html{--mat-radio-label-text-font: Roboto, sans-serif;--mat-radio-label-text-line-height: 20px;--mat-radio-label-text-size: 14px;--mat-radio-label-text-tracking: .0178571429em;--mat-radio-label-text-weight: 400}html{--mdc-slider-label-label-text-font: Roboto, sans-serif;--mdc-slider-label-label-text-size: 14px;--mdc-slider-label-label-text-line-height: 22px;--mdc-slider-label-label-text-tracking: .0071428571em;--mdc-slider-label-label-text-weight: 500}html{--mat-menu-item-label-text-font: Roboto, sans-serif;--mat-menu-item-label-text-size: 16px;--mat-menu-item-label-text-tracking: .03125em;--mat-menu-item-label-text-line-height: 24px;--mat-menu-item-label-text-weight: 400}html{--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 24px;--mdc-list-list-item-label-text-size: 16px;--mdc-list-list-item-label-text-tracking: .03125em;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 20px;--mdc-list-list-item-supporting-text-size: 14px;--mdc-list-list-item-supporting-text-tracking: .0178571429em;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 20px;--mdc-list-list-item-trailing-supporting-text-size: 12px;--mdc-list-list-item-trailing-supporting-text-tracking: .0333333333em;--mdc-list-list-item-trailing-supporting-text-weight: 400}.mdc-list-group__subheader{font:400 16px/28px Roboto,sans-serif;letter-spacing:.009375em}html{--mat-paginator-container-text-font: Roboto, sans-serif;--mat-paginator-container-text-line-height: 20px;--mat-paginator-container-text-size: 12px;--mat-paginator-container-text-tracking: .0333333333em;--mat-paginator-container-text-weight: 400;--mat-paginator-select-trigger-text-size: 12px}.mat-mdc-tab-header{--mat-tab-header-label-text-font: Roboto, sans-serif;--mat-tab-header-label-text-size: 14px;--mat-tab-header-label-text-tracking: .0892857143em;--mat-tab-header-label-text-line-height: 36px;--mat-tab-header-label-text-weight: 500}html{--mat-checkbox-label-text-font: Roboto, sans-serif;--mat-checkbox-label-text-line-height: 20px;--mat-checkbox-label-text-size: 14px;--mat-checkbox-label-text-tracking: .0178571429em;--mat-checkbox-label-text-weight: 400}html{--mdc-text-button-label-text-font: Roboto, sans-serif;--mdc-text-button-label-text-size: 14px;--mdc-text-button-label-text-tracking: .0892857143em;--mdc-text-button-label-text-weight: 500;--mdc-text-button-label-text-transform: none}html{--mdc-filled-button-label-text-font: Roboto, sans-serif;--mdc-filled-button-label-text-size: 14px;--mdc-filled-button-label-text-tracking: .0892857143em;--mdc-filled-button-label-text-weight: 500;--mdc-filled-button-label-text-transform: none}html{--mdc-protected-button-label-text-font: Roboto, sans-serif;--mdc-protected-button-label-text-size: 14px;--mdc-protected-button-label-text-tracking: .0892857143em;--mdc-protected-button-label-text-weight: 500;--mdc-protected-button-label-text-transform: none}html{--mdc-outlined-button-label-text-font: Roboto, sans-serif;--mdc-outlined-button-label-text-size: 14px;--mdc-outlined-button-label-text-tracking: .0892857143em;--mdc-outlined-button-label-text-weight: 500;--mdc-outlined-button-label-text-transform: none}html{--mdc-extended-fab-label-text-font: Roboto, sans-serif;--mdc-extended-fab-label-text-size: 14px;--mdc-extended-fab-label-text-tracking: .0892857143em;--mdc-extended-fab-label-text-weight: 500}html{--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 20px;--mdc-snackbar-supporting-text-size: 14px;--mdc-snackbar-supporting-text-weight: 400}html{--mat-table-header-headline-font: Roboto, sans-serif;--mat-table-header-headline-line-height: 22px;--mat-table-header-headline-size: 14px;--mat-table-header-headline-weight: 500;--mat-table-header-headline-tracking: .0071428571em;--mat-table-row-item-label-text-font: Roboto, sans-serif;--mat-table-row-item-label-text-line-height: 20px;--mat-table-row-item-label-text-size: 14px;--mat-table-row-item-label-text-weight: 400;--mat-table-row-item-label-text-tracking: .0178571429em;--mat-table-footer-supporting-text-font: Roboto, sans-serif;--mat-table-footer-supporting-text-line-height: 20px;--mat-table-footer-supporting-text-size: 14px;--mat-table-footer-supporting-text-weight: 400;--mat-table-footer-supporting-text-tracking: .0178571429em}.main-div{display:flex;flex-direction:column;width:100%;height:calc(var(--heightViewCrud) - 10px);min-height:calc(var(--heightViewCrud) - 10px);overflow-y:hidden}.datatable-container-default-css{width:100%!important;height:calc(20px + calc(calc(var(--heightViewCrud) - 10px) - (80px + 35px + 20px)));min-height:calc(20px + calc(calc(var(--heightViewCrud) - 10px) - (80px + 35px + 20px)));padding:0;overflow-y:scroll;overflow-x:clip}.datatable-container-default-css .mat-table{width:100%!important}.datatable-container-default-css th,.datatable-container-default-css .datatable-header-default-css{padding:2px!important;font-weight:700!important;border-style:solid;border-width:1px thin 1em;height:20px!important;min-height:20px!important;background-color:#3f51b5;color:#fff}.datatable-container-default-css th .mat-icon .mat-icon-button{color:#fff}.datatable-container-default-css .mat-mdc-row{height:45px!important;min-height:45px!important}.datatable-container-default-css .mat-mdc-row:nth-child(2n){background-color:#f1f8e9}.datatable-container-default-css .mat-mdc-row:hover{background-color:#ede7f6}.datatable-container-default-css .selectedRowCss{background-color:violet}.datatable-container-default-css .selectedRowCss:nth-child(2n){background-color:violet}.datatable-container-default-css .selectedRowCss:hover{background-color:violet}.datatable-container-default-css .mat-mdc-cell{padding:1px!important;font-size:.98em;border-style:solid;border-width:1px;border-color:#d3d3d3}.datatable-toolbar-css{height:80px!important;min-height:80px!important;width:100%;padding:0}.toolbar-row-title-css{height:40px!important;min-height:40px!important;background-color:#ede7f6;padding:4px;display:flex;flex-direction:row;justify-content:space-between}.toolbar-row-title-css .mat-icon{color:inherit!important}.toolbar-row-title-css .mat-icon-button{border-style:solid;border-width:1px}.datatable-toolbar-row-filter-css{height:40px!important;min-height:40px!important;padding:0}.datatable-toolbar-css .my-toolbar-spacer{flex:1 1 auto}.datatable-filter-default-css{height:40px!important;line-height:40px!important;width:100%;background-color:#f1f8e9!important;padding:0;margin:0;border-radius:6px;display:flex;flex-direction:row}.datatable-filter-default-css input{height:36px;line-height:36px;width:100%;font-size:14px;padding:1px 4px;margin:0;border:0px;border-bottom:1px solid;background:none}.wrapper-action-buttons{background-color:#c5e1a5;height:40px;padding:0}.wrapper-action-buttons button{margin:auto;min-width:50px;min-height:100%}.wrapper-paginator{height:35px;min-height:35px;width:100%;padding:0!important;background-color:#c5cae9}.center{position:absolute;top:50%;left:50%;-moz-transform:translateX(-50%) translateY(-50%);-webkit-transform:translateX(-50%) translateY(-50%);transform:translate(-50%) translateY(-50%)}.overlay{height:100vh;width:100%;background-color:#00000049;z-index:10;top:0;left:0;position:fixed;transition-delay:2s}.color_green{color:#0f0}.overlayExportContainer{display:flex;flex-direction:column;flex-wrap:wrap;background:#ede7f6;padding:5px;border:2px solid;border-radius:5px}.overlayRow{display:flex;flex-direction:row;justify-content:space-between;gap:20px}.overlayRow label{font-weight:700}.overlayRow .mat-checkbox-label{font-weight:700;margin-right:5px}.overlayExportFooter{display:flex;flex-direction:row;justify-content:flex-end;gap:30px}.overlayExportFooter .export-button{background:#3f51b5;color:#fff}.overlayExportFooter .cancel-button{background:#9575cd;color:#fff}.section-separator{margin-top:2px;margin-bottom:5px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i11.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i11.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i13.SgcNgPaginatorComponent, selector: "sgc-ng-paginator", inputs: ["justifyAlignItems", "labelNbreElementPage", "listeTaillesPages", "labelPageCourant", "labelTotalPages", "totalElements", "indexPageCourant", "taillePage"], outputs: ["indexPageCourantChange", "taillePageChange", "onPaginatorChangeEvent"] }, { kind: "component", type: i14.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i14.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i15.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i15.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: i16.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i16.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i17.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i18.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SgcNgCrudViewListComponent, decorators: [{
type: Component,
args: [{ selector: 'sgc-ng-crud-view-list', standalone: false, template: "<ng-template #customToolbarButtons>\n <button mat-stroked-button matToolTip=\"List Data\" aria-label=\"List Data\" (click)=\"resetTypeViewListTo_DataGrid()\">\n <mat-icon class=\"color_green\">list_alt</mat-icon>\n </button>\n <button mat-stroked-button matToolTip=\"Report Data\" aria-label=\"Report Data\" [disabled]=\"!crudDataService_Report\"\n (click)=\"resetTypeViewListTo_Report()\">\n <mat-icon>library_books</mat-icon>\n </button>\n <button mat-stroked-button matToolTip=\"Statistics\" aria-label=\"Statistics\" [disabled]=\"!crudDataService_Statistics\"\n (click)=\"resetTypeViewListTo_Statistics()\">\n <mat-icon>equalizer</mat-icon>\n </button>\n</ng-template>\n\n<div class=\"main-div\" style=\"--heightViewCrud: {{ css_heightMainDiv }}\">\n <!--div *ngIf=\"isTypeViewList_DataGrid()\"-->\n <p>MA DATA TABLE</p>\n <div class=\"spinner-container overlay\" *ngIf=\"dataSource.loading$ | async\">\n <div class=\"center\">\n <!--mat-spinner></mat-spinner-->\n <mat-progress-spinner diameter=\"100\" mode=\"indeterminate\"></mat-progress-spinner>\n </div>\n </div>\n\n <div class=\"datatable-toolbar-css\">\n <mat-toolbar>\n <mat-toolbar-row class=\"toolbar-row-title-css\">\n <div>\n <p>{{ crudDataService_List.titreViewDataList }}</p>\n </div>\n <div>\n <ng-container *ngTemplateOutlet=\"customToolbarButtons\"></ng-container>\n </div>\n </mat-toolbar-row>\n <mat-toolbar-row class=\"datatable-toolbar-row-filter-css\">\n <div class=\"datatable-filter-default-css\">\n <!--mat-form-field floatLabel=\"never\" appearance=\"standard\" class=\"datatable-filter-default-css\"-->\n <!--mat-form-field appearance=\"standard\" class=\"datatable-filter-default-css\" -->\n <input matInput type=\"search\" (keydown.enter)=\"applyGlobalFilter($event)\" [(ngModel)]=\"searchGlobalInputValue\"\n placeholder=\"search text\" class=\"searchInputCss\" #input />\n <div>\n <button *ngIf=\"searchGlobalInputValue\" mat-icon-button color=\"warn\" aria-label=\"Clear\"\n (click)=\"resetGlobalFilter($event)\">\n <mat-icon>close</mat-icon>\n </button>\n <button mat-icon-button color=\"accent\" (click)=\"applyGlobalFilter($event)\">\n <mat-icon>search</mat-icon>\n </button>\n </div>\n <!--/mat-form-field-->\n </div>\n <span class=\"my-toolbar-spacer\"></span>\n <div class=\"wrapper-action-buttons\">\n <button [disabled]=\"false\" matTooltip=\"Create-2\" matTooltipPosition=\"above\" (click)=\"navigateToCreateView()\">\n <mat-icon color=\"primary\">add_circle</mat-icon>\n </button>\n <button [disabled]=\"!crudDataService_List.selectedData\" matTooltip=\"Edit\" matTooltipPosition=\"above\"\n (click)=\"navigateToEditView()\">\n <mat-icon color=\"primary\">create</mat-icon>\n </button>\n <button [disabled]=\"!crudDataService_List.selectedData\" matTooltip=\"Delete\" matTooltipPosition=\"above\"\n (click)=\"deleteData()\">\n <mat-icon color=\"warn\">delete</mat-icon>\n </button>\n \n\n <button cdkOverlayOrigin #myExportOriginOverlay=\"cdkOverlayOrigin\"\n (click)=\"isPanelExportOpen = !isPanelExportOpen\" [disabled]=\"false\" matTooltip=\"Export data\"\n matTooltipPosition=\"above\" aria-label=\"Export data\">\n <mat-icon color=\"primary\">browser_updated</mat-icon>\n </button>\n <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"myExportOriginOverlay\"\n [cdkConnectedOverlayOpen]=\"isPanelExportOpen\" cdkConnectedOverlayWidth=\"35%\"\n >\n <div class=\"overlayExportContainer\">\n <!--section class=\"overlayExportBody\"-->\n <!--mat-form-field-->\n <div class=\"overlayRow\">\n <label id=\"format-export-label\">Format export</label>\n <mat-radio-group aria-labelledby=\"format-export-label\" class=\"format-export-radio-group\"\n [(ngModel)]=\"selectedExportOption.exportFormat\">\n <mat-radio-button *ngFor=\"let fmtExport of listeTypeExportFormat\" class=\"format-export-radio-button\"\n [value]=\"fmtExport.value\">{{fmtExport.label}}</mat-radio-button>\n </mat-radio-group>\n </div>\n <!--/mat-form-field-->\n\n <!--mat-form-field-->\n <div class=\"overlayRow\" *ngIf=\"!isSelectedTypeExportFormat_CSV()\">\n <label id=\"pageorientation-export-label\">Orientation page</label>\n <mat-radio-group aria-labelledby=\"pageorientation-export-label\" class=\"orientation-export-radio-group\"\n [(ngModel)]=\"selectedExportOption.exportPageOrientation\">\n <mat-radio-button *ngFor=\"let orientExport of listeTypeExportOrientationPage\"\n class=\"orientation-export-radio-button\"\n [value]=\"orientExport.value\">{{orientExport.label}}</mat-radio-button>\n </mat-radio-group>\n </div>\n\n <div class=\"overlayRow\">\n <label id=\"header-data-export\">Header data</label>\n <mat-radio-group aria-labelledby=\"header-data-export\" class=\"header-data-export-radio-group\"\n [(ngModel)]=\"selectedExportOption.exportHeaderDataValueFrom\">\n <mat-radio-button *ngFor=\"let headerDataValueExport of listeTypeExportHeaderDataValueFrom\"\n class=\"header-data-export-radio-button\"\n [value]=\"headerDataValueExport.value\">{{headerDataValueExport.label}}</mat-radio-button>\n </mat-radio-group>\n </div>\n\n <div class=\"overlayRow\">\n <label id=\"custom-cols-export\">Customize columns</label>\n <mat-select aria-labelledby=\"custom-cols-export\" [(ngModel)]=\"selectedExportOption.exportListeColsData\" multiple>\n <mat-option *ngFor=\"let col of listeAllColsExport\" [value]=\"col.value\">{{col.value}}</mat-option>\n </mat-select>\n </div>\n\n <div class=\"overlayRow\">\n <label id=\"custom-row-number-export\">Add row number</label>\n <mat-checkbox aria-labelledby=\"custom-row-number-export\" class=\"custom-row-number-export-class\" [(ngModel)]=\"selectedExportOption.exportShowRowNumber\">\n </mat-checkbox> \n </div>\n <!--/mat-form-field-->\n <!--/section-->\n <mat-divider class=\"section-separator\"></mat-divider>\n <section class=\"overlayExportFooter\">\n <button mat-raised-button color=\"accent\" (click)=\"isPanelExportOpen = false\">Annuler</button>\n <button mat-raised-button color=\"primary\" (click)=\"export()\">Exporter</button>\n </section>\n </div>\n </ng-template>\n\n <button [disabled]=\"false\" matTooltip=\"Import data\" matTooltipPosition=\"above\" (click)=\"navigateToImportView()\">\n <mat-icon color=\"primary\">publish</mat-icon>\n </button>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n </div>\n\n <section class=\"datatable-container-default-css mat-elevation-z8\" tabindex=\"0\">\n <table #myTable mat-table [dataSource]=\"dataSource\" matSort matSortDisableClear *ngIf=\"true\">\n <ng-container *ngFor=\"let col of getColumnsToDisplay()\" [matColumnDef]=\"col.field\">\n <!--span *ngIf=\"col.width\"-->\n <th mat-header-cell *matHeaderCellDef [ngClass]=\"[col.styleClassHeader?col.styleClassHeader:'']\" mat-sort-header\n [ngStyle]=\"{\n width: col.css_width ? col.css_width + '%' : null,\n 'text-align': col.css_textAlign ? col.css_textAlign : null\n }\">\n {{ col.header }}\n </th>\n <td [ngStyle]=\"{\n width: col.css_width ? col.css_width + '%' : null,\n 'text-align': col.css_textAlign ? col.css_textAlign : null\n }\" mat-cell *matCellDef=\"let element\">\n {{ element[col.field] }}\n </td>\n </ng-container>\n\n <tr mat-header-row class=\"datatable-header-default-css\"\n *matHeaderRowDef=\"getColumnsNameToDisplay(); sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let myRowData; columns: getColumnsNameToDisplay()\"\n [ngClass]=\"{ selectedRowCss: isSelectedDataRow(myRowData) }\" (click)=\"rowClicked(myRowData)\"\n (dblclick)=\"rowDblClicked(myRowData)\"></tr>\n </table>\n </section>\n <div class=\"wrapper-paginator\">\n <sgc-ng-paginator [totalElements]=\"dataSource.totalRecords\" [(taillePage)]=\"nbRowsPage\"\n [(indexPageCourant)]=\"pageCourant\" [listeTaillesPages]=\"[5, 10, 15, 20, 25, 30, 40, 50]\"\n (onPaginatorChangeEvent)=\"handlePaginatorChangeEvent($event)\"></sgc-ng-paginator>\n </div>\n <!--/div>\n\n <div *ngIf=\"isTypeViewList_Report() && crudDataService_Report\">\n <div class=\"report-toolbar-css\">\n <mat-toolbar>\n <mat-toolbar-row class=\"toolbar-row-title-css\">\n <div>\n <p>{{ crudDataService_Report.titreReportView }}</p>\n </div>\n <div>\n <ng-container\n *ngTemplateOutlet=\"customToolbarButtons\"\n ></ng-container>\n </div> </mat-toolbar-row\n ></mat-toolbar>\n <section\n class=\"report-container-default-css mat-elevation-z8\"\n tabindex=\"0\"\n >\n REPORT VIEW LIST\n </section>\n </div>\n\n <div *ngIf=\"isTypeViewList_Statistics() && crudDataService_Statistics\">\n <div class=\"statistics-toolbar-css\">\n <mat-toolbar>\n <mat-toolbar-row class=\"toolbar-row-title-css\">\n <div>\n <p>{{ crudDataService_Statistics.titreStatisticsView }}</p>\n </div>\n <div>\n <ng-container\n *ngTemplateOutlet=\"customToolbarButtons\"\n ></ng-container>\n </div> </mat-toolbar-row\n ></mat-toolbar>\n <section\n class=\"statistics-container-default-css mat-elevation-z8\"\n tabindex=\"0\"\n >\n STATISTICS VIEW LIST\n </section>\n </div>\n </div>\n </div-->\n</div>", styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media (prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media (forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}html{--mat-badge-text-font: Roboto, sans-serif;--mat-badge-line-height: 22px;--mat-badge-text-size: 12px;--mat-badge-text-weight: 600;--mat-badge-small-size-text-size: 9px;--mat-badge-small-size-line-height: 16px;--mat-badge-large-size-text-size: 24px;--mat-badge-large-size-line-height: 28px}.mat-h1,.mat-headline-5,.mat-typography .mat-h1,.mat-typography .mat-headline-5,.mat-typography h1{font:400 24px/32px Roboto,sans-serif;letter-spacing:normal;margin:0 0 16px}.mat-h2,.mat-headline-6,.mat-typography .mat-h2,.mat-typography .mat-headline-6,.mat-typography h2{font:500 20px/32px Roboto,sans-serif;letter-spacing:.0125em;margin:0 0 16px}.mat-h3,.mat-subtitle-1,.mat-typography .mat-h3,.mat-typography .mat-subtitle-1,.mat-typography h3{font:400 16px/28px Roboto,sans-serif;letter-spacing:.009375em;margin:0 0 16px}.mat-h4,.mat-body-1,.mat-typography .mat-h4,.mat-typography .mat-body-1,.mat-typography h4{font:400 16px/24px Roboto,sans-serif;letter-spacing:.03125em;margin:0 0 16px}.mat-h5,.mat-typography .mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,sans-serif;margin:0 0 12px}.mat-h6,.mat-typography .mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,sans-serif;margin:0 0 12px}.mat-body-strong,.mat-subtitle-2,.mat-typography .mat-body-strong,.mat-typography .mat-subtitle-2{font:500 14px/22px Roboto,sans-serif;letter-spacing:.0071428571em}.mat-body,.mat-body-2,.mat-typography .mat-body,.mat-typography .mat-body-2,.mat-typography{font:400 14px/20px Roboto,sans-serif;letter-spacing:.0178571429em}.mat-body p,.mat-body-2 p,.mat-typography .mat-body p,.mat-typography .mat-body-2 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption,.mat-typography .mat-small,.mat-typography .mat-caption{font:400 12px/20px Roboto,sans-serif;letter-spacing:.0333333333em}.mat-headline-1,.mat-typography .mat-headline-1{font:300 96px/96px Roboto,sans-serif;letter-spacing:-.015625em;margin:0 0 56px}.mat-headline-2,.mat-typography .mat-headline-2{font:300 60px/60px Roboto,sans-serif;letter-spacing:-.0083333333em;margin:0 0 64px}.mat-headline-3,.mat-typography .mat-headline-3{font:400 48px/50px Roboto,sans-serif;letter-spacing:normal;margin:0 0 64px}.mat-headline-4,.mat-typography .mat-headline-4{font:400 34px/40px Roboto,sans-serif;letter-spacing:.0073529412em;margin:0 0 64px}html{--mat-bottom-sheet-container-text-font: Roboto, sans-serif;--mat-bottom-sheet-container-text-line-height: 20px;--mat-bottom-sheet-container-text-size: 14px;--mat-bottom-sheet-container-text-tracking: .0178571429em;--mat-bottom-sheet-container-text-weight: 400}html{--mat-legacy-button-toggle-label-text-font: Roboto, sans-serif;--mat-legacy-button-toggle-label-text-line-height: 24px;--mat-legacy-button-toggle-label-text-size: 16px;--mat-legacy-button-toggle-label-text-tracking: .03125em;--mat-legacy-button-toggle-label-text-weight: 400}html{--mat-standard-button-toggle-label-text-font: Roboto, sans-serif;--mat-standard-button-toggle-label-text-line-height: 24px;--mat-standard-button-toggle-label-text-size: 16px;--mat-standard-button-toggle-label-text-tracking: .03125em;--mat-standard-button-toggle-label-text-weight: 400}html{--mat-datepicker-calendar-text-font: Roboto, sans-serif;--mat-datepicker-calendar-text-size: 13px;--mat-datepicker-calendar-body-label-text-size: 14px;--mat-datepicker-calendar-body-label-text-weight: 500;--mat-datepicker-calendar-period-button-text-size: 14px;--mat-datepicker-calendar-period-button-text-weight: 500;--mat-datepicker-calendar-header-text-size: 11px;--mat-datepicker-calendar-header-text-weight: 400}html{--mat-expansion-header-text-font: Roboto, sans-serif;--mat-expansion-header-text-size: 14px;--mat-expansion-header-text-weight: 500;--mat-expansion-header-text-line-height: inherit;--mat-expansion-header-text-tracking: inherit;--mat-expansion-container-text-font: Roboto, sans-serif;--mat-expansion-container-text-line-height: 20px;--mat-expansion-container-text-size: 14px;--mat-expansion-container-text-tracking: .0178571429em;--mat-expansion-container-text-weight: 400}html{--mat-grid-list-tile-header-primary-text-size: 14px;--mat-grid-list-tile-header-secondary-text-size: 12px;--mat-grid-list-tile-footer-primary-text-size: 14px;--mat-grid-list-tile-footer-secondary-text-size: 12px}html{--mat-stepper-container-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-font: Roboto, sans-serif;--mat-stepper-header-label-text-size: 14px;--mat-stepper-header-label-text-weight: 400;--mat-stepper-header-error-state-label-text-size: 16px;--mat-stepper-header-selected-state-label-text-size: 16px;--mat-stepper-header-selected-state-label-text-weight: 400}html{--mat-toolbar-title-text-font: Roboto, sans-serif;--mat-toolbar-title-text-line-height: 32px;--mat-toolbar-title-text-size: 20px;--mat-toolbar-title-text-tracking: .0125em;--mat-toolbar-title-text-weight: 500}html{--mat-tree-node-text-font: Roboto, sans-serif;--mat-tree-node-text-size: 14px;--mat-tree-node-text-weight: 400}html{--mat-option-label-text-font: Roboto, sans-serif;--mat-option-label-text-line-height: 24px;--mat-option-label-text-size: 16px;--mat-option-label-text-tracking: .03125em;--mat-option-label-text-weight: 400}html{--mat-optgroup-label-text-font: Roboto, sans-serif;--mat-optgroup-label-text-line-height: 24px;--mat-optgroup-label-text-size: 16px;--mat-optgroup-label-text-tracking: .03125em;--mat-optgroup-label-text-weight: 400}html{--mat-card-title-text-font: Roboto, sans-serif;--mat-card-title-text-line-height: 32px;--mat-card-title-text-size: 20px;--mat-card-title-text-tracking: .0125em;--mat-card-title-text-weight: 500;--mat-card-subtitle-text-font: Roboto, sans-serif;--mat-card-subtitle-text-line-height: 22px;--mat-card-subtitle-text-size: 14px;--mat-card-subtitle-text-tracking: .0071428571em;--mat-card-subtitle-text-weight: 500}html{--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: 12px;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: .0333333333em}html{--mdc-filled-text-field-label-text-font: Roboto, sans-serif;--mdc-filled-text-field-label-text-size: 16px;--mdc-filled-text-field-label-text-tracking: .03125em;--mdc-filled-text-field-label-text-weight: 400}html{--mdc-outlined-text-field-label-text-font: Roboto, sans-serif;--mdc-outlined-text-field-label-text-size: 16px;--mdc-outlined-text-field-label-text-tracking: .03125em;--mdc-outlined-text-field-label-text-weight: 400}html{--mat-form-field-container-text-font: Roboto, sans-serif;--mat-form-field-container-text-line-height: 24px;--mat-form-field-container-text-size: 16px;--mat-form-field-container-text-tracking: .03125em;--mat-form-field-container-text-weight: 400;--mat-form-field-outlined-label-text-populated-size: 16px;--mat-form-field-subscript-text-font: Roboto, sans-serif;--mat-form-field-subscript-text-line-height: 20px;--mat-form-field-subscript-text-size: 12px;--mat-form-field-subscript-text-tracking: .0333333333em;--mat-form-field-subscript-text-weight: 400}html{--mat-select-trigger-text-font: Roboto, sans-serif;--mat-select-trigger-text-line-height: 24px;--mat-select-trigger-text-size: 16px;--mat-select-trigger-text-tracking: .03125em;--mat-select-trigger-text-weight: 400}html{--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-size: 20px;--mdc-dialog-subhead-weight: 500;--mdc-dialog-subhead-tracking: .0125em;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 24px;--mdc-dialog-supporting-text-size: 16px;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: .03125em}.mat-mdc-standard-chip{--mdc-chip-label-text-font: Roboto, sans-serif;--mdc-chip-label-text-line-height: 20px;--mdc-chip-label-text-size: 14px;--mdc-chip-label-text-tracking: .0178571429em;--mdc-chip-label-text-weight: 400}html .mat-mdc-slide-toggle{--mat-switch-label-text-font: Roboto, sans-serif;--mat-switch-label-text-line-height: 20px;--mat-switch-label-text-size: 14px;--mat-switch-label-text-tracking: .0178571429em;--mat-switch-label-text-weight: 400}html{--mat-radio-label-text-font: Roboto, sans-serif;--mat-radio-label-text-line-height: 20px;--mat-radio-label-text-size: 14px;--mat-radio-label-text-tracking: .0178571429em;--mat-radio-label-text-weight: 400}html{--mdc-slider-label-label-text-font: Roboto, sans-serif;--mdc-slider-label-label-text-size: 14px;--mdc-slider-label-label-text-line-height: 22px;--mdc-slider-label-label-text-tracking: .0071428571em;--mdc-slider-label-label-text-weight: 500}html{--mat-menu-item-label-text-font: Roboto, sans-serif;--mat-menu-item-label-text-size: 16px;--mat-menu-item-label-text-tracking: .03125em;--mat-menu-item-label-text-line-height: 24px;--mat-menu-item-label-text-weight: 400}html{--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 24px;--mdc-list-list-item-label-text-size: 16px;--mdc-list-list-item-label-text-tracking: .03125em;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 20px;--mdc-list-list-item-supporting-text-size: 14px;--mdc-list-list-item-supporting-text-tracking: .0178571429em;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 20px;--mdc-list-list-item-trailing-supporting-text-size: 12px;--mdc-list-list-item-trailing-supporting-text-tracking: .0333333333em;--mdc-list-list-item-trailing-supporting-text-weight: 400}.mdc-list-group__subheader{font:400 16px/28px Roboto,sans-serif;letter-spacing:.009375em}html{--mat-paginator-container-text-font: Roboto, sans-serif;--mat-paginator-container-text-line-height: 20px;--mat-paginator-container-text-size: 12px;--mat-paginator-container-text-tracking: .0333333333em;--mat-paginator-container-text-weight: 400;--mat-paginator-select-trigger-text-size: 12px}.mat-mdc-tab-header{--mat-tab-header-label-text-font: Roboto, sans-serif;--mat-tab-header-label-text-size: 14px;--mat-tab-header-label-text-tracking: .0892857143em;--mat-tab-header-label-text-line-height: 36px;--mat-tab-header-label-text-weight: 500}html{--mat-checkbox-label-text-font: Roboto, sans-serif;--mat-checkbox-label-text-line-height: 20px;--mat-checkbox-label-text-size: 14px;--mat-checkbox-label-text-tracking: .0178571429em;--mat-checkbox-label-text-weight: 400}html{--mdc-text-button-label-text-font: Roboto, sans-serif;--mdc-text-button-label-text-size: 14px;--mdc-text-button-label-text-tracking: .0892857143em;--mdc-text-button-label-text-weight: 500;--mdc-text-button-label-text-transform: none}html{--mdc-filled-button-label-text-font: Roboto, sans-serif;--mdc-filled-button-label-text-size: 14px;--mdc-filled-button-label-text-tracking: .0892857143em;--mdc-filled-button-label-text-weight: 500;--mdc-filled-button-label-text-transform: none}html{--mdc-protected-button-label-text-font: Roboto, sans-serif;--mdc-protected-button-label-text-size: 14px;--mdc-protected-button-label-text-tracking: .0892857143em;--mdc-protected-button-label-text-weight: 500;--mdc-protected-button-label-text-transform: none}html{--mdc-outlined-button-label-text-font: Roboto, sans-serif;--mdc-outlined-button-label-text-size: 14px;--mdc-outlined-button-label-text-tracking: .0892857143em;--mdc-outlined-button-label-text-weight: 500;--mdc-outlined-button-label-text-transform: none}html{--mdc-extended-fab-label-text-font: Roboto, sans-serif;--mdc-extended-fab-label-text-size: 14px;--mdc-extended-fab-label-text-tracking: .0892857143em;--mdc-extended-fab-label-text-weight: 500}html{--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 20px;--mdc-snackbar-supporting-text-size: 14px;--mdc-snackbar-supporting-text-weight: 400}html{--mat-table-header-headline-font: Roboto, sans-serif;--mat-table-header-headline-line-height: 22px;--mat-table-header-headline-size: 14px;--mat-table-header-headline-weight: 500;--mat-table-header-headline-tracking: .0071428571em;--mat-table-row-item-label-text-font: Roboto, sans-serif;--mat-table-row-item-label-text-line-height: 20px;--mat-table-row-item-label-text-size: 14px;--mat-table-row-item-label-text-weight: 400;--mat-table-row-item-label-text-tracking: .0178571429em;--mat-table-footer-supporting-text-font: Roboto, sans-serif;--mat-table-footer-supporting-text-line-height: 20px;--mat-table-footer-supporting-text-size: 14px;--mat-table-footer-supporting-text-weight: 400;--mat-table-footer-supporting-text-tracking: .0178571429em}.main-div{display:flex;flex-direction:column;width:100%;height:calc(var(--heightViewCrud) - 10px);min-height:calc(var(--heightViewCrud) - 10px);overflow-y:hidden}.datatable-container-default-css{width:100%!important;height:calc(20px + calc(calc(var(--heightViewCrud) - 10px) - (80px + 35px + 20px)));min-height:calc(20px + calc(calc(var(--heightViewCrud) - 10px) - (80px + 35px + 20px)));padding:0;overflow-y:scroll;overflow-x:clip}.datatable-container-default-css .mat-table{width:100%!important}.datatable-container-default-css th,.datatable-container-default-css .datatable-header-default-css{padding:2px!important;font-weight:700!important;border-style:solid;border-width:1px thin 1em;height:20px!important;min-height:20px!important;background-color:#3f51b5;color:#fff}.datatable-container-default-css th .mat-icon .mat-icon-button{color:#fff}.datatable-container-default-css .mat-mdc-row{height:45px!important;min-height:45px!important}.datatable-container-default-css .mat-mdc-row:nth-child(2n){background-color:#f1f8e9}.datatable-container-default-css .mat-mdc-row:hover{background-color:#ede7f6}.datatable-container-default-css .selectedRowCss{background-color:violet}.datatable-container-default-css .selectedRowCss:nth-child(2n){background-color:violet}.datatable-container-default-css .selectedRowCss:hover{background-color:violet}.datatable-container-default-css .mat-mdc-cell{padding:1px!important;font-size:.98em;border-style:solid;border-width:1px;border-color:#d3d3d3}.datatable-toolbar-css{height:80px!important;min-height:80px!important;width:100%;padding:0}.toolbar-row-title-css{height:40px!important;min-height:40px!important;background-color:#ede7f6;padding:4px;display:flex;flex-direction:row;justify-content:space-between}.toolbar-row-title-css .mat-icon{color:inherit!important}.toolbar-row-title-css .mat-icon-button{border-style:solid;border-width:1px}.datatable-toolbar-row-filter-css{height:40px!important;min-height:40px!important;padding:0}.datatable-toolbar-css .my-toolbar-spacer{flex:1 1 auto}.datatable-filter-default-css{height:40px!important;line-height:40px!important;width:100%;background-color:#f1f8e9!important;padding:0;margin:0;border-radius:6px;display:flex;flex-direction:row}.datatable-filter-default-css input{height:36px;line-height:36px;width:100%;font-size:14px;padding:1px 4px;margin:0;border:0px;border-bottom:1px solid;background:none}.wrapper-action-buttons{background-color:#c5e1a5;height:40px;padding:0}.wrapper-action-buttons button{margin:auto;min-width:50px;min-height:100%}.wrapper-paginator{height:35px;min-height:35px;width:100%;padding:0!important;background-color:#c5cae9}.center{position:absolute;top:50%;left:50%;-moz-transform:translateX(-50%) translateY(-50%);-webkit-transform:translateX(-50%) translateY(-50%);transform:translate(-50%) translateY(-50%)}.overlay{height:100vh;width:100%;background-color:#00000049;z-index:10;top:0;left:0;position:fixed;transition-delay:2s}.color_green{color:#0f0}.overlayExportContainer{display:flex;flex-direction:column;flex-wrap:wrap;background:#ede7f6;padding:5px;border:2px solid;border-radius:5px}.overlayRow{display:flex;flex-direction:row;justify-content:space-between;gap:20px}.overlayRow label{font-weight:700}.overlayRow .mat-checkbox-label{font-weight:700;margin-right:5px}.overlayExportFooter{display:flex;flex-direction:row;justify-content:flex-end;gap:30px}.overlayExportFooter .export-button{background:#3f51b5;color:#fff}.overlayExportFooter .cancel-button{background:#9575cd;color:#fff}.section-separator{margin-top:2px;margin-bottom:5px}\n"] }]
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.NotificationService }, { type: i2.FiltreRechercheService }], propDecorators: { css_heightMainDiv: [{
type: Input
}], crudDataService_List: [{
type: Input
}], crudDataService_Report: [{
type: Input
}], crudDataService_Statistics: [{
type: Input
}], useRoutingForNavigate: [{
type: Input
}], selectedTypeViewList: [{
type: Input
}], sort: [{
type: ViewChild,
args: [MatSort]
}] } });
/*const routes: Routes = [
{
path: '',
component: SgcNgCrudViewListComponent,
},
];*/
class SgcNgCrudViewListModule {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SgcNgCrudViewListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: SgcNgCrudViewListModule, declarations: [SgcNgCrudViewListComponent], imports: [CommonModule,
FormsModule,
ReactiveFormsModule,
RouterModule,
MatTableModule,
MatSortModule,
MatProgressSpinnerModule,
MatIconModule,
MatSnackBarModule,
MatDialogModule,
MatFormFieldModule,
MatInputModule,
MatButtonModule,
MatToolbarModule,
MatTooltipModule,
MatMenuModule,
SgcNgPaginatorModule,
OverlayModule,
MatRadioModule,
MatDividerModule,
MatCheckboxModule,
MatSelectModule
//RouterModule.forChild(routes),
], exports: [SgcNgCrudViewListComponent,
MatTableModule,
MatSortModule,
MatProgressSpinnerModule,
MatIconModule,
MatSnackBarModule,
MatDialogModule,
MatFormFieldModule,
MatInputModule,
MatButtonModule,
MatToolbarModule,
MatTooltipModule,
MatMenuModule,
SgcNgPaginatorModule,
OverlayModule,
MatRadioModule,
MatDividerModule,
MatCheckboxModule,
MatSelectModule] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SgcNgCrudViewListModule, imports: [CommonModule,
FormsModule,
ReactiveFormsModule,
RouterModule,
MatTableModule,
MatSortModule,
MatProgressSpinnerModule,
MatIconModule,
MatSnackBarModule,
MatDialogModule,
MatFormFieldModule,
MatInputModule,
MatButtonModule,
MatToolbarModule,
MatTooltipModule,
MatMenuModule,
SgcNgPaginatorModule,
OverlayModule,
MatRadioModule,
MatDividerModule,
MatCheckboxModule,
MatSelectModule
//RouterModule.forChild(routes),
, MatTableModule,
MatSortModule,
MatProgressSpinnerModule,
MatIconModule,
MatSnackBarModule,
MatDialogModule,
MatFormFieldModule,
MatInputModule,
MatButtonModule,
MatToolbarModule,
MatTooltipModule,
MatMenuModule,
SgcNgPaginatorModule,
OverlayModule,
MatRadioModule,
MatDividerModule,
MatCheckboxModule,
MatSelectModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SgcNgCrudViewListModule, decorators: [{
type: NgModule,
args: [{
declarations: [SgcNgCrudViewListComponent],
imports: [
CommonModule,
FormsModule,
ReactiveFormsModule,
RouterModule,
MatTableModule,
MatSortModule,
MatProgressSpinnerModule,
MatIconModule,
MatSnackBarModule,
MatDialogModule,
MatFormFieldModule,
MatInputModule,
MatButtonModule,
MatToolbarModule,
MatTooltipModule,
MatMenuModule,
SgcNgPaginatorModule,
OverlayModule,
MatRadioModule,
MatDividerModule,
MatCheckboxModule,
MatSelectModule
//RouterModule.forChild(routes),
],
exports: [
SgcNgCrudViewListComponent,
MatTableModule,
MatSortModule,
MatProgressSpinnerModule,
MatIconModule,
MatSnackBarModule,
MatDialogModule,
MatFormFieldModule,
MatInputModule,
MatButtonModule,
MatToolbarModule,
MatTooltipModule,
MatMenuModule,
SgcNgPaginatorModule,
OverlayModule,
MatRadioModule,
MatDividerModule,
MatCheckboxModule,
MatSelectModule
],
}]
}] });
/*
* Public API Surface of sgc-ng-crud-view-list
*/
/**
* Generated bundle index. Do not edit.
*/
export { CrudDataService_ReportView, CrudDataService_StatisticsView, CrudDataSource, SgcNgCrudViewListComponent, SgcNgCrudViewListModule, SgcNgCrudViewListService, TypeViewList };
//# sourceMappingURL=sgc-ng-crud-view-list.mjs.map