@pepperi-addons/ngx-composite-lib 0.4.2-beta.202 → 0.4.2-beta.203

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.
Files changed (75) hide show
  1. package/esm2020/asset-picker-button/asset-picker-button.component.mjs +1 -1
  2. package/esm2020/color-settings/color-settings.component.mjs +1 -1
  3. package/esm2020/file-status-panel/file-status-panel.component.mjs +94 -29
  4. package/esm2020/generic-fields-builder/flow-field/flow-field.component.mjs +110 -0
  5. package/esm2020/generic-fields-builder/generic-fields-builder.component.mjs +270 -18
  6. package/esm2020/generic-fields-builder/generic-fields-builder.model.mjs +2 -0
  7. package/esm2020/generic-fields-builder/generic-fields-builder.module.mjs +35 -7
  8. package/esm2020/generic-fields-builder/public-api.mjs +2 -1
  9. package/esm2020/generic-list/generic-list.component.mjs +26 -7
  10. package/esm2020/generic-list/generic-list.service.mjs +3 -2
  11. package/esm2020/icon-picker/icon-picker.component.mjs +1 -1
  12. package/esm2020/layout-builder/main-editor/main-editor.component.mjs +1 -1
  13. package/esm2020/layout-builder/section-editor/section-editor.component.mjs +1 -1
  14. package/esm2020/layout-builder2/layout-builder.component.mjs +3 -3
  15. package/esm2020/layout-builder2/main-editor/main-editor.component.mjs +1 -1
  16. package/esm2020/layout-builder2/section-block/section-block.component.mjs +3 -3
  17. package/esm2020/layout-builder2/section-editor/section-editor.component.mjs +1 -1
  18. package/esm2020/manage-parameters/manage-parameters.component.mjs +1 -1
  19. package/esm2020/mapping-parameters/mapping-parameters.component.mjs +1 -1
  20. package/esm2020/mapping-parameters/param-map/param-map.component.mjs +1 -1
  21. package/esm2020/padding-settings/padding-settings.component.mjs +1 -1
  22. package/esm2020/shadow-settings/shadow-settings.component.mjs +1 -1
  23. package/fesm2015/pepperi-addons-ngx-composite-lib-asset-picker-button.mjs.map +1 -1
  24. package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.mjs +1 -1
  25. package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.mjs.map +1 -1
  26. package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +91 -28
  27. package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.mjs.map +1 -1
  28. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-fields-builder.mjs +413 -23
  29. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-fields-builder.mjs.map +1 -1
  30. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.mjs +28 -7
  31. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.mjs.map +1 -1
  32. package/fesm2015/pepperi-addons-ngx-composite-lib-icon-picker.mjs +1 -1
  33. package/fesm2015/pepperi-addons-ngx-composite-lib-icon-picker.mjs.map +1 -1
  34. package/fesm2015/pepperi-addons-ngx-composite-lib-layout-builder.mjs +2 -2
  35. package/fesm2015/pepperi-addons-ngx-composite-lib-layout-builder.mjs.map +1 -1
  36. package/fesm2015/pepperi-addons-ngx-composite-lib-layout-builder2.mjs +6 -6
  37. package/fesm2015/pepperi-addons-ngx-composite-lib-layout-builder2.mjs.map +1 -1
  38. package/fesm2015/pepperi-addons-ngx-composite-lib-manage-parameters.mjs +1 -1
  39. package/fesm2015/pepperi-addons-ngx-composite-lib-manage-parameters.mjs.map +1 -1
  40. package/fesm2015/pepperi-addons-ngx-composite-lib-mapping-parameters.mjs.map +1 -1
  41. package/fesm2015/pepperi-addons-ngx-composite-lib-padding-settings.mjs +1 -1
  42. package/fesm2015/pepperi-addons-ngx-composite-lib-padding-settings.mjs.map +1 -1
  43. package/fesm2015/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +1 -1
  44. package/fesm2015/pepperi-addons-ngx-composite-lib-shadow-settings.mjs.map +1 -1
  45. package/fesm2020/pepperi-addons-ngx-composite-lib-asset-picker-button.mjs.map +1 -1
  46. package/fesm2020/pepperi-addons-ngx-composite-lib-color-settings.mjs +1 -1
  47. package/fesm2020/pepperi-addons-ngx-composite-lib-color-settings.mjs.map +1 -1
  48. package/fesm2020/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +93 -28
  49. package/fesm2020/pepperi-addons-ngx-composite-lib-file-status-panel.mjs.map +1 -1
  50. package/fesm2020/pepperi-addons-ngx-composite-lib-generic-fields-builder.mjs +406 -23
  51. package/fesm2020/pepperi-addons-ngx-composite-lib-generic-fields-builder.mjs.map +1 -1
  52. package/fesm2020/pepperi-addons-ngx-composite-lib-generic-list.mjs +27 -7
  53. package/fesm2020/pepperi-addons-ngx-composite-lib-generic-list.mjs.map +1 -1
  54. package/fesm2020/pepperi-addons-ngx-composite-lib-icon-picker.mjs +1 -1
  55. package/fesm2020/pepperi-addons-ngx-composite-lib-icon-picker.mjs.map +1 -1
  56. package/fesm2020/pepperi-addons-ngx-composite-lib-layout-builder.mjs +2 -2
  57. package/fesm2020/pepperi-addons-ngx-composite-lib-layout-builder.mjs.map +1 -1
  58. package/fesm2020/pepperi-addons-ngx-composite-lib-layout-builder2.mjs +6 -6
  59. package/fesm2020/pepperi-addons-ngx-composite-lib-layout-builder2.mjs.map +1 -1
  60. package/fesm2020/pepperi-addons-ngx-composite-lib-manage-parameters.mjs +1 -1
  61. package/fesm2020/pepperi-addons-ngx-composite-lib-manage-parameters.mjs.map +1 -1
  62. package/fesm2020/pepperi-addons-ngx-composite-lib-mapping-parameters.mjs.map +1 -1
  63. package/fesm2020/pepperi-addons-ngx-composite-lib-padding-settings.mjs +1 -1
  64. package/fesm2020/pepperi-addons-ngx-composite-lib-padding-settings.mjs.map +1 -1
  65. package/fesm2020/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +1 -1
  66. package/fesm2020/pepperi-addons-ngx-composite-lib-shadow-settings.mjs.map +1 -1
  67. package/file-status-panel/file-status-panel.component.d.ts +17 -5
  68. package/generic-fields-builder/flow-field/flow-field.component.d.ts +51 -0
  69. package/generic-fields-builder/generic-fields-builder.component.d.ts +34 -14
  70. package/generic-fields-builder/generic-fields-builder.model.d.ts +20 -0
  71. package/generic-fields-builder/generic-fields-builder.module.d.ts +19 -13
  72. package/generic-fields-builder/public-api.d.ts +1 -0
  73. package/generic-list/generic-list.component.d.ts +5 -2
  74. package/package.json +2 -2
  75. package/src/assets/i18n/en.ngx-composite-lib.json +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-fields-builder.mjs","sources":["../../../projects/ngx-composite-lib/generic-fields-builder/generic-fields-builder.service.ts","../../../projects/ngx-composite-lib/generic-fields-builder/field-container/field-container.component.ts","../../../projects/ngx-composite-lib/generic-fields-builder/field-container/field-container.component.html","../../../projects/ngx-composite-lib/generic-fields-builder/generic-fields-builder.component.ts","../../../projects/ngx-composite-lib/generic-fields-builder/generic-fields-builder.component.html","../../../projects/ngx-composite-lib/generic-fields-builder/generic-fields-builder.module.ts","../../../projects/ngx-composite-lib/generic-fields-builder/public-api.ts","../../../projects/ngx-composite-lib/generic-fields-builder/pepperi-addons-ngx-composite-lib-generic-fields-builder.ts"],"sourcesContent":["import { CdkDragEnd, CdkDragStart } from '@angular/cdk/drag-drop';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { distinctUntilChanged, filter } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GenericFieldsBuilderService {\n \n // This subject is for is grabbing mode.\n private _isGrabbingSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n get isGrabbingChange$(): Observable<boolean> {\n return this._isGrabbingSubject.asObservable().pipe(distinctUntilChanged());\n }\n\n constructor() { \n //\n }\n\n private changeCursorOnDragStart() {\n document.body.classList.add('inheritCursors');\n document.body.style.cursor = 'grabbing';\n this._isGrabbingSubject.next(true);\n }\n\n private changeCursorOnDragEnd() {\n document.body.classList.remove('inheritCursors');\n document.body.style.cursor = 'unset';\n this._isGrabbingSubject.next(false);\n }\n \n onDragStart(event: CdkDragStart) {\n this.changeCursorOnDragStart();\n }\n\n onDragEnd(event: CdkDragEnd) {\n this.changeCursorOnDragEnd();\n }\n}\n","import { CdkDragDrop, CdkDragEnd, CdkDragStart, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { GenericFieldsBuilderService } from '../generic-fields-builder.service';\n\n@Component({\n selector: 'pep-field-container',\n templateUrl: './field-container.component.html',\n styleUrls: ['./field-container.component.scss']\n})\nexport class FieldContainerComponent implements OnInit {\n \n constructor(\n private genericFieldsBuilderService: GenericFieldsBuilderService\n ) {\n }\n\n ngOnInit() {\n //\n }\n}\n","<div class=\"mapped-field-container\" >\n <div class=\"field-wrapper\">\n <ng-content></ng-content>\n </div>\n</div>","import { CdkDragDrop, CdkDragEnd, CdkDragStart, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { IPepDraggableItem, IPepDraggableItemData } from '@pepperi-addons/ngx-lib/draggable-items';\nimport { GenericFieldsBuilderService } from './generic-fields-builder.service';\nimport { PepGuid } from '@pepperi-addons/ngx-lib';\n\nexport interface IPepGenericField {\n key: string,\n title: string,\n draggableItemData: IPepDraggableItemData\n [key: string]: any;\n}\n\nexport interface IPepGenericFieldAddedEvent {\n field: IPepGenericField,\n index: number,\n}\n\n@Component({\n selector: 'pep-generic-fields-builder',\n templateUrl: './generic-fields-builder.component.html',\n styleUrls: ['./generic-fields-builder.component.scss']\n})\nexport class GenericFieldsBuilderComponent implements OnInit {\n // @Input() title: string = '';\n @Input() builderTitle = '';\n @Input() builderTitleHint = '';\n @Input() showAddSeparator = true;\n @Input() itemKeyLabel = '';\n @Input() itemTitleLabel = '';\n @Input() setAddedFieldDataCallback: (() => void) | undefined;// Function | undefined = undefined;\n\n private _availableFields: Array<IPepDraggableItem> = [];\n @Input()\n set availableFields(value: Array<IPepDraggableItem>) {\n this._availableFields = value;\n }\n get availableFields(): Array<IPepDraggableItem> {\n return this._availableFields;\n }\n \n @Input() fieldTemplate: TemplateRef<any> | undefined = undefined;\n \n private _fields: IPepGenericField[] = [];\n @Input()\n set fields(value: IPepGenericField[]) {\n this._fields = value;\n }\n get fields() : IPepGenericField[] {\n return this._fields;\n }\n\n @Output()\n fieldsChange: EventEmitter<IPepGenericField[]> = new EventEmitter<IPepGenericField[]>();\n \n @Output()\n fieldAdd: EventEmitter<IPepGenericFieldAddedEvent> = new EventEmitter<IPepGenericFieldAddedEvent>();\n \n emptyDropAreaId = 'emptyDropArea';\n mappedFieldsId = 'mappedFields';\n isGrabbing = false;\n\n constructor(\n private genericFieldsBuilderService: GenericFieldsBuilderService\n ) {\n this.genericFieldsBuilderService.isGrabbingChange$.subscribe((value) => {\n this.isGrabbing = value;\n });\n }\n\n private notifyFieldsChange() {\n this.fieldsChange.emit(this._fields);\n }\n\n private addNewField(draggableItem: IPepDraggableItem, index: number) {\n // Add new menuField to the mappedFields.\n const field: IPepGenericField = { \n key: PepGuid.newGuid(), \n draggableItemData: draggableItem.data,\n title: draggableItem.title \n };\n\n this.spliceMappedFields(index, 0, field);\n this.fieldAdd.emit({field, index});\n }\n \n private spliceMappedFields(start: number, deleteCount: number, field?: any) {\n if (field) {\n this._fields.splice(start, deleteCount, field);\n } else {\n this._fields.splice(start, deleteCount);\n }\n\n this.notifyFieldsChange();\n }\n\n ngOnInit() {\n //\n }\n\n onDragStart(event: CdkDragStart) {\n this.genericFieldsBuilderService.onDragStart(event);\n }\n \n onDragEnd(event: CdkDragEnd) {\n this.genericFieldsBuilderService.onDragEnd(event);\n }\n\n onDropField(event: CdkDragDrop<any[]>) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n this.notifyFieldsChange();\n } else if (event.container.id === 'emptyDropArea') {\n this.addNewField(event.previousContainer.data[event.previousIndex], this.fields.length);\n } else {\n this.addNewField(event.previousContainer.data[event.previousIndex], event.currentIndex);\n }\n }\n}\n","<pep-page-layout >\n <ng-container pep-main-area>\n <div *ngIf=\"availableFields\" class=\"mapped-fields-container\">\n <div class=\"available-fields-side-area\">\n <pep-draggable-items [items]=\"availableFields\" [title]=\"'GENERIC_FIELDS_BUILDER.AVAILABLE_FIELDS' | translate\" titleType=\"with-bottom-border\" titleSizeType=\"md\"\n itemPlaceholderType=\"weak\" [showSearch]=\"true\" [dropAreaIds]=\"['emptyDropArea', 'mappedFields']\" (itemDragStarted)=\"onDragStart($event)\" (itemDragEnded)=\"onDragEnd($event)\">\n </pep-draggable-items>\n </div>\n <div pep-main-area class=\"mapped-fields-main-area\">\n <div class=\"mapped-fields-top-area pep-border-bottom\"\n [title]=\"builderTitle + ' ' + (builderTitleHint ? ('(' + builderTitleHint + ')') : '')\">\n <span class=\"title-md\">{{ builderTitle }}&nbsp;</span>\n <span *ngIf=\"builderTitleHint\" class=\"color-dimmed\">({{ builderTitleHint }})</span>\n </div>\n \n <div class=\"fields-area\">\n <ng-container *ngIf=\"fields === null || fields.length === 0; then emptyTemplate; else notEmptyTemplate\"></ng-container>\n <ng-template #emptyTemplate>\n <div [id]=\"emptyDropAreaId\" class=\"drop-field-here-area\" cdkDropList (cdkDropListDropped)=\"onDropField($event)\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"arrow_down_alt\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">\n {{ 'GENERIC_FIELDS_BUILDER.EMPTY_DROP_AREA_TEXT' | translate }}\n </span> \n </div>\n </ng-template>\n <ng-template #notEmptyTemplate>\n <div [id]=\"mappedFieldsId\" class=\"mapped-fields-area\" [ngClass]=\"{ 'no-row-gap': !isGrabbing }\"\n cdkDropList [cdkDropListData]=\"fields\" (cdkDropListDropped)=\"onDropField($event)\">\n <ng-container *ngFor=\"let field of fields; let i = index\" >\n <pep-field-container cdkDrag (cdkDragStarted)=\"onDragStart($event)\" (cdkDragEnded)=\"onDragEnd($event)\">\n <ng-container *ngTemplateOutlet=\"fieldTemplate || defaultTemplate; context: { field: field, index: i }\"></ng-container>\n </pep-field-container>\n <!-- <div class=\"mapped-field-container\" \n cdkDrag (cdkDragStarted)=\"onDragStart($event)\" (cdkDragEnded)=\"onDragEnd($event)\">\n \n <div class=\"field-wrapper\">\n <ng-container *ngTemplateOutlet=\"fieldTemplate || defaultTemplate; context: { field: field, index: i }\"></ng-container>\n </div>\n </div> -->\n </ng-container>\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n</pep-page-layout>\n\n<ng-template #defaultTemplate let-field=\"field\" let-index=\"index\">\n {{ 'GENERIC_FIELDS_BUILDER.TEMPLATE_NOT_SUPPLIED' | translate: { fieldTitle: field.title || field.key } }}\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepDraggableItemsModule } from '@pepperi-addons/ngx-lib/draggable-items';\nimport { PepIconRegistry, PepIconModule, pepIconSystemClose, pepIconArrowDownAlt, pepIconSystemBin, pepIconNumberPlus } from '@pepperi-addons/ngx-lib/icon';\n\nimport { GenericFieldsBuilderService } from './generic-fields-builder.service';\n\nimport { GenericFieldsBuilderComponent } from './generic-fields-builder.component';\nimport { FieldContainerComponent } from './field-container/field-container.component';\n\nconst pepIcons = [\n pepIconSystemClose,\n pepIconArrowDownAlt,\n pepIconSystemBin,\n pepIconNumberPlus\n];\n\n@NgModule({\n declarations: [\n GenericFieldsBuilderComponent,\n FieldContainerComponent\n ],\n imports: [\n CommonModule,\n DragDropModule,\n MatIconModule,\n PepNgxLibModule,\n PepButtonModule,\n PepDialogModule,\n PepIconModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTextboxModule,\n PepTopBarModule,\n PepDraggableItemsModule,\n ],\n exports: [GenericFieldsBuilderComponent],\n providers: [GenericFieldsBuilderService]\n})\nexport class PepGenericFieldsBuilderModule {\n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}\n","/*\n * Public API Surface of ngx-composite-lib/generic-fields-builder\n */\nexport * from './generic-fields-builder.module';\nexport * from './generic-fields-builder.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.GenericFieldsBuilderService","i5","i8.FieldContainerComponent"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-fields-builder.mjs","sources":["../../../projects/ngx-composite-lib/generic-fields-builder/generic-fields-builder.service.ts","../../../projects/ngx-composite-lib/generic-fields-builder/field-container/field-container.component.ts","../../../projects/ngx-composite-lib/generic-fields-builder/field-container/field-container.component.html","../../../projects/ngx-composite-lib/generic-fields-builder/flow-field/flow-field.component.ts","../../../projects/ngx-composite-lib/generic-fields-builder/flow-field/flow-field.component.html","../../../projects/ngx-composite-lib/generic-fields-builder/generic-fields-builder.component.ts","../../../projects/ngx-composite-lib/generic-fields-builder/generic-fields-builder.component.html","../../../projects/ngx-composite-lib/generic-fields-builder/generic-fields-builder.module.ts","../../../projects/ngx-composite-lib/generic-fields-builder/public-api.ts","../../../projects/ngx-composite-lib/generic-fields-builder/pepperi-addons-ngx-composite-lib-generic-fields-builder.ts"],"sourcesContent":["import { CdkDragEnd, CdkDragStart } from '@angular/cdk/drag-drop';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { distinctUntilChanged, filter } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GenericFieldsBuilderService {\n \n // This subject is for is grabbing mode.\n private _isGrabbingSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n get isGrabbingChange$(): Observable<boolean> {\n return this._isGrabbingSubject.asObservable().pipe(distinctUntilChanged());\n }\n\n constructor() { \n //\n }\n\n private changeCursorOnDragStart() {\n document.body.classList.add('inheritCursors');\n document.body.style.cursor = 'grabbing';\n this._isGrabbingSubject.next(true);\n }\n\n private changeCursorOnDragEnd() {\n document.body.classList.remove('inheritCursors');\n document.body.style.cursor = 'unset';\n this._isGrabbingSubject.next(false);\n }\n \n onDragStart(event: CdkDragStart) {\n this.changeCursorOnDragStart();\n }\n\n onDragEnd(event: CdkDragEnd) {\n this.changeCursorOnDragEnd();\n }\n}\n","import { CdkDragDrop, CdkDragEnd, CdkDragStart, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { GenericFieldsBuilderService } from '../generic-fields-builder.service';\n\n@Component({\n selector: 'pep-field-container',\n templateUrl: './field-container.component.html',\n styleUrls: ['./field-container.component.scss']\n})\nexport class FieldContainerComponent implements OnInit {\n \n constructor(\n private genericFieldsBuilderService: GenericFieldsBuilderService\n ) {\n }\n\n ngOnInit() {\n //\n }\n}\n","<div class=\"mapped-field-container\" >\n <div class=\"field-wrapper\">\n <ng-content></ng-content>\n </div>\n</div>","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { IPepButtonClickEvent } from '@pepperi-addons/ngx-lib/button';\nimport { IPepQueryBuilderField, IPepQueryItem, IPepQuerySection } from '@pepperi-addons/ngx-lib/query-builder';\nimport { FlowParam } from '@pepperi-addons/papi-sdk';\n\nimport { IPepGenericField } from '../generic-fields-builder.model';\n\nexport interface IGenericFlowRelation {\n AddonUUID?: string;\n Name?: string;\n}\n\nexport interface IGenericFlowLogicBlock {\n Name: string;\n Disabled: boolean;\n DisabledConditionFilter?: IPepQuerySection | IPepQueryItem;\n Configuration?: string;\n Relation?: IGenericFlowRelation;\n}\n\n@Component({\n selector: 'pep-generic-fields-flow-field',\n templateUrl: './flow-field.component.html',\n styleUrls: ['./flow-field.component.scss']\n})\nexport class FlowFieldComponent implements OnInit, OnChanges {\n @Input() field: IPepGenericField = { key: '', title: '' };\n @Input() disableIfParams: FlowParam[] = [];\n @Input() usedSingleUseLogicBlockRefs: Set<string> = new Set<string>();\n\n disableDuplicate = false;\n\n @Output() deleteBlockClicked: EventEmitter<IPepGenericField> = new EventEmitter<IPepGenericField>();\n @Output() editBlockClicked: EventEmitter<IPepGenericField> = new EventEmitter<IPepGenericField>();\n @Output() duplicateBlockClicked: EventEmitter<IPepGenericField> = new EventEmitter<IPepGenericField>();\n\n @Output() fieldChanged: EventEmitter<IPepGenericField> = new EventEmitter<IPepGenericField>();\n\n public showDisabledFilterBuilder = false;\n public data: {\n query: IPepQuerySection | IPepQueryItem;\n fields: IPepQueryBuilderField[];\n isValid: boolean;\n outputData: { query: IPepQuerySection | IPepQueryItem | null };\n } = {\n query: null as unknown as IPepQuerySection | IPepQueryItem,\n fields: [],\n isValid: true,\n outputData: { query: null }\n };\n\n constructor() {\n //\n }\n\n ngOnInit(): void {\n this.setDisableCondition();\n }\n\n get block(): IGenericFlowLogicBlock {\n return (this.field?.draggableItemData as unknown as IGenericFlowLogicBlock) ?? { Name: '', Disabled: false };\n }\n\n onDeleteBlock(event: IPepButtonClickEvent) {\n this.deleteBlockClicked.emit(this.field);\n }\n\n onDuplicateBlock(event: IPepButtonClickEvent) {\n this.duplicateBlockClicked.emit(this.field);\n }\n\n onEditBlock(event: IPepButtonClickEvent) {\n this.editBlockClicked.emit(this.field);\n }\n\n setDisableCondition() {\n this.data.fields = this.getDisableIfFields();\n\n const query = this.block?.DisabledConditionFilter || null;\n this.data.outputData.query = query;\n if (query) {\n this.data.query = query;\n }\n }\n\n showFilterCondition() {\n this.showDisabledFilterBuilder = !this.showDisabledFilterBuilder;\n }\n\n onDisableChange(event: boolean) {\n if (!event) {\n delete this.block.DisabledConditionFilter;\n this.showDisabledFilterBuilder = false;\n this.fieldChanged.emit(this.field);\n }\n }\n\n onQueryChange(event: IPepQuerySection | IPepQueryItem) {\n this.data.outputData.query = this.block.DisabledConditionFilter = (event || null);\n this.fieldChanged.emit(this.field);\n }\n\n onNameChange(value: string) {\n this.block.Name = value;\n this.fieldChanged.emit(this.field);\n }\n\n getDisableIfFields(): IPepQueryBuilderField[] {\n return (this.disableIfParams ?? []).map((param) => {\n return {\n FieldID: param.Name,\n Title: param.Name,\n FieldType: (param as { Type?: string }).Type ?? 'String'\n };\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.block && this.usedSingleUseLogicBlockRefs) {\n const { AddonUUID, Name } = (this.block.Relation as any) || {};\n const refKey = `${AddonUUID}|${Name}`;\n this.disableDuplicate = this.usedSingleUseLogicBlockRefs.has(refKey);\n }\n\n if (changes['field']) {\n this.setDisableCondition();\n }\n }\n}\n","<pep-show-if-badge [showIf]=\"!!data.outputData.query && block.Disabled\" [iconName]=\"'system_filter_2'\"></pep-show-if-badge>\n<div class=\"block-wrapper\">\n <pep-textbox [label]=\"'GENERIC_FIELDS_BUILDER.CHOSEN_BLOCK_NAME' | translate\" [(value)]=\"block.Name\" [class]=\"'pep-field-no-spacing'\" (valueChange)=\"onNameChange($event)\"></pep-textbox>\n <pep-button styleType=\"weak\" sizeType=\"md\" iconPosition=\"end\" iconName=\"system_edit\" [title]=\"'GENERIC_FIELDS_BUILDER.EDIT' | translate\" (buttonClick)=\"onEditBlock($event)\"></pep-button>\n <pep-button styleType=\"weak\" sizeType=\"md\" iconPosition=\"end\" iconName=\"system_copy\" [title]=\"'GENERIC_FIELDS_BUILDER.DUPLICATE' | translate\" (buttonClick)=\"onDuplicateBlock($event)\" [disabled]=\"disableDuplicate\"></pep-button>\n <pep-button styleType=\"weak\" sizeType=\"md\" iconPosition=\"end\" iconName=\"system_bin\" [title]=\"'GENERIC_FIELDS_BUILDER.DELETE' | translate\" (buttonClick)=\"onDeleteBlock($event)\"></pep-button>\n</div>\n<div class=\"disableFilterCont\">\n <div class=\"disableCondition\">\n <pep-checkbox\n [(value)]=\"block.Disabled\"\n [label]=\"'GENERIC_FIELDS_BUILDER.CHOSEN_BLOCK_DISABLED' | translate\"\n [class]=\"'checkbox-no-background'\"\n type=\"checkbox\"\n [renderTitle]=\"false\"\n (valueChange)=\"onDisableChange($event)\">\n </pep-checkbox>\n <pep-button\n sizeType=\"sm\"\n [disabled]=\"!block.Disabled\"\n [iconName]=\"(!showDisabledFilterBuilder ? 'arrow_down' : 'arrow_up')\"\n (buttonClick)=\"showFilterCondition()\">\n </pep-button>\n </div>\n <pep-query-builder [ngStyle]=\"{'display': showDisabledFilterBuilder ? 'block' : 'none'}\" \n [query]=\"data.query\" \n [fields]=\"data.fields\" \n (queryChange)=\"onQueryChange($event)\"\n (formValidationChange)=\"data.isValid=$event\">\n </pep-query-builder> \n</div>\n","import { CdkDragDrop, CdkDragEnd, CdkDragStart, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\nimport { DomSanitizer, type SafeHtml } from '@angular/platform-browser';\nimport { IPepDraggableItem } from '@pepperi-addons/ngx-lib/draggable-items';\nimport { GenericFieldsBuilderService } from './generic-fields-builder.service';\nimport { PepGuid } from '@pepperi-addons/ngx-lib';\nimport { PepAddonBlockLoaderService } from '@pepperi-addons/ngx-lib/remote-loader';\n\nimport {\n IPepGenericField,\n IPepGenericFieldAddedEvent,\n IPepGenericFieldRemovedEvent,\n PepGenericFieldsBuilderTemplateType\n} from './generic-fields-builder.model';\n\n@Component({\n selector: 'pep-generic-fields-builder',\n templateUrl: './generic-fields-builder.component.html',\n styleUrls: ['./generic-fields-builder.component.scss']\n})\nexport class GenericFieldsBuilderComponent implements OnInit {\n // @Input() title: string = '';\n @Input() builderTitle = '';\n @Input() builderTitleHint = '';\n @Input() showAddSeparator = true;\n @Input() itemKeyLabel = '';\n @Input() itemTitleLabel = '';\n @Input() setAddedFieldDataCallback: (() => void) | undefined;// Function | undefined = undefined;\n\n @Input() templateType: PepGenericFieldsBuilderTemplateType = 'generic';\n\n @Input() disableIfParams: Array<{ Name: string; Type?: string }> = [];\n usedSingleUseLogicBlockRefs: Set<string> = new Set<string>();\n private singleUseLogicBlockKeys: Set<string> = new Set<string>();\n\n private _availableFields: Array<IPepDraggableItem> = [];\n @Input()\n set availableFields(value: Array<IPepDraggableItem>) {\n this._availableFields = value;\n\n const titles = new Map<string, string>();\n (value ?? []).forEach((item) => {\n const data = item?.data as { key?: string; FieldID?: string } | undefined;\n const fieldKey = data?.key ?? data?.FieldID;\n if (fieldKey) {\n titles.set(fieldKey, item.title);\n }\n });\n this._availableFieldsTitles = titles;\n\n this.singleUseLogicBlockKeys = new Set(\n (value ?? [])\n .filter(item => !!(item?.data as any)?.singleUse)\n .map(item => this.getLogicBlockRefKeyFromAvailableField(item))\n .filter((key): key is string => !!key)\n );\n\n this.recomputeUsedSingleUseLogicBlockRefs();\n }\n\n get availableFieldsTitles(): Map<string, string> {\n return this._availableFieldsTitles;\n }\n get availableFields(): Array<IPepDraggableItem> {\n if (this.templateType !== 'flow' || this.usedSingleUseLogicBlockRefs.size === 0) {\n return this._availableFields;\n }\n\n return this._availableFields.filter(item => {\n const key = this.getLogicBlockRefKeyFromAvailableField(item);\n return !key || !this.usedSingleUseLogicBlockRefs.has(key);\n });\n }\n \n @Input() fieldTemplate: TemplateRef<any> | undefined = undefined;\n\n @Input() fieldContentCallback: ((field: IPepGenericField, index: number) => string) | undefined = undefined;\n \n private _fields: IPepGenericField[] = [];\n @Input()\n set fields(value: IPepGenericField[]) {\n this._fields = value;\n this.recomputeUsedSingleUseLogicBlockRefs();\n }\n get fields() : IPepGenericField[] {\n return this._fields;\n }\n\n @Output()\n fieldsChange: EventEmitter<IPepGenericField[]> = new EventEmitter<IPepGenericField[]>();\n \n @Output()\n fieldAdd: EventEmitter<IPepGenericFieldAddedEvent> = new EventEmitter<IPepGenericFieldAddedEvent>();\n\n @Output()\n fieldRemove: EventEmitter<IPepGenericFieldRemovedEvent> = new EventEmitter<IPepGenericFieldRemovedEvent>();\n \n emptyDropAreaId = 'emptyDropArea';\n mappedFieldsId = 'mappedFields';\n isGrabbing = false;\n\n private _availableFieldsTitles: Map<string, string> = new Map<string, string>();\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private addonBlockLoaderService: PepAddonBlockLoaderService,\n private genericFieldsBuilderService: GenericFieldsBuilderService,\n private sanitizer: DomSanitizer\n ) {\n this.genericFieldsBuilderService.isGrabbingChange$.subscribe((value) => {\n this.isGrabbing = value;\n });\n }\n\n getFieldContent(field: IPepGenericField, index: number): SafeHtml {\n try {\n const html = this.fieldContentCallback?.(field, index) ?? '';\n return this.sanitizer.bypassSecurityTrustHtml(html);\n } catch {\n return '';\n }\n }\n\n private notifyFieldsChange() {\n this.fieldsChange.emit(this._fields);\n }\n\n private getLogicBlockRefKeyFromAvailableField(item: IPepDraggableItem): string | null {\n const data = item?.data as any;\n const addonUUID = data?.addonUUID ?? data?.AddonUUID;\n const name = data?.relationName ?? data?.Name ?? item?.title;\n\n if (!addonUUID || !name) {\n return null;\n }\n\n return `${addonUUID}|${name}`;\n }\n\n private getLogicBlockRefKeyFromMappedField(field: IPepGenericField): string | null {\n const relation = (field as any)?.Relation ?? (field as any)?.draggableItemData?.Relation;\n const addonUUID = relation?.AddonUUID;\n const name = relation?.Name;\n\n if (!addonUUID || !name) {\n return null;\n }\n\n return `${addonUUID}|${name}`;\n }\n\n private recomputeUsedSingleUseLogicBlockRefs(): void {\n this.usedSingleUseLogicBlockRefs.clear();\n\n if (this.singleUseLogicBlockKeys.size === 0 || this._fields.length === 0) {\n return;\n }\n\n this._fields.forEach((field) => {\n const refKey = this.getLogicBlockRefKeyFromMappedField(field);\n if (refKey && this.singleUseLogicBlockKeys.has(refKey)) {\n this.usedSingleUseLogicBlockRefs.add(refKey);\n }\n });\n }\n\n onInnerFieldsChange(fields: IPepGenericField[]) {\n this._fields = fields;\n this.notifyFieldsChange();\n }\n\n private cloneField(field: IPepGenericField): IPepGenericField {\n try {\n return JSON.parse(JSON.stringify(field)) as IPepGenericField;\n } catch {\n return { ...field };\n }\n }\n\n onDeleteGenericField(field: IPepGenericField) {\n const index = this._fields.findIndex(f => f === field);\n if (index > -1) {\n const removedField = this._fields[index];\n this.spliceMappedFields(index, 1);\n this.fieldRemove.emit({ field: removedField, index });\n }\n }\n\n onDuplicateGenericField(field: IPepGenericField) {\n const index = this._fields.findIndex(f => f === field);\n if (index > -1) {\n const draggableItemKey = (field?.draggableItemData as any)?.key ?? PepGuid.newGuid();\n const newField = {\n ...field,\n key: PepGuid.newGuid(),\n draggableItemData: {\n key: draggableItemKey,\n ...(field.draggableItemData || {})\n }\n };\n const blockName = (newField as any)?.draggableItemData?.Name;\n if (typeof blockName === 'string') {\n (newField as any).draggableItemData.Name = `${blockName}_copy`;\n } else {\n const name = (newField as any)?.Name;\n if (typeof name === 'string') {\n (newField as any).Name = `${name}_copy`;\n }\n }\n\n const newIndex = index + 1;\n this.spliceMappedFields(newIndex, 0, newField);\n this.fieldAdd.emit({ field: newField, index: newIndex });\n }\n }\n\n onEditFlowGenericField(field: IPepGenericField): void {\n if (this.templateType !== 'flow') {\n return;\n }\n\n const block = field?.draggableItemData as any;\n const addonUUID = block?.Relation?.AddonUUID;\n const name = block?.Relation?.Name;\n if (!addonUUID || !name) {\n return;\n }\n\n this.openLogicBlockConfigurationDialog({\n addonUUID,\n name,\n configuration: block?.Configuration ?? '{}',\n onSetConfiguration: (configuration: string) => {\n block.Configuration = configuration;\n this.notifyFieldsChange();\n }\n });\n }\n\n private addNewField(draggableItem: IPepDraggableItem, index: number) {\n // Add new menuField to the mappedFields.\n const field: IPepGenericField = { \n key: PepGuid.newGuid(), \n draggableItemData: draggableItem.data,\n title: draggableItem.title \n };\n\n this.spliceMappedFields(index, 0, field);\n this.fieldAdd.emit({field, index});\n }\n\n private getEventDataFields(): Record<string, any> {\n const result: Record<string, any> = {};\n (this.disableIfParams ?? []).forEach((param: any) => {\n const name = param?.Name;\n if (typeof name === 'string' && name.length > 0) {\n result[name] = {\n Type: param?.Type ?? 'String',\n DefaultValue: param?.DefaultValue,\n ObjectStructure: param?.ObjectStructure,\n };\n }\n });\n return result;\n }\n\n private openLogicBlockConfigurationDialog(options: {\n addonUUID: string;\n name: string;\n configuration: string;\n onSetConfiguration: (configuration: string) => void;\n }): void {\n const dialogRef = this.addonBlockLoaderService.loadAddonBlockInDialog({\n container: this.viewContainerRef,\n name: options.name,\n blockType: 'LogicBlock',\n addonUUID: options.addonUUID,\n size: 'regular',\n hostObject: {\n Configuration: options.configuration,\n EventData: this.getEventDataFields(),\n },\n hostEventsCallback: (event) => {\n if (!event) {\n return;\n }\n\n switch (event.type) {\n case 'close-dialog': {\n dialogRef?.close();\n break;\n }\n case 'set-configuration': {\n dialogRef?.close();\n options.onSetConfiguration(event.configuration);\n break;\n }\n }\n }\n });\n }\n\n private createFlowLogicBlockFromDraggableItem(draggableItem: IPepDraggableItem): any {\n const data = draggableItem?.data as any;\n\n const draggableItemKey = data?.key ?? PepGuid.newGuid();\n\n const addonUUID = data?.addonUUID ?? data?.AddonUUID;\n const relationName = data?.relationName ?? data?.Name ?? draggableItem?.title;\n const executionURL = data?.blockExecutionRelativeURL ?? data?.ExecutionURL;\n\n return {\n key: draggableItemKey,\n Name: draggableItem.title,\n Disabled: false,\n DisabledConditionFilter: null,\n Configuration: '{}',\n Type: 'LogicBlock',\n Relation: {\n AddonUUID: addonUUID,\n Name: relationName,\n ExecutionURL: executionURL,\n },\n };\n }\n\n private addNewFlowFieldWithDialog(draggableItem: IPepDraggableItem, index: number): void {\n const block = this.createFlowLogicBlockFromDraggableItem(draggableItem);\n const addonUUID = block?.Relation?.AddonUUID;\n const name = block?.Relation?.Name;\n\n if (!addonUUID || !name) {\n return;\n }\n\n const field: IPepGenericField = {\n key: PepGuid.newGuid(),\n title: draggableItem.title,\n draggableItemData: block,\n };\n\n this.openLogicBlockConfigurationDialog({\n addonUUID,\n name,\n configuration: block?.Configuration ?? '{}',\n onSetConfiguration: (configuration: string) => {\n block.Configuration = configuration;\n this.spliceMappedFields(index, 0, field);\n this.fieldAdd.emit({ field, index });\n }\n });\n }\n \n private spliceMappedFields(start: number, deleteCount: number, field?: any) {\n if (field) {\n this._fields.splice(start, deleteCount, field);\n } else {\n this._fields.splice(start, deleteCount);\n }\n\n this.recomputeUsedSingleUseLogicBlockRefs();\n this.notifyFieldsChange();\n }\n\n ngOnInit() {\n //\n }\n\n onDragStart(event: CdkDragStart) {\n this.genericFieldsBuilderService.onDragStart(event);\n }\n\n onDragEnd(event: CdkDragEnd) {\n this.genericFieldsBuilderService.onDragEnd(event);\n }\n\n onDropField(event: CdkDragDrop<any[]>) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n this.notifyFieldsChange();\n } else if (event.container.id === 'emptyDropArea') {\n const item = event.previousContainer.data[event.previousIndex];\n const index = this.fields.length;\n if (this.templateType === 'flow') {\n this.addNewFlowFieldWithDialog(item, index);\n } else {\n this.addNewField(item, index);\n }\n } else {\n const item = event.previousContainer.data[event.previousIndex];\n const index = event.currentIndex;\n if (this.templateType === 'flow') {\n this.addNewFlowFieldWithDialog(item, index);\n } else {\n this.addNewField(item, index);\n }\n }\n }\n}\n","<pep-page-layout >\n <ng-container pep-main-area>\n <div *ngIf=\"availableFields\" class=\"mapped-fields-container\">\n <div class=\"available-fields-side-area\">\n <pep-draggable-items [items]=\"availableFields\" [title]=\"'GENERIC_FIELDS_BUILDER.AVAILABLE_FIELDS' | translate\" titleType=\"with-bottom-border\" titleSizeType=\"md\"\n itemPlaceholderType=\"weak\" [showSearch]=\"true\" [dropAreaIds]=\"['emptyDropArea', 'mappedFields']\" (itemDragStarted)=\"onDragStart($event)\" (itemDragEnded)=\"onDragEnd($event)\">\n </pep-draggable-items>\n </div>\n <div pep-main-area class=\"mapped-fields-main-area\">\n <div class=\"mapped-fields-top-area pep-border-bottom\"\n [title]=\"builderTitle + ' ' + (builderTitleHint ? ('(' + builderTitleHint + ')') : '')\">\n <span class=\"title-md\">{{ builderTitle }}&nbsp;</span>\n <span *ngIf=\"builderTitleHint\" class=\"color-dimmed\">({{ builderTitleHint }})</span>\n </div>\n \n <div class=\"fields-area\">\n <ng-container *ngIf=\"fields === null || fields.length === 0; then emptyTemplate; else notEmptyTemplate\"></ng-container>\n <ng-template #emptyTemplate>\n <div [id]=\"emptyDropAreaId\" class=\"drop-field-here-area\" cdkDropList (cdkDropListDropped)=\"onDropField($event)\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon name=\"arrow_down_alt\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\">\n {{ 'GENERIC_FIELDS_BUILDER.EMPTY_DROP_AREA_TEXT' | translate }}\n </span> \n </div>\n </ng-template>\n <ng-template #notEmptyTemplate>\n <div [id]=\"mappedFieldsId\" class=\"mapped-fields-area\" [ngClass]=\"{ 'no-row-gap': !isGrabbing }\"\n cdkDropList [cdkDropListData]=\"fields\" (cdkDropListDropped)=\"onDropField($event)\">\n <ng-container *ngFor=\"let field of fields; let i = index\" >\n <pep-field-container cdkDrag (cdkDragStarted)=\"onDragStart($event)\" (cdkDragEnded)=\"onDragEnd($event)\">\n <pep-generic-fields-flow-field *ngIf=\"templateType === 'flow'\"\n [field]=\"$any(field)\"\n [disableIfParams]=\"$any(disableIfParams)\"\n [usedSingleUseLogicBlockRefs]=\"usedSingleUseLogicBlockRefs\"\n (deleteBlockClicked)=\"onDeleteGenericField($any($event))\"\n (editBlockClicked)=\"onEditFlowGenericField($any($event))\"\n (duplicateBlockClicked)=\"onDuplicateGenericField($any($event))\"\n (fieldChanged)=\"onInnerFieldsChange(fields)\">\n </pep-generic-fields-flow-field>\n <ng-container *ngIf=\"templateType !== 'flow'\">\n <ng-container *ngTemplateOutlet=\"fieldTemplate || defaultTemplate; context: { field: field, index: i }\"></ng-container>\n </ng-container>\n </pep-field-container>\n </ng-container>\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n </ng-container>\n</pep-page-layout>\n\n<ng-template #defaultTemplate let-field=\"field\" let-index=\"index\">\n <ng-container *ngIf=\"fieldContentCallback; else noTemplateText\">\n <div [innerHTML]=\"getFieldContent(field, index)\"></div>\n </ng-container>\n <ng-template #noTemplateText>\n {{ 'GENERIC_FIELDS_BUILDER.TEMPLATE_NOT_SUPPLIED' | translate: { fieldTitle: field.title || field.key } }}\n </ng-template>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepDraggableItemsModule } from '@pepperi-addons/ngx-lib/draggable-items';\nimport { PepCheckboxModule } from '@pepperi-addons/ngx-lib/checkbox';\nimport { PepQueryBuilderModule } from '@pepperi-addons/ngx-lib/query-builder';\nimport { PepRemoteLoaderModule } from '@pepperi-addons/ngx-lib/remote-loader';\n\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n PepIconRegistry,\n PepIconModule,\n pepIconArrowDown,\n pepIconArrowDownAlt,\n pepIconArrowUp,\n pepIconNumberPlus,\n pepIconSystemBin,\n pepIconSystemClose,\n pepIconSystemCopy,\n pepIconSystemEdit,\n pepIconSystemFilter2\n} from '@pepperi-addons/ngx-lib/icon';\n\nimport { GenericFieldsBuilderService } from './generic-fields-builder.service';\n\nimport { GenericFieldsBuilderComponent } from './generic-fields-builder.component';\nimport { FieldContainerComponent } from './field-container/field-container.component';\nimport { FlowFieldComponent } from './flow-field/flow-field.component';\nimport { PepShowIfBadgeModule } from '@pepperi-addons/ngx-composite-lib/show-if-badge';\n\nconst pepIcons = [\n pepIconSystemClose,\n pepIconArrowDownAlt,\n pepIconSystemBin,\n pepIconNumberPlus,\n pepIconSystemEdit,\n pepIconSystemCopy,\n pepIconArrowDown,\n pepIconArrowUp,\n pepIconSystemFilter2\n];\n\n@NgModule({\n declarations: [\n GenericFieldsBuilderComponent,\n FieldContainerComponent,\n FlowFieldComponent\n ],\n imports: [\n CommonModule,\n DragDropModule,\n MatIconModule,\n PepNgxLibModule,\n PepButtonModule,\n PepCheckboxModule,\n PepDialogModule,\n PepIconModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepQueryBuilderModule,\n PepRemoteLoaderModule,\n PepShowIfBadgeModule,\n PepTextboxModule,\n PepTopBarModule,\n PepDraggableItemsModule,\n TranslateModule.forChild(),\n ],\n exports: [GenericFieldsBuilderComponent],\n providers: [GenericFieldsBuilderService]\n})\nexport class PepGenericFieldsBuilderModule {\n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}\n","/*\n * Public API Surface of ngx-composite-lib/generic-fields-builder\n */\nexport * from './generic-fields-builder.module';\nexport * from './generic-fields-builder.component';\nexport * from './generic-fields-builder.model';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.GenericFieldsBuilderService","i1","i4","i2.GenericFieldsBuilderService","i3","i5","i6","i7","i10.FieldContainerComponent","i11.FlowFieldComponent","i12"],"mappings":"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"}
@@ -172,7 +172,8 @@ class PepGenericListService {
172
172
  FieldID: field.FieldID,
173
173
  FieldType: field.Type,
174
174
  Title: field.Title,
175
- OptionalValues: field.OptionalValues
175
+ OptionalValues: field.OptionalValues,
176
+ isOpen: field.isOpen
176
177
  };
177
178
  });
178
179
  const smartFilterfields = this._queryBuilderService.convertToSmartFilterFields(fields);
@@ -258,6 +259,7 @@ class GenericListComponent {
258
259
  this.breadCrumbItemClick = new EventEmitter();
259
260
  this.startIndexChange = new EventEmitter();
260
261
  this.listLoad = new EventEmitter();
262
+ this.sideBarStateChange = new EventEmitter();
261
263
  this._resize$ = new Subscription();
262
264
  this._loader$ = new Subscription();
263
265
  this._dataView = {
@@ -277,6 +279,7 @@ class GenericListComponent {
277
279
  this._sorting = undefined;
278
280
  this.menuHandlers = {};
279
281
  this.menuActions = [];
282
+ this.menuActionsRequestId = 0;
280
283
  this.screenSize = PepScreenSizeType.SM;
281
284
  this.PepScreenSizeType = PepScreenSizeType;
282
285
  this.searchStateIsOpen = false;
@@ -508,27 +511,38 @@ class GenericListComponent {
508
511
  }
509
512
  loadMenuItems() {
510
513
  var _a;
514
+ const requestId = ++this.menuActionsRequestId;
515
+ this.menuHandlers = {};
516
+ this.menuActions = [];
511
517
  if (((_a = this.listInputs) === null || _a === void 0 ? void 0 : _a.selectionType) !== 'none') {
512
- this.getMenuActions().then(x => this.menuActions = x);
518
+ this.getMenuActions().then(({ actions, handlers }) => {
519
+ if (requestId === this.menuActionsRequestId) {
520
+ this.menuHandlers = handlers;
521
+ this.menuActions = actions;
522
+ }
523
+ });
513
524
  }
514
525
  }
515
526
  getMenuActions() {
516
527
  return __awaiter(this, void 0, void 0, function* () {
517
528
  const res = [];
529
+ const handlers = {};
518
530
  const result = this.getMenuObjects();
519
531
  if (result.success) {
520
532
  const actions = yield this._actions.get(result.data);
521
- this.menuHandlers = {};
522
533
  actions === null || actions === void 0 ? void 0 : actions.forEach(item => {
523
534
  const uuid = PepGuid.newGuid();
524
- this.menuHandlers[uuid] = item.handler;
535
+ handlers[uuid] = item.handler;
525
536
  res.push({
526
537
  key: uuid,
527
538
  text: item.title
528
539
  });
529
540
  });
530
541
  }
531
- return res;
542
+ return {
543
+ actions: res,
544
+ handlers
545
+ };
532
546
  });
533
547
  }
534
548
  getMenuObjects() {
@@ -691,16 +705,21 @@ class GenericListComponent {
691
705
  onListLoad() {
692
706
  this.listLoad.emit();
693
707
  }
708
+ onSideBarStateChange(event) {
709
+ var _a;
710
+ this.sideBarStateChange.emit(event);
711
+ (_a = this.pepList) === null || _a === void 0 ? void 0 : _a.onWinResize(event);
712
+ }
694
713
  openSideBar() {
695
714
  var _a;
696
715
  (_a = this.sideBarComponent) === null || _a === void 0 ? void 0 : _a.open();
697
716
  }
698
717
  }
699
718
  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 }, { token: i1$1.PepSessionService }, { token: i1$1.PepCustomizationService }], target: i0.ɵɵFactoryTarget.Component });
700
- 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", sideBarTitle: "sideBarTitle", description: "description", inline: "inline", showSearch: "showSearch", noDataFoundMsg: "noDataFoundMsg", emptyState: "emptyState", selectionType: "selectionType", supportSorting: "supportSorting", supportSortingFields: "supportSortingFields", separator: "separator", sorting: "sorting", cacheSize: "cacheSize", hideSelectAll: "hideSelectAll", pager: "pager", tableViewType: "tableViewType", zebraStripes: "zebraStripes", smartFilter: "smartFilter", showTopBar: "showTopBar", breadCrumbsItems: "breadCrumbsItems", selectAll: "selectAll", scrollPosition: "scrollPosition", unknownCount: "unknownCount" }, outputs: { itemClick: "itemClick", fieldClick: "fieldClick", valueChange: "valueChange", breadCrumbItemClick: "breadCrumbItemClick", startIndexChange: "startIndexChange", listLoad: "listLoad" }, providers: [PepGenericListService], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true }, { propertyName: "smartFiltersComponent", first: true, predicate: ["smartFiltersComponent"], descendants: true }, { propertyName: "sideBarComponent", first: true, predicate: ["sideBar"], 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>\n <ng-container *ngTemplateOutlet=\"sideBarTemplate\"></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 pep-side-area>\n <ng-container *ngTemplateOutlet=\"sideBarTemplate\"></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]=\"searchOpenOnSmallDevice ? '' : title\" [inline]=\"inline\">\n <div *ngIf=\"!searchOpenOnSmallDevice\" header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div *ngIf=\"!searchOpenOnSmallDevice\" header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <pep-list-actions *ngIf=\"!searchOpenOnSmallDevice && menuActions.length > 0 && !showEmptyState\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total *ngIf=\"!searchOpenOnSmallDevice && screenSize <= PepScreenSizeType.SM\" [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\" [unknownCount]=\"unknownCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\" (stateChange)=\"onSearchStateChange($event)\">\n </pep-search>\n <div *ngIf=\"!inline\" class=\"pep-spacing-element-negative\" footer-start-content>\n <ng-container *ngIf=\"sideBarComponent && screenSize >= PepScreenSizeType.MD \">\n <pep-button class=\"back-button pep-spacing-element\" sizeType=\"md\" [iconName]=\"showSmartFilter ? 'system_filter' : 'system_info'\" \n [value]=\"openSideBarButtonValue\" iconPosition=\"start\" (buttonClick)=\"openSideBar();\"></pep-button>\n </ng-container>\n <ng-content select=\"[left-bottom-area]\">\n </ng-content> \n <pep-list-total *ngIf=\"screenSize > PepScreenSizeType.SM\" class=\"pep-spacing-element\" [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\" [unknownCount]=\"unknownCount\">\n </pep-list-total> \n </div>\n <div *ngIf=\"!inline\" footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #sideBarTemplate> \n <pep-side-bar *ngIf=\"showSideBar\" #sideBar [ngClass]=\"{'smart-filter-area': inline}\" >\n <div *ngIf=\"!inline && screenSize >= PepScreenSizeType.MD\" class=\"pep-spacing-element floating-side-bar-title ellipsis title-lg\" header-content>\n <span class=\"title\" [title]=\"sideBarTitle || title\">{{ sideBarTitle || title }}</span>\n </div> \n <pep-smart-filters *ngIf=\"showSmartFilter\" #smartFiltersComponent [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>\n<pep-size-detector *ngIf=\"!onLoad\"></pep-size-detector>", styles: [":host{height:inherit;display:block}:host ::ng-deep pep-side-bar .pep-side-bar-container .mat-sidenav-container{top:0}.main-area-container{display:grid;height:inherit}.list-container{height:100%}.list-empty-state{padding-top:var(--pep-spacing-lg, 1rem);height:calc(100% - var(--pep-spacing-lg, 1rem));min-height:7rem;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)}.none-inline .floating-side-bar-title{display:inline-flex;align-items:center}.none-inline .floating-side-bar-title .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i6.PepListActionsComponent, selector: "pep-list-actions", inputs: ["actions", "sizeType", "xPosition", "hidden"], outputs: ["actionClick", "stateChange", "menuClick"] }, { kind: "component", type: i6.PepListTotalComponent, selector: "pep-list-total", inputs: ["totalRows", "totalAmount", "isMapView", "sizeType", "unknownCount"] }, { kind: "component", type: i7.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { kind: "component", type: i8.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }, { kind: "component", type: i9.PepSideBarComponent, selector: "pep-side-bar", inputs: ["position", "ignoreResize", "showHeader", "showFooter", "showToggle", "stateType", "useAsWebComponent"], outputs: ["stateChange"] }, { kind: "component", type: i10.PepSearchComponent, selector: "pep-search", inputs: ["triggerOn", "autoCompleteTop", "autoCompleteValues", "shrink", "value", "searchControl", "useAsWebComponent", "sizeType"], outputs: ["search", "autocompleteChange", "stateChange"] }, { kind: "component", type: i11.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: i13.PepSmartFiltersComponent, selector: "pep-smart-filters", inputs: ["title", "filters", "fields", "useAsWebComponent"], outputs: ["filtersChange", "fieldToggleChange"] }, { kind: "component", type: i14.PepSizeDetectorComponent, selector: "pep-size-detector", inputs: ["showScreenSize", "useAsWebComponent"], outputs: ["sizeChange"] }] });
719
+ 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", sideBarTitle: "sideBarTitle", description: "description", inline: "inline", showSearch: "showSearch", noDataFoundMsg: "noDataFoundMsg", emptyState: "emptyState", selectionType: "selectionType", supportSorting: "supportSorting", supportSortingFields: "supportSortingFields", separator: "separator", sorting: "sorting", cacheSize: "cacheSize", hideSelectAll: "hideSelectAll", pager: "pager", tableViewType: "tableViewType", zebraStripes: "zebraStripes", smartFilter: "smartFilter", showTopBar: "showTopBar", breadCrumbsItems: "breadCrumbsItems", selectAll: "selectAll", scrollPosition: "scrollPosition", unknownCount: "unknownCount" }, outputs: { itemClick: "itemClick", fieldClick: "fieldClick", valueChange: "valueChange", breadCrumbItemClick: "breadCrumbItemClick", startIndexChange: "startIndexChange", listLoad: "listLoad", sideBarStateChange: "sideBarStateChange" }, providers: [PepGenericListService], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true }, { propertyName: "smartFiltersComponent", first: true, predicate: ["smartFiltersComponent"], descendants: true }, { propertyName: "sideBarComponent", first: true, predicate: ["sideBar"], 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>\n <ng-container *ngTemplateOutlet=\"sideBarTemplate\"></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 pep-side-area>\n <ng-container *ngTemplateOutlet=\"sideBarTemplate\"></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]=\"searchOpenOnSmallDevice ? '' : title\" [inline]=\"inline\">\n <div *ngIf=\"!searchOpenOnSmallDevice\" header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div *ngIf=\"!searchOpenOnSmallDevice\" header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <pep-list-actions *ngIf=\"!searchOpenOnSmallDevice && menuActions.length > 0 && !showEmptyState\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total *ngIf=\"!searchOpenOnSmallDevice && screenSize <= PepScreenSizeType.SM\" [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\" [unknownCount]=\"unknownCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\" (stateChange)=\"onSearchStateChange($event)\">\n </pep-search>\n <div *ngIf=\"!inline\" class=\"pep-spacing-element-negative\" footer-start-content>\n <ng-container *ngIf=\"showSideBar && screenSize >= PepScreenSizeType.MD \">\n <pep-button class=\"back-button pep-spacing-element\" sizeType=\"md\" [iconName]=\"showSmartFilter ? 'system_filter' : 'system_info'\" \n [value]=\"openSideBarButtonValue\" iconPosition=\"start\" (buttonClick)=\"openSideBar();\"></pep-button>\n </ng-container>\n <ng-content select=\"[left-bottom-area]\">\n </ng-content> \n <pep-list-total *ngIf=\"screenSize > PepScreenSizeType.SM\" class=\"pep-spacing-element\" [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\" [unknownCount]=\"unknownCount\">\n </pep-list-total> \n </div>\n <div *ngIf=\"!inline\" footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #sideBarTemplate> \n <pep-side-bar *ngIf=\"showSideBar\" #sideBar [ngClass]=\"{'smart-filter-area': inline}\" (stateChange)=\"onSideBarStateChange($event)\">\n <div *ngIf=\"!inline && screenSize >= PepScreenSizeType.MD\" class=\"pep-spacing-element floating-side-bar-title ellipsis title-lg\" header-content>\n <span class=\"title\" [title]=\"sideBarTitle || title\">{{ sideBarTitle || title }}</span>\n </div> \n <pep-smart-filters *ngIf=\"showSmartFilter\" #smartFiltersComponent [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>\n<pep-size-detector *ngIf=\"!onLoad\"></pep-size-detector>", styles: [":host{height:inherit;display:block}:host ::ng-deep pep-side-bar .pep-side-bar-container .mat-sidenav-container{top:0}.main-area-container{display:grid;height:inherit}.list-container{height:100%}.list-empty-state{padding-top:var(--pep-spacing-lg, 1rem);height:calc(100% - var(--pep-spacing-lg, 1rem));min-height:7rem;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)}.none-inline .floating-side-bar-title{display:inline-flex;align-items:center}.none-inline .floating-side-bar-title .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i6.PepListActionsComponent, selector: "pep-list-actions", inputs: ["actions", "sizeType", "xPosition", "hidden"], outputs: ["actionClick", "stateChange", "menuClick"] }, { kind: "component", type: i6.PepListTotalComponent, selector: "pep-list-total", inputs: ["totalRows", "totalAmount", "isMapView", "sizeType", "unknownCount"] }, { kind: "component", type: i7.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { kind: "component", type: i8.PepTopBarComponent, selector: "pep-top-bar", inputs: ["inline", "title"], outputs: ["footerStateChange"] }, { kind: "component", type: i9.PepSideBarComponent, selector: "pep-side-bar", inputs: ["position", "ignoreResize", "showHeader", "showFooter", "showToggle", "stateType", "useAsWebComponent"], outputs: ["stateChange"] }, { kind: "component", type: i10.PepSearchComponent, selector: "pep-search", inputs: ["triggerOn", "autoCompleteTop", "autoCompleteValues", "shrink", "value", "searchControl", "useAsWebComponent", "sizeType"], outputs: ["search", "autocompleteChange", "stateChange"] }, { kind: "component", type: i11.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: i13.PepSmartFiltersComponent, selector: "pep-smart-filters", inputs: ["title", "filters", "fields", "useAsWebComponent"], outputs: ["filtersChange", "fieldToggleChange"] }, { kind: "component", type: i14.PepSizeDetectorComponent, selector: "pep-size-detector", inputs: ["showScreenSize", "useAsWebComponent"], outputs: ["sizeChange"] }] });
701
720
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GenericListComponent, decorators: [{
702
721
  type: Component,
703
- 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>\n <ng-container *ngTemplateOutlet=\"sideBarTemplate\"></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 pep-side-area>\n <ng-container *ngTemplateOutlet=\"sideBarTemplate\"></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]=\"searchOpenOnSmallDevice ? '' : title\" [inline]=\"inline\">\n <div *ngIf=\"!searchOpenOnSmallDevice\" header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div *ngIf=\"!searchOpenOnSmallDevice\" header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <pep-list-actions *ngIf=\"!searchOpenOnSmallDevice && menuActions.length > 0 && !showEmptyState\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total *ngIf=\"!searchOpenOnSmallDevice && screenSize <= PepScreenSizeType.SM\" [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\" [unknownCount]=\"unknownCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\" (stateChange)=\"onSearchStateChange($event)\">\n </pep-search>\n <div *ngIf=\"!inline\" class=\"pep-spacing-element-negative\" footer-start-content>\n <ng-container *ngIf=\"sideBarComponent && screenSize >= PepScreenSizeType.MD \">\n <pep-button class=\"back-button pep-spacing-element\" sizeType=\"md\" [iconName]=\"showSmartFilter ? 'system_filter' : 'system_info'\" \n [value]=\"openSideBarButtonValue\" iconPosition=\"start\" (buttonClick)=\"openSideBar();\"></pep-button>\n </ng-container>\n <ng-content select=\"[left-bottom-area]\">\n </ng-content> \n <pep-list-total *ngIf=\"screenSize > PepScreenSizeType.SM\" class=\"pep-spacing-element\" [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\" [unknownCount]=\"unknownCount\">\n </pep-list-total> \n </div>\n <div *ngIf=\"!inline\" footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #sideBarTemplate> \n <pep-side-bar *ngIf=\"showSideBar\" #sideBar [ngClass]=\"{'smart-filter-area': inline}\" >\n <div *ngIf=\"!inline && screenSize >= PepScreenSizeType.MD\" class=\"pep-spacing-element floating-side-bar-title ellipsis title-lg\" header-content>\n <span class=\"title\" [title]=\"sideBarTitle || title\">{{ sideBarTitle || title }}</span>\n </div> \n <pep-smart-filters *ngIf=\"showSmartFilter\" #smartFiltersComponent [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>\n<pep-size-detector *ngIf=\"!onLoad\"></pep-size-detector>", styles: [":host{height:inherit;display:block}:host ::ng-deep pep-side-bar .pep-side-bar-container .mat-sidenav-container{top:0}.main-area-container{display:grid;height:inherit}.list-container{height:100%}.list-empty-state{padding-top:var(--pep-spacing-lg, 1rem);height:calc(100% - var(--pep-spacing-lg, 1rem));min-height:7rem;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)}.none-inline .floating-side-bar-title{display:inline-flex;align-items:center}.none-inline .floating-side-bar-title .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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"] }]
722
+ 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>\n <ng-container *ngTemplateOutlet=\"sideBarTemplate\"></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 pep-side-area>\n <ng-container *ngTemplateOutlet=\"sideBarTemplate\"></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]=\"searchOpenOnSmallDevice ? '' : title\" [inline]=\"inline\">\n <div *ngIf=\"!searchOpenOnSmallDevice\" header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div *ngIf=\"!searchOpenOnSmallDevice\" header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <pep-list-actions *ngIf=\"!searchOpenOnSmallDevice && menuActions.length > 0 && !showEmptyState\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total *ngIf=\"!searchOpenOnSmallDevice && screenSize <= PepScreenSizeType.SM\" [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\" [unknownCount]=\"unknownCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\" (stateChange)=\"onSearchStateChange($event)\">\n </pep-search>\n <div *ngIf=\"!inline\" class=\"pep-spacing-element-negative\" footer-start-content>\n <ng-container *ngIf=\"showSideBar && screenSize >= PepScreenSizeType.MD \">\n <pep-button class=\"back-button pep-spacing-element\" sizeType=\"md\" [iconName]=\"showSmartFilter ? 'system_filter' : 'system_info'\" \n [value]=\"openSideBarButtonValue\" iconPosition=\"start\" (buttonClick)=\"openSideBar();\"></pep-button>\n </ng-container>\n <ng-content select=\"[left-bottom-area]\">\n </ng-content> \n <pep-list-total *ngIf=\"screenSize > PepScreenSizeType.SM\" class=\"pep-spacing-element\" [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\" [unknownCount]=\"unknownCount\">\n </pep-list-total> \n </div>\n <div *ngIf=\"!inline\" footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #sideBarTemplate> \n <pep-side-bar *ngIf=\"showSideBar\" #sideBar [ngClass]=\"{'smart-filter-area': inline}\" (stateChange)=\"onSideBarStateChange($event)\">\n <div *ngIf=\"!inline && screenSize >= PepScreenSizeType.MD\" class=\"pep-spacing-element floating-side-bar-title ellipsis title-lg\" header-content>\n <span class=\"title\" [title]=\"sideBarTitle || title\">{{ sideBarTitle || title }}</span>\n </div> \n <pep-smart-filters *ngIf=\"showSmartFilter\" #smartFiltersComponent [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>\n<pep-size-detector *ngIf=\"!onLoad\"></pep-size-detector>", styles: [":host{height:inherit;display:block}:host ::ng-deep pep-side-bar .pep-side-bar-container .mat-sidenav-container{top:0}.main-area-container{display:grid;height:inherit}.list-container{height:100%}.list-empty-state{padding-top:var(--pep-spacing-lg, 1rem);height:calc(100% - var(--pep-spacing-lg, 1rem));min-height:7rem;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)}.none-inline .floating-side-bar-title{display:inline-flex;align-items:center}.none-inline .floating-side-bar-title .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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"] }]
704
723
  }], ctorParameters: function () { return [{ type: i1$1.PepDataConvertorService }, { type: i1$1.PepLayoutService }, { type: i1$1.PepLoaderService }, { type: i1.TranslateService }, { type: PepGenericListService }, { type: i1$1.PepSessionService }, { type: i1$1.PepCustomizationService }]; }, propDecorators: { search: [{
705
724
  type: ViewChild,
706
725
  args: ['search']
@@ -781,6 +800,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
781
800
  type: Output
782
801
  }], listLoad: [{
783
802
  type: Output
803
+ }], sideBarStateChange: [{
804
+ type: Output
784
805
  }] } });
785
806
 
786
807
  const pepIcons = [