@pepperi-addons/ngx-composite-lib 0.4.1-beta.1 → 0.4.1-beta.11

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 (133) hide show
  1. package/color-settings/color-settings.component.d.ts +25 -25
  2. package/color-settings/color-settings.model.d.ts +6 -6
  3. package/color-settings/color-settings.module.d.ts +12 -12
  4. package/color-settings/index.d.ts +5 -5
  5. package/color-settings/public-api.d.ts +3 -3
  6. package/core/common/directives/index.d.ts +1 -1
  7. package/core/common/directives/public-api.d.ts +1 -1
  8. package/core/common/directives/reset-configuration-field.directive.d.ts +39 -39
  9. package/core/common/index.d.ts +1 -1
  10. package/core/common/public-api.d.ts +2 -2
  11. package/core/common/services/dimx.service.d.ts +46 -46
  12. package/core/common/services/index.d.ts +1 -1
  13. package/core/common/services/public-api.d.ts +2 -2
  14. package/core/common/services/utilities.service.d.ts +6 -6
  15. package/core/index.d.ts +1 -1
  16. package/core/public-api.d.ts +1 -1
  17. package/data-view-builder/data-view-builder.component.d.ts +35 -35
  18. package/data-view-builder/data-view-builder.model.d.ts +1 -1
  19. package/data-view-builder/data-view-builder.module.d.ts +23 -23
  20. package/data-view-builder/data-view-builder.service.d.ts +14 -14
  21. package/data-view-builder/index.d.ts +5 -5
  22. package/data-view-builder/menu-data-view/menu-data-view.component.d.ts +36 -36
  23. package/data-view-builder/public-api.d.ts +3 -3
  24. package/esm2020/color-settings/color-settings.component.mjs +86 -86
  25. package/esm2020/color-settings/color-settings.model.mjs +8 -8
  26. package/esm2020/color-settings/color-settings.module.mjs +37 -37
  27. package/esm2020/color-settings/pepperi-addons-ngx-composite-lib-color-settings.mjs +4 -4
  28. package/esm2020/color-settings/public-api.mjs +6 -6
  29. package/esm2020/core/common/directives/index.mjs +4 -4
  30. package/esm2020/core/common/directives/public-api.mjs +4 -4
  31. package/esm2020/core/common/directives/reset-configuration-field.directive.mjs +135 -135
  32. package/esm2020/core/common/index.mjs +4 -4
  33. package/esm2020/core/common/public-api.mjs +5 -5
  34. package/esm2020/core/common/services/dimx.service.mjs +63 -63
  35. package/esm2020/core/common/services/index.mjs +4 -4
  36. package/esm2020/core/common/services/public-api.mjs +5 -5
  37. package/esm2020/core/common/services/utilities.service.mjs +18 -18
  38. package/esm2020/core/index.mjs +4 -4
  39. package/esm2020/core/public-api.mjs +4 -4
  40. package/esm2020/data-view-builder/data-view-builder.component.mjs +116 -116
  41. package/esm2020/data-view-builder/data-view-builder.model.mjs +1 -1
  42. package/esm2020/data-view-builder/data-view-builder.module.mjs +79 -79
  43. package/esm2020/data-view-builder/data-view-builder.service.mjs +38 -38
  44. package/esm2020/data-view-builder/menu-data-view/menu-data-view.component.mjs +116 -116
  45. package/esm2020/data-view-builder/pepperi-addons-ngx-composite-lib-data-view-builder.mjs +4 -4
  46. package/esm2020/data-view-builder/public-api.mjs +6 -6
  47. package/esm2020/file-status-panel/file-status-panel.component.mjs +34 -34
  48. package/esm2020/file-status-panel/file-status-panel.model.mjs +8 -8
  49. package/esm2020/file-status-panel/file-status-panel.module.mjs +53 -53
  50. package/esm2020/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +4 -4
  51. package/esm2020/file-status-panel/public-api.mjs +6 -6
  52. package/esm2020/generic-form/generic-form.component.mjs +190 -184
  53. package/esm2020/generic-form/generic-form.model.mjs +2 -2
  54. package/esm2020/generic-form/generic-form.module.mjs +67 -67
  55. package/esm2020/generic-form/generic-form.service.mjs +57 -57
  56. package/esm2020/generic-form/pepperi-addons-ngx-composite-lib-generic-form.mjs +4 -4
  57. package/esm2020/generic-form/public-api.mjs +7 -7
  58. package/esm2020/generic-list/generic-list.component.mjs +459 -417
  59. package/esm2020/generic-list/generic-list.model.mjs +2 -2
  60. package/esm2020/generic-list/generic-list.module.mjs +107 -70
  61. package/esm2020/generic-list/generic-list.service.mjs +137 -125
  62. package/esm2020/generic-list/pepperi-addons-ngx-composite-lib-generic-list.mjs +4 -4
  63. package/esm2020/generic-list/public-api.mjs +7 -7
  64. package/esm2020/group-buttons-settings/group-buttons-settings.component.mjs +129 -129
  65. package/esm2020/group-buttons-settings/group-buttons-settings.model.mjs +1 -1
  66. package/esm2020/group-buttons-settings/group-buttons-settings.module.mjs +47 -47
  67. package/esm2020/group-buttons-settings/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +4 -4
  68. package/esm2020/group-buttons-settings/public-api.mjs +6 -6
  69. package/esm2020/ngx-composite-lib.module.mjs +54 -54
  70. package/esm2020/pepperi-addons-ngx-composite-lib.mjs +4 -4
  71. package/esm2020/public-api.mjs +5 -5
  72. package/esm2020/shadow-settings/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +4 -4
  73. package/esm2020/shadow-settings/public-api.mjs +6 -6
  74. package/esm2020/shadow-settings/shadow-settings.component.mjs +68 -68
  75. package/esm2020/shadow-settings/shadow-settings.model.mjs +7 -7
  76. package/esm2020/shadow-settings/shadow-settings.module.mjs +41 -41
  77. package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.mjs +116 -116
  78. package/fesm2015/pepperi-addons-ngx-composite-lib-data-view-builder.mjs +309 -309
  79. package/fesm2015/pepperi-addons-ngx-composite-lib-data-view-builder.mjs.map +1 -1
  80. package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +80 -80
  81. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-form.mjs +287 -279
  82. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-form.mjs.map +1 -1
  83. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.mjs +692 -602
  84. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.mjs.map +1 -1
  85. package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +164 -164
  86. package/fesm2015/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +101 -101
  87. package/fesm2015/pepperi-addons-ngx-composite-lib.mjs +271 -271
  88. package/fesm2015/pepperi-addons-ngx-composite-lib.mjs.map +1 -1
  89. package/fesm2020/pepperi-addons-ngx-composite-lib-color-settings.mjs +116 -116
  90. package/fesm2020/pepperi-addons-ngx-composite-lib-data-view-builder.mjs +307 -307
  91. package/fesm2020/pepperi-addons-ngx-composite-lib-data-view-builder.mjs.map +1 -1
  92. package/fesm2020/pepperi-addons-ngx-composite-lib-file-status-panel.mjs +78 -78
  93. package/fesm2020/pepperi-addons-ngx-composite-lib-generic-form.mjs +288 -281
  94. package/fesm2020/pepperi-addons-ngx-composite-lib-generic-form.mjs.map +1 -1
  95. package/fesm2020/pepperi-addons-ngx-composite-lib-generic-list.mjs +674 -585
  96. package/fesm2020/pepperi-addons-ngx-composite-lib-generic-list.mjs.map +1 -1
  97. package/fesm2020/pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs +163 -163
  98. package/fesm2020/pepperi-addons-ngx-composite-lib-shadow-settings.mjs +101 -101
  99. package/fesm2020/pepperi-addons-ngx-composite-lib.mjs +264 -264
  100. package/fesm2020/pepperi-addons-ngx-composite-lib.mjs.map +1 -1
  101. package/file-status-panel/file-status-panel.component.d.ts +14 -14
  102. package/file-status-panel/file-status-panel.model.d.ts +7 -7
  103. package/file-status-panel/file-status-panel.module.d.ts +17 -17
  104. package/file-status-panel/index.d.ts +5 -5
  105. package/file-status-panel/public-api.d.ts +3 -3
  106. package/generic-form/generic-form.component.d.ts +43 -44
  107. package/generic-form/generic-form.model.d.ts +42 -34
  108. package/generic-form/generic-form.module.d.ts +13 -13
  109. package/generic-form/generic-form.service.d.ts +15 -15
  110. package/generic-form/index.d.ts +5 -5
  111. package/generic-form/public-api.d.ts +4 -4
  112. package/generic-list/generic-list.component.d.ts +109 -101
  113. package/generic-list/generic-list.component.theme.scss +10 -0
  114. package/generic-list/generic-list.model.d.ts +66 -54
  115. package/generic-list/generic-list.module.d.ts +25 -18
  116. package/generic-list/generic-list.service.d.ts +44 -43
  117. package/generic-list/index.d.ts +5 -5
  118. package/generic-list/public-api.d.ts +4 -4
  119. package/group-buttons-settings/group-buttons-settings.component.d.ts +33 -33
  120. package/group-buttons-settings/group-buttons-settings.model.d.ts +1 -1
  121. package/group-buttons-settings/group-buttons-settings.module.d.ts +15 -15
  122. package/group-buttons-settings/index.d.ts +5 -5
  123. package/group-buttons-settings/public-api.d.ts +3 -3
  124. package/index.d.ts +5 -5
  125. package/ngx-composite-lib.module.d.ts +13 -13
  126. package/package.json +2 -2
  127. package/public-api.d.ts +2 -2
  128. package/shadow-settings/index.d.ts +5 -5
  129. package/shadow-settings/public-api.d.ts +3 -3
  130. package/shadow-settings/shadow-settings.component.d.ts +23 -23
  131. package/shadow-settings/shadow-settings.model.d.ts +8 -8
  132. package/shadow-settings/shadow-settings.module.d.ts +13 -13
  133. package/src/assets/i18n/en.ngx-composite-lib.json +8 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-list.mjs","sources":["../../../projects/ngx-composite-lib/generic-list/generic-list.service.ts","../../../projects/ngx-composite-lib/generic-list/generic-list.component.ts","../../../projects/ngx-composite-lib/generic-list/generic-list.component.html","../../../projects/ngx-composite-lib/generic-list/generic-list.module.ts","../../../projects/ngx-composite-lib/generic-list/public-api.ts","../../../projects/ngx-composite-lib/generic-list/pepperi-addons-ngx-composite-lib-generic-list.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n IPepGenericListSmartFilter,\n IPepGenericListDataView\n} from './generic-list.model';\nimport {\n PepSmartFilterBaseField,\n IPepSmartFilterData,\n} from '@pepperi-addons/ngx-lib/smart-filters';\nimport { PepQueryBuilderService, IPepQueryBuilderField } from '@pepperi-addons/ngx-lib/query-builder';\nimport { PepRowData } from '@pepperi-addons/ngx-lib';\nimport { GridDataViewField, DataViewFieldTypes } from '@pepperi-addons/papi-sdk/dist/entities/data-view';\n\n@Injectable()\nexport class PepGenericListService {\n\n constructor(\n private _translate: TranslateService,\n private _queryBuilderService: PepQueryBuilderService\n ) {\n //\n }\n\n /**\n * checks if the object contains property\n * @param obj object\n * @param prop property name\n * @returns true if contains, false otherwise\n */\n hasProperty(obj: any, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n getListViewType(dataViewType: string) {\n switch (dataViewType) {\n case 'Grid':\n return 'table';\n case 'Card':\n return 'cards';\n case 'Line':\n return 'lines';\n default:\n return 'table';\n }\n }\n\n convertToPepRowData(item: any, dataView: any, uuidMapping: string) {\n const row = new PepRowData();\n let itemFields: any;\n\n if (this.hasProperty(item, 'fields') && typeof item.fields === 'object') {\n itemFields = item.fields;\n if (item.isEditable === false) {\n row.IsEditable = false;\n }\n if (item.isSelectableForActions === false) {\n row.IsSelectableForActions = false;\n }\n } else {\n itemFields = item;\n }\n\n row.UUID = itemFields[uuidMapping] || undefined;\n row.Fields = [];\n\n if (dataView?.Fields && dataView.Columns) {\n for (let index = 0; index < dataView.Fields.length; index++) {\n const field = dataView.Fields[index] as IPepGenericListDataView;\n row.Fields.push({\n ApiName: field.FieldID,\n Title: field.Title ? this._translate.instant(field.Title) : '',\n XAlignment: 1,\n FormattedValue: (itemFields[field.FieldID] || '').toString(),\n Value: (itemFields[field.FieldID] || '').toString(),\n ColumnWidth: dataView.Columns[index]?.Width || undefined,\n AdditionalValue: '',\n OptionalValues: field.OptionalValues || [],\n FieldType: DataViewFieldTypes[field.Type],\n ReadOnly: field.ReadOnly,\n Enabled: !field.ReadOnly\n })\n }\n }\n return row;\n }\n\n convertToUiControlField(field: any) {\n return {\n ApiName: field.ApiName,\n FieldType: field.FieldType,\n Title: field.Title,\n ReadOnly: field.ReadOnlyField,\n ColumnWidth: field.ColumnWidth,\n ColumnWidthType: 1,\n Layout: {\n X: field.Layout.X,\n Y: field.Layout.Y,\n Width: field.Layout.Width,\n Height: field.Layout.Field_Height,\n XAlignment: field.Layout.xAlignment,\n YAlignment: field.Layout.yAlignment,\n }\n }\n }\n\n convertToSmartFilter(smartFilter: IPepGenericListSmartFilter) {\n let convertedFields: PepSmartFilterBaseField[] = [];\n let filterData: IPepSmartFilterData[] = [];\n\n if (smartFilter?.dataView) {\n convertedFields = this.createSmartFilterFields(smartFilter.dataView);\n if (smartFilter.data?.length) {\n filterData = smartFilter.data;\n }\n }\n\n return {\n fields: convertedFields,\n data: filterData\n }\n }\n\n createSmartFilterFields(dataView: any) {\n let smartFields: PepSmartFilterBaseField[] = [];\n\n const fields = dataView.Fields.map((field: any) => {\n return {\n FieldID: field.FieldID,\n FieldType: field.Type,\n Title: field.Title,\n OptionalValues: field.OptionalValues\n } as IPepQueryBuilderField\n });\n const smartFilterfields = this._queryBuilderService.convertToSmartFilterFields(fields);\n if (smartFilterfields?.length) {\n smartFields = smartFilterfields.map((field => field.smart));\n }\n\n return smartFields;\n }\n\n\n}","import {\n Component,\n OnInit,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ViewContainerRef,\n ComponentFactoryResolver\n} from '@angular/core';\n//import { TranslateService } from '@ngx-translate/core';\nimport {\n PepDataConvertorService,\n PepLayoutService,\n ObjectsDataRow,\n PepGuid,\n UIControl,\n PepLoaderService\n} from '@pepperi-addons/ngx-lib';\nimport { Subscription } from 'rxjs';\nimport { IPepFormFieldClickEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepListComponent,\n PepSelectionData,\n IPepListLoadPageEvent,\n PepListSelectionType,\n IPepListSortingChangeEvent,\n DEFAULT_PAGE_SIZE,\n IPepListLoadItemsEvent,\n PepListTableViewType\n} from '@pepperi-addons/ngx-lib/list';\nimport {\n PepMenuItem,\n IPepMenuItemClickEvent,\n} from '@pepperi-addons/ngx-lib/menu';\nimport { IPepFormFieldValueChangeEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepBreadCrumbItem,\n IPepBreadCrumbItemClickEvent\n} from '@pepperi-addons/ngx-lib/bread-crumbs';\nimport { IPepSearchClickEvent, PepSearchComponent } from '@pepperi-addons/ngx-lib/search';\n\nimport {\n DataView,\n GridDataView\n} from '@pepperi-addons/papi-sdk/dist/entities/data-view';\nimport {\n IPepGenericListInitData,\n IPepGenericListDataSource,\n IPepGenericListPager,\n IPepGenericListActions,\n IPepGenericListSmartFilter,\n IPepGenericListListInputs\n} from './generic-list.model';\nimport { PepGenericListService } from './generic-list.service';\nimport { DataViewConverter } from '@pepperi-addons/data-views';\nimport {\n IPepSmartFilterData,\n PepSmartFilterBaseField\n} from '@pepperi-addons/ngx-lib/smart-filters';\n\n\n@Component({\n selector: 'pep-generic-list',\n templateUrl: './generic-list.component.html',\n styleUrls: ['./generic-list.component.scss'],\n providers: [PepGenericListService]\n})\nexport class GenericListComponent implements OnInit {\n @ViewChild('search') search: PepSearchComponent | undefined;\n\n private _pepListContainer: ViewContainerRef | undefined;\n @ViewChild('pepListContainer', { read: ViewContainerRef })\n set pepListContainer(val: ViewContainerRef) {\n this._pepListContainer = val;\n }\n\n private _dataSource: IPepGenericListDataSource = {\n init: async (params: any) => {\n return {\n dataView: {\n Type: 'Grid'\n },\n totalCount: -1,\n items: []\n }\n }\n }\n @Input()\n set dataSource(val: IPepGenericListDataSource) {\n this._dataSource = val;\n this._sorting = undefined;\n this.initSearch();\n this.initTable();\n }\n\n @Input()\n actions: IPepGenericListActions = {\n get: async (data: any) => {\n return []\n }\n };\n\n @Input()\n uuidMapping = 'key';\n\n @Input()\n disabled = false;\n\n @Input()\n addPadding = false;\n\n @Input()\n title = '';\n\n @Input()\n description = '';\n\n @Input()\n inline = false;\n\n @Input()\n showSearch = false;\n\n @Input()\n noDataFoundMsg = '';\n\n @Input()\n selectionType: PepListSelectionType = 'multi';\n\n @Input()\n supportSorting = false;\n\n @Input()\n pager: IPepGenericListPager = {\n type: 'scroll'\n }\n\n @Input()\n tableViewType: PepListTableViewType = 'regular';\n\n @Input()\n zebraStripes = false;\n\n @Input()\n set smartFilter(val: IPepGenericListSmartFilter) {\n this.internalSmartFilter = this._genericListService.convertToSmartFilter(val);\n this.showSmartFilter = this.internalSmartFilter.fields.length > 0;\n }\n\n @Input()\n showTopBar = false;\n\n @Input()\n breadCrumbsItems: PepBreadCrumbItem[] = new Array<PepBreadCrumbItem>();\n\n @Output()\n fieldClick = new EventEmitter<IPepFormFieldClickEvent>();\n\n @Output()\n valueChange = new EventEmitter<IPepFormFieldValueChangeEvent>();\n\n @Output()\n breadCrumbItemClick = new EventEmitter<IPepBreadCrumbItemClickEvent>();\n\n set pepList(val: PepListComponent) {\n this._pepList = val;\n }\n\n get pepList() {\n return this._pepList;\n }\n\n private _resize$: Subscription = new Subscription();\n private _loader$: Subscription = new Subscription();\n\n private _dataView: DataView = {\n Type: 'Grid'\n };\n private _listInputs: any;\n private _pepList: any;\n totalRowCount = -1;\n searchString = '';\n showSmartFilter = false;\n internalSmartFilter: {\n fields: PepSmartFilterBaseField[],\n data: IPepSmartFilterData[]\n } = {\n fields: [],\n data: []\n };\n private _appliedFilters: IPepSmartFilterData[] = [];\n private _sorting: IPepListSortingChangeEvent | undefined = undefined;\n\n menuHandlers: { [key: string]: (obj: any) => Promise<void> } = {};\n menuActions: Array<PepMenuItem> = [];\n\n constructor(\n private _resolver: ComponentFactoryResolver,\n private _dataConvertorService: PepDataConvertorService,\n private _layoutService: PepLayoutService,\n private _loaderService: PepLoaderService,\n // private _translate: TranslateService,\n private _genericListService: PepGenericListService\n ) {\n this._resize$ = this._layoutService.onResize$.pipe().subscribe((size) => {\n // \n });\n this._loader$ = this._loaderService.onChanged$.subscribe((status: boolean) => {\n //\n });\n }\n\n ngOnInit() {\n //\n }\n\n private async initTable() {\n setTimeout(async () => {\n if (this._dataSource &&\n this._pepListContainer) {\n\n if (this._pepListContainer.length > 0) {\n this._pepListContainer.remove();\n }\n const factory = this._resolver.resolveComponentFactory(PepListComponent);\n const componentRef = this._pepListContainer.createComponent(factory);\n this.pepList = componentRef.instance;\n\n //merge selector inputs with callback inputs\n this.loadTableInputs();\n\n let fromIndex = 0;\n let toIndex = 0;\n\n if (this._listInputs.pager.type === 'pages') {\n fromIndex = this._listInputs.pager.size * this._listInputs.pager.index;\n toIndex = fromIndex + (this._listInputs.pager.size || DEFAULT_PAGE_SIZE) - 1;\n } else {\n toIndex = 100;//TO DO - get value from - this.customList.getTopItems()\n }\n\n const data = await this.loadData(fromIndex, toIndex);\n this.totalRowCount = data?.totalCount || 0;\n\n componentRef.instance.viewType = this._genericListService.getListViewType(this._dataView.Type);\n componentRef.instance.tableViewType = this._listInputs.tableViewType;\n componentRef.instance.zebraStripes = this._listInputs.zebraStripes;\n if (this.disabled) {\n componentRef.instance.disabled = true;\n componentRef.instance.lockItemInnerEvents = true;\n }\n componentRef.instance.supportSorting = this._listInputs.supportSorting;\n componentRef.instance.selectionTypeForActions = this._listInputs.selectionType;\n componentRef.instance.showCardSelection = this._listInputs.selectionType !== 'none';\n componentRef.instance.pagerType = this._listInputs.pager.type;\n if (this._listInputs.pager.type === 'pages') {\n componentRef.instance.pageSize = this._listInputs.pager?.size || DEFAULT_PAGE_SIZE;\n componentRef.instance.pageIndex = this._listInputs.pager?.index || 0;\n }\n componentRef.instance.noDataFoundMsg = this._listInputs.noDataFoundMsg;\n componentRef.instance.fieldClick.subscribe(($event) => {\n this.onCustomizeFieldClick($event);\n });\n componentRef.instance.selectedItemsChange.subscribe(($event) => {\n this.onSelectedItemsChanged($event);\n });\n componentRef.instance.loadItems.subscribe(($event) => {\n this.onLoadItems($event);\n });\n componentRef.instance.loadPage.subscribe(($event) => {\n this.onLoadPage($event);\n });\n componentRef.instance.valueChange.subscribe(($event) => {\n this.onValueChanged($event)\n });\n componentRef.instance.sortingChange.subscribe(($event) => {\n this.onSortingChange($event);\n });\n let convertedList: ObjectsDataRow[] = [];\n if (data) {\n if (data.items?.length) {\n convertedList = this._dataConvertorService.convertListData(data.items);\n }\n const uiControl = this.getUiControl(DataViewConverter.toUIControlData(data.dataView));\n componentRef.instance.initListData(uiControl, data.totalCount, convertedList);\n }\n }\n }, 0);\n }\n\n /**\n * loads inputs in case they are provided and merge with selector inputs\n * @returns merged pep-list inputs\n */\n private loadTableInputs() {\n this._listInputs = {\n supportSorting: this.supportSorting,\n selectionType: this.selectionType,\n pager: this.pager,\n noDataFoundMsg: this.noDataFoundMsg,\n tableViewType: this.tableViewType,\n zebraStripes: this.zebraStripes\n };\n if (this._dataSource.inputs) {\n Object.entries(this._dataSource.inputs).forEach((item: any) => {\n if (this._genericListService.hasProperty(this._listInputs, item[0])) {\n this._listInputs[item[0]] = item[1];\n }\n });\n }\n }\n\n private getUiControl(data: any): UIControl {\n const uiControl = new UIControl();\n uiControl.ControlFields = [];\n\n if (data?.ControlFields) {\n uiControl.ControlFields = data.ControlFields.map((field: any) => this._genericListService.convertToUiControlField(field));\n }\n\n return uiControl;\n }\n\n private loadMenuItems(): void { //TODO\n if (this._listInputs.selectionType !== 'none') {\n this.getMenuActions().then(\n x => this.menuActions = x\n );\n }\n }\n\n private async getMenuActions(): Promise<PepMenuItem[]> {\n const res: PepMenuItem[] = [];\n const result = this.getMenuObjects();\n if (result.success) {\n const actions = await this.actions.get(result.data);\n this.menuHandlers = {};\n actions?.forEach(item => {\n const uuid = PepGuid.newGuid();\n this.menuHandlers[uuid] = item.handler;\n res.push({\n key: uuid,\n text: item.title\n })\n })\n }\n\n return res;\n }\n\n private getMenuObjects() {\n const menuObjects: any = {\n success: false,\n data: new PepSelectionData()\n };\n\n if (this.pepList) {\n menuObjects.success = true;\n menuObjects.data = this.pepList.getSelectedItemsData();\n }\n\n return menuObjects;\n }\n\n private initSearch() {\n this.searchString = '';\n this.search?.initSearch();\n }\n\n private async loadData(fromIndex: number, toIndex: number): Promise<IPepGenericListInitData> {\n this._loaderService.show();\n const data: IPepGenericListInitData = await this._dataSource.init({\n searchString: this.searchString || undefined,\n filters: this._appliedFilters.length ? this._appliedFilters : undefined,\n sorting: this._sorting || undefined,\n fromIndex: fromIndex,\n toIndex: toIndex\n });\n this._loaderService.hide();\n\n if (data) {\n this._dataView = data.dataView;\n\n if (data.items?.length > 0 && !data.isPepRowData) {\n data.items = data.items.map(item => this._genericListService.convertToPepRowData(item, data.dataView, this.uuidMapping));\n }\n }\n\n return data;\n }\n\n\n private async updateDataList(fromIndex: number, toIndex: number, pageIndex: number | undefined = undefined) {\n if (this._dataSource.update) {\n this._loaderService.show();\n const dataList = await this._dataSource.update({\n searchString: this.searchString || undefined,\n filters: this._appliedFilters.length ? this._appliedFilters : undefined,\n sorting: this._sorting || undefined,\n fromIndex: fromIndex,\n toIndex: toIndex,\n pageIndex: pageIndex\n });\n this._loaderService.hide();\n\n if (dataList?.length > 0) {\n return dataList.map(item => this._genericListService.convertToPepRowData(item, this._dataView, this.uuidMapping));\n } else {\n return [];\n }\n } else {\n return [];\n }\n }\n\n /**\n * loads virtual scroll items from api\n */\n private async onLoadItems(event: IPepListLoadItemsEvent) {\n const list = await this.updateDataList(event.fromIndex, event.toIndex);\n const convertedList = this._dataConvertorService.convertListData(list);\n this.pepList.updateItems(convertedList, event);\n }\n\n /**\n * loads paging bulk from api\n */\n private async onLoadPage(event: IPepListLoadPageEvent) {\n const fromIndex = event.pageIndex * event.pageSize;\n const toIndex = Math.min(fromIndex + event.pageSize - 1, this.totalRowCount - 1);\n const list = await this.updateDataList(fromIndex, toIndex, event.pageIndex);\n const convertedList = this._dataConvertorService.convertListData(list);\n this.pepList.updatePage(convertedList, event);\n }\n\n getItemById(id: string): ObjectsDataRow | null {\n if (this.pepList) {\n return this._pepList.getItemDataByID(id);\n } else {\n return null;\n }\n }\n\n getSelectedItems(): PepSelectionData | null {\n if (this.pepList) {\n return this._pepList.getSelectedItemsData();\n } else {\n return null;\n }\n }\n\n getPageIndex() {\n return this.pepList.pageIndex;\n }\n\n onActionItemClicked(action: IPepMenuItemClickEvent): void {\n const result = this.getMenuObjects();\n if (result.success) {\n this.menuHandlers[action.source.key](result.data);\n }\n }\n\n onSearchChanged(event: IPepSearchClickEvent) {\n this.searchString = event.value;\n this.initTable();\n }\n\n onSelectedItemsChanged(selectedRowsCount: number) {\n //loading menu items after pep-list selected items are updated\n setTimeout(() => {\n this.loadMenuItems();\n }, 0);\n }\n\n onCustomizeFieldClick(fieldClickEvent: IPepFormFieldClickEvent) {\n this.fieldClick.emit(fieldClickEvent);\n }\n\n onBreadCrumbItemClick(event: IPepBreadCrumbItemClickEvent) {\n this.breadCrumbItemClick.emit(event);\n }\n\n onValueChanged(event: IPepFormFieldValueChangeEvent) {\n this.valueChange.emit(event);\n }\n\n onSortingChange(event: IPepListSortingChangeEvent) {\n this._sorting = event;\n this.initTable();\n }\n\n onFiltersChange(filters: IPepSmartFilterData[]) {\n this._appliedFilters = filters;\n this.initTable();\n }\n\n ngOnDestroy() {\n if (this._resize$) {\n this._resize$.unsubscribe();\n }\n if (this._loader$) {\n this._loader$.unsubscribe();\n }\n }\n\n}\n","<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"header-area\" >\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"description\">\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngIf=\"showSmartFilter\">\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n</div>\n<pep-page-layout *ngIf=\"!inline\" class=\"none-inline\" [addPadding]=\"addPadding\" [showShadow]=\"showSmartFilter\">\n <ng-container *ngIf=\"showSmartFilter\" pep-side-area>\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"description\" pep-top-area>\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <!-- <div footer-start-content>\n <ng-content select=\"[left-bottom-area]\"></ng-content> \n </div>\n <div footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div> -->\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #smartFilterTemplate>\n <pep-side-bar #sideNav [ngClass]=\"{'smart-filter-area': inline}\">\n <pep-smart-filters title=\"Test filters\" [fields]=\"internalSmartFilter.fields\"\n [filters]=\"internalSmartFilter.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 class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GenericListComponent } from './generic-list.component';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepListModule } from '@pepperi-addons/ngx-lib/list';\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepSideBarModule } from '@pepperi-addons/ngx-lib/side-bar';\nimport { PepSearchModule } from '@pepperi-addons/ngx-lib/search';\nimport { PepBreadCrumbsModule } from '@pepperi-addons/ngx-lib/bread-crumbs';\nimport { PepSmartFiltersModule } from '@pepperi-addons/ngx-lib/smart-filters';\nimport { PepGenericListService } from './generic-list.service';\n\n@NgModule({\n declarations: [\n GenericListComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepListModule,\n PepFormModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTopBarModule,\n PepSideBarModule,\n PepSearchModule,\n PepBreadCrumbsModule,\n PepSmartFiltersModule\n ],\n exports: [\n GenericListComponent \n ],\n providers: [\n PepGenericListService\n ]\n})\nexport class PepGenericListModule { }\n","/*\n * Public API Surface of ngx-composite-lib/generic-list\n */\nexport * from './generic-list.module';\nexport * from './generic-list.component';\nexport * from './generic-list.model';\nexport * from './generic-list.service';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.PepGenericListService"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-composite-lib-generic-list.mjs","sources":["../../../projects/ngx-composite-lib/generic-list/generic-list.service.ts","../../../projects/ngx-composite-lib/generic-list/generic-list.component.ts","../../../projects/ngx-composite-lib/generic-list/generic-list.component.html","../../../projects/ngx-composite-lib/generic-list/generic-list.module.ts","../../../projects/ngx-composite-lib/generic-list/public-api.ts","../../../projects/ngx-composite-lib/generic-list/pepperi-addons-ngx-composite-lib-generic-list.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n IPepGenericListSmartFilter,\n IPepGenericListDataViewField\n} from './generic-list.model';\nimport {\n PepSmartFilterBaseField,\n IPepSmartFilterData,\n} from '@pepperi-addons/ngx-lib/smart-filters';\nimport { PepQueryBuilderService, IPepQueryBuilderField } from '@pepperi-addons/ngx-lib/query-builder';\nimport {\n PepRowData,\n ObjectsDataRow\n} from '@pepperi-addons/ngx-lib';\nimport { GridDataViewField, DataViewFieldTypes } from '@pepperi-addons/papi-sdk/dist/entities/data-view';\n\n@Injectable()\nexport class PepGenericListService {\n\n constructor(\n private _translate: TranslateService,\n private _queryBuilderService: PepQueryBuilderService\n ) {\n //\n }\n\n /**\n * checks if the object contains property\n * @param obj object\n * @param prop property name\n * @returns true if contains, false otherwise\n */\n hasProperty(obj: any, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n getListViewType(dataViewType: string) {\n switch (dataViewType) {\n case 'Grid':\n return 'table';\n case 'Card':\n return 'cards';\n case 'Line':\n return 'lines';\n default:\n return 'table';\n }\n }\n\n convertToPepRowData(item: any, dataView: any, uuidMapping: string) {\n const row = new PepRowData();\n let itemFields: any;\n\n if (this.hasProperty(item, 'fields') && typeof item.fields === 'object') {\n itemFields = item.fields;\n if (item.isEditable === false) {\n row.IsEditable = false;\n }\n if (item.isSelectableForActions === false) {\n row.IsSelectableForActions = false;\n }\n if (item.isEditable && item.isSelectableForActions && item.isSelected) {\n row.IsSelected = true;\n }\n } else {\n itemFields = item;\n }\n\n row.UUID = itemFields[uuidMapping] || undefined;\n row.Fields = [];\n\n if (dataView?.Fields && dataView.Columns) {\n for (let index = 0; index < dataView.Fields.length; index++) {\n const field = dataView.Fields[index] as IPepGenericListDataViewField;\n row.Fields.push({\n ApiName: field.FieldID,\n Title: field.Title ? this._translate.instant(field.Title) : '',\n XAlignment: 1,\n FormattedValue: (itemFields[field.FieldID] || '').toString(),\n Value: (itemFields[field.FieldID] || '').toString(),\n ColumnWidth: dataView.Columns[index]?.Width || undefined,\n AdditionalValue: '',\n OptionalValues: field.OptionalValues || [],\n FieldType: DataViewFieldTypes[field.Type],\n ReadOnly: field.ReadOnly,\n Enabled: !field.ReadOnly\n })\n }\n }\n return row;\n }\n\n convertToUiControlField(field: any) {\n return {\n ApiName: field.ApiName,\n FieldType: field.FieldType,\n Title: field.Title,\n ReadOnly: field.ReadOnlyField,\n ColumnWidth: field.ColumnWidth,\n ColumnWidthType: 1,\n Layout: {\n X: field.Layout.X,\n Y: field.Layout.Y,\n Width: field.Layout.Width,\n Height: field.Layout.Field_Height,\n XAlignment: field.Layout.xAlignment,\n YAlignment: field.Layout.yAlignment,\n }\n }\n }\n\n convertToSmartFilter(smartFilter: IPepGenericListSmartFilter) {\n let convertedFields: PepSmartFilterBaseField[] = [];\n let filterData: IPepSmartFilterData[] = [];\n\n if (smartFilter?.dataView) {\n convertedFields = this.createSmartFilterFields(smartFilter.dataView);\n if (smartFilter.data?.length) {\n filterData = smartFilter.data;\n }\n }\n\n return {\n fields: convertedFields,\n data: filterData\n }\n }\n\n createSmartFilterFields(dataView: any) {\n let smartFields: PepSmartFilterBaseField[] = [];\n\n const fields = dataView.Fields.map((field: any) => {\n return {\n FieldID: field.FieldID,\n FieldType: field.Type,\n Title: field.Title,\n OptionalValues: field.OptionalValues\n } as IPepQueryBuilderField\n });\n const smartFilterfields = this._queryBuilderService.convertToSmartFilterFields(fields);\n if (smartFilterfields?.length) {\n smartFields = smartFilterfields.map((field => field.smart));\n }\n\n return smartFields;\n }\n\n getSelectedItems(items: ObjectsDataRow[]) {\n let selectedItems = [];\n\n for (let i = 0; i < items.length; i++) {\n if (items[i].IsSelected) {\n selectedItems.push(items[i].UID);\n }\n }\n\n return selectedItems;\n }\n\n\n}","import {\n Component,\n OnInit,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n ViewContainerRef\n} from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PepDataConvertorService,\n PepLayoutService,\n ObjectsDataRow,\n PepGuid,\n UIControl,\n PepLoaderService,\n PepRowData\n} from '@pepperi-addons/ngx-lib';\nimport { Subscription } from 'rxjs';\nimport { IPepFormFieldClickEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepListComponent,\n PepSelectionData,\n IPepListLoadPageEvent,\n PepListSelectionType,\n IPepListSortingChangeEvent,\n DEFAULT_PAGE_SIZE,\n IPepListLoadItemsEvent,\n PepListTableViewType\n} from '@pepperi-addons/ngx-lib/list';\nimport {\n PepMenuItem,\n IPepMenuItemClickEvent,\n} from '@pepperi-addons/ngx-lib/menu';\nimport { IPepFormFieldValueChangeEvent } from '@pepperi-addons/ngx-lib/form';\nimport {\n PepBreadCrumbItem,\n IPepBreadCrumbItemClickEvent\n} from '@pepperi-addons/ngx-lib/bread-crumbs';\nimport { IPepSearchClickEvent, PepSearchComponent } from '@pepperi-addons/ngx-lib/search';\n\nimport {\n DataView,\n GridDataView\n} from '@pepperi-addons/papi-sdk/dist/entities/data-view';\nimport {\n IPepGenericListInitData,\n IPepGenericListDataSource,\n IPepGenericListPager,\n IPepGenericListActions,\n IPepGenericListSmartFilter,\n IPepGenericListListInputs,\n IPepGenericListEmptyState\n} from './generic-list.model';\nimport { PepGenericListService } from './generic-list.service';\nimport { DataViewConverter } from '@pepperi-addons/data-views';\nimport {\n IPepSmartFilterData,\n PepSmartFilterBaseField\n} from '@pepperi-addons/ngx-lib/smart-filters';\n\n\n@Component({\n selector: 'pep-generic-list',\n templateUrl: './generic-list.component.html',\n styleUrls: ['./generic-list.component.scss', './generic-list.component.theme.scss'],\n providers: [PepGenericListService]\n})\nexport class GenericListComponent implements OnInit {\n @ViewChild('search') search: PepSearchComponent | undefined;\n\n private _pepListContainer: ViewContainerRef | undefined;\n @ViewChild('pepListContainer', { read: ViewContainerRef })\n set pepListContainer(val: ViewContainerRef) {\n this._pepListContainer = val;\n }\n\n private _dataSource: IPepGenericListDataSource = {\n init: async (params: any) => {\n return {\n dataView: {\n Type: 'Grid'\n },\n totalCount: -1,\n items: []\n }\n }\n }\n @Input()\n set dataSource(val: IPepGenericListDataSource) {\n this._dataSource = val;\n this._sorting = undefined;\n this.initSearch();\n this.initList();\n }\n\n @Input()\n actions: IPepGenericListActions = {\n get: async (data: any) => {\n return []\n }\n };\n\n @Input()\n uuidMapping = 'key';\n\n @Input()\n disabled = false;\n\n @Input()\n addPadding = false;\n\n @Input()\n title = '';\n\n @Input()\n description = '';\n\n @Input()\n inline = false;\n\n @Input()\n showSearch = false;\n\n @Input()\n noDataFoundMsg = '';\n\n @Input()\n emptyState: IPepGenericListEmptyState | undefined;\n\n @Input()\n selectionType: PepListSelectionType = 'multi';\n\n @Input()\n supportSorting = false;\n\n @Input()\n pager: IPepGenericListPager = {\n type: 'scroll'\n }\n\n @Input()\n tableViewType: PepListTableViewType = 'regular';\n\n @Input()\n zebraStripes = false;\n\n @Input()\n set smartFilter(val: IPepGenericListSmartFilter) {\n this.internalSmartFilter = this._genericListService.convertToSmartFilter(val);\n this.showSmartFilter = this.internalSmartFilter.fields.length > 0;\n }\n\n @Input()\n showTopBar = false;\n\n @Input()\n breadCrumbsItems: PepBreadCrumbItem[] = new Array<PepBreadCrumbItem>();\n\n @Output()\n fieldClick = new EventEmitter<IPepFormFieldClickEvent>();\n\n @Output()\n valueChange = new EventEmitter<IPepFormFieldValueChangeEvent>();\n\n @Output()\n breadCrumbItemClick = new EventEmitter<IPepBreadCrumbItemClickEvent>();\n\n set pepList(val: PepListComponent) {\n this._pepList = val;\n }\n\n get pepList() {\n return this._pepList;\n }\n\n private _resize$: Subscription = new Subscription();\n private _loader$: Subscription = new Subscription();\n\n private _dataView: DataView = {\n Type: 'Grid'\n };\n private _pepList: any;\n onLoad = true;\n listInputs: any;\n totalRowCount = -1;\n searchString = '';\n showSmartFilter = false;\n showEmptyState = false;\n internalSmartFilter: {\n fields: PepSmartFilterBaseField[],\n data: IPepSmartFilterData[]\n } = {\n fields: [],\n data: []\n };\n private _appliedFilters: IPepSmartFilterData[] = [];\n private _sorting: IPepListSortingChangeEvent | undefined = undefined;\n\n menuHandlers: { [key: string]: (obj: any) => Promise<void> } = {};\n menuActions: Array<PepMenuItem> = [];\n\n constructor(\n private _dataConvertorService: PepDataConvertorService,\n private _layoutService: PepLayoutService,\n private _loaderService: PepLoaderService,\n private _translate: TranslateService,\n private _genericListService: PepGenericListService\n ) {\n this._resize$ = this._layoutService.onResize$.pipe().subscribe((size) => { \n // \n });\n this._loader$ = this._loaderService.onChanged$.subscribe((status: boolean) => {\n //\n });\n }\n\n ngOnInit() {\n //\n }\n\n private async initList() {\n this.onLoad = true;\n setTimeout(async () => { //making sure all input data is available\n if (this._dataSource) {\n //merge selector inputs with callback inputs\n this.loadTableInputs();\n\n let fromIndex = 0;\n let toIndex = 0;\n\n if (this.listInputs.pager.type === 'pages') {\n fromIndex = this.listInputs.pager.size * this.listInputs.pager.index;\n toIndex = fromIndex + (this.listInputs.pager.size || DEFAULT_PAGE_SIZE) - 1;\n } else {\n toIndex = 100;//TO DO - get value from - this.customList.getTopItems()\n }\n\n const data = await this.loadData(fromIndex, toIndex);\n this.totalRowCount = data?.length || 0;\n\n if (this.listInputs?.emptyState?.show === true) {\n this.setEmptyState();\n }\n this.onLoad = false;\n //show empty state\n if (this.showEmptyState) {\n if (!this.listInputs.emptyState.title) {\n this.listInputs.emptyState.title = this._translate.instant('GENERIC_LIST.EMPTY_STATE.TITLE');\n }\n if (!this.listInputs.emptyState.description) {\n this.listInputs.emptyState.description = this._translate.instant('GENERIC_LIST.EMPTY_STATE.DESCRIPTION');\n }\n return;\n }\n setTimeout(async () => {\n if (this._pepListContainer) {\n if (this._pepListContainer.length > 0) {\n this._pepListContainer.remove();\n }\n const { PepListComponent } = await import('@pepperi-addons/ngx-lib/list');\n const componentRef = this._pepListContainer.createComponent(PepListComponent);\n\n this.pepList = componentRef.instance;\n\n componentRef.instance.viewType = this._genericListService.getListViewType(this._dataView.Type);\n componentRef.instance.tableViewType = this.listInputs.tableViewType;\n componentRef.instance.zebraStripes = this.listInputs.zebraStripes;\n if (this.disabled) {\n componentRef.instance.disabled = true;\n componentRef.instance.lockItemInnerEvents = true;\n }\n componentRef.instance.supportSorting = this.listInputs.supportSorting;\n componentRef.instance.selectionTypeForActions = this.listInputs.selectionType;\n \n componentRef.instance.showCardSelection = this.listInputs.selectionType !== 'none';\n componentRef.instance.pagerType = this.listInputs.pager.type;\n if (this.listInputs.pager.type === 'pages') {\n componentRef.instance.pageSize = this.listInputs.pager?.size || DEFAULT_PAGE_SIZE;\n componentRef.instance.pageIndex = this.listInputs.pager?.index || 0;\n }\n componentRef.instance.noDataFoundMsg = this.listInputs.noDataFoundMsg;\n componentRef.instance.fieldClick.subscribe(($event) => {\n this.onCustomizeFieldClick($event);\n });\n componentRef.instance.selectedItemsChange.subscribe(($event) => {\n this.onSelectedItemsChanged($event);\n });\n componentRef.instance.loadItems.subscribe(($event) => {\n this.onLoadItems($event);\n });\n componentRef.instance.loadPage.subscribe(($event) => {\n this.onLoadPage($event);\n });\n componentRef.instance.valueChange.subscribe(($event) => {\n this.onValueChanged($event)\n });\n componentRef.instance.sortingChange.subscribe(($event) => {\n this.onSortingChange($event);\n });\n let convertedList: ObjectsDataRow[] = [];\n if (data) {\n if (data?.length) {\n convertedList = this._dataConvertorService.convertListData(data);\n }\n const uiControl = this.getUiControl(DataViewConverter.toUIControlData(this._dataView));\n const selectedItems = this._genericListService.getSelectedItems(convertedList);\n if (selectedItems?.length) {\n componentRef.instance.setSelectedIds(selectedItems);\n } \n componentRef.instance.initListData(uiControl, convertedList.length, convertedList);\n }\n\n }\n }, 0);\n }\n }, 0);\n }\n\n /**\n * loads inputs in case they are provided and merge with selector inputs\n * @returns merged pep-list inputs\n */\n private loadTableInputs() {\n this.listInputs = {\n supportSorting: this.supportSorting,\n selectionType: this.selectionType,\n pager: this.pager,\n noDataFoundMsg: this.noDataFoundMsg,\n tableViewType: this.tableViewType,\n zebraStripes: this.zebraStripes,\n emptyState: this.emptyState\n };\n if (this._dataSource.inputs) {\n Object.entries(this._dataSource.inputs).forEach((item: any) => {\n if (this._genericListService.hasProperty(this.listInputs, item[0])) {\n this.listInputs[item[0]] = item[1];\n }\n });\n }\n }\n\n /**\n * detemines whether empty state is to be displayed\n */\n private setEmptyState() {\n this.showEmptyState = this.totalRowCount === 0 &&\n this.searchString === '' &&\n this._appliedFilters.length === 0;\n }\n\n private getUiControl(data: any): UIControl {\n const uiControl = new UIControl();\n uiControl.ControlFields = [];\n\n if (data?.ControlFields) {\n uiControl.ControlFields = data.ControlFields.map((field: any) => this._genericListService.convertToUiControlField(field));\n }\n\n return uiControl;\n }\n\n private loadMenuItems(): void { //TODO\n if (this.listInputs.selectionType !== 'none') {\n this.getMenuActions().then(\n x => this.menuActions = x\n );\n }\n }\n\n private async getMenuActions(): Promise<PepMenuItem[]> {\n const res: PepMenuItem[] = [];\n const result = this.getMenuObjects();\n if (result.success) {\n const actions = await this.actions.get(result.data);\n this.menuHandlers = {};\n actions?.forEach(item => {\n const uuid = PepGuid.newGuid();\n this.menuHandlers[uuid] = item.handler;\n res.push({\n key: uuid,\n text: item.title\n })\n })\n }\n\n return res;\n }\n\n private getMenuObjects() {\n const menuObjects: any = {\n success: false,\n data: new PepSelectionData()\n };\n\n if (this.pepList) {\n menuObjects.success = true;\n menuObjects.data = this.pepList.getSelectedItemsData();\n }\n\n return menuObjects;\n }\n\n private initSearch() {\n this.searchString = '';\n this.search?.initSearch();\n }\n\n private async loadData(fromIndex: number, toIndex: number): Promise<PepRowData[]> {\n this._loaderService.show();\n let converedData: PepRowData[] = [];\n const data: IPepGenericListInitData = await this._dataSource.init({\n searchString: this.searchString || undefined,\n filters: this._appliedFilters.length ? this._appliedFilters : undefined,\n sorting: this._sorting || undefined,\n fromIndex: fromIndex,\n toIndex: toIndex\n }); \n this._loaderService.hide();\n if (data) {\n this._dataView = data.dataView;\n\n if (data.items?.length > 0 && !data.isPepRowData) { \n converedData = data.items.map(item => this._genericListService.convertToPepRowData(item, data.dataView, this.uuidMapping));\n }\n }\n\n return converedData;\n }\n\n\n private async updateDataList(fromIndex: number, toIndex: number, pageIndex: number | undefined = undefined): Promise<PepRowData[]> {\n if (this._dataSource.update) {\n this._loaderService.show();\n let converedData: PepRowData[] = [];\n const dataList = await this._dataSource.update({\n searchString: this.searchString || undefined,\n filters: this._appliedFilters.length ? this._appliedFilters : undefined,\n sorting: this._sorting || undefined,\n fromIndex: fromIndex,\n toIndex: toIndex,\n pageIndex: pageIndex\n });\n this._loaderService.hide();\n\n if (dataList?.length > 0) {\n converedData = dataList.map(item => this._genericListService.convertToPepRowData(item, this._dataView, this.uuidMapping));\n } \n return converedData;\n } else {\n return [];\n }\n }\n\n /**\n * loads virtual scroll items from api\n */\n private async onLoadItems(event: IPepListLoadItemsEvent) {\n const list = await this.updateDataList(event.fromIndex, event.toIndex);\n const convertedList = this._dataConvertorService.convertListData(list);\n const selectedItems = this._genericListService.getSelectedItems(convertedList);\n if (selectedItems?.length) {\n this.pepList.setSelectedIds(selectedItems);\n }\n this.pepList.updateItems(convertedList, event);\n }\n\n /**\n * loads paging bulk from api\n */\n private async onLoadPage(event: IPepListLoadPageEvent) {\n const fromIndex = event.pageIndex * event.pageSize;\n const toIndex = Math.min(fromIndex + event.pageSize - 1, this.totalRowCount - 1);\n const list = await this.updateDataList(fromIndex, toIndex, event.pageIndex);\n const convertedList = this._dataConvertorService.convertListData(list);\n const selectedItems = this._genericListService.getSelectedItems(convertedList);\n if (selectedItems?.length) {\n this.pepList.setSelectedIds(selectedItems);\n }\n this.pepList.updatePage(convertedList, event);\n }\n\n getItemById(id: string): ObjectsDataRow | null {\n if (this.pepList) {\n return this._pepList.getItemDataByID(id);\n } else {\n return null;\n }\n }\n\n getSelectedItems(): PepSelectionData | null {\n if (this.pepList) {\n return this._pepList.getSelectedItemsData();\n } else {\n return null;\n }\n }\n\n getPageIndex() {\n return this.pepList.pageIndex;\n }\n\n onActionItemClicked(action: IPepMenuItemClickEvent): void {\n const result = this.getMenuObjects();\n if (result.success) {\n this.menuHandlers[action.source.key](result.data);\n }\n }\n\n onSearchChanged(event: IPepSearchClickEvent) {\n this.searchString = event.value;\n this.initList();\n }\n\n onSelectedItemsChanged(selectedRowsCount: number) {\n //loading menu items after pep-list selected items are updated\n setTimeout(() => {\n this.loadMenuItems();\n }, 0);\n }\n\n onCustomizeFieldClick(fieldClickEvent: IPepFormFieldClickEvent) {\n this.fieldClick.emit(fieldClickEvent);\n }\n\n onBreadCrumbItemClick(event: IPepBreadCrumbItemClickEvent) {\n this.breadCrumbItemClick.emit(event);\n }\n\n onValueChanged(event: IPepFormFieldValueChangeEvent) {\n this.valueChange.emit(event);\n }\n\n onSortingChange(event: IPepListSortingChangeEvent) {\n this._sorting = event;\n this.initList();\n }\n\n onFiltersChange(filters: IPepSmartFilterData[]) {\n this._appliedFilters = filters;\n this.initList();\n }\n\n ngOnDestroy() {\n if (this._resize$) {\n this._resize$.unsubscribe();\n }\n if (this._loader$) {\n this._loader$.unsubscribe();\n }\n }\n\n}\n","<div *ngIf=\"inline\" class=\"inline-container\" [ngClass]=\"{ 'add-padding': addPadding }\">\n <div class=\"header-area\" >\n <div *ngIf=\"showTopBar\" class=\"inline-top-bar-container\">\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"description\">\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\">\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n </div>\n <ng-container *ngIf=\"showSmartFilter\">\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!onLoad\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </ng-container>\n</div>\n<pep-page-layout *ngIf=\"!inline\" class=\"none-inline\" [addPadding]=\"addPadding\" [showShadow]=\"showSmartFilter\">\n <ng-container *ngIf=\"showSmartFilter\" pep-side-area>\n <ng-container *ngTemplateOutlet=\"smartFilterTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"showTopBar\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"topBarTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"description\" pep-top-area>\n <div class=\"list-description\">{{description}}</div>\n </ng-container>\n <ng-container *ngIf=\"breadCrumbsItems.length\" pep-top-area>\n <ng-container *ngTemplateOutlet=\"breadCrumbsTemplate\"></ng-container>\n </ng-container>\n <div *ngIf=\"!onLoad\" pep-main-area class=\"main-area-container\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n </div>\n</pep-page-layout>\n\n<ng-template #topBarTemplate>\n <pep-top-bar [title]=\"title\" [inline]=\"inline\">\n <div header-start-content>\n <ng-content select=\"[left-buttons]\"></ng-content>\n </div>\n <div header-end-content>\n <ng-content select=\"[right-buttons]\"></ng-content>\n </div>\n <!-- <div footer-start-content>\n <ng-content select=\"[left-bottom-area]\"></ng-content> \n </div>\n <div footer-end-content>\n <ng-content select=\"[right-bottom-area]\"></ng-content> \n </div> -->\n <pep-list-actions *ngIf=\"menuActions.length > 0\" [sizeType]=\"inline ? 'sm' : 'md'\" [actions]=\"menuActions\"\n (actionClick)=\"onActionItemClicked($event)\"></pep-list-actions>\n <pep-list-total [sizeType]=\"inline ? 'sm' : 'md'\" [totalRows]=\"totalRowCount\">\n </pep-list-total>\n <pep-search #search *ngIf=\"showSearch\" [value]=\"searchString\" [sizeType]=\"inline ? 'sm' : 'md'\"\n (search)=\"onSearchChanged($event)\">\n </pep-search>\n </pep-top-bar>\n</ng-template>\n\n<ng-template #smartFilterTemplate>\n <pep-side-bar #sideNav [ngClass]=\"{'smart-filter-area': inline}\">\n <pep-smart-filters title=\"Test filters\" [fields]=\"internalSmartFilter.fields\"\n [filters]=\"internalSmartFilter.data\" (filtersChange)=\"onFiltersChange($event)\">\n </pep-smart-filters>\n </pep-side-bar>\n</ng-template>\n\n<ng-template #breadCrumbsTemplate>\n <pep-bread-crumbs class=\"bread-crumbs\" [items]=\"breadCrumbsItems\" [addSpacing]=\"true\" [displayType]=\"'items'\"\n (itemClick)=\"onBreadCrumbItemClick($event)\"></pep-bread-crumbs>\n</ng-template>\n\n<ng-template #listTemplate>\n <div *ngIf=\"showEmptyState\" class=\"list-empty-state\">\n <div class=\"list-empty-title\">{{ listInputs.emptyState.title }}</div>\n <div class=\"list-empty-descr\">{{ listInputs.emptyState.description }}</div>\n <pep-icon name=\"leaf_skiny\" class=\"leaf-skiny\"></pep-icon>\n <pep-icon name=\"leaf_round\" class=\"leaf-round\"></pep-icon>\n <!-- <mat-icon class=\"leaf-skiny\">\n <pep-icon name=\"leaf_skiny\"></pep-icon>\n </mat-icon> -->\n <!-- <mat-icon class=\"leaf-round\">\n <pep-icon name=\"leaf_round\"></pep-icon>\n </mat-icon> -->\n </div>\n <div *ngIf=\"!showEmptyState\" class=\"list-container\">\n <ng-container #pepListContainer></ng-container>\n </div>\n</ng-template>","import { NgModule, APP_INITIALIZER } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { GenericListComponent } from './generic-list.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepListModule } from '@pepperi-addons/ngx-lib/list';\nimport { PepFormModule } from '@pepperi-addons/ngx-lib/form';\nimport { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';\nimport { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepSideBarModule } from '@pepperi-addons/ngx-lib/side-bar';\nimport { PepSearchModule } from '@pepperi-addons/ngx-lib/search';\nimport { PepBreadCrumbsModule } from '@pepperi-addons/ngx-lib/bread-crumbs';\nimport { PepSmartFiltersModule } from '@pepperi-addons/ngx-lib/smart-filters';\nimport { PepIconModule, PepIconRegistry, pepIconLeafRound, pepIconLeafSkiny, pepIconSystemView } from '@pepperi-addons/ngx-lib/icon';\nimport { PepGenericListService } from './generic-list.service';\nimport { firstValueFrom } from 'rxjs';\n\nconst pepIcons = [\n pepIconLeafRound,\n pepIconLeafSkiny, pepIconSystemView\n]\n\nexport function appInitializerFactory(translate: TranslateService) {\n return () => {\n translate.setDefaultLang('en');\n return firstValueFrom(translate.use('en'));\n }\n}\n\n@NgModule({\n declarations: [\n GenericListComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n MatIconModule,\n PepListModule,\n PepFormModule,\n PepMenuModule,\n PepPageLayoutModule,\n PepTopBarModule,\n PepSideBarModule,\n PepSearchModule,\n PepBreadCrumbsModule,\n PepIconModule,\n PepSmartFiltersModule\n ],\n exports: [\n GenericListComponent \n ],\n providers: [\n PepGenericListService,\n {\n provide: APP_INITIALIZER,\n useFactory: appInitializerFactory,\n deps: [TranslateService],\n multi: true\n }\n ]\n})\nexport class PepGenericListModule { \n constructor(\n private pepIconRegistry: PepIconRegistry\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}\n","/*\n * Public API Surface of ngx-composite-lib/generic-list\n */\nexport * from './generic-list.module';\nexport * from './generic-list.component';\nexport * from './generic-list.model';\nexport * from './generic-list.service';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.PepGenericListService","i11"],"mappings":"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"}
@@ -11,175 +11,175 @@ import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
11
11
  import * as i1$1 from '@pepperi-addons/ngx-lib/icon';
12
12
  import { pepIconTextAlignCenter, pepIconTextAlignLeft, pepIconTextAlignRight, PepIconModule } from '@pepperi-addons/ngx-lib/icon';
13
13
 
14
- class GroupButtonsSettingsComponent {
15
- // pepB: PepSizeType | 'none' = "xs";
16
- constructor(translate) {
17
- this.translate = translate;
18
- this.header = '';
19
- this.subHeader = '';
20
- this.groupType = 'sizes';
21
- this.btnsArray = [];
22
- this.excludeKeys = []; // for example ['xs','xl']
23
- this.useNone = false;
24
- this.disabled = false;
25
- this.dir = 'ltr';
26
- this.btnkeyChange = new EventEmitter();
27
- this.none = { key: 'none' };
28
- this.sizes = [];
29
- }
30
- set btnKey(value) {
31
- if (!value) {
32
- this._btnKey = '';
33
- }
34
- else {
35
- this._btnKey = value;
36
- }
37
- }
38
- get btnKey() {
39
- return this._btnKey;
40
- }
41
- ngOnInit() {
42
- // Get the first translation for load all translations.
43
- this.translate.get('SHADOW_SETTINGS.INTENSITY_SOFT').toPromise().then((typeSoft) => {
44
- this.none = { key: 'none', value: this.translate.instant('GENERAL.NONE'), callback: () => this.onKeyChange(null) };
45
- this.arrayMerge();
46
- });
47
- }
48
- arrayMerge() {
49
- this.btnsArray = this.getButtonsArray();
50
- // check if need to remove items from the buttons array
51
- if (this.excludeKeys) {
52
- this.btnsArray = this.btnsArray.filter(i => !this.excludeKeys.find(f => f === i.key));
53
- }
54
- // check if need to add the None button
55
- if (this.useNone) {
56
- this.btnsArray = [this.none].concat(this.btnsArray);
57
- }
58
- }
59
- onKeyChange(event) {
60
- this.btnKey = event?.source?.key || 'none';
61
- this.btnkeyChange.emit(this.btnKey);
62
- }
63
- getButtonsArray() {
64
- switch (this.groupType) {
65
- case 'custom': {
66
- return this.btnsArray;
67
- }
68
- case 'sizes': {
69
- return [
70
- { key: 'xs', value: this.translate.instant('GENERAL.XS'), callback: (event) => this.onKeyChange(event) },
71
- { key: 'sm', value: this.translate.instant('GENERAL.SM'), callback: (event) => this.onKeyChange(event) },
72
- { key: 'md', value: this.translate.instant('GENERAL.MD'), callback: (event) => this.onKeyChange(event) },
73
- { key: 'lg', value: this.translate.instant('GENERAL.LG'), callback: (event) => this.onKeyChange(event) },
74
- { key: 'xl', value: this.translate.instant('GENERAL.XL'), callback: (event) => this.onKeyChange(event) }
75
- ];
76
- }
77
- case 'vertical-align': {
78
- return [
79
- { key: 'start', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.TOP'), callback: (event) => this.onKeyChange(event) },
80
- { key: 'middle', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.MIDDLE'), callback: (event) => this.onKeyChange(event) },
81
- { key: 'end', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.BOTTOM'), callback: (event) => this.onKeyChange(event) }
82
- ];
83
- }
84
- case 'horizontal-align': {
85
- return [
86
- { key: 'left', iconName: 'text_align_right', callback: (event) => this.onKeyChange(event) },
87
- { key: 'center', iconName: 'text_align_center', callback: (event) => this.onKeyChange(event) },
88
- { key: 'right', iconName: 'text_align_left', callback: (event) => this.onKeyChange(event) },
89
- ];
90
- }
91
- case 'font-weight': {
92
- return [
93
- { key: 'regular', value: this.translate.instant('GENERAL.FONT_WEIGHT.REGULAR'), callback: (event) => this.onKeyChange(event) },
94
- { key: 'bold', value: this.translate.instant('GENERAL.FONT_WEIGHT.BOLD'), callback: (event) => this.onKeyChange(event) },
95
- { key: 'bolder', value: this.translate.instant('GENERAL.FONT_WEIGHT.BOLDER'), callback: (event) => this.onKeyChange(event) }
96
- ];
97
- }
98
- case 'width-sizes': {
99
- return [
100
- { key: 'narrow', value: this.translate.instant('GENERAL.WIDTH_SIZE.NARROW'), callback: (event) => this.onKeyChange(event) },
101
- { key: 'regular', value: this.translate.instant('GENERAL.WIDTH_SIZE.REGULAR'), callback: (event) => this.onKeyChange(event) },
102
- { key: 'wide', value: this.translate.instant('GENERAL.WIDTH_SIZE.WIDE'), callback: (event) => this.onKeyChange(event) }
103
- ];
104
- }
105
- default: {
106
- return [];
107
- }
108
- }
109
- }
110
- }
111
- GroupButtonsSettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GroupButtonsSettingsComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
112
- GroupButtonsSettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: GroupButtonsSettingsComponent, selector: "pep-group-buttons-settings", inputs: { header: "header", subHeader: "subHeader", groupType: "groupType", btnsArray: "btnsArray", excludeKeys: "excludeKeys", useNone: "useNone", disabled: "disabled", dir: "dir", btnKey: "btnKey" }, outputs: { btnkeyChange: "btnkeyChange" }, ngImport: i0, template: "<label *ngIf=\"header != ''\" class=\"body-xl bold ellipsis\">{{header}}</label>\n<pep-field-title *ngIf=\"subHeader !=''\" [label]=\"subHeader\" [disabled]=\"disabled\" [xAlignment]=\"dir === 'rtl' ? 'right' : 'left'\"></pep-field-title>\n<pep-group-buttons [buttons]=\"btnsArray\" \n [selectedButtonKey]=\"btnKey\" \n [stretch]=\"true\" \n buttonsClass=\"md regular\" \n [buttonsDisabled]=\"disabled\" \n viewType=\"toggle\">\n</pep-group-buttons>\n", styles: [":host{width:100%}:host .shadow-size-group,:host .shadow-type-group{display:block;margin-bottom:var(--pep-form-spacing, 1rem)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength", "fontBodyType"] }, { kind: "component", type: i4.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "supportUnselect", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }] });
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GroupButtonsSettingsComponent, decorators: [{
114
- type: Component,
115
- args: [{ selector: 'pep-group-buttons-settings', template: "<label *ngIf=\"header != ''\" class=\"body-xl bold ellipsis\">{{header}}</label>\n<pep-field-title *ngIf=\"subHeader !=''\" [label]=\"subHeader\" [disabled]=\"disabled\" [xAlignment]=\"dir === 'rtl' ? 'right' : 'left'\"></pep-field-title>\n<pep-group-buttons [buttons]=\"btnsArray\" \n [selectedButtonKey]=\"btnKey\" \n [stretch]=\"true\" \n buttonsClass=\"md regular\" \n [buttonsDisabled]=\"disabled\" \n viewType=\"toggle\">\n</pep-group-buttons>\n", styles: [":host{width:100%}:host .shadow-size-group,:host .shadow-type-group{display:block;margin-bottom:var(--pep-form-spacing, 1rem)}\n"] }]
116
- }], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { header: [{
117
- type: Input
118
- }], subHeader: [{
119
- type: Input
120
- }], groupType: [{
121
- type: Input
122
- }], btnsArray: [{
123
- type: Input
124
- }], excludeKeys: [{
125
- type: Input
126
- }], useNone: [{
127
- type: Input
128
- }], disabled: [{
129
- type: Input
130
- }], dir: [{
131
- type: Input
132
- }], btnKey: [{
133
- type: Input
134
- }], btnkeyChange: [{
135
- type: Output
14
+ class GroupButtonsSettingsComponent {
15
+ // pepB: PepSizeType | 'none' = "xs";
16
+ constructor(translate) {
17
+ this.translate = translate;
18
+ this.header = '';
19
+ this.subHeader = '';
20
+ this.groupType = 'sizes';
21
+ this.btnsArray = [];
22
+ this.excludeKeys = []; // for example ['xs','xl']
23
+ this.useNone = false;
24
+ this.disabled = false;
25
+ this.dir = 'ltr';
26
+ this.btnkeyChange = new EventEmitter();
27
+ this.none = { key: 'none' };
28
+ this.sizes = [];
29
+ }
30
+ set btnKey(value) {
31
+ if (!value) {
32
+ this._btnKey = '';
33
+ }
34
+ else {
35
+ this._btnKey = value;
36
+ }
37
+ }
38
+ get btnKey() {
39
+ return this._btnKey;
40
+ }
41
+ ngOnInit() {
42
+ // Get the first translation for load all translations.
43
+ this.translate.get('SHADOW_SETTINGS.INTENSITY_SOFT').toPromise().then((typeSoft) => {
44
+ this.none = { key: 'none', value: this.translate.instant('GENERAL.NONE'), callback: () => this.onKeyChange(null) };
45
+ this.arrayMerge();
46
+ });
47
+ }
48
+ arrayMerge() {
49
+ this.btnsArray = this.getButtonsArray();
50
+ // check if need to remove items from the buttons array
51
+ if (this.excludeKeys) {
52
+ this.btnsArray = this.btnsArray.filter(i => !this.excludeKeys.find(f => f === i.key));
53
+ }
54
+ // check if need to add the None button
55
+ if (this.useNone) {
56
+ this.btnsArray = [this.none].concat(this.btnsArray);
57
+ }
58
+ }
59
+ onKeyChange(event) {
60
+ this.btnKey = event?.source?.key || 'none';
61
+ this.btnkeyChange.emit(this.btnKey);
62
+ }
63
+ getButtonsArray() {
64
+ switch (this.groupType) {
65
+ case 'custom': {
66
+ return this.btnsArray;
67
+ }
68
+ case 'sizes': {
69
+ return [
70
+ { key: 'xs', value: this.translate.instant('GENERAL.XS'), callback: (event) => this.onKeyChange(event) },
71
+ { key: 'sm', value: this.translate.instant('GENERAL.SM'), callback: (event) => this.onKeyChange(event) },
72
+ { key: 'md', value: this.translate.instant('GENERAL.MD'), callback: (event) => this.onKeyChange(event) },
73
+ { key: 'lg', value: this.translate.instant('GENERAL.LG'), callback: (event) => this.onKeyChange(event) },
74
+ { key: 'xl', value: this.translate.instant('GENERAL.XL'), callback: (event) => this.onKeyChange(event) }
75
+ ];
76
+ }
77
+ case 'vertical-align': {
78
+ return [
79
+ { key: 'start', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.TOP'), callback: (event) => this.onKeyChange(event) },
80
+ { key: 'middle', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.MIDDLE'), callback: (event) => this.onKeyChange(event) },
81
+ { key: 'end', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.BOTTOM'), callback: (event) => this.onKeyChange(event) }
82
+ ];
83
+ }
84
+ case 'horizontal-align': {
85
+ return [
86
+ { key: 'left', iconName: 'text_align_right', callback: (event) => this.onKeyChange(event) },
87
+ { key: 'center', iconName: 'text_align_center', callback: (event) => this.onKeyChange(event) },
88
+ { key: 'right', iconName: 'text_align_left', callback: (event) => this.onKeyChange(event) },
89
+ ];
90
+ }
91
+ case 'font-weight': {
92
+ return [
93
+ { key: 'regular', value: this.translate.instant('GENERAL.FONT_WEIGHT.REGULAR'), callback: (event) => this.onKeyChange(event) },
94
+ { key: 'bold', value: this.translate.instant('GENERAL.FONT_WEIGHT.BOLD'), callback: (event) => this.onKeyChange(event) },
95
+ { key: 'bolder', value: this.translate.instant('GENERAL.FONT_WEIGHT.BOLDER'), callback: (event) => this.onKeyChange(event) }
96
+ ];
97
+ }
98
+ case 'width-sizes': {
99
+ return [
100
+ { key: 'narrow', value: this.translate.instant('GENERAL.WIDTH_SIZE.NARROW'), callback: (event) => this.onKeyChange(event) },
101
+ { key: 'regular', value: this.translate.instant('GENERAL.WIDTH_SIZE.REGULAR'), callback: (event) => this.onKeyChange(event) },
102
+ { key: 'wide', value: this.translate.instant('GENERAL.WIDTH_SIZE.WIDE'), callback: (event) => this.onKeyChange(event) }
103
+ ];
104
+ }
105
+ default: {
106
+ return [];
107
+ }
108
+ }
109
+ }
110
+ }
111
+ GroupButtonsSettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GroupButtonsSettingsComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
112
+ GroupButtonsSettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: GroupButtonsSettingsComponent, selector: "pep-group-buttons-settings", inputs: { header: "header", subHeader: "subHeader", groupType: "groupType", btnsArray: "btnsArray", excludeKeys: "excludeKeys", useNone: "useNone", disabled: "disabled", dir: "dir", btnKey: "btnKey" }, outputs: { btnkeyChange: "btnkeyChange" }, ngImport: i0, template: "<label *ngIf=\"header != ''\" class=\"body-xl bold ellipsis\">{{header}}</label>\n<pep-field-title *ngIf=\"subHeader !=''\" [label]=\"subHeader\" [disabled]=\"disabled\" [xAlignment]=\"dir === 'rtl' ? 'right' : 'left'\"></pep-field-title>\n<pep-group-buttons [buttons]=\"btnsArray\" \n [selectedButtonKey]=\"btnKey\" \n [stretch]=\"true\" \n buttonsClass=\"md regular\" \n [buttonsDisabled]=\"disabled\" \n viewType=\"toggle\">\n</pep-group-buttons>\n", styles: [":host{width:100%}:host .shadow-size-group,:host .shadow-type-group{display:block;margin-bottom:var(--pep-form-spacing, 1rem)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PepFieldTitleComponent, selector: "pep-field-title", inputs: ["label", "mandatory", "disabled", "maxFieldCharacters", "hint", "xAlignment", "showTitle", "inputLength", "fontBodyType"] }, { kind: "component", type: i4.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "supportUnselect", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }] });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: GroupButtonsSettingsComponent, decorators: [{
114
+ type: Component,
115
+ args: [{ selector: 'pep-group-buttons-settings', template: "<label *ngIf=\"header != ''\" class=\"body-xl bold ellipsis\">{{header}}</label>\n<pep-field-title *ngIf=\"subHeader !=''\" [label]=\"subHeader\" [disabled]=\"disabled\" [xAlignment]=\"dir === 'rtl' ? 'right' : 'left'\"></pep-field-title>\n<pep-group-buttons [buttons]=\"btnsArray\" \n [selectedButtonKey]=\"btnKey\" \n [stretch]=\"true\" \n buttonsClass=\"md regular\" \n [buttonsDisabled]=\"disabled\" \n viewType=\"toggle\">\n</pep-group-buttons>\n", styles: [":host{width:100%}:host .shadow-size-group,:host .shadow-type-group{display:block;margin-bottom:var(--pep-form-spacing, 1rem)}\n"] }]
116
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { header: [{
117
+ type: Input
118
+ }], subHeader: [{
119
+ type: Input
120
+ }], groupType: [{
121
+ type: Input
122
+ }], btnsArray: [{
123
+ type: Input
124
+ }], excludeKeys: [{
125
+ type: Input
126
+ }], useNone: [{
127
+ type: Input
128
+ }], disabled: [{
129
+ type: Input
130
+ }], dir: [{
131
+ type: Input
132
+ }], btnKey: [{
133
+ type: Input
134
+ }], btnkeyChange: [{
135
+ type: Output
136
136
  }] } });
137
137
 
138
- const pepIcons = [
139
- pepIconTextAlignCenter,
140
- pepIconTextAlignLeft,
141
- pepIconTextAlignRight
142
- ];
143
- class PepGroupButtonsSettingsModule {
144
- constructor(pepIconRegistry) {
145
- this.pepIconRegistry = pepIconRegistry;
146
- this.pepIconRegistry.registerIcons(pepIcons);
147
- }
148
- }
149
- PepGroupButtonsSettingsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGroupButtonsSettingsModule, deps: [{ token: i1$1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
150
- PepGroupButtonsSettingsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepGroupButtonsSettingsModule, declarations: [GroupButtonsSettingsComponent], imports: [CommonModule,
151
- PepNgxLibModule,
152
- PepFieldTitleModule,
153
- PepGroupButtonsModule,
154
- PepIconModule], exports: [GroupButtonsSettingsComponent] });
155
- PepGroupButtonsSettingsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGroupButtonsSettingsModule, imports: [CommonModule,
156
- PepNgxLibModule,
157
- PepFieldTitleModule,
158
- PepGroupButtonsModule,
159
- PepIconModule] });
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGroupButtonsSettingsModule, decorators: [{
161
- type: NgModule,
162
- args: [{
163
- declarations: [
164
- GroupButtonsSettingsComponent
165
- ],
166
- imports: [
167
- CommonModule,
168
- PepNgxLibModule,
169
- PepFieldTitleModule,
170
- PepGroupButtonsModule,
171
- PepIconModule
172
- ],
173
- exports: [GroupButtonsSettingsComponent]
174
- }]
138
+ const pepIcons = [
139
+ pepIconTextAlignCenter,
140
+ pepIconTextAlignLeft,
141
+ pepIconTextAlignRight
142
+ ];
143
+ class PepGroupButtonsSettingsModule {
144
+ constructor(pepIconRegistry) {
145
+ this.pepIconRegistry = pepIconRegistry;
146
+ this.pepIconRegistry.registerIcons(pepIcons);
147
+ }
148
+ }
149
+ PepGroupButtonsSettingsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGroupButtonsSettingsModule, deps: [{ token: i1$1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
150
+ PepGroupButtonsSettingsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: PepGroupButtonsSettingsModule, declarations: [GroupButtonsSettingsComponent], imports: [CommonModule,
151
+ PepNgxLibModule,
152
+ PepFieldTitleModule,
153
+ PepGroupButtonsModule,
154
+ PepIconModule], exports: [GroupButtonsSettingsComponent] });
155
+ PepGroupButtonsSettingsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGroupButtonsSettingsModule, imports: [CommonModule,
156
+ PepNgxLibModule,
157
+ PepFieldTitleModule,
158
+ PepGroupButtonsModule,
159
+ PepIconModule] });
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepGroupButtonsSettingsModule, decorators: [{
161
+ type: NgModule,
162
+ args: [{
163
+ declarations: [
164
+ GroupButtonsSettingsComponent
165
+ ],
166
+ imports: [
167
+ CommonModule,
168
+ PepNgxLibModule,
169
+ PepFieldTitleModule,
170
+ PepGroupButtonsModule,
171
+ PepIconModule
172
+ ],
173
+ exports: [GroupButtonsSettingsComponent]
174
+ }]
175
175
  }], ctorParameters: function () { return [{ type: i1$1.PepIconRegistry }]; } });
176
176
 
177
- /*
178
- * Public API Surface of ngx-composite-lib/shadow-settings
177
+ /*
178
+ * Public API Surface of ngx-composite-lib/shadow-settings
179
179
  */
180
180
 
181
- /**
182
- * Generated bundle index. Do not edit.
181
+ /**
182
+ * Generated bundle index. Do not edit.
183
183
  */
184
184
 
185
185
  export { GroupButtonsSettingsComponent, PepGroupButtonsSettingsModule };