@pepperi-addons/ngx-composite-lib 0.4.2-beta.6 → 0.4.2-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-form.mjs","sources":["../../../projects/ngx-composite-lib/generic-form/generic-form.service.ts","../../../projects/ngx-composite-lib/generic-form/generic-form.component.ts","../../../projects/ngx-composite-lib/generic-form/generic-form.component.html","../../../projects/ngx-composite-lib/generic-form/generic-form.module.ts","../../../projects/ngx-composite-lib/generic-form/public-api.ts","../../../projects/ngx-composite-lib/generic-form/pepperi-addons-ngx-composite-lib-generic-form.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n\n@Injectable()\nexport class PepGenericFormService { \n\n constructor() {\n // \n }\n \n /**\n * checks if the object contains property\n * @param obj object\n * @param prop property name\n * @returns true if contains, false otherwise\n */\n hasProperty(obj: any, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n createFormField(data: any) {\n const field: any = {};\n \n field.ApiName = data.ApiName;\n field.Value = data.controlFieldValue;\n field.FormattedValue = data.controlFieldValue;\n field.FieldType = data.FieldType;\n field.Enabled = !data.ReadOnly;\n field.Visible = !data.Hidden;\n field.GroupFields = [];\n field.Highlighted = false;\n field.OptionalValues = data.OptionalValues;\n field.AdditionalProps = data.AdditionalProps; \n\n return field;\n }\n\n convertToUiControlField(field: any): any {\n return {\n ApiName: field.ApiName,\n FieldType: field.FieldType,\n Title: field.Title,\n ReadOnly: field.ReadOnlyField,\n Mandatory: field.MandatoryField,\n Hidden: field.Hidden,\n ColumnWidth: field.ColumnWidth,\n ColumnWidthType: 1,\n MaxFieldCharacters: field.MaxCharacters,\n MinValue: field.MinValue,\n MaxValue: field.MaxValue,\n Layout: {\n X: field.Layout.X,\n Y: field.Layout.Y,\n Width: field.Layout.Width,\n Height: field.Layout.Field_Height,\n XAlignment: field.Layout.xAlignment,\n YAlignment: field.Layout.yAlignment,\n }\n }\n }\n\n}\n","import {\n Component,\n OnInit,\n Input,\n Output,\n ViewChild,\n ViewContainerRef,\n EventEmitter, \n Type,\n} from '@angular/core';\n//import { PepFormComponent } from '@pepperi-addons/ngx-lib/form';\nimport {\n IPepGenericFormDataView,\n IPepGenericFormValueChange,\n IPepGenericFormFieldUpdate,\n IPepGenericFormData\n} from './generic-form.model';\nimport {\n UIControl,\n ObjectsDataRow,\n ObjectsDataRowCell,\n PepGuid,\n PepLayoutService\n} from '@pepperi-addons/ngx-lib';\nimport { DataViewConverter } from '@pepperi-addons/data-views';\nimport { PepGenericFormService } from './generic-form.service';\n\n\n@Component({\n selector: 'pep-generic-form',\n templateUrl: './generic-form.component.html',\n styleUrls: ['./generic-form.component.scss'],\n providers: [PepGenericFormService]\n})\nexport class GenericFormComponent implements OnInit {\n private _pepFormContainer: ViewContainerRef | undefined;\n @ViewChild('pepFormContainer', { read: ViewContainerRef })\n set pepListContainer(val: ViewContainerRef) {\n this._pepFormContainer = val;\n }\n\n private _data: any;\n @Input()\n set dataSource(val: any) {\n this._data = val;\n }\n\n private _formData: ObjectsDataRow;\n private _uiControl: UIControl;\n @Input()\n set dataView(val: IPepGenericFormDataView) {\n this.initForm(val);\n }\n\n @Input()\n isLocked = false;\n\n @Input()\n inline = false;\n\n @Input()\n showTopBar = false;\n\n @Input()\n addPadding = false;\n\n @Output()\n valueChange: EventEmitter<IPepGenericFormValueChange> = new EventEmitter<IPepGenericFormValueChange>();\n\n @Output()\n fieldClick: EventEmitter<IPepGenericFormValueChange> = new EventEmitter<IPepGenericFormValueChange>();\n\n @Output()\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _pepForm: any;\n\n constructor( \n private layoutService: PepLayoutService,\n public _genericFormService: PepGenericFormService\n ) {\n this.layoutService.onResize$.pipe().subscribe((size) => {\n // \n });\n this._formData = new ObjectsDataRow();\n this._uiControl = new UIControl();\n }\n\n ngOnInit() {\n // \n }\n\n private initForm(dataView: IPepGenericFormDataView) {\n setTimeout(async () => {\n if (this._pepFormContainer) {\n if (this._pepFormContainer.length) {\n this._pepFormContainer.remove();\n this._formData = new ObjectsDataRow();\n this._uiControl = new UIControl();\n } \n const { PepFormComponent } = await import('@pepperi-addons/ngx-lib/form'); \n const componentRef = this._pepFormContainer.createComponent(PepFormComponent); \n\n this._pepForm = componentRef.instance;\n\n this._formData.IsEditable = !this.isLocked;\n this._formData.UID = dataView.UID || PepGuid.newGuid();\n const uiControlData = DataViewConverter.toUIControlData(dataView);\n if (uiControlData) {\n if (uiControlData?.ControlFields) {\n this._uiControl.ControlFields = uiControlData.ControlFields.map((field: any) => this._genericFormService.convertToUiControlField(field));\n }\n this._uiControl.Columns = uiControlData.Columns;\n\n if (this._uiControl.ControlFields?.length) {\n this._formData.Fields = [];\n this._uiControl.ControlFields.forEach((item) => {\n let value = '';\n if (this._genericFormService.hasProperty(this._data, item.ApiName)) {\n value = this._data[item.ApiName];\n }\n let dataViewField: any;\n if (dataView.Fields) {\n dataViewField = dataView.Fields.find(field => field.FieldID === item.ApiName);\n }\n const controlFieldData = {\n ...item,\n ...{\n controlFieldValue: value\n },\n ...{\n OptionalValues: dataViewField?.OptionalValues?.length ? dataViewField.OptionalValues : [],\n AdditionalProps: dataViewField?.AdditionalProps || null\n }\n }\n this._formData.Fields.push(this._genericFormService.createFormField(controlFieldData));\n });\n\n componentRef.instance.layoutType = 'form';\n componentRef.instance.layout = this._uiControl;\n componentRef.instance.data = this._formData;\n componentRef.instance.isInternal = false;\n componentRef.instance.lockFields = this.isLocked;\n componentRef.instance.valueChange.subscribe(($event) => {\n this.onValueChanged($event);\n });\n componentRef.instance.fieldClick.subscribe(($event) => {\n this.onfieldClicked($event);\n });\n componentRef.instance.formValidationChange.subscribe(($event) => {\n this.onFormValidationChanged($event);\n });\n }\n }\n\n }\n\n }, 0);\n }\n\n /**\n * updates form field's value\n * @param field object containing the data of the required update\n */\n private updateFieldValue(fieldChanged: IPepGenericFormValueChange) {\n this._data[fieldChanged.ApiName] = fieldChanged.Value;\n }\n\n getData(): IPepGenericFormData {\n return {\n UID: this._formData.UID,\n Values: this._data\n };\n }\n\n /**\n * updates form field(s) params\n * @param fields\n */\n updateFields(fields: IPepGenericFormFieldUpdate[]) {\n // update data view with current data\n for (const [key, value] of Object.entries(this._data)) {\n const index = this._formData.Fields.findIndex((item) => item.ApiName === key);\n if (index >= 0) {\n const item = this._formData.Fields[index] as { [k: string]: any };\n item.Value = value;\n }\n }\n\n fields.forEach((field) => {\n const index = this._formData.Fields.findIndex((item) => item.ApiName === field.FieldId);\n if (index >= 0) {\n for (const [key, value] of Object.entries(field.Params)) {\n if (this._genericFormService.hasProperty(this._formData.Fields[index], key)) {\n const item = this._formData.Fields[index] as { [k: string]: any };\n item[key] = value;\n if (key === 'Value') {\n //manually updating formattedValue because FormattedValue is legacy used by webapp\n item.FormattedValue = value;\n }\n }\n }\n }\n });\n this._pepForm.ReloadForm()\n this._pepForm.data = this._formData;\n }\n\n onValueChanged(event: any) {\n const field: IPepGenericFormValueChange = {\n UID: event.id,\n ApiName: event.key,\n Value: event.value\n };\n this.updateFieldValue(field);\n this.valueChange.emit(field);\n }\n\n onfieldClicked(event: any) {\n const field: IPepGenericFormValueChange = {\n UID: event.id,\n ApiName: event.key,\n Value: event.value\n };\n this.updateFieldValue(field);\n this.fieldClick.emit(field);\n }\n\n onFormValidationChanged(event: any) {\n this.formValidationChange.emit(event);\n }\n\n\n}\n","<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <!-- class=\"form-view\" -->\n <div [ngClass]=\"{'form-view': showTopBar}\">\n <ng-container #pepFormContainer></ng-container>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n//import { MatFormFieldModule } from '@angular/material/form-field';\n//import { MaterialModule } from '@pepperi-addons/ngx-lib/';\n//import { ReactiveFormsModule } from '@angular/forms';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\n//import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\n//import { PepDateModule } from '@pepperi-addons/ngx-lib/date';\n\nimport { PepGenericFormService } from './generic-form.service';\n\nimport { GenericFormComponent } from './generic-form.component';\n\n@NgModule({\n declarations: [\n GenericFormComponent\n ],\n imports: [\n CommonModule, \n\n // MatFormFieldModule,\n // ReactiveFormsModule,\n\n PepNgxLibModule,\n // PepListModule,\n PepFormModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTopBarModule,\n // PepTextboxModule,\n // PepDateModule\n // PepSearchModule,\n // PepBreadCrumbsModule\n ],\n exports: [\n GenericFormComponent\n ],\n providers: [\n PepGenericFormService\n ]\n})\nexport class PepGenericFormModule { }\n","/*\n* Public API Surface of ngx-composite-lib/generic-form\n*/\nexport * from './generic-form.module';\nexport * from './generic-form.component';\nexport * from './generic-form.model';\nexport * from './generic-form.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.PepGenericFormService"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-form.mjs","sources":["../../../projects/ngx-composite-lib/generic-form/generic-form.service.ts","../../../projects/ngx-composite-lib/generic-form/generic-form.component.ts","../../../projects/ngx-composite-lib/generic-form/generic-form.component.html","../../../projects/ngx-composite-lib/generic-form/generic-form.module.ts","../../../projects/ngx-composite-lib/generic-form/public-api.ts","../../../projects/ngx-composite-lib/generic-form/pepperi-addons-ngx-composite-lib-generic-form.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n\n@Injectable()\nexport class PepGenericFormService { \n\n constructor() {\n // \n }\n \n /**\n * checks if the object contains property\n * @param obj object\n * @param prop property name\n * @returns true if contains, false otherwise\n */\n hasProperty(obj: any, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n createFormField(data: any) {\n const field: any = {};\n \n field.ApiName = data.ApiName;\n field.Value = data.controlFieldValue;\n field.FormattedValue = data.controlFieldValue;\n field.FieldType = data.FieldType;\n field.Enabled = !data.ReadOnly;\n field.Visible = !data.Hidden;\n field.GroupFields = [];\n field.Highlighted = false;\n field.OptionalValues = data.OptionalValues;\n field.AdditionalProps = data.AdditionalProps; \n\n return field;\n }\n\n convertToUiControlField(field: any): any {\n return {\n ApiName: field.ApiName,\n FieldType: field.FieldType,\n Title: field.Title,\n ReadOnly: field.ReadOnlyField,\n Mandatory: field.MandatoryField,\n Hidden: field.Hidden,\n ColumnWidth: field.ColumnWidth,\n ColumnWidthType: 1,\n MaxFieldCharacters: field.MaxCharacters,\n MinValue: field.MinValue,\n MaxValue: field.MaxValue,\n Layout: {\n X: field.Layout.X,\n Y: field.Layout.Y,\n Width: field.Layout.Width,\n Height: field.Layout.Field_Height,\n XAlignment: field.Layout.xAlignment,\n YAlignment: field.Layout.yAlignment,\n }\n }\n }\n\n}\n","import {\n Component,\n OnInit,\n Input,\n Output,\n ViewChild,\n ViewContainerRef,\n EventEmitter, \n Type,\n} from '@angular/core';\n//import { PepFormComponent } from '@pepperi-addons/ngx-lib/form';\nimport {\n IPepGenericFormDataView,\n IPepGenericFormValueChange,\n IPepGenericFormFieldUpdate,\n IPepGenericFormData\n} from './generic-form.model';\nimport {\n UIControl,\n ObjectsDataRow,\n ObjectsDataRowCell,\n PepGuid,\n PepLayoutService\n} from '@pepperi-addons/ngx-lib';\nimport { DataViewConverter } from '@pepperi-addons/data-views';\nimport { PepGenericFormService } from './generic-form.service';\n\n\n@Component({\n selector: 'pep-generic-form',\n templateUrl: './generic-form.component.html',\n styleUrls: ['./generic-form.component.scss'],\n providers: [PepGenericFormService]\n})\nexport class GenericFormComponent implements OnInit {\n private _pepFormContainer: ViewContainerRef | undefined;\n @ViewChild('pepFormContainer', { read: ViewContainerRef })\n set pepListContainer(val: ViewContainerRef) {\n this._pepFormContainer = val;\n }\n\n private _data: any;\n @Input()\n set dataSource(val: any) {\n this._data = val;\n }\n\n private _formData: ObjectsDataRow;\n private _uiControl: UIControl;\n @Input()\n set dataView(val: IPepGenericFormDataView) {\n this.initForm(val);\n }\n\n @Input()\n isLocked = false;\n\n @Input()\n inline = false;\n\n @Input()\n showTopBar = false;\n\n @Input()\n addPadding = false;\n\n @Output()\n valueChange: EventEmitter<IPepGenericFormValueChange> = new EventEmitter<IPepGenericFormValueChange>();\n\n @Output()\n fieldClick: EventEmitter<IPepGenericFormValueChange> = new EventEmitter<IPepGenericFormValueChange>();\n\n @Output()\n formValidationChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n private _pepForm: any;\n\n constructor( \n private layoutService: PepLayoutService,\n public _genericFormService: PepGenericFormService\n ) {\n this.layoutService.onResize$.pipe().subscribe((size) => {\n // \n });\n this._formData = new ObjectsDataRow();\n this._uiControl = new UIControl();\n }\n\n ngOnInit() {\n // \n }\n\n private initForm(dataView: IPepGenericFormDataView) {\n setTimeout(async () => {\n if (this._pepFormContainer) {\n if (this._pepFormContainer.length) {\n this._pepFormContainer.remove();\n this._formData = new ObjectsDataRow();\n this._uiControl = new UIControl();\n } \n const { PepFormComponent } = await import('@pepperi-addons/ngx-lib/form'); \n const componentRef = this._pepFormContainer.createComponent(PepFormComponent); \n\n this._pepForm = componentRef.instance;\n\n this._formData.IsEditable = !this.isLocked;\n this._formData.UID = dataView.UID || PepGuid.newGuid();\n const uiControlData = DataViewConverter.toUIControlData(dataView);\n if (uiControlData) {\n if (uiControlData?.ControlFields) {\n this._uiControl.ControlFields = uiControlData.ControlFields.map((field: any) => this._genericFormService.convertToUiControlField(field));\n }\n this._uiControl.Columns = uiControlData.Columns;\n\n if (this._uiControl.ControlFields?.length) {\n this._formData.Fields = [];\n this._uiControl.ControlFields.forEach((item) => {\n let value = '';\n if (this._genericFormService.hasProperty(this._data, item.ApiName)) {\n value = this._data[item.ApiName];\n }\n let dataViewField: any;\n if (dataView.Fields) {\n dataViewField = dataView.Fields.find(field => field.FieldID === item.ApiName);\n }\n const controlFieldData = {\n ...item,\n ...{\n controlFieldValue: value\n },\n ...{\n OptionalValues: dataViewField?.OptionalValues?.length ? dataViewField.OptionalValues : [],\n AdditionalProps: dataViewField?.AdditionalProps || null\n }\n }\n this._formData.Fields.push(this._genericFormService.createFormField(controlFieldData));\n });\n\n componentRef.instance.layoutType = 'form';\n componentRef.instance.layout = this._uiControl;\n componentRef.instance.data = this._formData;\n componentRef.instance.isInternal = false;\n componentRef.instance.lockFields = this.isLocked;\n componentRef.instance.valueChange.subscribe(($event) => {\n this.onValueChanged($event);\n });\n componentRef.instance.fieldClick.subscribe(($event) => {\n this.onfieldClicked($event);\n });\n componentRef.instance.formValidationChange.subscribe(($event) => {\n this.onFormValidationChanged($event);\n });\n }\n }\n\n }\n\n }, 0);\n }\n\n /**\n * updates form field's value\n * @param field object containing the data of the required update\n */\n private updateFieldValue(fieldChanged: IPepGenericFormValueChange) {\n this._data[fieldChanged.ApiName] = fieldChanged.Value;\n }\n\n getData(): IPepGenericFormData {\n return {\n UID: this._formData.UID,\n Values: this._data\n };\n }\n\n /**\n * updates form field(s) params\n * @param fields\n */\n updateFields(fields: IPepGenericFormFieldUpdate[]) {\n // update data view with current data\n for (const [key, value] of Object.entries(this._data)) {\n const index = this._formData.Fields.findIndex((item) => item.ApiName === key);\n if (index >= 0) {\n const item = this._formData.Fields[index] as { [k: string]: any };\n item.Value = value;\n }\n }\n\n fields.forEach((field) => {\n const index = this._formData.Fields.findIndex((item) => item.ApiName === field.FieldId);\n if (index >= 0) {\n for (const [key, value] of Object.entries(field.Params)) {\n if (this._genericFormService.hasProperty(this._formData.Fields[index], key)) {\n const item = this._formData.Fields[index] as { [k: string]: any };\n item[key] = value;\n if (key === 'Value') {\n //manually updating formattedValue because FormattedValue is legacy used by webapp\n item.FormattedValue = value;\n }\n }\n }\n }\n });\n this._pepForm.ReloadForm()\n this._pepForm.data = this._formData;\n }\n\n onValueChanged(event: any) {\n const field: IPepGenericFormValueChange = {\n UID: event.id,\n ApiName: event.key,\n Value: event.value\n };\n this.updateFieldValue(field);\n this.valueChange.emit(field);\n }\n\n onfieldClicked(event: any) {\n const field: IPepGenericFormValueChange = {\n UID: event.id,\n ApiName: event.key,\n Value: event.value\n };\n this.updateFieldValue(field);\n this.fieldClick.emit(field);\n }\n\n onFormValidationChanged(event: any) {\n this.formValidationChange.emit(event);\n }\n\n\n}\n","<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n</div>\n\n<pep-page-layout *ngIf=\"!inline\" [addPadding]=\"addPadding\">\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"formTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [inline]=\"inline\"> \n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n\n <!-- <div footer-start-content>\n <ng-content select=\"[bottom-left-buttons]\"></ng-content>\n </div>\n <div footer-end-content>\n <ng-content select=\"[bottom-right-buttons]\"></ng-content>\n </div> -->\n </pep-top-bar>\n</ng-template>\n\n<ng-template #formTemplate>\n <!-- class=\"form-view\" -->\n <div [ngClass]=\"{'form-view': showTopBar, 'padding-bottom': !showTopBar}\">\n <ng-container #pepFormContainer></ng-container>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n//import { MatFormFieldModule } from '@angular/material/form-field';\n//import { MaterialModule } from '@pepperi-addons/ngx-lib/';\n//import { ReactiveFormsModule } from '@angular/forms';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\n//import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\n//import { PepDateModule } from '@pepperi-addons/ngx-lib/date';\n\nimport { PepGenericFormService } from './generic-form.service';\n\nimport { GenericFormComponent } from './generic-form.component';\n\n@NgModule({\n declarations: [\n GenericFormComponent\n ],\n imports: [\n CommonModule, \n\n // MatFormFieldModule,\n // ReactiveFormsModule,\n\n PepNgxLibModule,\n // PepListModule,\n PepFormModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTopBarModule,\n // PepTextboxModule,\n // PepDateModule\n // PepSearchModule,\n // PepBreadCrumbsModule\n ],\n exports: [\n GenericFormComponent\n ],\n providers: [\n PepGenericFormService\n ]\n})\nexport class PepGenericFormModule { }\n","/*\n* Public API Surface of ngx-composite-lib/generic-form\n*/\nexport * from './generic-form.module';\nexport * from './generic-form.component';\nexport * from './generic-form.model';\nexport * from './generic-form.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.PepGenericFormService"],"mappings":"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"}
@@ -198,6 +198,7 @@ class GenericListComponent {
198
198
  this.noDataFoundMsg = '';
199
199
  this.selectionType = 'multi';
200
200
  this.supportSorting = false;
201
+ this.cacheSize = -1;
201
202
  this.hideSelectAll = false;
202
203
  this.pager = {
203
204
  type: 'scroll'
@@ -307,6 +308,8 @@ class GenericListComponent {
307
308
  componentRef.instance.lockItemInnerEvents = true;
308
309
  }
309
310
  componentRef.instance.supportSorting = this.listInputs.supportSorting;
311
+ componentRef.instance.sorting = this.listInputs.sorting;
312
+ componentRef.instance.cacheSize = this.listInputs.cacheSize;
310
313
  componentRef.instance.selectionTypeForActions = this.listInputs.selectionType;
311
314
  componentRef.instance.hideAllSelectionInMulti = this.listInputs.hideSelectAll;
312
315
  componentRef.instance.showCardSelection = this.listInputs.selectionType !== 'none';
@@ -358,6 +361,8 @@ class GenericListComponent {
358
361
  loadTableInputs() {
359
362
  this.listInputs = {
360
363
  supportSorting: this.supportSorting,
364
+ sorting: this.sorting,
365
+ cacheSize: this.cacheSize,
361
366
  hideSelectAll: this.hideSelectAll,
362
367
  selectionType: this.selectionType,
363
368
  pager: this.pager,
@@ -558,10 +563,10 @@ class GenericListComponent {
558
563
  }
559
564
  }
560
565
  GenericListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GenericListComponent, deps: [{ token: i1$1.PepDataConvertorService }, { token: i1$1.PepLayoutService }, { token: i1$1.PepLoaderService }, { token: i1.TranslateService }, { token: PepGenericListService }], target: i0.ɵɵFactoryTarget.Component });
561
- GenericListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: GenericListComponent, selector: "pep-generic-list", inputs: { dataSource: "dataSource", actions: "actions", uuidMapping: "uuidMapping", disabled: "disabled", addPadding: "addPadding", title: "title", description: "description", inline: "inline", showSearch: "showSearch", noDataFoundMsg: "noDataFoundMsg", emptyState: "emptyState", selectionType: "selectionType", supportSorting: "supportSorting", hideSelectAll: "hideSelectAll", pager: "pager", tableViewType: "tableViewType", zebraStripes: "zebraStripes", smartFilter: "smartFilter", showTopBar: "showTopBar", breadCrumbsItems: "breadCrumbsItems" }, outputs: { fieldClick: "fieldClick", valueChange: "valueChange", breadCrumbItemClick: "breadCrumbItemClick" }, providers: [PepGenericListService], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true }, { propertyName: "pepListContainer", first: true, predicate: ["pepListContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding, 'with-smart-filters': showSmartFilter }\">\n <div class=\"header-area\" >\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"description\">\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngIf=\"showSmartFilter\">\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!onLoad\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </ng-container>\n</div>\n<pep-page-layout *ngIf=\"!inline\" class=\"none-inline\" [addPadding]=\"addPadding\" [showShadow]=\"showSmartFilter\">\n <ng-container *ngIf=\"showSmartFilter\" pep-side-area>\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"description\" pep-top-area>\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div *ngIf=\"!onLoad\" pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <!-- <div footer-start-content>\n <ng-content select=\"[left-bottom-area]\"></ng-content> \n </div>\n <div footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div> -->\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #smartFilterTemplate> \n <pep-side-bar #sideNav [ngClass]=\"{'smart-filter-area': inline}\"> \n <pep-smart-filters [title]=\"smartFilters.title\" [fields]=\"smartFilters.fields\"\n [filters]=\"smartFilters.data\" (filtersChange)=\"onFiltersChange($event)\">\n </pep-smart-filters>\n </pep-side-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div *ngIf=\"showEmptyState\" class=\"list-empty-state\">\n <div class=\"list-empty-title\">{{ listInputs.emptyState.title }}</div>\n <div class=\"list-empty-descr\">{{ listInputs.emptyState.description }}</div>\n <pep-icon name=\"leaf_skiny\" class=\"leaf-skiny\"></pep-icon>\n <pep-icon name=\"leaf_round\" class=\"leaf-round\"></pep-icon>\n <!-- <mat-icon class=\"leaf-skiny\">\n <pep-icon name=\"leaf_skiny\"></pep-icon>\n </mat-icon> -->\n <!-- <mat-icon class=\"leaf-round\">\n <pep-icon name=\"leaf_round\"></pep-icon>\n </mat-icon> -->\n </div>\n <div *ngIf=\"!showEmptyState\" class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.list-container{height:100%}.list-empty-state{height:100%;background:rgb(247,247,247);border-radius:var(--pep-border-radius-md, .25rem);position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;flex-direction:column}.list-empty-state .leaf-skiny{z-index:1;height:52rem;position:absolute;left:-10rem;top:-2rem;pointer-events:none;transform:scale(1.4)}.list-empty-state .leaf-round{z-index:1;height:45rem;position:absolute;right:-13rem;top:-7rem;pointer-events:none;transform:rotate(45deg) scale(1)}.list-empty-state .list-empty-title{font-family:var(--pep-font-family-title, Nexa),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-weight:var(--pep-font-weight-bold, 600);font-size:var(--pep-font-size-2xl, 1.5rem)!important;line-height:var(--pep-line-height-2xl, 2.25rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}.list-empty-state .list-empty-descr{font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.5rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}@media (max-width: 1279px){.list-empty-state .leaf-skiny{top:-5rem;left:-11rem;transform:scale(1.1)}.list-empty-state .leaf-round{right:-12rem;top:-7rem;transform:rotate(45deg) scale(.9)}}@media (max-width: 959px){.list-empty-state .leaf-round{display:none}.list-empty-state .list-empty-title,.list-empty-state .list-empty-descr{padding-inline:var(--pep-spacing-md, .75rem)}}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container:not(.with-smart-filters) .header-area{grid-row:1/2}.inline-container:not(.with-smart-filters) .list-container{grid-row:2/3}.inline-container.with-smart-filters{grid-template-columns:auto 1fr}.inline-container.with-smart-filters .header-area{grid-column:2/3;grid-row:1/2}.inline-container.with-smart-filters .smart-filter-area{grid-column:1/2;grid-row:1/3}.inline-container.with-smart-filters .list-container{grid-column:2/3;grid-row:2/3}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}.inline-container .list-description{font-size:var(--pep-font-size-xs, .75rem);max-width:640px;padding:var(--pep-spacing-sm, .5rem) 0}.inline-container .bread-crumbs{padding:var(--pep-spacing-md, .75rem) 0 var(--pep-spacing-sm, .5rem) 0}.none-inline .list-description{font-size:var(--pep-font-size-sm, .875rem);max-width:720px;padding:var(--pep-spacing-sm, .5rem) var(--pep-spacing-xs, .25rem)}.none-inline .bread-crumbs{padding:var(--pep-spacing-md, .75rem) var(--pep-spacing-xs, .25rem) var(--pep-spacing-sm, .5rem) var(--pep-spacing-xs, .25rem)}.noDataFoundMsg{margin:1rem 0;height:calc(100% - 2rem);width:100%;background:hsla(0deg,0%,10%,.12);display:flex;justify-content:center;align-items:center}\n", ".list-empty-state ::ng-deep .svg-icon{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.04)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.PepListActionsComponent, selector: "pep-list-actions", inputs: ["actions", "sizeType", "xPosition", "hidden"], outputs: ["actionClick", "stateChange", "menuClick"] }, { kind: "component", type: i5.PepListTotalComponent, selector: "pep-list-total", inputs: ["totalRows", "totalAmount", "isMapView", "sizeType"] }, { kind: "component", type: i6.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { kind: "component", type: i7.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }, { kind: "component", type: i8.PepSideBarComponent, selector: "pep-side-bar", inputs: ["position", "ignoreResize", "showHeader", "showFooter", "showToggle", "useAsWebComponent"], outputs: ["stateChange"] }, { kind: "component", type: i9.PepSearchComponent, selector: "pep-search", inputs: ["triggerOn", "autoCompleteTop", "autoCompleteValues", "shrink", "value", "searchControl", "useAsWebComponent", "sizeType"], outputs: ["search", "autocompleteChange", "stateChange"] }, { kind: "component", type: i10.PepBreadCrumbsComponent, selector: "pep-bread-crumbs", inputs: ["items", "displayType", "addSpacing"], outputs: ["itemClick"] }, { kind: "component", type: i1$2.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i12.PepSmartFiltersComponent, selector: "pep-smart-filters", inputs: ["title", "filters", "fields", "useAsWebComponent"], outputs: ["filtersChange", "fieldToggleChange"] }] });
566
+ GenericListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: GenericListComponent, selector: "pep-generic-list", inputs: { dataSource: "dataSource", actions: "actions", uuidMapping: "uuidMapping", disabled: "disabled", addPadding: "addPadding", title: "title", description: "description", inline: "inline", showSearch: "showSearch", noDataFoundMsg: "noDataFoundMsg", emptyState: "emptyState", selectionType: "selectionType", supportSorting: "supportSorting", sorting: "sorting", cacheSize: "cacheSize", hideSelectAll: "hideSelectAll", pager: "pager", tableViewType: "tableViewType", zebraStripes: "zebraStripes", smartFilter: "smartFilter", showTopBar: "showTopBar", breadCrumbsItems: "breadCrumbsItems" }, outputs: { fieldClick: "fieldClick", valueChange: "valueChange", breadCrumbItemClick: "breadCrumbItemClick" }, providers: [PepGenericListService], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true }, { propertyName: "pepListContainer", first: true, predicate: ["pepListContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding, 'with-smart-filters': showSmartFilter }\">\n <div class=\"header-area\" >\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"description\">\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngIf=\"showSmartFilter\">\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!onLoad\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </ng-container>\n</div>\n<pep-page-layout *ngIf=\"!inline\" class=\"none-inline\" [addPadding]=\"addPadding\" [showShadow]=\"showSmartFilter\">\n <ng-container *ngIf=\"showSmartFilter\" pep-side-area>\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"description\" pep-top-area>\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div *ngIf=\"!onLoad\" pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <!-- <div footer-start-content>\n <ng-content select=\"[left-bottom-area]\"></ng-content> \n </div>\n <div footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div> -->\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #smartFilterTemplate> \n <pep-side-bar #sideNav [ngClass]=\"{'smart-filter-area': inline}\"> \n <pep-smart-filters [title]=\"smartFilters.title\" [fields]=\"smartFilters.fields\"\n [filters]=\"smartFilters.data\" (filtersChange)=\"onFiltersChange($event)\">\n </pep-smart-filters>\n </pep-side-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div *ngIf=\"showEmptyState\" class=\"list-empty-state\">\n <div class=\"list-empty-title\">{{ listInputs.emptyState.title }}</div>\n <div class=\"list-empty-descr\">{{ listInputs.emptyState.description }}</div>\n <pep-icon name=\"leaf_skiny\" class=\"leaf-skiny\"></pep-icon>\n <pep-icon name=\"leaf_round\" class=\"leaf-round\"></pep-icon>\n <!-- <mat-icon class=\"leaf-skiny\">\n <pep-icon name=\"leaf_skiny\"></pep-icon>\n </mat-icon> -->\n <!-- <mat-icon class=\"leaf-round\">\n <pep-icon name=\"leaf_round\"></pep-icon>\n </mat-icon> -->\n </div>\n <div *ngIf=\"!showEmptyState\" class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.list-container{height:100%}.list-empty-state{height:100%;background:rgb(247,247,247);border-radius:var(--pep-border-radius-md, .25rem);position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;flex-direction:column}.list-empty-state .leaf-skiny{z-index:1;height:52rem;position:absolute;left:-10rem;top:-2rem;pointer-events:none;transform:scale(1.4)}.list-empty-state .leaf-round{z-index:1;height:45rem;position:absolute;right:-13rem;top:-7rem;pointer-events:none;transform:rotate(45deg) scale(1)}.list-empty-state .list-empty-title{font-family:var(--pep-font-family-title, Nexa),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-bold, 600)!important;font-size:var(--pep-font-size-2xl, 1.5rem)!important;line-height:var(--pep-line-height-2xl, 1.875rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}.list-empty-state .list-empty-descr{font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400);font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.25rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}@media (max-width: 1279px){.list-empty-state .leaf-skiny{top:-5rem;left:-11rem;transform:scale(1.1)}.list-empty-state .leaf-round{right:-12rem;top:-7rem;transform:rotate(45deg) scale(.9)}}@media (max-width: 959px){.list-empty-state .leaf-round{display:none}.list-empty-state .list-empty-title,.list-empty-state .list-empty-descr{padding-inline:var(--pep-spacing-md, .75rem)}}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container:not(.with-smart-filters) .header-area{grid-row:1/2}.inline-container:not(.with-smart-filters) .list-container{grid-row:2/3}.inline-container.with-smart-filters{grid-template-columns:auto 1fr}.inline-container.with-smart-filters .header-area{grid-column:2/3;grid-row:1/2}.inline-container.with-smart-filters .smart-filter-area{grid-column:1/2;grid-row:1/3}.inline-container.with-smart-filters .list-container{grid-column:2/3;grid-row:2/3}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}.inline-container .list-description{font-size:var(--pep-font-size-xs, .75rem);max-width:640px;padding:var(--pep-spacing-sm, .5rem) 0}.inline-container .bread-crumbs{padding:var(--pep-spacing-md, .75rem) 0 var(--pep-spacing-sm, .5rem) 0}.none-inline .list-description{font-size:var(--pep-font-size-sm, .875rem);max-width:720px;padding:var(--pep-spacing-sm, .5rem) var(--pep-spacing-xs, .25rem)}.none-inline .bread-crumbs{padding:var(--pep-spacing-md, .75rem) var(--pep-spacing-xs, .25rem) var(--pep-spacing-sm, .5rem) var(--pep-spacing-xs, .25rem)}.noDataFoundMsg{margin:1rem 0;height:calc(100% - 2rem);width:100%;background:hsla(0deg,0%,10%,.12);display:flex;justify-content:center;align-items:center}\n", ".list-empty-state ::ng-deep .svg-icon{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.04)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.PepListActionsComponent, selector: "pep-list-actions", inputs: ["actions", "sizeType", "xPosition", "hidden"], outputs: ["actionClick", "stateChange", "menuClick"] }, { kind: "component", type: i5.PepListTotalComponent, selector: "pep-list-total", inputs: ["totalRows", "totalAmount", "isMapView", "sizeType"] }, { kind: "component", type: i6.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { kind: "component", type: i7.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }, { kind: "component", type: i8.PepSideBarComponent, selector: "pep-side-bar", inputs: ["position", "ignoreResize", "showHeader", "showFooter", "showToggle", "useAsWebComponent"], outputs: ["stateChange"] }, { kind: "component", type: i9.PepSearchComponent, selector: "pep-search", inputs: ["triggerOn", "autoCompleteTop", "autoCompleteValues", "shrink", "value", "searchControl", "useAsWebComponent", "sizeType"], outputs: ["search", "autocompleteChange", "stateChange"] }, { kind: "component", type: i10.PepBreadCrumbsComponent, selector: "pep-bread-crumbs", inputs: ["items", "displayType", "addSpacing"], outputs: ["itemClick"] }, { kind: "component", type: i1$2.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i12.PepSmartFiltersComponent, selector: "pep-smart-filters", inputs: ["title", "filters", "fields", "useAsWebComponent"], outputs: ["filtersChange", "fieldToggleChange"] }] });
562
567
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GenericListComponent, decorators: [{
563
568
  type: Component,
564
- args: [{ selector: 'pep-generic-list', providers: [PepGenericListService], template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding, 'with-smart-filters': showSmartFilter }\">\n <div class=\"header-area\" >\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"description\">\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngIf=\"showSmartFilter\">\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!onLoad\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </ng-container>\n</div>\n<pep-page-layout *ngIf=\"!inline\" class=\"none-inline\" [addPadding]=\"addPadding\" [showShadow]=\"showSmartFilter\">\n <ng-container *ngIf=\"showSmartFilter\" pep-side-area>\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"description\" pep-top-area>\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div *ngIf=\"!onLoad\" pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <!-- <div footer-start-content>\n <ng-content select=\"[left-bottom-area]\"></ng-content> \n </div>\n <div footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div> -->\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #smartFilterTemplate> \n <pep-side-bar #sideNav [ngClass]=\"{'smart-filter-area': inline}\"> \n <pep-smart-filters [title]=\"smartFilters.title\" [fields]=\"smartFilters.fields\"\n [filters]=\"smartFilters.data\" (filtersChange)=\"onFiltersChange($event)\">\n </pep-smart-filters>\n </pep-side-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div *ngIf=\"showEmptyState\" class=\"list-empty-state\">\n <div class=\"list-empty-title\">{{ listInputs.emptyState.title }}</div>\n <div class=\"list-empty-descr\">{{ listInputs.emptyState.description }}</div>\n <pep-icon name=\"leaf_skiny\" class=\"leaf-skiny\"></pep-icon>\n <pep-icon name=\"leaf_round\" class=\"leaf-round\"></pep-icon>\n <!-- <mat-icon class=\"leaf-skiny\">\n <pep-icon name=\"leaf_skiny\"></pep-icon>\n </mat-icon> -->\n <!-- <mat-icon class=\"leaf-round\">\n <pep-icon name=\"leaf_round\"></pep-icon>\n </mat-icon> -->\n </div>\n <div *ngIf=\"!showEmptyState\" class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.list-container{height:100%}.list-empty-state{height:100%;background:rgb(247,247,247);border-radius:var(--pep-border-radius-md, .25rem);position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;flex-direction:column}.list-empty-state .leaf-skiny{z-index:1;height:52rem;position:absolute;left:-10rem;top:-2rem;pointer-events:none;transform:scale(1.4)}.list-empty-state .leaf-round{z-index:1;height:45rem;position:absolute;right:-13rem;top:-7rem;pointer-events:none;transform:rotate(45deg) scale(1)}.list-empty-state .list-empty-title{font-family:var(--pep-font-family-title, Nexa),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;font-weight:var(--pep-font-weight-bold, 600);font-size:var(--pep-font-size-2xl, 1.5rem)!important;line-height:var(--pep-line-height-2xl, 2.25rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}.list-empty-state .list-empty-descr{font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.5rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}@media (max-width: 1279px){.list-empty-state .leaf-skiny{top:-5rem;left:-11rem;transform:scale(1.1)}.list-empty-state .leaf-round{right:-12rem;top:-7rem;transform:rotate(45deg) scale(.9)}}@media (max-width: 959px){.list-empty-state .leaf-round{display:none}.list-empty-state .list-empty-title,.list-empty-state .list-empty-descr{padding-inline:var(--pep-spacing-md, .75rem)}}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container:not(.with-smart-filters) .header-area{grid-row:1/2}.inline-container:not(.with-smart-filters) .list-container{grid-row:2/3}.inline-container.with-smart-filters{grid-template-columns:auto 1fr}.inline-container.with-smart-filters .header-area{grid-column:2/3;grid-row:1/2}.inline-container.with-smart-filters .smart-filter-area{grid-column:1/2;grid-row:1/3}.inline-container.with-smart-filters .list-container{grid-column:2/3;grid-row:2/3}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}.inline-container .list-description{font-size:var(--pep-font-size-xs, .75rem);max-width:640px;padding:var(--pep-spacing-sm, .5rem) 0}.inline-container .bread-crumbs{padding:var(--pep-spacing-md, .75rem) 0 var(--pep-spacing-sm, .5rem) 0}.none-inline .list-description{font-size:var(--pep-font-size-sm, .875rem);max-width:720px;padding:var(--pep-spacing-sm, .5rem) var(--pep-spacing-xs, .25rem)}.none-inline .bread-crumbs{padding:var(--pep-spacing-md, .75rem) var(--pep-spacing-xs, .25rem) var(--pep-spacing-sm, .5rem) var(--pep-spacing-xs, .25rem)}.noDataFoundMsg{margin:1rem 0;height:calc(100% - 2rem);width:100%;background:hsla(0deg,0%,10%,.12);display:flex;justify-content:center;align-items:center}\n", ".list-empty-state ::ng-deep .svg-icon{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.04)}\n"] }]
569
+ args: [{ selector: 'pep-generic-list', providers: [PepGenericListService], template: "<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding, 'with-smart-filters': showSmartFilter }\">\n <div class=\"header-area\" >\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"description\">\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngIf=\"showSmartFilter\">\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!onLoad\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </ng-container>\n</div>\n<pep-page-layout *ngIf=\"!inline\" class=\"none-inline\" [addPadding]=\"addPadding\" [showShadow]=\"showSmartFilter\">\n <ng-container *ngIf=\"showSmartFilter\" pep-side-area>\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"description\" pep-top-area>\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div *ngIf=\"!onLoad\" pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <!-- <div footer-start-content>\n <ng-content select=\"[left-bottom-area]\"></ng-content> \n </div>\n <div footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div> -->\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #smartFilterTemplate> \n <pep-side-bar #sideNav [ngClass]=\"{'smart-filter-area': inline}\"> \n <pep-smart-filters [title]=\"smartFilters.title\" [fields]=\"smartFilters.fields\"\n [filters]=\"smartFilters.data\" (filtersChange)=\"onFiltersChange($event)\">\n </pep-smart-filters>\n </pep-side-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div *ngIf=\"showEmptyState\" class=\"list-empty-state\">\n <div class=\"list-empty-title\">{{ listInputs.emptyState.title }}</div>\n <div class=\"list-empty-descr\">{{ listInputs.emptyState.description }}</div>\n <pep-icon name=\"leaf_skiny\" class=\"leaf-skiny\"></pep-icon>\n <pep-icon name=\"leaf_round\" class=\"leaf-round\"></pep-icon>\n <!-- <mat-icon class=\"leaf-skiny\">\n <pep-icon name=\"leaf_skiny\"></pep-icon>\n </mat-icon> -->\n <!-- <mat-icon class=\"leaf-round\">\n <pep-icon name=\"leaf_round\"></pep-icon>\n </mat-icon> -->\n </div>\n <div *ngIf=\"!showEmptyState\" class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:block}.main-area-container{display:grid;height:inherit}.list-container{height:100%}.list-empty-state{height:100%;background:rgb(247,247,247);border-radius:var(--pep-border-radius-md, .25rem);position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;flex-direction:column}.list-empty-state .leaf-skiny{z-index:1;height:52rem;position:absolute;left:-10rem;top:-2rem;pointer-events:none;transform:scale(1.4)}.list-empty-state .leaf-round{z-index:1;height:45rem;position:absolute;right:-13rem;top:-7rem;pointer-events:none;transform:rotate(45deg) scale(1)}.list-empty-state .list-empty-title{font-family:var(--pep-font-family-title, Nexa),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-bold, 600)!important;font-size:var(--pep-font-size-2xl, 1.5rem)!important;line-height:var(--pep-line-height-2xl, 1.875rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}.list-empty-state .list-empty-descr{font-family:var(--pep-font-family-body, Inter),-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif!important;font-weight:var(--pep-font-weight-normal, 400);font-size:var(--pep-font-size-md, 1rem)!important;line-height:var(--pep-line-height-md, 1.25rem)!important;z-index:50;padding-inline:var(--pep-spacing-lg, 1rem)}@media (max-width: 1279px){.list-empty-state .leaf-skiny{top:-5rem;left:-11rem;transform:scale(1.1)}.list-empty-state .leaf-round{right:-12rem;top:-7rem;transform:rotate(45deg) scale(.9)}}@media (max-width: 959px){.list-empty-state .leaf-round{display:none}.list-empty-state .list-empty-title,.list-empty-state .list-empty-descr{padding-inline:var(--pep-spacing-md, .75rem)}}.inline-container{height:inherit;display:grid;grid-template-rows:auto 1fr}.inline-container:not(.with-smart-filters) .header-area{grid-row:1/2}.inline-container:not(.with-smart-filters) .list-container{grid-row:2/3}.inline-container.with-smart-filters{grid-template-columns:auto 1fr}.inline-container.with-smart-filters .header-area{grid-column:2/3;grid-row:1/2}.inline-container.with-smart-filters .smart-filter-area{grid-column:1/2;grid-row:1/3}.inline-container.with-smart-filters .list-container{grid-column:2/3;grid-row:2/3}.inline-container.add-padding{padding-inline:var(--pep-spacing-lg, 1rem)}.inline-container .list-description{font-size:var(--pep-font-size-xs, .75rem);max-width:640px;padding:var(--pep-spacing-sm, .5rem) 0}.inline-container .bread-crumbs{padding:var(--pep-spacing-md, .75rem) 0 var(--pep-spacing-sm, .5rem) 0}.none-inline .list-description{font-size:var(--pep-font-size-sm, .875rem);max-width:720px;padding:var(--pep-spacing-sm, .5rem) var(--pep-spacing-xs, .25rem)}.none-inline .bread-crumbs{padding:var(--pep-spacing-md, .75rem) var(--pep-spacing-xs, .25rem) var(--pep-spacing-sm, .5rem) var(--pep-spacing-xs, .25rem)}.noDataFoundMsg{margin:1rem 0;height:calc(100% - 2rem);width:100%;background:hsla(0deg,0%,10%,.12);display:flex;justify-content:center;align-items:center}\n", ".list-empty-state ::ng-deep .svg-icon{fill:hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.04)}\n"] }]
565
570
  }], ctorParameters: function () { return [{ type: i1$1.PepDataConvertorService }, { type: i1$1.PepLayoutService }, { type: i1$1.PepLoaderService }, { type: i1.TranslateService }, { type: PepGenericListService }]; }, propDecorators: { search: [{
566
571
  type: ViewChild,
567
572
  args: ['search']
@@ -594,6 +599,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
594
599
  type: Input
595
600
  }], supportSorting: [{
596
601
  type: Input
602
+ }], sorting: [{
603
+ type: Input
604
+ }], cacheSize: [{
605
+ type: Input
597
606
  }], hideSelectAll: [{
598
607
  type: Input
599
608
  }], pager: [{
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-list.mjs","sources":["../../../projects/ngx-composite-lib/generic-list/generic-list.service.ts","../../../projects/ngx-composite-lib/generic-list/generic-list.component.ts","../../../projects/ngx-composite-lib/generic-list/generic-list.component.html","../../../projects/ngx-composite-lib/generic-list/generic-list.module.ts","../../../projects/ngx-composite-lib/generic-list/public-api.ts","../../../projects/ngx-composite-lib/generic-list/pepperi-addons-ngx-composite-lib-generic-list.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n IPepGenericListSmartFilter,\n IPepGenericListDataViewField,\n IPepSmartFilters\n} from './generic-list.model';\nimport {\n PepSmartFilterBaseField,\n IPepSmartFilterData,\n} from '@pepperi-addons/ngx-lib/smart-filters';\nimport { PepQueryBuilderService, IPepQueryBuilderField } from '@pepperi-addons/ngx-lib/query-builder';\nimport {\n PepRowData,\n ObjectsDataRow\n} from '@pepperi-addons/ngx-lib';\nimport { GridDataViewField, DataViewFieldTypes } from '@pepperi-addons/papi-sdk/dist/entities/data-view';\n\n@Injectable() \nexport class PepGenericListService {\n\n constructor(\n private _translate: TranslateService,\n private _queryBuilderService: PepQueryBuilderService\n ) {\n //\n }\n\n /**\n * checks if the object contains property\n * @param obj object\n * @param prop property name\n * @returns true if contains, false otherwise\n */\n hasProperty(obj: any, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n getListViewType(dataViewType: string) {\n switch (dataViewType) {\n case 'Grid':\n return 'table';\n case 'Card':\n return 'cards';\n case 'Line':\n return 'lines';\n default:\n return 'table';\n }\n }\n\n convertToPepRowData(item: any, dataView: any, uuidMapping: string) {\n const row = new PepRowData();\n let itemFields: any;\n\n if (this.hasProperty(item, 'fields') && typeof item.fields === 'object') {\n itemFields = item.fields;\n if (item.isEditable === false) {\n row.IsEditable = false;\n }\n if (item.isSelectableForActions === false) {\n row.IsSelectableForActions = false;\n }\n if (item.isEditable && item.isSelectableForActions && item.isSelected) {\n row.IsSelected = true;\n }\n } else {\n itemFields = item;\n }\n\n row.UUID = itemFields[uuidMapping] || undefined;\n row.Fields = [];\n\n if (dataView?.Fields && dataView.Columns) {\n for (let index = 0; index < dataView.Fields.length; index++) {\n const field = dataView.Fields[index] as IPepGenericListDataViewField;\n row.Fields.push({\n ApiName: field.FieldID,\n Title: field.Title ? this._translate.instant(field.Title) : '',\n XAlignment: 1,\n FormattedValue: (itemFields[field.FieldID] || '').toString(),\n Value: (itemFields[field.FieldID] || '').toString(),\n ColumnWidth: dataView.Columns[index]?.Width || undefined,\n AdditionalValue: '',\n OptionalValues: field.OptionalValues || [],\n FieldType: DataViewFieldTypes[field.Type],\n ReadOnly: field.ReadOnly,\n Enabled: !field.ReadOnly\n })\n }\n }\n return row;\n }\n\n convertToUiControlField(field: any) {\n return {\n ApiName: field.ApiName,\n FieldType: field.FieldType,\n Title: field.Title,\n ReadOnly: field.ReadOnlyField,\n ColumnWidth: field.ColumnWidth,\n ColumnWidthType: 1,\n Layout: {\n X: field.Layout.X,\n Y: field.Layout.Y,\n Width: field.Layout.Width,\n Height: field.Layout.Field_Height,\n XAlignment: field.Layout.xAlignment,\n YAlignment: field.Layout.yAlignment,\n }\n }\n }\n\n convertToSmartFilter(input: IPepGenericListSmartFilter) { \n const smartFilters: IPepSmartFilters = {\n fields: [],\n data: [],\n title: 'Filters'\n }\n\n if (input) {\n if (input.dataView) {\n smartFilters.fields = this.createSmartFilterFields(input.dataView);\n if (input.data?.length) {\n smartFilters.data = input.data;\n }\n }\n if (input.title) {\n smartFilters.title = input.title;\n }\n }\n\n return smartFilters; \n }\n\n createSmartFilterFields(dataView: any) {\n let smartFields: PepSmartFilterBaseField[] = [];\n\n const fields = dataView.Fields.map((field: any) => {\n return {\n FieldID: field.FieldID,\n FieldType: field.Type,\n Title: field.Title,\n OptionalValues: field.OptionalValues\n } as IPepQueryBuilderField\n });\n const smartFilterfields = this._queryBuilderService.convertToSmartFilterFields(fields);\n if (smartFilterfields?.length) {\n smartFields = smartFilterfields.map((field => field.smart));\n }\n\n return smartFields;\n }\n\n getSelectedItems(items: ObjectsDataRow[]) {\n const selectedItems = [];\n\n for (let i = 0; i < items.length; i++) {\n if (items[i].IsSelected) {\n selectedItems.push(items[i].UID);\n }\n }\n\n return selectedItems;\n }\n\n\n}","import {\n Component,\n OnInit,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ViewContainerRef\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepDataConvertorService,\n PepLayoutService,\n ObjectsDataRow,\n PepGuid,\n UIControl,\n PepLoaderService,\n PepRowData\n} from '@pepperi-addons/ngx-lib';\nimport { Subscription } from 'rxjs';\nimport { IPepFormFieldClickEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepListComponent,\n PepSelectionData,\n IPepListLoadPageEvent,\n PepListSelectionType,\n IPepListSortingChangeEvent,\n DEFAULT_PAGE_SIZE,\n IPepListLoadItemsEvent,\n PepListTableViewType\n} from '@pepperi-addons/ngx-lib/list';\nimport {\n PepMenuItem,\n IPepMenuItemClickEvent,\n} from '@pepperi-addons/ngx-lib/menu';\nimport { IPepFormFieldValueChangeEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepBreadCrumbItem,\n IPepBreadCrumbItemClickEvent\n} from '@pepperi-addons/ngx-lib/bread-crumbs';\nimport { IPepSearchClickEvent, PepSearchComponent } from '@pepperi-addons/ngx-lib/search';\n\nimport {\n DataView,\n GridDataView\n} from '@pepperi-addons/papi-sdk/dist/entities/data-view';\nimport {\n IPepGenericListInitData,\n IPepGenericListDataSource,\n IPepGenericListPager,\n IPepGenericListActions,\n IPepGenericListSmartFilter,\n IPepSmartFilters,\n IPepGenericListEmptyState\n} from './generic-list.model';\nimport { PepGenericListService } from './generic-list.service';\nimport { DataViewConverter } from '@pepperi-addons/data-views';\nimport {\n IPepSmartFilterData,\n PepSmartFilterBaseField\n} from '@pepperi-addons/ngx-lib/smart-filters';\n\n\n@Component({\n selector: 'pep-generic-list',\n templateUrl: './generic-list.component.html',\n styleUrls: ['./generic-list.component.scss', './generic-list.component.theme.scss'],\n providers: [PepGenericListService]\n})\nexport class GenericListComponent implements OnInit {\n @ViewChild('search') search: PepSearchComponent | undefined;\n\n private _pepListContainer: ViewContainerRef | undefined;\n @ViewChild('pepListContainer', { read: ViewContainerRef })\n set pepListContainer(val: ViewContainerRef) {\n this._pepListContainer = val;\n }\n\n private _dataSource: IPepGenericListDataSource = {\n init: async (params: any) => {\n return {\n dataView: {\n Type: 'Grid'\n },\n totalCount: -1,\n items: []\n }\n }\n }\n @Input()\n set dataSource(val: IPepGenericListDataSource) {\n this._dataSource = val;\n this._sorting = undefined;\n this.initSearch();\n this.initList();\n }\n\n @Input()\n actions: IPepGenericListActions = {\n get: async (data: any) => {\n return []\n }\n };\n\n @Input()\n uuidMapping = 'key';\n\n @Input()\n disabled = false;\n\n @Input()\n addPadding = false;\n\n @Input()\n title = '';\n\n @Input()\n description = '';\n\n @Input()\n inline = false;\n\n @Input()\n showSearch = false;\n\n @Input()\n noDataFoundMsg = '';\n\n @Input()\n emptyState: IPepGenericListEmptyState | undefined;\n\n @Input()\n selectionType: PepListSelectionType = 'multi';\n\n @Input()\n supportSorting = false;\n\n @Input()\n hideSelectAll = false;\n \n @Input()\n pager: IPepGenericListPager = {\n type: 'scroll'\n }\n\n @Input()\n tableViewType: PepListTableViewType = 'regular';\n\n @Input()\n zebraStripes = false;\n\n @Input()\n set smartFilter(val: IPepGenericListSmartFilter) {\n this.smartFilters = this._genericListService.convertToSmartFilter(val);\n this.showSmartFilter = this.smartFilters.fields.length > 0; \n }\n\n @Input()\n showTopBar = false;\n\n @Input()\n breadCrumbsItems: PepBreadCrumbItem[] = new Array<PepBreadCrumbItem>();\n\n @Output()\n fieldClick = new EventEmitter<IPepFormFieldClickEvent>();\n\n @Output()\n valueChange = new EventEmitter<IPepFormFieldValueChangeEvent>();\n\n @Output()\n breadCrumbItemClick = new EventEmitter<IPepBreadCrumbItemClickEvent>();\n\n set pepList(val: PepListComponent) {\n this._pepList = val;\n }\n\n get pepList() {\n return this._pepList;\n }\n\n private _resize$: Subscription = new Subscription();\n private _loader$: Subscription = new Subscription();\n\n private _dataView: DataView = {\n Type: 'Grid'\n };\n private _pepList: any;\n onLoad = true;\n listInputs: any;\n totalRowCount = -1;\n searchString = '';\n showSmartFilter = false;\n showEmptyState = false;\n smartFilters: IPepSmartFilters = {\n fields: [],\n data: [],\n title: 'Filters'\n };\n private _appliedFilters: IPepSmartFilterData[] = [];\n private _sorting: IPepListSortingChangeEvent | undefined = undefined;\n\n menuHandlers: { [key: string]: (obj: any) => Promise<void> } = {};\n menuActions: Array<PepMenuItem> = [];\n\n constructor(\n private _dataConvertorService: PepDataConvertorService,\n private _layoutService: PepLayoutService,\n private _loaderService: PepLoaderService,\n private _translate: TranslateService,\n private _genericListService: PepGenericListService\n ) {\n this._resize$ = this._layoutService.onResize$.pipe().subscribe((size) => { \n // \n });\n this._loader$ = this._loaderService.onChanged$.subscribe((status: boolean) => {\n //\n });\n }\n\n ngOnInit() {\n //\n }\n\n private async initList() {\n this.onLoad = true;\n setTimeout(async () => { //making sure all input data is available\n if (this._dataSource) {\n //merge selector inputs with callback inputs\n this.loadTableInputs();\n\n let fromIndex = 0;\n let toIndex = 0;\n\n if (this.listInputs.pager.type === 'pages') {\n fromIndex = this.listInputs.pager.size * this.listInputs.pager.index;\n toIndex = fromIndex + (this.listInputs.pager.size || DEFAULT_PAGE_SIZE) - 1;\n } else {\n toIndex = 100;//TO DO - get value from - this.customList.getTopItems()\n }\n\n const data = await this.loadData(fromIndex, toIndex);\n \n if (this.listInputs?.emptyState?.show === true) {\n this.setEmptyState();\n }\n this.onLoad = false;\n //show empty state\n if (this.showEmptyState) {\n if (!this.listInputs.emptyState.title) { \n this._translate.get('GENERIC_LIST.EMPTY_STATE.TITLE').subscribe(text => { \n this.listInputs.emptyState.title = text;\n });\n }\n if (!this.listInputs.emptyState.description) { \n this._translate.get('GENERIC_LIST.EMPTY_STATE.DESCRIPTION').subscribe(text => { \n this.listInputs.emptyState.description = text;\n });\n }\n return;\n }\n setTimeout(async () => {\n if (this._pepListContainer) {\n if (this._pepListContainer.length > 0) {\n this._pepListContainer.remove();\n }\n const { PepListComponent } = await import('@pepperi-addons/ngx-lib/list');\n const componentRef = this._pepListContainer.createComponent(PepListComponent);\n\n this.pepList = componentRef.instance;\n\n componentRef.instance.viewType = this._genericListService.getListViewType(this._dataView.Type);\n componentRef.instance.tableViewType = this.listInputs.tableViewType;\n componentRef.instance.zebraStripes = this.listInputs.zebraStripes;\n if (this.disabled) {\n componentRef.instance.disabled = true;\n componentRef.instance.lockItemInnerEvents = true;\n }\n componentRef.instance.supportSorting = this.listInputs.supportSorting;\n componentRef.instance.selectionTypeForActions = this.listInputs.selectionType;\n componentRef.instance.hideAllSelectionInMulti = this.listInputs.hideSelectAll;\n \n componentRef.instance.showCardSelection = this.listInputs.selectionType !== 'none';\n componentRef.instance.pagerType = this.listInputs.pager.type;\n if (this.listInputs.pager.type === 'pages') {\n componentRef.instance.pageSize = this.listInputs.pager?.size || DEFAULT_PAGE_SIZE;\n componentRef.instance.pageIndex = this.listInputs.pager?.index || 0;\n }\n componentRef.instance.noDataFoundMsg = this.listInputs.noDataFoundMsg;\n componentRef.instance.fieldClick.subscribe(($event) => {\n this.onCustomizeFieldClick($event);\n });\n componentRef.instance.selectedItemsChange.subscribe(($event) => {\n this.onSelectedItemsChanged($event);\n });\n componentRef.instance.loadItems.subscribe(($event) => {\n this.onLoadItems($event);\n });\n componentRef.instance.loadPage.subscribe(($event) => {\n this.onLoadPage($event);\n });\n componentRef.instance.valueChange.subscribe(($event) => {\n this.onValueChanged($event)\n });\n componentRef.instance.sortingChange.subscribe(($event) => {\n this.onSortingChange($event);\n });\n let convertedList: ObjectsDataRow[] = [];\n if (data) {\n if (data?.length) {\n convertedList = this._dataConvertorService.convertListData(data);\n }\n const uiControl = this.getUiControl(DataViewConverter.toUIControlData(this._dataView));\n const selectedItems = this._genericListService.getSelectedItems(convertedList);\n if (selectedItems?.length) {\n componentRef.instance.setSelectedIds(selectedItems);\n } \n \n componentRef.instance.initListData(uiControl, this.totalRowCount, convertedList);\n }\n }\n }, 0);\n }\n }, 0);\n }\n\n /**\n * loads inputs in case they are provided and merge with selector inputs\n * @returns merged pep-list inputs\n */\n private loadTableInputs() {\n this.listInputs = {\n supportSorting: this.supportSorting,\n hideSelectAll: this.hideSelectAll,\n selectionType: this.selectionType,\n pager: this.pager,\n noDataFoundMsg: this.noDataFoundMsg,\n tableViewType: this.tableViewType,\n zebraStripes: this.zebraStripes,\n emptyState: this.emptyState\n };\n if (this._dataSource.inputs) {\n Object.entries(this._dataSource.inputs).forEach((item: any) => {\n if (this._genericListService.hasProperty(this.listInputs, item[0])) {\n this.listInputs[item[0]] = item[1];\n }\n });\n }\n }\n\n /**\n * detemines whether empty state is to be displayed\n */\n private setEmptyState() {\n this.showEmptyState = this.totalRowCount === 0 &&\n this.searchString === '' &&\n this._appliedFilters.length === 0;\n }\n\n private getUiControl(data: any): UIControl {\n const uiControl = new UIControl();\n uiControl.ControlFields = [];\n\n if (data?.ControlFields) {\n uiControl.ControlFields = data.ControlFields.map((field: any) => this._genericListService.convertToUiControlField(field));\n }\n\n return uiControl;\n }\n\n private loadMenuItems(): void { //TODO\n if (this.listInputs.selectionType !== 'none') {\n this.getMenuActions().then(\n x => this.menuActions = x\n );\n }\n }\n\n private async getMenuActions(): Promise<PepMenuItem[]> {\n const res: PepMenuItem[] = [];\n const result = this.getMenuObjects();\n if (result.success) {\n const actions = await this.actions.get(result.data);\n this.menuHandlers = {};\n actions?.forEach(item => {\n const uuid = PepGuid.newGuid();\n this.menuHandlers[uuid] = item.handler;\n res.push({\n key: uuid,\n text: item.title\n })\n })\n }\n\n return res;\n }\n\n private getMenuObjects() {\n const menuObjects: any = {\n success: false,\n data: new PepSelectionData()\n };\n\n if (this.pepList) {\n menuObjects.success = true;\n menuObjects.data = this.pepList.getSelectedItemsData();\n }\n\n return menuObjects;\n }\n\n private initSearch() {\n this.searchString = '';\n this.search?.initSearch();\n }\n\n private async loadData(fromIndex: number, toIndex: number): Promise<PepRowData[]> {\n this._loaderService.show();\n let converedData: PepRowData[] = [];\n const data: IPepGenericListInitData = await this._dataSource.init({\n searchString: this.searchString || undefined,\n filters: this._appliedFilters.length ? this._appliedFilters : undefined,\n sorting: this._sorting || undefined,\n fromIndex: fromIndex,\n toIndex: toIndex\n }); \n this._loaderService.hide();\n\n // Set the total count\n this.totalRowCount = data?.totalCount || 0;\n\n if (data) {\n this._dataView = data.dataView;\n\n if (data.items?.length > 0 && !data.isPepRowData) { \n converedData = data.items.map(item => this._genericListService.convertToPepRowData(item, data.dataView, this.uuidMapping));\n }\n }\n\n return converedData;\n }\n\n\n private async updateDataList(fromIndex: number, toIndex: number, pageIndex: number | undefined = undefined): Promise<PepRowData[]> {\n if (this._dataSource.update) {\n this._loaderService.show();\n let converedData: PepRowData[] = [];\n const dataList = await this._dataSource.update({\n searchString: this.searchString || undefined,\n filters: this._appliedFilters.length ? this._appliedFilters : undefined,\n sorting: this._sorting || undefined,\n fromIndex: fromIndex,\n toIndex: toIndex,\n pageIndex: pageIndex\n });\n this._loaderService.hide();\n\n if (dataList?.length > 0) {\n converedData = dataList.map(item => this._genericListService.convertToPepRowData(item, this._dataView, this.uuidMapping));\n } \n return converedData;\n } else {\n return [];\n }\n }\n\n /**\n * loads virtual scroll items from api\n */\n private async onLoadItems(event: IPepListLoadItemsEvent) {\n const list = await this.updateDataList(event.fromIndex, event.toIndex);\n const convertedList = this._dataConvertorService.convertListData(list);\n const selectedItems = this._genericListService.getSelectedItems(convertedList);\n if (selectedItems?.length) {\n this.pepList.setSelectedIds(selectedItems);\n }\n this.pepList.updateItems(convertedList, event);\n }\n\n /**\n * loads paging bulk from api\n */\n private async onLoadPage(event: IPepListLoadPageEvent) {\n const fromIndex = event.pageIndex * event.pageSize;\n const toIndex = Math.min(fromIndex + event.pageSize - 1, this.totalRowCount - 1);\n const list = await this.updateDataList(fromIndex, toIndex, event.pageIndex);\n const convertedList = this._dataConvertorService.convertListData(list);\n const selectedItems = this._genericListService.getSelectedItems(convertedList);\n if (selectedItems?.length) {\n this.pepList.setSelectedIds(selectedItems);\n }\n this.pepList.updatePage(convertedList, event);\n }\n\n getItemById(id: string): ObjectsDataRow | null {\n if (this.pepList) {\n return this._pepList.getItemDataByID(id);\n } else {\n return null;\n }\n }\n\n getSelectedItems(): PepSelectionData | null {\n if (this.pepList) {\n return this._pepList.getSelectedItemsData();\n } else {\n return null;\n }\n }\n\n getPageIndex() {\n return this.pepList.pageIndex;\n }\n\n onActionItemClicked(action: IPepMenuItemClickEvent): void {\n const result = this.getMenuObjects();\n if (result.success) {\n this.menuHandlers[action.source.key](result.data);\n }\n }\n\n onSearchChanged(event: IPepSearchClickEvent) {\n this.searchString = event.value;\n this.initList();\n }\n\n onSelectedItemsChanged(selectedRowsCount: number) {\n //loading menu items after pep-list selected items are updated\n setTimeout(() => {\n this.loadMenuItems();\n }, 0);\n }\n\n onCustomizeFieldClick(fieldClickEvent: IPepFormFieldClickEvent) {\n this.fieldClick.emit(fieldClickEvent);\n }\n\n onBreadCrumbItemClick(event: IPepBreadCrumbItemClickEvent) {\n this.breadCrumbItemClick.emit(event);\n }\n\n onValueChanged(event: IPepFormFieldValueChangeEvent) {\n this.valueChange.emit(event);\n }\n\n onSortingChange(event: IPepListSortingChangeEvent) {\n this._sorting = event;\n this.initList();\n }\n\n onFiltersChange(filters: IPepSmartFilterData[]) {\n this._appliedFilters = filters;\n this.initList();\n }\n\n ngOnDestroy() {\n if (this._resize$) {\n this._resize$.unsubscribe();\n }\n if (this._loader$) {\n this._loader$.unsubscribe();\n }\n }\n\n}\n","<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding, 'with-smart-filters': showSmartFilter }\">\n <div class=\"header-area\" >\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"description\">\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngIf=\"showSmartFilter\">\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!onLoad\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </ng-container>\n</div>\n<pep-page-layout *ngIf=\"!inline\" class=\"none-inline\" [addPadding]=\"addPadding\" [showShadow]=\"showSmartFilter\">\n <ng-container *ngIf=\"showSmartFilter\" pep-side-area>\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"description\" pep-top-area>\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div *ngIf=\"!onLoad\" pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <!-- <div footer-start-content>\n <ng-content select=\"[left-bottom-area]\"></ng-content> \n </div>\n <div footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div> -->\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #smartFilterTemplate> \n <pep-side-bar #sideNav [ngClass]=\"{'smart-filter-area': inline}\"> \n <pep-smart-filters [title]=\"smartFilters.title\" [fields]=\"smartFilters.fields\"\n [filters]=\"smartFilters.data\" (filtersChange)=\"onFiltersChange($event)\">\n </pep-smart-filters>\n </pep-side-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div *ngIf=\"showEmptyState\" class=\"list-empty-state\">\n <div class=\"list-empty-title\">{{ listInputs.emptyState.title }}</div>\n <div class=\"list-empty-descr\">{{ listInputs.emptyState.description }}</div>\n <pep-icon name=\"leaf_skiny\" class=\"leaf-skiny\"></pep-icon>\n <pep-icon name=\"leaf_round\" class=\"leaf-round\"></pep-icon>\n <!-- <mat-icon class=\"leaf-skiny\">\n <pep-icon name=\"leaf_skiny\"></pep-icon>\n </mat-icon> -->\n <!-- <mat-icon class=\"leaf-round\">\n <pep-icon name=\"leaf_round\"></pep-icon>\n </mat-icon> -->\n </div>\n <div *ngIf=\"!showEmptyState\" class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>","import { NgModule, APP_INITIALIZER } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { GenericListComponent } from './generic-list.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepListModule } from '@pepperi-addons/ngx-lib/list';\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepSideBarModule } from '@pepperi-addons/ngx-lib/side-bar';\nimport { PepSearchModule } from '@pepperi-addons/ngx-lib/search';\nimport { PepBreadCrumbsModule } from '@pepperi-addons/ngx-lib/bread-crumbs';\nimport { PepSmartFiltersModule } from '@pepperi-addons/ngx-lib/smart-filters';\nimport { PepIconModule, PepIconRegistry, pepIconLeafRound, pepIconLeafSkiny, pepIconSystemView } from '@pepperi-addons/ngx-lib/icon';\nimport { PepGenericListService } from './generic-list.service';\nimport { firstValueFrom } from 'rxjs';\n\nconst pepIcons = [\n pepIconLeafRound,\n pepIconLeafSkiny, pepIconSystemView\n]\n\n/*\nexport function appInitializerFactory(translate: TranslateService) {\n return () => {\n translate.setDefaultLang('en');\n return firstValueFrom(translate.use('en'));\n }\n}*/\n\n@NgModule({\n declarations: [\n GenericListComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n MatIconModule,\n PepListModule,\n PepFormModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTopBarModule,\n PepSideBarModule,\n PepSearchModule,\n PepBreadCrumbsModule,\n PepIconModule,\n PepSmartFiltersModule\n ],\n exports: [\n GenericListComponent \n ],\n providers: [\n PepGenericListService,\n /*{\n provide: APP_INITIALIZER,\n useFactory: appInitializerFactory,\n deps: [TranslateService],\n multi: true\n } */\n ]\n})\nexport class PepGenericListModule { \n constructor(\n private pepIconRegistry: PepIconRegistry\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}\n","/*\n * Public API Surface of ngx-composite-lib/generic-list\n */\nexport * from './generic-list.module';\nexport * from './generic-list.component';\nexport * from './generic-list.model';\nexport * from './generic-list.service';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.PepGenericListService","i11"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-list.mjs","sources":["../../../projects/ngx-composite-lib/generic-list/generic-list.service.ts","../../../projects/ngx-composite-lib/generic-list/generic-list.component.ts","../../../projects/ngx-composite-lib/generic-list/generic-list.component.html","../../../projects/ngx-composite-lib/generic-list/generic-list.module.ts","../../../projects/ngx-composite-lib/generic-list/public-api.ts","../../../projects/ngx-composite-lib/generic-list/pepperi-addons-ngx-composite-lib-generic-list.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n IPepGenericListSmartFilter,\n IPepGenericListDataViewField,\n IPepSmartFilters\n} from './generic-list.model';\nimport {\n PepSmartFilterBaseField,\n IPepSmartFilterData,\n} from '@pepperi-addons/ngx-lib/smart-filters';\nimport { PepQueryBuilderService, IPepQueryBuilderField } from '@pepperi-addons/ngx-lib/query-builder';\nimport {\n PepRowData,\n ObjectsDataRow\n} from '@pepperi-addons/ngx-lib';\nimport { GridDataViewField, DataViewFieldTypes } from '@pepperi-addons/papi-sdk/dist/entities/data-view';\n\n@Injectable() \nexport class PepGenericListService {\n\n constructor(\n private _translate: TranslateService,\n private _queryBuilderService: PepQueryBuilderService\n ) {\n //\n }\n\n /**\n * checks if the object contains property\n * @param obj object\n * @param prop property name\n * @returns true if contains, false otherwise\n */\n hasProperty(obj: any, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n getListViewType(dataViewType: string) {\n switch (dataViewType) {\n case 'Grid':\n return 'table';\n case 'Card':\n return 'cards';\n case 'Line':\n return 'lines';\n default:\n return 'table';\n }\n }\n\n convertToPepRowData(item: any, dataView: any, uuidMapping: string) {\n const row = new PepRowData();\n let itemFields: any;\n\n if (this.hasProperty(item, 'fields') && typeof item.fields === 'object') {\n itemFields = item.fields;\n if (item.isEditable === false) {\n row.IsEditable = false;\n }\n if (item.isSelectableForActions === false) {\n row.IsSelectableForActions = false;\n }\n if (item.isEditable && item.isSelectableForActions && item.isSelected) {\n row.IsSelected = true;\n }\n } else {\n itemFields = item;\n }\n\n row.UUID = itemFields[uuidMapping] || undefined;\n row.Fields = [];\n\n if (dataView?.Fields && dataView.Columns) {\n for (let index = 0; index < dataView.Fields.length; index++) {\n const field = dataView.Fields[index] as IPepGenericListDataViewField;\n row.Fields.push({\n ApiName: field.FieldID,\n Title: field.Title ? this._translate.instant(field.Title) : '',\n XAlignment: 1,\n FormattedValue: (itemFields[field.FieldID] || '').toString(),\n Value: (itemFields[field.FieldID] || '').toString(),\n ColumnWidth: dataView.Columns[index]?.Width || undefined,\n AdditionalValue: '',\n OptionalValues: field.OptionalValues || [],\n FieldType: DataViewFieldTypes[field.Type],\n ReadOnly: field.ReadOnly,\n Enabled: !field.ReadOnly\n })\n }\n }\n return row;\n }\n\n convertToUiControlField(field: any) {\n return {\n ApiName: field.ApiName,\n FieldType: field.FieldType,\n Title: field.Title,\n ReadOnly: field.ReadOnlyField,\n ColumnWidth: field.ColumnWidth,\n ColumnWidthType: 1,\n Layout: {\n X: field.Layout.X,\n Y: field.Layout.Y,\n Width: field.Layout.Width,\n Height: field.Layout.Field_Height,\n XAlignment: field.Layout.xAlignment,\n YAlignment: field.Layout.yAlignment,\n }\n }\n }\n\n convertToSmartFilter(input: IPepGenericListSmartFilter) { \n const smartFilters: IPepSmartFilters = {\n fields: [],\n data: [],\n title: 'Filters'\n }\n\n if (input) {\n if (input.dataView) {\n smartFilters.fields = this.createSmartFilterFields(input.dataView);\n if (input.data?.length) {\n smartFilters.data = input.data;\n }\n }\n if (input.title) {\n smartFilters.title = input.title;\n }\n }\n\n return smartFilters; \n }\n\n createSmartFilterFields(dataView: any) {\n let smartFields: PepSmartFilterBaseField[] = [];\n\n const fields = dataView.Fields.map((field: any) => {\n return {\n FieldID: field.FieldID,\n FieldType: field.Type,\n Title: field.Title,\n OptionalValues: field.OptionalValues\n } as IPepQueryBuilderField\n });\n const smartFilterfields = this._queryBuilderService.convertToSmartFilterFields(fields);\n if (smartFilterfields?.length) {\n smartFields = smartFilterfields.map((field => field.smart));\n }\n\n return smartFields;\n }\n\n getSelectedItems(items: ObjectsDataRow[]) {\n const selectedItems = [];\n\n for (let i = 0; i < items.length; i++) {\n if (items[i].IsSelected) {\n selectedItems.push(items[i].UID);\n }\n }\n\n return selectedItems;\n }\n\n\n}","import {\n Component,\n OnInit,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ViewContainerRef\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepDataConvertorService,\n PepLayoutService,\n ObjectsDataRow,\n PepGuid,\n UIControl,\n PepLoaderService,\n PepRowData\n} from '@pepperi-addons/ngx-lib';\nimport { Subscription } from 'rxjs';\nimport { IPepFormFieldClickEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepListComponent,\n PepSelectionData,\n IPepListLoadPageEvent,\n PepListSelectionType,\n IPepListSortingChangeEvent,\n DEFAULT_PAGE_SIZE,\n IPepListLoadItemsEvent,\n PepListTableViewType,\n IPepListSortingData\n} from '@pepperi-addons/ngx-lib/list';\nimport {\n PepMenuItem,\n IPepMenuItemClickEvent,\n} from '@pepperi-addons/ngx-lib/menu';\nimport { IPepFormFieldValueChangeEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepBreadCrumbItem,\n IPepBreadCrumbItemClickEvent\n} from '@pepperi-addons/ngx-lib/bread-crumbs';\nimport { IPepSearchClickEvent, PepSearchComponent } from '@pepperi-addons/ngx-lib/search';\n\nimport {\n DataView,\n GridDataView\n} from '@pepperi-addons/papi-sdk/dist/entities/data-view';\nimport {\n IPepGenericListInitData,\n IPepGenericListDataSource,\n IPepGenericListPager,\n IPepGenericListActions,\n IPepGenericListSmartFilter,\n IPepSmartFilters,\n IPepGenericListEmptyState\n} from './generic-list.model';\nimport { PepGenericListService } from './generic-list.service';\nimport { DataViewConverter } from '@pepperi-addons/data-views';\nimport {\n IPepSmartFilterData,\n PepSmartFilterBaseField\n} from '@pepperi-addons/ngx-lib/smart-filters';\n\n\n@Component({\n selector: 'pep-generic-list',\n templateUrl: './generic-list.component.html',\n styleUrls: ['./generic-list.component.scss', './generic-list.component.theme.scss'],\n providers: [PepGenericListService]\n})\nexport class GenericListComponent implements OnInit {\n @ViewChild('search') search: PepSearchComponent | undefined;\n\n private _pepListContainer: ViewContainerRef | undefined;\n @ViewChild('pepListContainer', { read: ViewContainerRef })\n set pepListContainer(val: ViewContainerRef) {\n this._pepListContainer = val;\n }\n\n private _dataSource: IPepGenericListDataSource = {\n init: async (params: any) => {\n return {\n dataView: {\n Type: 'Grid'\n },\n totalCount: -1,\n items: []\n }\n }\n }\n @Input()\n set dataSource(val: IPepGenericListDataSource) {\n this._dataSource = val;\n this._sorting = undefined;\n this.initSearch();\n this.initList();\n }\n\n @Input()\n actions: IPepGenericListActions = {\n get: async (data: any) => {\n return []\n }\n };\n\n @Input()\n uuidMapping = 'key';\n\n @Input()\n disabled = false;\n\n @Input()\n addPadding = false;\n\n @Input()\n title = '';\n\n @Input()\n description = '';\n\n @Input()\n inline = false;\n\n @Input()\n showSearch = false;\n\n @Input()\n noDataFoundMsg = '';\n\n @Input()\n emptyState: IPepGenericListEmptyState | undefined;\n\n @Input()\n selectionType: PepListSelectionType = 'multi';\n\n @Input()\n supportSorting = false;\n\n @Input()\n sorting: IPepListSortingData | undefined;\n\n @Input()\n cacheSize = -1;\n\n @Input()\n hideSelectAll = false;\n \n @Input()\n pager: IPepGenericListPager = {\n type: 'scroll'\n }\n\n @Input()\n tableViewType: PepListTableViewType = 'regular';\n\n @Input()\n zebraStripes = false;\n\n @Input()\n set smartFilter(val: IPepGenericListSmartFilter) {\n this.smartFilters = this._genericListService.convertToSmartFilter(val);\n this.showSmartFilter = this.smartFilters.fields.length > 0; \n }\n\n @Input()\n showTopBar = false;\n\n @Input()\n breadCrumbsItems: PepBreadCrumbItem[] = new Array<PepBreadCrumbItem>();\n\n @Output()\n fieldClick = new EventEmitter<IPepFormFieldClickEvent>();\n\n @Output()\n valueChange = new EventEmitter<IPepFormFieldValueChangeEvent>();\n\n @Output()\n breadCrumbItemClick = new EventEmitter<IPepBreadCrumbItemClickEvent>();\n\n set pepList(val: PepListComponent) {\n this._pepList = val;\n }\n\n get pepList() {\n return this._pepList;\n }\n\n private _resize$: Subscription = new Subscription();\n private _loader$: Subscription = new Subscription();\n\n private _dataView: DataView = {\n Type: 'Grid'\n };\n private _pepList: any;\n onLoad = true;\n listInputs: any;\n totalRowCount = -1;\n searchString = '';\n showSmartFilter = false;\n showEmptyState = false;\n smartFilters: IPepSmartFilters = {\n fields: [],\n data: [],\n title: 'Filters'\n };\n private _appliedFilters: IPepSmartFilterData[] = [];\n private _sorting: IPepListSortingChangeEvent | undefined = undefined;\n\n menuHandlers: { [key: string]: (obj: any) => Promise<void> } = {};\n menuActions: Array<PepMenuItem> = [];\n\n constructor(\n private _dataConvertorService: PepDataConvertorService,\n private _layoutService: PepLayoutService,\n private _loaderService: PepLoaderService,\n private _translate: TranslateService,\n private _genericListService: PepGenericListService\n ) {\n this._resize$ = this._layoutService.onResize$.pipe().subscribe((size) => { \n // \n });\n this._loader$ = this._loaderService.onChanged$.subscribe((status: boolean) => {\n //\n });\n }\n\n ngOnInit() {\n //\n }\n\n private async initList() {\n this.onLoad = true;\n setTimeout(async () => { //making sure all input data is available\n if (this._dataSource) {\n //merge selector inputs with callback inputs\n this.loadTableInputs();\n\n let fromIndex = 0;\n let toIndex = 0;\n\n if (this.listInputs.pager.type === 'pages') {\n fromIndex = this.listInputs.pager.size * this.listInputs.pager.index;\n toIndex = fromIndex + (this.listInputs.pager.size || DEFAULT_PAGE_SIZE) - 1;\n } else {\n toIndex = 100;//TO DO - get value from - this.customList.getTopItems()\n }\n\n const data = await this.loadData(fromIndex, toIndex);\n \n if (this.listInputs?.emptyState?.show === true) {\n this.setEmptyState();\n }\n this.onLoad = false;\n //show empty state\n if (this.showEmptyState) {\n if (!this.listInputs.emptyState.title) { \n this._translate.get('GENERIC_LIST.EMPTY_STATE.TITLE').subscribe(text => { \n this.listInputs.emptyState.title = text;\n });\n }\n if (!this.listInputs.emptyState.description) { \n this._translate.get('GENERIC_LIST.EMPTY_STATE.DESCRIPTION').subscribe(text => { \n this.listInputs.emptyState.description = text;\n });\n }\n return;\n }\n setTimeout(async () => {\n if (this._pepListContainer) {\n if (this._pepListContainer.length > 0) {\n this._pepListContainer.remove();\n }\n const { PepListComponent } = await import('@pepperi-addons/ngx-lib/list');\n const componentRef = this._pepListContainer.createComponent(PepListComponent);\n\n this.pepList = componentRef.instance;\n\n componentRef.instance.viewType = this._genericListService.getListViewType(this._dataView.Type);\n componentRef.instance.tableViewType = this.listInputs.tableViewType;\n componentRef.instance.zebraStripes = this.listInputs.zebraStripes;\n if (this.disabled) {\n componentRef.instance.disabled = true;\n componentRef.instance.lockItemInnerEvents = true;\n }\n componentRef.instance.supportSorting = this.listInputs.supportSorting;\n componentRef.instance.sorting = this.listInputs.sorting;\n componentRef.instance.cacheSize = this.listInputs.cacheSize;\n\n componentRef.instance.selectionTypeForActions = this.listInputs.selectionType;\n componentRef.instance.hideAllSelectionInMulti = this.listInputs.hideSelectAll;\n \n componentRef.instance.showCardSelection = this.listInputs.selectionType !== 'none';\n componentRef.instance.pagerType = this.listInputs.pager.type;\n if (this.listInputs.pager.type === 'pages') {\n componentRef.instance.pageSize = this.listInputs.pager?.size || DEFAULT_PAGE_SIZE;\n componentRef.instance.pageIndex = this.listInputs.pager?.index || 0;\n }\n componentRef.instance.noDataFoundMsg = this.listInputs.noDataFoundMsg;\n componentRef.instance.fieldClick.subscribe(($event) => {\n this.onCustomizeFieldClick($event);\n });\n componentRef.instance.selectedItemsChange.subscribe(($event) => {\n this.onSelectedItemsChanged($event);\n });\n componentRef.instance.loadItems.subscribe(($event) => {\n this.onLoadItems($event);\n });\n componentRef.instance.loadPage.subscribe(($event) => {\n this.onLoadPage($event);\n });\n componentRef.instance.valueChange.subscribe(($event) => {\n this.onValueChanged($event)\n });\n componentRef.instance.sortingChange.subscribe(($event) => {\n this.onSortingChange($event);\n });\n let convertedList: ObjectsDataRow[] = [];\n if (data) {\n if (data?.length) {\n convertedList = this._dataConvertorService.convertListData(data);\n }\n const uiControl = this.getUiControl(DataViewConverter.toUIControlData(this._dataView));\n const selectedItems = this._genericListService.getSelectedItems(convertedList);\n if (selectedItems?.length) {\n componentRef.instance.setSelectedIds(selectedItems);\n } \n \n componentRef.instance.initListData(uiControl, this.totalRowCount, convertedList);\n }\n }\n }, 0);\n }\n }, 0);\n }\n\n /**\n * loads inputs in case they are provided and merge with selector inputs\n * @returns merged pep-list inputs\n */\n private loadTableInputs() {\n this.listInputs = {\n supportSorting: this.supportSorting,\n sorting: this.sorting,\n cacheSize: this.cacheSize,\n hideSelectAll: this.hideSelectAll,\n selectionType: this.selectionType,\n pager: this.pager,\n noDataFoundMsg: this.noDataFoundMsg,\n tableViewType: this.tableViewType,\n zebraStripes: this.zebraStripes,\n emptyState: this.emptyState\n };\n if (this._dataSource.inputs) {\n Object.entries(this._dataSource.inputs).forEach((item: any) => {\n if (this._genericListService.hasProperty(this.listInputs, item[0])) {\n this.listInputs[item[0]] = item[1];\n }\n });\n }\n }\n\n /**\n * detemines whether empty state is to be displayed\n */\n private setEmptyState() {\n this.showEmptyState = this.totalRowCount === 0 &&\n this.searchString === '' &&\n this._appliedFilters.length === 0;\n }\n\n private getUiControl(data: any): UIControl {\n const uiControl = new UIControl();\n uiControl.ControlFields = [];\n\n if (data?.ControlFields) {\n uiControl.ControlFields = data.ControlFields.map((field: any) => this._genericListService.convertToUiControlField(field));\n }\n\n return uiControl;\n }\n\n private loadMenuItems(): void { //TODO\n if (this.listInputs.selectionType !== 'none') {\n this.getMenuActions().then(\n x => this.menuActions = x\n );\n }\n }\n\n private async getMenuActions(): Promise<PepMenuItem[]> {\n const res: PepMenuItem[] = [];\n const result = this.getMenuObjects();\n if (result.success) {\n const actions = await this.actions.get(result.data);\n this.menuHandlers = {};\n actions?.forEach(item => {\n const uuid = PepGuid.newGuid();\n this.menuHandlers[uuid] = item.handler;\n res.push({\n key: uuid,\n text: item.title\n })\n })\n }\n\n return res;\n }\n\n private getMenuObjects() {\n const menuObjects: any = {\n success: false,\n data: new PepSelectionData()\n };\n\n if (this.pepList) {\n menuObjects.success = true;\n menuObjects.data = this.pepList.getSelectedItemsData();\n }\n\n return menuObjects;\n }\n\n private initSearch() {\n this.searchString = '';\n this.search?.initSearch();\n }\n\n private async loadData(fromIndex: number, toIndex: number): Promise<PepRowData[]> {\n this._loaderService.show();\n let converedData: PepRowData[] = [];\n const data: IPepGenericListInitData = await this._dataSource.init({\n searchString: this.searchString || undefined,\n filters: this._appliedFilters.length ? this._appliedFilters : undefined,\n sorting: this._sorting || undefined,\n fromIndex: fromIndex,\n toIndex: toIndex\n }); \n this._loaderService.hide();\n\n // Set the total count\n this.totalRowCount = data?.totalCount || 0;\n\n if (data) {\n this._dataView = data.dataView;\n\n if (data.items?.length > 0 && !data.isPepRowData) { \n converedData = data.items.map(item => this._genericListService.convertToPepRowData(item, data.dataView, this.uuidMapping));\n }\n }\n\n return converedData;\n }\n\n\n private async updateDataList(fromIndex: number, toIndex: number, pageIndex: number | undefined = undefined): Promise<PepRowData[]> {\n if (this._dataSource.update) {\n this._loaderService.show();\n let converedData: PepRowData[] = [];\n const dataList = await this._dataSource.update({\n searchString: this.searchString || undefined,\n filters: this._appliedFilters.length ? this._appliedFilters : undefined,\n sorting: this._sorting || undefined,\n fromIndex: fromIndex,\n toIndex: toIndex,\n pageIndex: pageIndex\n });\n this._loaderService.hide();\n\n if (dataList?.length > 0) {\n converedData = dataList.map(item => this._genericListService.convertToPepRowData(item, this._dataView, this.uuidMapping));\n } \n return converedData;\n } else {\n return [];\n }\n }\n\n /**\n * loads virtual scroll items from api\n */\n private async onLoadItems(event: IPepListLoadItemsEvent) {\n const list = await this.updateDataList(event.fromIndex, event.toIndex);\n const convertedList = this._dataConvertorService.convertListData(list);\n const selectedItems = this._genericListService.getSelectedItems(convertedList);\n if (selectedItems?.length) {\n this.pepList.setSelectedIds(selectedItems);\n }\n this.pepList.updateItems(convertedList, event);\n }\n\n /**\n * loads paging bulk from api\n */\n private async onLoadPage(event: IPepListLoadPageEvent) {\n const fromIndex = event.pageIndex * event.pageSize;\n const toIndex = Math.min(fromIndex + event.pageSize - 1, this.totalRowCount - 1);\n const list = await this.updateDataList(fromIndex, toIndex, event.pageIndex);\n const convertedList = this._dataConvertorService.convertListData(list);\n const selectedItems = this._genericListService.getSelectedItems(convertedList);\n if (selectedItems?.length) {\n this.pepList.setSelectedIds(selectedItems);\n }\n this.pepList.updatePage(convertedList, event);\n }\n\n getItemById(id: string): ObjectsDataRow | null {\n if (this.pepList) {\n return this._pepList.getItemDataByID(id);\n } else {\n return null;\n }\n }\n\n getSelectedItems(): PepSelectionData | null {\n if (this.pepList) {\n return this._pepList.getSelectedItemsData();\n } else {\n return null;\n }\n }\n\n getPageIndex() {\n return this.pepList.pageIndex;\n }\n\n onActionItemClicked(action: IPepMenuItemClickEvent): void {\n const result = this.getMenuObjects();\n if (result.success) {\n this.menuHandlers[action.source.key](result.data);\n }\n }\n\n onSearchChanged(event: IPepSearchClickEvent) {\n this.searchString = event.value;\n this.initList();\n }\n\n onSelectedItemsChanged(selectedRowsCount: number) {\n //loading menu items after pep-list selected items are updated\n setTimeout(() => {\n this.loadMenuItems();\n }, 0);\n }\n\n onCustomizeFieldClick(fieldClickEvent: IPepFormFieldClickEvent) {\n this.fieldClick.emit(fieldClickEvent);\n }\n\n onBreadCrumbItemClick(event: IPepBreadCrumbItemClickEvent) {\n this.breadCrumbItemClick.emit(event);\n }\n\n onValueChanged(event: IPepFormFieldValueChangeEvent) {\n this.valueChange.emit(event);\n }\n\n onSortingChange(event: IPepListSortingChangeEvent) {\n this._sorting = event;\n this.initList();\n }\n\n onFiltersChange(filters: IPepSmartFilterData[]) {\n this._appliedFilters = filters;\n this.initList();\n }\n\n ngOnDestroy() {\n if (this._resize$) {\n this._resize$.unsubscribe();\n }\n if (this._loader$) {\n this._loader$.unsubscribe();\n }\n }\n\n}\n","<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding, 'with-smart-filters': showSmartFilter }\">\n <div class=\"header-area\" >\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"description\">\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngIf=\"showSmartFilter\">\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!onLoad\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </ng-container>\n</div>\n<pep-page-layout *ngIf=\"!inline\" class=\"none-inline\" [addPadding]=\"addPadding\" [showShadow]=\"showSmartFilter\">\n <ng-container *ngIf=\"showSmartFilter\" pep-side-area>\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"description\" pep-top-area>\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div *ngIf=\"!onLoad\" pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <!-- <div footer-start-content>\n <ng-content select=\"[left-bottom-area]\"></ng-content> \n </div>\n <div footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div> -->\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #smartFilterTemplate> \n <pep-side-bar #sideNav [ngClass]=\"{'smart-filter-area': inline}\"> \n <pep-smart-filters [title]=\"smartFilters.title\" [fields]=\"smartFilters.fields\"\n [filters]=\"smartFilters.data\" (filtersChange)=\"onFiltersChange($event)\">\n </pep-smart-filters>\n </pep-side-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div *ngIf=\"showEmptyState\" class=\"list-empty-state\">\n <div class=\"list-empty-title\">{{ listInputs.emptyState.title }}</div>\n <div class=\"list-empty-descr\">{{ listInputs.emptyState.description }}</div>\n <pep-icon name=\"leaf_skiny\" class=\"leaf-skiny\"></pep-icon>\n <pep-icon name=\"leaf_round\" class=\"leaf-round\"></pep-icon>\n <!-- <mat-icon class=\"leaf-skiny\">\n <pep-icon name=\"leaf_skiny\"></pep-icon>\n </mat-icon> -->\n <!-- <mat-icon class=\"leaf-round\">\n <pep-icon name=\"leaf_round\"></pep-icon>\n </mat-icon> -->\n </div>\n <div *ngIf=\"!showEmptyState\" class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>","import { NgModule, APP_INITIALIZER } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { GenericListComponent } from './generic-list.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepListModule } from '@pepperi-addons/ngx-lib/list';\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepSideBarModule } from '@pepperi-addons/ngx-lib/side-bar';\nimport { PepSearchModule } from '@pepperi-addons/ngx-lib/search';\nimport { PepBreadCrumbsModule } from '@pepperi-addons/ngx-lib/bread-crumbs';\nimport { PepSmartFiltersModule } from '@pepperi-addons/ngx-lib/smart-filters';\nimport { PepIconModule, PepIconRegistry, pepIconLeafRound, pepIconLeafSkiny, pepIconSystemView } from '@pepperi-addons/ngx-lib/icon';\nimport { PepGenericListService } from './generic-list.service';\nimport { firstValueFrom } from 'rxjs';\n\nconst pepIcons = [\n pepIconLeafRound,\n pepIconLeafSkiny, pepIconSystemView\n]\n\n/*\nexport function appInitializerFactory(translate: TranslateService) {\n return () => {\n translate.setDefaultLang('en');\n return firstValueFrom(translate.use('en'));\n }\n}*/\n\n@NgModule({\n declarations: [\n GenericListComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n MatIconModule,\n PepListModule,\n PepFormModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTopBarModule,\n PepSideBarModule,\n PepSearchModule,\n PepBreadCrumbsModule,\n PepIconModule,\n PepSmartFiltersModule\n ],\n exports: [\n GenericListComponent \n ],\n providers: [\n PepGenericListService,\n /*{\n provide: APP_INITIALIZER,\n useFactory: appInitializerFactory,\n deps: [TranslateService],\n multi: true\n } */\n ]\n})\nexport class PepGenericListModule { \n constructor(\n private pepIconRegistry: PepIconRegistry\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}\n","/*\n * Public API Surface of ngx-composite-lib/generic-list\n */\nexport * from './generic-list.module';\nexport * from './generic-list.component';\nexport * from './generic-list.model';\nexport * from './generic-list.service';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.PepGenericListService","i11"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { OnInit, EventEmitter, ViewContainerRef } from '@angular/core';
2
2
  import { TranslateService } from '@ngx-translate/core';
3
3
  import { PepDataConvertorService, PepLayoutService, ObjectsDataRow, PepLoaderService } from '@pepperi-addons/ngx-lib';
4
4
  import { IPepFormFieldClickEvent } from '@pepperi-addons/ngx-lib/form';
5
- import { PepListComponent, PepSelectionData, PepListSelectionType, IPepListSortingChangeEvent, PepListTableViewType } from '@pepperi-addons/ngx-lib/list';
5
+ import { PepListComponent, PepSelectionData, PepListSelectionType, IPepListSortingChangeEvent, PepListTableViewType, IPepListSortingData } from '@pepperi-addons/ngx-lib/list';
6
6
  import { PepMenuItem, IPepMenuItemClickEvent } from '@pepperi-addons/ngx-lib/menu';
7
7
  import { IPepFormFieldValueChangeEvent } from '@pepperi-addons/ngx-lib/form';
8
8
  import { PepBreadCrumbItem, IPepBreadCrumbItemClickEvent } from '@pepperi-addons/ngx-lib/bread-crumbs';
@@ -34,6 +34,8 @@ export declare class GenericListComponent implements OnInit {
34
34
  emptyState: IPepGenericListEmptyState | undefined;
35
35
  selectionType: PepListSelectionType;
36
36
  supportSorting: boolean;
37
+ sorting: IPepListSortingData | undefined;
38
+ cacheSize: number;
37
39
  hideSelectAll: boolean;
38
40
  pager: IPepGenericListPager;
39
41
  tableViewType: PepListTableViewType;
@@ -103,5 +105,5 @@ export declare class GenericListComponent implements OnInit {
103
105
  onFiltersChange(filters: IPepSmartFilterData[]): void;
104
106
  ngOnDestroy(): void;
105
107
  static ɵfac: i0.ɵɵFactoryDeclaration<GenericListComponent, never>;
106
- static ɵcmp: i0.ɵɵComponentDeclaration<GenericListComponent, "pep-generic-list", never, { "dataSource": "dataSource"; "actions": "actions"; "uuidMapping": "uuidMapping"; "disabled": "disabled"; "addPadding": "addPadding"; "title": "title"; "description": "description"; "inline": "inline"; "showSearch": "showSearch"; "noDataFoundMsg": "noDataFoundMsg"; "emptyState": "emptyState"; "selectionType": "selectionType"; "supportSorting": "supportSorting"; "hideSelectAll": "hideSelectAll"; "pager": "pager"; "tableViewType": "tableViewType"; "zebraStripes": "zebraStripes"; "smartFilter": "smartFilter"; "showTopBar": "showTopBar"; "breadCrumbsItems": "breadCrumbsItems"; }, { "fieldClick": "fieldClick"; "valueChange": "valueChange"; "breadCrumbItemClick": "breadCrumbItemClick"; }, never, ["[left-buttons]", "[right-buttons]"], false>;
108
+ static ɵcmp: i0.ɵɵComponentDeclaration<GenericListComponent, "pep-generic-list", never, { "dataSource": "dataSource"; "actions": "actions"; "uuidMapping": "uuidMapping"; "disabled": "disabled"; "addPadding": "addPadding"; "title": "title"; "description": "description"; "inline": "inline"; "showSearch": "showSearch"; "noDataFoundMsg": "noDataFoundMsg"; "emptyState": "emptyState"; "selectionType": "selectionType"; "supportSorting": "supportSorting"; "sorting": "sorting"; "cacheSize": "cacheSize"; "hideSelectAll": "hideSelectAll"; "pager": "pager"; "tableViewType": "tableViewType"; "zebraStripes": "zebraStripes"; "smartFilter": "smartFilter"; "showTopBar": "showTopBar"; "breadCrumbsItems": "breadCrumbsItems"; }, { "fieldClick": "fieldClick"; "valueChange": "valueChange"; "breadCrumbItemClick": "breadCrumbItemClick"; }, never, ["[left-buttons]", "[right-buttons]"], false>;
107
109
  }