@WidgetComponent

nm-data-list-tree-component

File

src/app/shared/widgets/data-list/data-list-tree-component/data-list-tree.component.ts

Extends

DataListComponent

Metadata

providers EditAttributeService
selector nm-data-list-tree-component
styleUrls .data-list-component/data-list.component.scss,
data-list-tree.component.scss
templateUrl ./data-list-tree.component.html

Index

Widget inputs
Widget outputs
Properties
Methods
Inputs
Outputs

Constructor

constructor(localStorageService: LocalStorageService, dialog: DialogService, translateService: TranslateService, currentLocaleService: CurrentLocaleService, notificationService: CustomNotificationService, widgetFrameService: WidgetframeService, appContext: AppContext, appdataStore: AppdataStore, cdr: ChangeDetectorRef, http: HttpClient, progressbarService: ProgressbarService, editAttributeService: EditAttributeService, scrollService: ScrollService, dataListExportService: DataListExportService, websocketService: WebsocketService, userService: UserService, dataListEndEditService: DataListEndEditService, validationService: ValidationService, unsavedChangesService: UnsavedChangesService, appService: AppService, module: NmModuleDescriptor)
Parameters :
Name Type Optional
localStorageService LocalStorageService no
dialog DialogService no
translateService TranslateService no
currentLocaleService CurrentLocaleService no
notificationService CustomNotificationService no
widgetFrameService WidgetframeService no
appContext AppContext no
appdataStore AppdataStore no
cdr ChangeDetectorRef no
http HttpClient no
progressbarService ProgressbarService no
editAttributeService EditAttributeService no
scrollService ScrollService no
dataListExportService DataListExportService no
websocketService WebsocketService no
userService UserService no
dataListEndEditService DataListEndEditService no
validationService ValidationService no
unsavedChangesService UnsavedChangesService no
appService AppService no
module NmModuleDescriptor no

Inputs

autoFocus

Type: boolean

Default value: false

configuration

Type: DataListTreeConfiguration

expandChildren
storeExpandedChildren
additionalParams
Inherited from DataListComponent
Defined in DataListComponent:318
attributeUrl
Inherited from DataListComponent
Defined in DataListComponent:289
autoFocus

Type: boolean

Default value: false

Inherited from DataListComponent
Defined in DataListComponent:340
clearCellSelection
Inherited from DataListComponent
Defined in DataListComponent:238
clearFiltersAndSorting
Inherited from DataListComponent
Defined in DataListComponent:266
clearRowSelection
Inherited from DataListComponent
Defined in DataListComponent:252
configuration

Type: DataListConfiguration

Inherited from DataListComponent
Defined in DataListComponent:160
contextIdentifier
Inherited from DataListComponent
Defined in DataListComponent:206
data
Inherited from DataListComponent
Defined in DataListComponent:201
dataTypeInput
Inherited from DataListComponent
Defined in DataListComponent:275
dataTypeMode
Inherited from DataListComponent
Defined in DataListComponent:196
disableCellEditMode
Inherited from DataListComponent
Defined in DataListComponent:229
dynamicColumnsIn
Inherited from DataListComponent
Defined in DataListComponent:309
eagerLimit
Inherited from DataListComponent
Defined in DataListComponent:284
endGridEditMode
Inherited from DataListComponent
Defined in DataListComponent:261
export
Inherited from DataListComponent
Defined in DataListComponent:224
filterColumns
Inherited from DataListComponent
Defined in DataListComponent:323
locale
Inherited from DataListComponent
Defined in DataListComponent:181
preselectAttributeProfile
Inherited from DataListComponent
Defined in DataListComponent:332
products
Inherited from DataListComponent
Defined in DataListComponent:294
refreshRows
Inherited from DataListComponent
Defined in DataListComponent:299
reload
Inherited from DataListComponent
Defined in DataListComponent:186
reset
Inherited from DataListComponent
Defined in DataListComponent:191
resetEditData
Inherited from DataListComponent
Defined in DataListComponent:172
restoreGlobalFilter
Inherited from DataListComponent
Defined in DataListComponent:304
rowSelection
Inherited from DataListComponent
Defined in DataListComponent:247
shownAttributesIn
Inherited from DataListComponent
Defined in DataListComponent:215
uri
Inherited from DataListComponent
Defined in DataListComponent:167
widgetId

Type: string

Inherited from DataListComponent
Defined in DataListComponent:164

Outputs

childSelectedItems $event type: EventEmitter
api $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:391
currentData $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:379
dataLoaded $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:376
dataType $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:370
dynamicColumns $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:346
dynamicPrefix $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:343
editableCell $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:382
editedRow $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:358
editedRows $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:355
gridOutput $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:364
isValid $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:373
onCellSelect $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:409
onDrop $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:406
reorderedRows $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:403
rowEditEnter $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:385
rowEditLeave $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:388
selectedItems $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:349
shownAttributes $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:352
statusOut $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:400
tileClicked $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:397
toggleButtonChange $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:394
total $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:361
viewMode $event type: EventEmitter
Inherited from DataListComponent
Defined in DataListComponent:367

Methods

Protected buildSelectionEvent
buildSelectionEvent(event: IRowSelectionEventArgs, grid: IgxGridComponent | IgxHierarchicalGridComponent | IgxTreeGridComponent, service: DataListService)
Returns : SelectionParams
Private childrenLinkName
childrenLinkName()
Returns : any
Public columnFilter
columnFilter(entries: any[], parent: string)
Parameters :
Name Type Optional
entries any[] no
parent string no
Returns : any
Public customKeydown
customKeydown(event: any)
Parameters :
Name Type Optional
event any no
Returns : void
Private doLoadChildren
doLoadChildren(data: any, done: (children: any[]) => void)
Parameters :
Name Type Optional
data any no
done function no
Returns : void
Public doReload
doReload()
Returns : void
Public foreignKey
foreignKey(configuration: DataListTreeConfiguration)
Parameters :
Name Type Optional
configuration DataListTreeConfiguration no
Returns : string
Public groupFilter
groupFilter(entries: any[], parent: string)
Parameters :
Name Type Optional
entries any[] no
parent string no
Returns : any
Public loadChildren
loadChildren(parentID: any, done: (children: any[]) => void)
Parameters :
Name Type Optional
parentID any no
done function no
Returns : void
ngAfterViewInit
ngAfterViewInit()
Returns : void
ngOnInit
ngOnInit()
Returns : void
Protected onInput
onInput(link: )
Parameters :
Name Optional
link no
Returns : void
onItemDropped
onItemDropped(event: , cell: , column: Column)
Parameters :
Name Type Optional
event no
cell no
column Column no
Returns : void
Protected setEditedRowsData
setEditedRowsData(rowId: string, gridRow: any, parent: string, attributes: , configuration: DataListConfiguration)
Parameters :
Name Type Optional
rowId string no
gridRow any no
parent string no
attributes no
configuration DataListConfiguration no
Returns : void
Public trackGroups
trackGroups(index: number, group: DataListHeaderGroup)
Parameters :
Name Type Optional
index number no
group DataListHeaderGroup no
Returns : string
Public applyDensityFromLocalStorage
applyDensityFromLocalStorage()
Inherited from DataListComponent
Defined in DataListComponent:2209
Returns : void
Private applyExcelPasteData
applyExcelPasteData(response: , selectedCell: )
Inherited from DataListComponent
Defined in DataListComponent:2599
Parameters :
Name Optional
response no
selectedCell no
Returns : void
Private autosizeColumns
autosizeColumns()
Inherited from DataListComponent
Defined in DataListComponent:636
Returns : void
Protected buildLazyAllSelectionEvent
buildLazyAllSelectionEvent(event: any, grid: IgxGridBaseDirective, service: DataListService)
Inherited from DataListComponent
Defined in DataListComponent:1787
Parameters :
Name Type Optional
event any no
grid IgxGridBaseDirective no
service DataListService no
Returns : SelectionParams
Protected buildSelectionEvent
buildSelectionEvent(event: any, grid: IgxGridComponent | IgxHierarchicalGridComponent | IgxTreeGridComponent, service: DataListService)
Inherited from DataListComponent
Defined in DataListComponent:1816
Parameters :
Name Type Optional
event any no
grid IgxGridComponent | IgxHierarchicalGridComponent | IgxTreeGridComponent no
service DataListService no
Returns : SelectionParams
calcTableHeight
calcTableHeight()
Inherited from DataListComponent
Defined in DataListComponent:2343
Returns : string
Private checkCellForErrors
checkCellForErrors(cell: ListCellEditComponent | ListCellComponent)
Inherited from DataListComponent
Defined in DataListComponent:2199
Parameters :
Name Type Optional
cell ListCellEditComponent | ListCellComponent no
Returns : boolean
Public clearAllFiltersAndSorting
clearAllFiltersAndSorting(clearGrouping: , loadData: boolean, restoreGlobalFilter: )
Inherited from DataListComponent
Defined in DataListComponent:1941
Parameters :
Name Type Optional Default value
clearGrouping no true
loadData boolean no true
restoreGlobalFilter no false
Returns : void
Public clearColumnFilter
clearColumnFilter(input: any, column: any)
Inherited from DataListComponent
Defined in DataListComponent:2099
Parameters :
Name Type Optional
input any no
column any no
Returns : void
Public clearGlobalFilter
clearGlobalFilter()
Inherited from DataListComponent
Defined in DataListComponent:1936
Returns : void
Protected clearSelectedRows
clearSelectedRows()
Inherited from DataListComponent
Defined in DataListComponent:1082
Returns : void
closeContextMenu
closeContextMenu()
Inherited from DataListComponent
Defined in DataListComponent:2137
Returns : void
columnInit
columnInit(column: any)
Inherited from DataListComponent
Defined in DataListComponent:2084
Parameters :
Name Type Optional
column any no
Returns : void
columnOrderChanged
columnOrderChanged(columnIdentifiers: string[])
Inherited from DataListComponent
Defined in DataListComponent:2659
Parameters :
Name Type Optional
columnIdentifiers string[] no
Returns : void
Protected dataLoaded
dataLoaded(data: )
Inherited from DataListComponent
Defined in DataListComponent:599
Parameters :
Name Optional
data no
Returns : void
Public dataPasted
dataPasted(processedData: string[][])
Inherited from DataListComponent
Defined in DataListComponent:2428
Parameters :
Name Type Optional
processedData string[][] no
Returns : void
Private doInitialSorting
doInitialSorting()
Inherited from DataListComponent
Defined in DataListComponent:1181
Returns : void
Public doRefresh
doRefresh()
Inherited from DataListComponent
Defined in DataListComponent:1109
Returns : void
Public doReload
doReload(force: boolean)
Inherited from DataListComponent
Defined in DataListComponent:1094
Parameters :
Name Type Optional Default value
force boolean no false
Returns : void
Protected doReset
doReset()
Inherited from DataListComponent
Defined in DataListComponent:1089
Returns : void
Public editShownAttributes
editShownAttributes()
Inherited from DataListComponent
Defined in DataListComponent:1585
Returns : void
Private emitDataListStatus
emitDataListStatus(lastChange: string)
Inherited from DataListComponent
Defined in DataListComponent:1142
Parameters :
Name Type Optional
lastChange string no
Returns : void
Public fireEditedRowsEvent
fireEditedRowsEvent(rowId: string, gridRow: any, parent: string, attributes: , configuration: DataListConfiguration)
Inherited from DataListComponent
Defined in DataListComponent:1536
Parameters :
Name Type Optional
rowId string no
gridRow any no
parent string no
attributes no
configuration DataListConfiguration no
Returns : void
Public getCellClass
getCellClass(nmColumn: )
Inherited from DataListComponent
Defined in DataListComponent:2314
Parameters :
Name Optional
nmColumn no
Returns : any
Public getColumnHeaderClasses
getColumnHeaderClasses(column: Column)
Inherited from DataListComponent
Defined in DataListComponent:1993
Parameters :
Name Type Optional
column Column no
Returns : {}
Private getCurrentRowIndex
getCurrentRowIndex(rowList: , cursorPosition: )
Inherited from DataListComponent
Defined in DataListComponent:2494
Parameters :
Name Optional
rowList no
cursorPosition no
Returns : any
Public getDynamicPrefix
getDynamicPrefix()
Inherited from DataListComponent
Defined in DataListComponent:1978
Returns : string
Public getGridColumnWidth
getGridColumnWidth(column: Column)
Inherited from DataListComponent
Defined in DataListComponent:660
Parameters :
Name Type Optional
column Column no
Returns : any
getHeaderClass
getHeaderClass(nmColumn: )
Inherited from DataListComponent
Defined in DataListComponent:2252
Parameters :
Name Optional
nmColumn no
Returns : any
Public getHighlightReadOnly
getHighlightReadOnly()
Inherited from DataListComponent
Defined in DataListComponent:2310
Returns : boolean
Protected getShownAttributes
getShownAttributes()
Inherited from DataListComponent
Defined in DataListComponent:1697
Returns : any
Private getSortDirection
getSortDirection(direction: )
Inherited from DataListComponent
Defined in DataListComponent:1201
Parameters :
Name Optional
direction no
Returns : any
getTableHeight
getTableHeight()
Inherited from DataListComponent
Defined in DataListComponent:2336
Returns : string
Public getTranslationKey
getTranslationKey(column: Column)
Inherited from DataListComponent
Defined in DataListComponent:1986
Parameters :
Name Type Optional
column Column no
Returns : any
Public groupingComparer
groupingComparer(column: Column)
Inherited from DataListComponent
Defined in DataListComponent:2015
Parameters :
Name Type Optional
column Column no
Returns : any
Protected handleInput
handleInput(link: )
Inherited from DataListComponent
Defined in DataListComponent:1422
Parameters :
Name Optional
link no
Returns : void
Public ngAfterViewInit
ngAfterViewInit()
Inherited from DataListComponent
Defined in DataListComponent:1150
Returns : void
Public ngOnDestroy
ngOnDestroy()
Inherited from DataListComponent
Defined in DataListComponent:1739
Returns : void
Public ngOnInit
ngOnInit()
Inherited from DataListComponent
Defined in DataListComponent:697
Returns : void
onCellClick
onCellClick(event: )
Inherited from DataListComponent
Defined in DataListComponent:1747
Parameters :
Name Optional
event no
Returns : void
onCellEdit
onCellEdit(event: IGridEditEventArgs, configuration: DataListConfiguration)
Inherited from DataListComponent
Defined in DataListComponent:1496
Parameters :
Name Type Optional Default value
event IGridEditEventArgs no
configuration DataListConfiguration no this.configuration
Returns : void
onCellEditEnter
onCellEditEnter(event: IGridEditEventArgs)
Inherited from DataListComponent
Defined in DataListComponent:2228
Parameters :
Name Type Optional
event IGridEditEventArgs no
Returns : void
onCellEditExit
onCellEditExit()
Inherited from DataListComponent
Defined in DataListComponent:2241
Returns : void
Public onColumnFilterInput
onColumnFilterInput(input: any, column: IgxColumnComponent)
Inherited from DataListComponent
Defined in DataListComponent:2090
Parameters :
Name Type Optional
input any no
column IgxColumnComponent no
Returns : void
onDataColumnsChange
onDataColumnsChange(visibleDataColumns: string[], showAllColumns: boolean)
Inherited from DataListComponent
Defined in DataListComponent:2663
Parameters :
Name Type Optional Default value
visibleDataColumns string[] no
showAllColumns boolean no false
Returns : void
Public onDataTypeChange
onDataTypeChange(reload: boolean)
Inherited from DataListComponent
Defined in DataListComponent:1118
Parameters :
Name Type Optional Default value
reload boolean no true
Returns : void
Public onDrop
onDrop(event: )
Inherited from DataListComponent
Defined in DataListComponent:2466
Parameters :
Name Optional
event no
Returns : void
Public onExport
onExport(settings: )
Inherited from DataListComponent
Defined in DataListComponent:1728
Parameters :
Name Optional
settings no
Returns : void
onFilteringDone
onFilteringDone()
Inherited from DataListComponent
Defined in DataListComponent:2680
Returns : void
Public onFilterValueChange
onFilterValueChange()
Inherited from DataListComponent
Defined in DataListComponent:2019
Returns : void
onHeaderSelectorClick
onHeaderSelectorClick(event: any)
Inherited from DataListComponent
Defined in DataListComponent:1778
Parameters :
Name Type Optional
event any no
Returns : void
Protected onInput
onInput(link: )
Inherited from DataListComponent
Defined in DataListComponent:1440
Parameters :
Name Optional
link no
Returns : void
Public onItemDropped
onItemDropped(event: , cell: IgxGridCell, column: Column)
Inherited from DataListComponent
Defined in DataListComponent:2286
Parameters :
Name Type Optional
event no
cell IgxGridCell no
column Column no
Returns : void
onRangeSelection
onRangeSelection(event: GridSelectionRange)
Inherited from DataListComponent
Defined in DataListComponent:2031
Parameters :
Name Type Optional
event GridSelectionRange no
Returns : void
Public onRowDragStart
onRowDragStart(event: )
Inherited from DataListComponent
Defined in DataListComponent:2461
Parameters :
Name Optional
event no
Returns : any
Public onRowEdit
onRowEdit(event: IGridEditEventArgs, configuration: DataListConfiguration, parent: string)
Inherited from DataListComponent
Defined in DataListComponent:1451
Parameters :
Name Type Optional Default value
event IGridEditEventArgs no
configuration DataListConfiguration no this.configuration
parent string no null
Returns : void
Public onRowEditCancel
onRowEditCancel()
Inherited from DataListComponent
Defined in DataListComponent:2108
Returns : void
Public onRowEditEnter
onRowEditEnter()
Inherited from DataListComponent
Defined in DataListComponent:2104
Returns : void
Public onRowSelection
onRowSelection(event: any)
Inherited from DataListComponent
Defined in DataListComponent:1773
Parameters :
Name Type Optional
event any no
Returns : void
onViewModeChange
onViewModeChange()
Inherited from DataListComponent
Defined in DataListComponent:1890
Returns : void
Public onVisibilityChanged
onVisibilityChanged(event: )
Inherited from DataListComponent
Defined in DataListComponent:2050
Parameters :
Name Optional
event no
Returns : void
Public openContextmenu
openContextmenu(eventArgs: )
Inherited from DataListComponent
Defined in DataListComponent:2112
Parameters :
Name Optional
eventArgs no
Returns : void
Public openDialogForShownAttributes
openDialogForShownAttributes()
Inherited from DataListComponent
Defined in DataListComponent:1596
Returns : void
Private prepareExcelPasteRequestData
prepareExcelPasteRequestData(selectedCell: , processedData: string[][])
Inherited from DataListComponent
Defined in DataListComponent:2522
Parameters :
Name Type Optional
selectedCell no
processedData string[][] no
Public primaryKey
primaryKey(configuration: DataListTreeConfiguration)
Inherited from DataListComponent
Defined in DataListComponent:1447
Parameters :
Name Type Optional
configuration DataListTreeConfiguration no
Returns : string
processDataOnChange
processDataOnChange(event: , reset: boolean)
Inherited from DataListComponent
Defined in DataListComponent:2673
Parameters :
Name Type Optional
event no
reset boolean no
Returns : void
Public reRender
reRender(ids: string[])
Inherited from DataListComponent
Defined in DataListComponent:1431
Parameters :
Name Type Optional
ids string[] no
Returns : void
selectAvailableRows
selectAvailableRows(result: SelectionParams, grid: IgxGridBaseDirective, service: DataListService, rowData: any[])
Inherited from DataListComponent
Defined in DataListComponent:1863
Parameters :
Name Type Optional
result SelectionParams no
grid IgxGridBaseDirective no
service DataListService no
rowData any[] no
Returns : any
Private setDefaultGroupingExpression
setDefaultGroupingExpression()
Inherited from DataListComponent
Defined in DataListComponent:1047
Returns : void
Private setDefaultSortingExpressions
setDefaultSortingExpressions()
Inherited from DataListComponent
Defined in DataListComponent:1067
Returns : void
Protected setDynamicColumns
setDynamicColumns(attributes: )
Inherited from DataListComponent
Defined in DataListComponent:1717
Parameters :
Name Optional
attributes no
Returns : void
Protected setEditedRowsData
setEditedRowsData(rowId: string, row: any, parent: string, attributes: , configuration: DataListConfiguration)
Inherited from DataListComponent
Defined in DataListComponent:1548
Parameters :
Name Type Optional
rowId string no
row any no
parent string no
attributes no
configuration DataListConfiguration no
Returns : void
Public setStaticHeight
setStaticHeight(newrows: number)
Inherited from DataListComponent
Defined in DataListComponent:669
Parameters :
Name Type Optional Default value
newrows number no 0
Returns : void
Public showFilteringRow
showFilteringRow(event: )
Inherited from DataListComponent
Defined in DataListComponent:1932
Parameters :
Name Optional
event no
Returns : void
Public sortStrategy
sortStrategy(column: Column)
Inherited from DataListComponent
Defined in DataListComponent:2007
Parameters :
Name Type Optional
column Column no
Returns : ISortingStrategy
Public stopPropagation
stopPropagation(event: , field: )
Inherited from DataListComponent
Defined in DataListComponent:2072
Parameters :
Name Optional
event no
field no
Returns : boolean
Protected subscribeToInputs
subscribeToInputs()
Inherited from DataListComponent
Defined in DataListComponent:1211
Returns : void
Public takeRecommendedAttributes
takeRecommendedAttributes(recommendedAttributes: RecommendedAttributes)
Inherited from DataListComponent
Defined in DataListComponent:2403
Parameters :
Name Type Optional
recommendedAttributes RecommendedAttributes no
Returns : boolean
Public tileClicked
tileClicked(event: )
Inherited from DataListComponent
Defined in DataListComponent:2282
Parameters :
Name Optional
event no
Returns : void
Public toggleMode
toggleMode(event: )
Inherited from DataListComponent
Defined in DataListComponent:2278
Parameters :
Name Optional
event no
Returns : void
Public trackColumns
trackColumns(index: number, column: Column)
Inherited from DataListComponent
Defined in DataListComponent:1968
Parameters :
Name Type Optional
index number no
column Column no
Returns : string
Protected updateDataLocale
updateDataLocale(locale: )
Inherited from DataListComponent
Defined in DataListComponent:1035
Parameters :
Name Optional
locale no
Returns : void
updateDataOutput
updateDataOutput()
Inherited from DataListComponent
Defined in DataListComponent:2245
Returns : void
Public updateDynamicColumns
updateDynamicColumns(attributes: )
Inherited from DataListComponent
Defined in DataListComponent:1713

Function that gets called everytime the columns get updated from the SelectAttributesDialogComponent. Will directly call setDynamicColumns, if not overwritten

Parameters :
Name Optional
attributes no
Returns : void
Protected updateLocale
updateLocale(locale: )
Inherited from DataListComponent
Defined in DataListComponent:1042
Parameters :
Name Optional
locale no
Returns : void
Private updateTranslations
updateTranslations(transObj?: LangChangeEvent)
Inherited from DataListComponent
Defined in DataListComponent:1571
Parameters :
Name Type Optional
transObj LangChangeEvent yes
Returns : void
Protected validateAllRows
validateAllRows()
Inherited from DataListComponent
Defined in DataListComponent:2163
Returns : boolean
Protected validateGrid
validateGrid(grid: IgxGridBaseDirective)
Inherited from DataListComponent
Defined in DataListComponent:2167
Parameters :
Name Type Optional
grid IgxGridBaseDirective no
Returns : boolean
Public validateList
validateList(validation: any, configuration: DataListConfiguration)
Inherited from DataListComponent
Defined in DataListComponent:2143
Parameters :
Name Type Optional
validation any no
configuration DataListConfiguration no
Returns : void

Properties

Private autoExpand
autoExpand: boolean
Type : boolean
Private clearDataOnNewLink
clearDataOnNewLink: boolean
Type : boolean
Private expandChildrenInput
expandChildrenInput:
Default value : new Subject<any>()
Private expandChildrenOnInit
expandChildrenOnInit: boolean
Type : boolean
Private expandRowsConditionally
expandRowsConditionally: boolean
Type : boolean
Public filterStrategy
filterStrategy: IFilteringStrategy
Type : IFilteringStrategy
Private isFirstCall
isFirstCall:
Default value : true
Public loadChildrenBinded
loadChildrenBinded:
Default value : this.loadChildren.bind(this)
Private preExpandedColumns
preExpandedColumns: Map<any | boolean>
Type : Map<any | boolean>
Default value : new Map()
Private storeExpandedChildrenInput
storeExpandedChildrenInput:
Default value : new Subject<any>()
Public tableGridHeight
tableGridHeight: string
Type : string
Public tableGridWidth
tableGridWidth: string
Type : string
Public tgrid
tgrid: IgxTreeGridComponent
Type : IgxTreeGridComponent
Decorators : ViewChild
Public _primaryKey
_primaryKey: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:558
Private ALWAYS_ALLOWED_TYPES
ALWAYS_ALLOWED_TYPES: []
Type : []
Default value : [ "LOCALIZED_STRING", "PLAIN_STRING", "INTEGER_NUMBER", "DECIMAL_NUMBER", "DATE", ]
Inherited from DataListComponent
Defined in DataListComponent:2514
Public attributesDataType
attributesDataType: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:442
Public attributeUrl
attributeUrl: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:440
Public attributeUrlChannel
attributeUrlChannel:
Default value : new Subject<string>()
Inherited from DataListComponent
Defined in DataListComponent:411
Public attributeUrlParams
attributeUrlParams: any
Type : any
Default value : {}
Inherited from DataListComponent
Defined in DataListComponent:441
Public availableDataTypes
availableDataTypes: any[]
Type : any[]
Default value : []
Inherited from DataListComponent
Defined in DataListComponent:518
Public cellEditModeActive
cellEditModeActive: boolean
Type : boolean
Default value : false
Inherited from DataListComponent
Defined in DataListComponent:444
Private cellSelectable
cellSelectable: boolean
Type : boolean
Inherited from DataListComponent
Defined in DataListComponent:551
childComponentMenu
childComponentMenu: DataListContextMenuComponent
Type : DataListContextMenuComponent
Decorators : ViewChild
Inherited from DataListComponent
Defined in DataListComponent:466
Private clearCellSelectionChannel
clearCellSelectionChannel:
Default value : new Subject<void>()
Inherited from DataListComponent
Defined in DataListComponent:428
Private clearFiltersAndSortingChannel
clearFiltersAndSortingChannel:
Default value : new Subject<void>()
Inherited from DataListComponent
Defined in DataListComponent:432
Private clearRowSelectionChannel
clearRowSelectionChannel:
Default value : new Subject<void>()
Inherited from DataListComponent
Defined in DataListComponent:429
Private clearSortingAndFilteringOnReset
clearSortingAndFilteringOnReset: boolean
Type : boolean
Inherited from DataListComponent
Defined in DataListComponent:565
Public clipboardOptions
clipboardOptions: any
Type : any
Inherited from DataListComponent
Defined in DataListComponent:560
Public columns
columns: DataListColumnsService
Type : DataListColumnsService
Inherited from DataListComponent
Defined in DataListComponent:522
Public columnSelector
columnSelector: ColumnSelectorCallback
Type : ColumnSelectorCallback
Inherited from DataListComponent
Defined in DataListComponent:525
Public contentVisible
contentVisible: boolean
Type : boolean
Default value : true
Inherited from DataListComponent
Defined in DataListComponent:514
Public contextContent
contextContent:
Inherited from DataListComponent
Defined in DataListComponent:504
Public contextIdentifierChannel
contextIdentifierChannel:
Default value : new ReplaySubject<any>(1)
Inherited from DataListComponent
Defined in DataListComponent:425
Public contextMenuColumn
contextMenuColumn: Column
Type : Column
Inherited from DataListComponent
Defined in DataListComponent:447
Public contextMenuCoordinates
contextMenuCoordinates: any
Type : any
Default value : { x: 50, y: 50, }
Inherited from DataListComponent
Defined in DataListComponent:506
Public contextValue
contextValue:
Inherited from DataListComponent
Defined in DataListComponent:505
Public currentDataChannel
currentDataChannel:
Default value : new ReplaySubject<any>(1)
Inherited from DataListComponent
Defined in DataListComponent:423
Public currentLocaleService
currentLocaleService: CurrentLocaleService
Type : CurrentLocaleService
Inherited from DataListComponent
Defined in DataListComponent:580
Private customFilter
customFilter:
Default value : CustomFilteringOperand.instance()
Inherited from DataListComponent
Defined in DataListComponent:573
Private dataChannel
dataChannel:
Default value : new ReplaySubject<any>(1)
Inherited from DataListComponent
Defined in DataListComponent:419
Protected dataInitialized
dataInitialized: boolean
Type : boolean
Default value : false
Inherited from DataListComponent
Defined in DataListComponent:546
dataListStateDirective
dataListStateDirective: DataListStateDirective
Type : DataListStateDirective
Decorators : ViewChild
Inherited from DataListComponent
Defined in DataListComponent:468
Public dataType
dataType:
Inherited from DataListComponent
Defined in DataListComponent:516
Public dataTypeInputChannel
dataTypeInputChannel:
Default value : new Subject<any>()
Inherited from DataListComponent
Defined in DataListComponent:450
Public dataTypeModeChannel
dataTypeModeChannel:
Default value : new BehaviorSubject<string>("choose")
Inherited from DataListComponent
Defined in DataListComponent:449
Public density
density: DisplayDensity
Type : DisplayDensity
Default value : DisplayDensity.compact
Inherited from DataListComponent
Defined in DataListComponent:557
Private disableCellEditModeChannel
disableCellEditModeChannel:
Default value : new Subject<void>()
Inherited from DataListComponent
Defined in DataListComponent:427
Private disableContextMenu
disableContextMenu: boolean
Type : boolean
Inherited from DataListComponent
Defined in DataListComponent:550
Public dynamicColumnsInSubject
dynamicColumnsInSubject:
Default value : new Subject<any[]>()
Inherited from DataListComponent
Defined in DataListComponent:414
Public eagerLimitChannel
eagerLimitChannel: ReplaySubject<number>
Type : ReplaySubject<number>
Default value : new ReplaySubject<number>( 1 )
Inherited from DataListComponent
Defined in DataListComponent:457
editableListCells
editableListCells: QueryList<ListCellEditComponent>
Type : QueryList<ListCellEditComponent>
Decorators : ViewChildren
Inherited from DataListComponent
Defined in DataListComponent:470
Protected editedRows
editedRows: DataListEditedRows
Type : DataListEditedRows
Default value : {}
Inherited from DataListComponent
Defined in DataListComponent:547
Private endGridEditChannel
endGridEditChannel:
Default value : new Subject<void>()
Inherited from DataListComponent
Defined in DataListComponent:431
Private exportChannel
exportChannel:
Default value : new Subject<any>()
Inherited from DataListComponent
Defined in DataListComponent:421
Public filterColumnsChannel
filterColumnsChannel:
Default value : new Subject<any>()
Inherited from DataListComponent
Defined in DataListComponent:424
Public filterMode
filterMode: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:453
Public frameHeight
frameHeight: number
Type : number
Default value : DEFAULT_FRAME_HEIGHT_PX
Inherited from DataListComponent
Defined in DataListComponent:540
Private getNextPageOnLazyLoad
getNextPageOnLazyLoad: boolean
Type : boolean
Inherited from DataListComponent
Defined in DataListComponent:552
Public globalFilterInput
globalFilterInput: boolean
Type : boolean
Inherited from DataListComponent
Defined in DataListComponent:531
Public globalFilterValue
globalFilterValue: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:530
Public grid
grid: IgxGridComponent
Type : IgxGridComponent
Decorators : ViewChild
Inherited from DataListComponent
Defined in DataListComponent:461
Public groupingEnabled
groupingEnabled: boolean
Type : boolean
Inherited from DataListComponent
Defined in DataListComponent:534
Public groupingExpressions
groupingExpressions: IGroupingExpression[]
Type : IGroupingExpression[]
Default value : []
Inherited from DataListComponent
Defined in DataListComponent:451
Public groupRowTemplate
groupRowTemplate: TemplateRef<any>
Type : TemplateRef<any>
Decorators : ViewChild
Inherited from DataListComponent
Defined in DataListComponent:463
Public heightModifier
heightModifier: number
Type : number
Default value : 0
Inherited from DataListComponent
Defined in DataListComponent:542
Public hideFilters
hideFilters: boolean
Type : boolean
Default value : false
Inherited from DataListComponent
Defined in DataListComponent:568
Public identifierCol
identifierCol:
Inherited from DataListComponent
Defined in DataListComponent:517
Public infoText
infoText: string
Type : string
Default value : "list.results"
Inherited from DataListComponent
Defined in DataListComponent:512
Public initialDataType
initialDataType: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:519
inputBoxes
inputBoxes: QueryList<ElementRef>
Type : QueryList<ElementRef>
Decorators : ViewChildren
Inherited from DataListComponent
Defined in DataListComponent:472
Private inputChannel
inputChannel: ReplaySubject<any>
Type : ReplaySubject<any>
Default value : new ReplaySubject<any>(1)
Inherited from DataListComponent
Defined in DataListComponent:416
Public isEagerLoading
isEagerLoading: boolean
Type : boolean
Default value : true
Inherited from DataListComponent
Defined in DataListComponent:499
Public isListMode
isListMode: boolean
Type : boolean
Default value : true
Inherited from DataListComponent
Defined in DataListComponent:485
Public lastSelectedCells
lastSelectedCells: GridSelectionRange
Type : GridSelectionRange
Inherited from DataListComponent
Defined in DataListComponent:533
Private lastUriLocalStorage
lastUriLocalStorage: LocalStorageEntry
Type : LocalStorageEntry
Inherited from DataListComponent
Defined in DataListComponent:486
listCells
listCells: QueryList<ListCellComponent>
Type : QueryList<ListCellComponent>
Decorators : ViewChildren
Inherited from DataListComponent
Defined in DataListComponent:471
Public listService
listService: DataListService
Type : DataListService
Inherited from DataListComponent
Defined in DataListComponent:523
Private localeChannel
localeChannel:
Default value : new BehaviorSubject<any>(null)
Inherited from DataListComponent
Defined in DataListComponent:418
Private localstorageColumnsEntry
localstorageColumnsEntry: LocalStorageEntry
Type : LocalStorageEntry
Inherited from DataListComponent
Defined in DataListComponent:488
Private localstorageShownAttributesEntry
localstorageShownAttributesEntry: LocalStorageEntry
Type : LocalStorageEntry
Inherited from DataListComponent
Defined in DataListComponent:487
menuTrigger
menuTrigger: MatMenuTrigger
Type : MatMenuTrigger
Decorators : ViewChild
Inherited from DataListComponent
Defined in DataListComponent:464
Public noopFilterStrategy
noopFilterStrategy:
Default value : NoopFilteringStrategy.instance()
Inherited from DataListComponent
Defined in DataListComponent:571
Public noopSortStrategy
noopSortStrategy:
Default value : NoopSortingStrategy.instance()
Inherited from DataListComponent
Defined in DataListComponent:572
Public outlet
outlet: IgxOverlayOutletDirective
Type : IgxOverlayOutletDirective
Decorators : ViewChild
Inherited from DataListComponent
Defined in DataListComponent:478
Public overrideTileClickEvent
overrideTileClickEvent: boolean
Type : boolean
Inherited from DataListComponent
Defined in DataListComponent:562
Private pageLimitPerScroll
pageLimitPerScroll: number
Type : number
Inherited from DataListComponent
Defined in DataListComponent:553
Public pinningConfig
pinningConfig: IPinningConfig
Type : IPinningConfig
Default value : { columns: ColumnPinningPosition.Start, rows: RowPinningPosition.Top, }
Inherited from DataListComponent
Defined in DataListComponent:480
Private preselectAttributeProfile
preselectAttributeProfile: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:435
Private preselectAttributeProfileChannel
preselectAttributeProfileChannel:
Default value : new Subject<string>()
Inherited from DataListComponent
Defined in DataListComponent:433
Public productChannel
productChannel:
Default value : new Subject<string[]>()
Inherited from DataListComponent
Defined in DataListComponent:412
Public refreshRows
refreshRows:
Default value : new Subject<any[]>()
Inherited from DataListComponent
Defined in DataListComponent:413
Private reloadChannel
reloadChannel: Subject<any>
Type : Subject<any>
Default value : new Subject<any>()
Inherited from DataListComponent
Defined in DataListComponent:417
Public reloadOnDataTypeChange
reloadOnDataTypeChange: boolean
Type : boolean
Inherited from DataListComponent
Defined in DataListComponent:520
Public removeColumnHeader
removeColumnHeader: boolean
Type : boolean
Inherited from DataListComponent
Defined in DataListComponent:570
Public resetChannel
resetChannel:
Default value : new Subject<any>()
Inherited from DataListComponent
Defined in DataListComponent:422
Private resetEditDataChannel
resetEditDataChannel:
Default value : new Subject<void>()
Inherited from DataListComponent
Defined in DataListComponent:415
Public restoreGlobalFilter
restoreGlobalFilter:
Default value : new BehaviorSubject<boolean>(false)
Inherited from DataListComponent
Defined in DataListComponent:426
Public rowPinningEnabled
rowPinningEnabled: boolean
Type : boolean
Default value : false
Inherited from DataListComponent
Defined in DataListComponent:541
Public rowSelectable
rowSelectable: boolean
Type : boolean
Inherited from DataListComponent
Defined in DataListComponent:502
Private rowSelectionChannel
rowSelectionChannel:
Default value : new Subject<any>()
Inherited from DataListComponent
Defined in DataListComponent:430
Public rowSelectionMode
rowSelectionMode: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:503
Public rowSelectionType
rowSelectionType: string
Type : string
Default value : "multiple"
Inherited from DataListComponent
Defined in DataListComponent:564
Public selectAllCheckbox
selectAllCheckbox: boolean
Type : boolean
Default value : false
Inherited from DataListComponent
Defined in DataListComponent:563
Public selectedDataType
selectedDataType: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:532
Private selectedDataTypeStorage
selectedDataTypeStorage: LocalStorageEntry
Type : LocalStorageEntry
Inherited from DataListComponent
Defined in DataListComponent:491
Public selectedViewMode
selectedViewMode:
Inherited from DataListComponent
Defined in DataListComponent:529
Public selectOptions
selectOptions:
Inherited from DataListComponent
Defined in DataListComponent:548
Public selectOptionsUriChannel
selectOptionsUriChannel: ReplaySubject<any>
Type : ReplaySubject<any>
Default value : new ReplaySubject<any>( 1 )
Inherited from DataListComponent
Defined in DataListComponent:454
Public showActionsInTableColumn
showActionsInTableColumn: boolean
Type : boolean
Default value : false
Inherited from DataListComponent
Defined in DataListComponent:569
Public showAllColumns
showAllColumns: boolean
Type : boolean
Default value : true
Inherited from DataListComponent
Defined in DataListComponent:567
Public showFilterRow
showFilterRow: boolean
Type : boolean
Default value : false
Inherited from DataListComponent
Defined in DataListComponent:511
Private shownAttributesInputChannel
shownAttributesInputChannel:
Default value : new ReplaySubject<any>(1)
Inherited from DataListComponent
Defined in DataListComponent:420
Public slideChange
slideChange:
Default value : new Subject<number>()
Inherited from DataListComponent
Defined in DataListComponent:438
Public slidevalue
slidevalue: number
Type : number
Default value : 3
Inherited from DataListComponent
Defined in DataListComponent:437
Private sortBy
sortBy: SortBy[]
Type : SortBy[]
Inherited from DataListComponent
Defined in DataListComponent:554
Public sortingExpressions
sortingExpressions: ISortingExpression[]
Type : ISortingExpression[]
Default value : []
Inherited from DataListComponent
Defined in DataListComponent:452
Public storingEnabled
storingEnabled: boolean
Type : boolean
Default value : false
Inherited from DataListComponent
Defined in DataListComponent:566
Public tableGridHeight
tableGridHeight: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:543
Public tableGridWidth
tableGridWidth: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:544
Public tableHeight
tableHeight: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:539
Private tableHeightRelativeToRows
tableHeightRelativeToRows: boolean
Type : boolean
Inherited from DataListComponent
Defined in DataListComponent:555
Private tableHeightVisibleRows
tableHeightVisibleRows: number
Type : number
Inherited from DataListComponent
Defined in DataListComponent:556
Public tableWidth
tableWidth: null
Type : null
Default value : null
Inherited from DataListComponent
Defined in DataListComponent:436
Public tileIdentifierField
tileIdentifierField: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:161
Public tileRedirectLink
tileRedirectLink: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:561
Public toggleButtonLabel
toggleButtonLabel: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:559
Public total
total:
Inherited from DataListComponent
Defined in DataListComponent:500
unsubscribe
unsubscribe:
Default value : NgUnsubscribe.create()
Inherited from DataListComponent
Defined in DataListComponent:497
Private viewModeLocalStorage
viewModeLocalStorage: LocalStorageEntry
Type : LocalStorageEntry
Inherited from DataListComponent
Defined in DataListComponent:490
Public viewModeOptions
viewModeOptions:
Inherited from DataListComponent
Defined in DataListComponent:528
Public viewPortHeight
viewPortHeight: number
Type : number
Default value : window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight
Inherited from DataListComponent
Defined in DataListComponent:535
Public visibleDataColumns
visibleDataColumns: string[]
Type : string[]
Inherited from DataListComponent
Defined in DataListComponent:493
Public visibleDataColumnsOptions
visibleDataColumnsOptions: Observable<Column[]>
Type : Observable<Column[]>
Inherited from DataListComponent
Defined in DataListComponent:495
Public visibleDataColumnsStorage
visibleDataColumnsStorage: LocalStorageEntry
Type : LocalStorageEntry
Inherited from DataListComponent
Defined in DataListComponent:494
Public widgetSortingStrategy
widgetSortingStrategy:
Default value : new WidgetSortingStrategy()
Inherited from DataListComponent
Defined in DataListComponent:527
Public wikiLink
wikiLink: string
Type : string
Inherited from DataListComponent
Defined in DataListComponent:513

Accessors

expandChildren
setexpandChildren(value: )
Parameters :
Name Optional
value no
Returns : void
storeExpandedChildren
setstoreExpandedChildren(value: )
Parameters :
Name Optional
value no
Returns : void
import {
  ChangeDetectorRef,
  Component,
  EventEmitter,
  Inject,
  Input,
  Optional,
  Output,
  ViewChild,
} from "@angular/core";
import {
  IgxGridBaseDirective,
  IgxGridComponent,
  IgxHierarchicalGridComponent,
  IgxGridCell,
  IgxTreeGridComponent,
  IRowSelectionEventArgs,
  IFilteringStrategy,
} from "@infragistics/igniteui-angular";
import { getOrDefault } from "../../widget.configuration";

import { map, takeUntil } from "rxjs/operators";
import { LocalStorageService } from "../../../components/local-storage/local-storage.service";
import { DataListService } from "../data-list.service";
import { angularWidgetBridgeInput } from "../../../components/util/util.service";
import { CurrentLocaleService } from "../../../components/i18n/currentLocale.service";
import { TranslateService } from "@ngx-translate/core";
import { WidgetframeService } from "../../widgetframe/widgetframe.service";
import { AppContext } from "../../../components/app-context/app.context";
import { AppdataStore } from "../../../components/appdata/appdata.store";
import {
  Column,
  ColumnMap,
  DataListConfiguration,
  DataListHeaderGroup,
  DataListTreeConfiguration,
  IslandSelectionParams,
  SelectionParams,
} from "../../interfaces/list.interfaces";

import { HttpClient } from "@angular/common/http";
import { ProgressbarService } from "../../../components/progressbar/progressbar.service";
import { EditAttributeService } from "../../../components/edit-attribute/edit-attribute.service";
import { DataListComponent } from "../data-list-component/data-list.component";
import { Subject } from "rxjs";
import { ScrollService } from "../../../components/scroll/scroll.service";
import { DataListExportService } from "../data-list-export.service";
import { CustomNotificationService } from "../../../components/notification/customnotification.service";
import { AppService } from "../../configuration/app.service";
import { WebsocketService } from "../../../components/services/websocket.service";
import { UserService } from "../../../components/user/user.service";
import { DataListEndEditService } from "../data-list-end-edit.service";
import { ValidationService } from "../../../components/validation";
import { DialogService } from "../../../components/dialog/dialog.service";
import { UnsavedChangesService } from "../../../components/util";
import {
  NmModuleDescriptor,
  NOVOMIND_MODULE_DESCRIPTOR,
} from "../../../../nm.module-descriptor";
import { ListCellComponent } from "../../../components/list-cell/list-cell.component";
import { FilterParentRecordsOnlyFilteringStrategy } from "../../../util/filtering-strategy/filter-parent-records-only-strategy";

@Component({
  selector: "nm-data-list-tree-component",
  templateUrl: "./data-list-tree.component.html",
  styleUrls: [
    "../data-list-component/data-list.component.scss",
    "./data-list-tree.component.scss",
  ],
  providers: [EditAttributeService],
})
export class DataListTreeComponent extends DataListComponent {
  @ViewChild("table", { static: true }) public tgrid: IgxTreeGridComponent;

  @Input()
  public configuration: DataListTreeConfiguration;

  private preExpandedColumns: Map<any, boolean> = new Map();
  private isFirstCall = true;
  private autoExpand: boolean;
  private expandRowsConditionally: boolean;
  private expandChildrenOnInit: boolean;
  private clearDataOnNewLink: boolean;
  public tableGridHeight: string;
  public tableGridWidth: string;

  @Input("expandChildren")
  public set expandChildren(value) {
    angularWidgetBridgeInput(value, this.expandChildrenInput, this.unsubscribe);
  }

  @Input("storeExpandedChildren")
  public set storeExpandedChildren(value) {
    angularWidgetBridgeInput(
      value,
      this.storeExpandedChildrenInput,
      this.unsubscribe
    );
  }

  @Input() public autoFocus: boolean = false;

  @Output()
  public childSelectedItems = new EventEmitter<IslandSelectionParams>();

  public filterStrategy: IFilteringStrategy;

  private expandChildrenInput = new Subject<any>();
  private storeExpandedChildrenInput = new Subject<any>();

  constructor(
    localStorageService: LocalStorageService,
    dialog: DialogService,
    translateService: TranslateService,
    currentLocaleService: CurrentLocaleService,
    notificationService: CustomNotificationService,
    widgetFrameService: WidgetframeService,
    appContext: AppContext,
    appdataStore: AppdataStore,
    cdr: ChangeDetectorRef,
    http: HttpClient,
    progressbarService: ProgressbarService,
    editAttributeService: EditAttributeService,
    scrollService: ScrollService,
    dataListExportService: DataListExportService,
    websocketService: WebsocketService,
    userService: UserService,
    dataListEndEditService: DataListEndEditService,
    validationService: ValidationService,
    unsavedChangesService: UnsavedChangesService,
    @Optional() appService: AppService,
    @Inject(NOVOMIND_MODULE_DESCRIPTOR) module: NmModuleDescriptor
  ) {
    super(
      localStorageService,
      dialog,
      notificationService,
      translateService,
      currentLocaleService,
      widgetFrameService,
      appContext,
      appdataStore,
      cdr,
      http,
      progressbarService,
      editAttributeService,
      scrollService,
      dataListExportService,
      websocketService,
      userService,
      dataListEndEditService,
      validationService,
      unsavedChangesService,
      appService,
      module
    );
  }

  ngOnInit() {
    if (
      this.configuration.selectionGroupingProperty &&
      !this.configuration.emitSelectedItems
    ) {
      console.log(
        "selectionGroupingProperty is set but emitSelectedItems is not, automatically setting emitSelectedItems to true"
      );
      // Grouping requires to have the full rows available  in the event, thats why it required emitSelectedItems
      this.configuration.emitSelectedItems = true;
    }

    this.expandRowsConditionally = getOrDefault(
      this.configuration.expandRowsConditionally,
      false
    );
    this.autoExpand = this.expandRowsConditionally
      ? false
      : getOrDefault(this.configuration.autoExpand, false);
    this.expandChildrenOnInit = getOrDefault(
      this.configuration.expandChildrenOnInit,
      false
    );
    this.clearDataOnNewLink = getOrDefault(
      this.configuration.clearDataOnNewLink,
      false
    );
    this.tableGridHeight = getOrDefault(
      this.configuration.tableGridHeight,
      "100%"
    );
    this.tableGridWidth = getOrDefault(
      this.configuration.tableGridWidth,
      "100%"
    );

    this.expandChildrenInput
      .pipe(takeUntil(this.unsubscribe))
      .subscribe((data) => {
        this.grid["expandChildren"] = data;
      });

    this.storeExpandedChildrenInput
      .pipe(takeUntil(this.unsubscribe))
      .subscribe((data) => {
        this.preExpandedColumns = this.tgrid.expansionStates;
      });

    if (this.configuration.filteringStrategy === "parents-only") {
      this.filterStrategy = new FilterParentRecordsOnlyFilteringStrategy();
    }

    super.ngOnInit();
  }

  ngAfterViewInit() {
    super.ngAfterViewInit();
    this.listService.data
      .pipe(takeUntil(this.unsubscribe))
      .subscribe((data) => {
        this.tgrid.expansionStates = new Map<any, boolean>();
        const identifierField = this.primaryKey(this.configuration);
        const foreignKey = this.foreignKey(this.configuration);
        setTimeout(() => {
          data.forEach((entry) => {
            const identifier = entry[identifierField];
            if (!identifier) {
              console.warn(
                `Row has no primary key -field name is ${identifierField}`,
                entry
              );
              return;
            }

            if (
              (this.preExpandedColumns &&
                this.preExpandedColumns.get(identifier)) ||
              (this.expandChildrenOnInit && entry.hasChildren)
            ) {
              this.tgrid.expandRow(identifier);
            }

            if (this.expandRowsConditionally) {
              if (entry["expandRow"]) {
                this.tgrid.expandRow(identifier);
              }
            }
          });
        });
      });

    if (!this.autoExpand) {
      this.tgrid.collapseAll();
    }
  }

  public doReload() {
    this.preExpandedColumns = this.tgrid.expansionStates;
    this.grid.endEdit(true);
    super.doReload();
  }

  protected onInput(link) {
    // Collapse all and clear the data every time to prevent having no expander on reload

    if (!this.isFirstCall) {
      this.preExpandedColumns = this.tgrid.expansionStates;
      this.tgrid.expansionStates = new Map<any, boolean>();
      this.isFirstCall = false;
    }

    if (
      this.clearDataOnNewLink &&
      this.tgrid.data &&
      this.tgrid.data.length > 0
    ) {
      this.tgrid.data = [];
      this.tgrid.cdr.detectChanges();
    }
    super.onInput(link);
  }

  public foreignKey(configuration: DataListTreeConfiguration): string {
    return configuration.foreignKey || "parentIdentifier";
  }

  private childrenLinkName() {
    return this.configuration.childrenLinkName || "children";
  }

  public loadChildren(parentID: any, done: (children: any[]) => void) {
    const row = this.tgrid.getRowByKey(parentID);
    //Sometimes when reloading the grid ignite seems to try to expand rows that no longer exist
    if (!row) {
      done([]);
      return;
    }
    this.doLoadChildren(row.rowData, done);
  }

  private doLoadChildren(data: any, done: (children: any[]) => void) {
    if (data._links && data._links[this.childrenLinkName()]) {
      const link = data._links[this.childrenLinkName()].href;
      const requestUrl = this.listService.buildDataUrlWithOutPaging(
        link,
        this.listService.selectedLocale,
        this.dataType,
        this.listService.viewmode,
        this.isEagerLoading ? null : this.tgrid.sortingExpressions,
        this.isEagerLoading ? null : this.tgrid.filteringExpressionsTree,
        this.listService.displayedAttributes
      );
      this.widgetFrameService
        .getData(requestUrl)
        .pipe(map((data) => this.listService.doMapData(data, true).data))
        .subscribe((data) => {
          done(data);
        });
      setTimeout(() => {
        this.setStaticHeight(data.length);
      }, 500);
    } else {
      done([]);
    }
  }

  public loadChildrenBinded = this.loadChildren.bind(this);

  protected buildSelectionEvent(
    event: IRowSelectionEventArgs,
    grid:
      | IgxGridComponent
      | IgxHierarchicalGridComponent
      | IgxTreeGridComponent,
    service: DataListService
  ): SelectionParams {
    const params: any = super.buildSelectionEvent(event, grid, service);
    if (!this.configuration.selectionGroupingProperty) {
      return params;
    }

    const rowData = params.rowData;
    params.treeSelections = {};
    const counts = {};
    // Provide some default counts with 0, so the translation has a default value even if now row of that level is selected
    counts["level-0"] = 0;
    counts["level-1"] = 0;
    counts["level-2"] = 0;
    counts["level-3"] = 0;
    rowData.forEach((data) => {
      const value =
        "level-" + data[this.configuration.selectionGroupingProperty];
      if (counts[value]) {
        counts[value]++;
      } else {
        counts[value] = 1;
      }
    });
    params.treeSelections = counts;
    return params;
  }

  public trackGroups(index: number, group: DataListHeaderGroup) {
    return "" + group.identifier;
  }

  public columnFilter(entries: any[], parent: string) {
    return entries.filter((entry) => {
      // Do NOT use === comparison here, undefined and null should return true here
      return entry.parent == parent;
    });
  }

  public groupFilter(entries: any[], parent: string) {
    return entries.filter((entry) => {
      // Do NOT use === comparison here, undefined and null should return true here
      return entry.parent == parent;
    });
  }

  public customKeydown(event: any) {
    if (event.event.key !== "Enter" || !(event.target instanceof IgxGridCell)) {
      return;
    }
    this.listCells
      .filter((cell: ListCellComponent) => cell.cell === event.target)
      .forEach((cell: ListCellComponent) => {
        const column = event.target.column;
        column.linkTemplate = cell.link;
        cell.openLink(event.target.row, event.target.column, event);
      });
  }

  protected setEditedRowsData(
    rowId: string,
    gridRow: any,
    parent: string,
    attributes,
    configuration: DataListConfiguration
  ) {
    super.setEditedRowsData(rowId, gridRow, parent, attributes, configuration);
    this.editedRows[rowId].row = gridRow;
  }

  onItemDropped(event, cell, column: Column) {
    // prevent dropping of items in grid from super class
  }
}
<div class="nm-dataList__header --tree">
  <mat-form-field
    *ngIf="globalFilterInput"
    class="nm-dataList__headerInput --tree"
  >
    <input
      (input)="onFilterValueChange()"
      [(ngModel)]="globalFilterValue"
      [placeholder]="'placeholder.free.text.search' | translate"
      matInput
      type="search"
      [nmAutofocus]="configuration.focusFreeTextSearch || autoFocus"
    />

    <button
      (click)="clearGlobalFilter()"
      *ngIf="globalFilterValue"
      class="nm-dataList__headerClearButton"
      color="primary"
      aria-label="Clear"
      mat-icon-button
      matSuffix
    >
      <mat-icon>close</mat-icon>
    </button>
  </mat-form-field>

  <button
    class="nm-dataList__headerButton --tree"
    *ngIf="configuration.removeAllFiltersButton"
    [disabled]="
      grid.filteringExpressionsTree.filteringOperands.length === 0 &&
      grid.sortingExpressions.length === 0
    "
    mat-icon-button
    [pTooltip]="'placeholder.reset.config.table' | translate"
    [showDelay]="300"
    color="primary"
    (click)="clearAllFiltersAndSorting()"
  >
    <mat-icon>settings_backup_restore</mat-icon>
  </button>

  <div
    *ngIf="!configuration.removeHeaderAdditionalSpace"
    style="flex-grow: 1"
  ></div>

  <ng-container
    *ngIf="listService.recommendedAttributes | async as recommendedAttributes"
  >
    <a
      *ngIf="recommendedAttributes != null && recommendedAttributes.count !== 0"
      (click)="takeRecommendedAttributes(recommendedAttributes)"
    >
      {{
        "label.take.recommended.attributes"
          | translate: { count: recommendedAttributes.count }
      }}
    </a>
  </ng-container>

  <mat-form-field
    *ngIf="
      dataTypeModeChannel.value === 'choose' && availableDataTypes.length > 0
    "
    class="nm-dataList__headerSelection --tree"
    style="z-index: 12"
  >
    <mat-label>{{ "placeholder.dataType" | translate }}</mat-label>
    <nm-combo
      [options]="availableDataTypes"
      [(value)]="selectedDataType"
      (valueChange)="onDataTypeChange()"
      [clearable]="false"
      [showHeader]="availableDataTypes.length > 2"
    >
      <ng-template nmComboOption let-option>
        {{ option | translate }}
      </ng-template>

      <ng-template nmComboTrigger let-api let-selection="selection">
        {{ selection[0] | translate }}
      </ng-template>
    </nm-combo>
  </mat-form-field>

  <mat-slide-toggle
    (change)="toggleMode($event)"
    *ngIf="configuration.enableToggleButton"
    tooltipPosition="bottom"
    >{{ toggleButtonLabel | translate }}
  </mat-slide-toggle>

  <button
    (click)="editShownAttributes()"
    *ngIf="attributeUrl && isListMode"
    class="nm-dataList__headerButton"
    mat-stroked-button
  >
    {{ "button.attributes" | translate }}
  </button>

  <button
    (click)="doRefresh()"
    *ngIf="configuration.reloadButton"
    [disabled]="!(listService.data | async)"
    [pTooltip]="'label.refresh' | translate"
    [showDelay]="300"
    class="nm-dataList__headerButton --tree"
    color="primary"
    mat-icon-button
  >
    <mat-icon class="nm-grey-button">refresh</mat-icon>
  </button>

  <mat-form-field
    *ngIf="configuration.viewModeSelection"
    class="nm-dataList__headerSelection --tree"
    style="z-index: 12"
  >
    <mat-label>{{ "placeholder.viewMode" | translate }}</mat-label>
    <nm-combo
      [options]="viewModeOptions"
      displayKey="description"
      [(value)]="selectedViewMode"
      (valueChange)="onViewModeChange()"
      [clearable]="false"
      [showHeader]="viewModeOptions.length > 2"
    >
      <ng-template nmComboOption let-option>
        <mat-icon *ngIf="option.icon">{{ option.icon }}</mat-icon>
        {{ option.description | translate }}
      </ng-template>

      <ng-template nmComboTrigger let-api let-selection="selection">
        <ng-container *ngIf="selection[0] as option">
          <span class="nm-dataList__viewMode--trigger">
            <mat-icon *ngIf="option.icon">{{ option.icon }}</mat-icon>
            {{ option.description | translate }}
          </span>
        </ng-container>
      </ng-template>
    </nm-combo>
  </mat-form-field>

  <div
    *ngIf="
      configuration.visibleDataColumnsSelection &&
      selectedDataType === 'attributes'
    "
    class="nm-dataList__headerSelection_icon --tree"
  >
    <nm-combo
      matTooltip="{{ 'label.hidden.columns' | translate }}"
      matTooltipShowDelay="500"
      [options]="columns.dataColumnsConfigurableVisibility | async"
      [valueKey]="'field'"
      [displayKey]="'header' | translate"
      [filterPlaceholder]="'placeholder.search' | translate"
      [multiple]="true"
      [value]="visibleDataColumns"
      [clearable]="false"
      [iconMode]="true"
      (valueChange)="onDataColumnsChange($event)"
    >
      <ng-template nmComboOption let-option>
        {{ option.header | translate }}
      </ng-template>
      <ng-template nmComboTrigger let-option>
        <mat-icon
          color="primary"
          matBadge="{{
            (columns.dataColumnsConfigurableVisibility | async).length -
              visibleDataColumns.length
          }}"
          >view_column</mat-icon
        >
      </ng-template>
    </nm-combo>
  </div>
</div>
<div
  class="nm-dataList__content --tree"
  [ngStyle]="{ height: tableHeight }"
  [ngClass]="
    selectedDataType + ' ' + selectedViewMode?.identifier + ' ' + filterMode
  "
>
  <igx-tree-grid
    #table
    (gridKeydown)="customKeydown($event)"
    nm-paste-handler
    [pasteGrid]="table"
    (onDataProcessed)="dataPasted($event)"
    (cellClick)="onCellClick($event)"
    (cellEdit)="onCellEdit($event)"
    (cellEditEnter)="onCellEditEnter($event)"
    (cellEditExit)="onCellEditExit()"
    (contextMenu)="openContextmenu($event)"
    (filteringDone)="onFilteringDone()"
    [filterStrategy]="filterStrategy"
    (rangeSelected)="onRangeSelection($event)"
    (rowEdit)="onRowEdit($event)"
    (rowSelected)="onRowSelection($event)"
    [allowFiltering]="true"
    [autoGenerate]="false"
    [class.showFilterRow]="showFilterRow"
    [data]="listService.data | async"
    [displayDensity]="density"
    [expansionDepth]="configuration.expansionDepth"
    [filterMode]="filterMode"
    [foreignKey]="foreignKey(configuration)"
    [hasChildrenKey]="configuration.hasChildrenKey"
    [loadChildrenOnDemand]="loadChildrenBinded"
    [primaryKey]="_primaryKey"
    [rowEditable]="configuration.rowEditable"
    [hideRowSelectors]="!rowSelectable"
    [rowSelection]="rowSelectionMode"
    [sortingExpressions]="sortingExpressions"
    [height]="tableGridHeight"
    [width]="tableGridWidth"
    [tableIdentifier]="
      (contextIdentifierChannel | async)
        ? (contextIdentifierChannel | async)
        : (configuration.identifier
            ? configuration.identifier
            : configuration.title) +
          (selectedDataType ? '-' + selectedDataType : '')
    "
    [clipboardOptions]="clipboardOptions"
    [pinning]="pinningConfig"
    [hideRowSelectors]="!rowSelectable"
    (columnOrderChanged)="columnOrderChanged($event)"
    [dataList]="this"
    [locale]="listService.selectedLocale || currentLocaleService.currentLocale"
    statefulDataList
  >
    <ng-container
      *ngIf="{
        groups: columns.headerGroups | async,
        columns: columns.columns | async
      } as data"
    >
      <ng-container
        *ngFor="
          let nmColumn of columns.dataColumns
            | async
            | nmDataListColumnSettings
              : this
              : (columns.columnOrder | async)
              : visibleDataColumns
              : showAllColumns
            | nmDataListByParentFilter: null;
          trackBy: trackColumns
        "
      >
        <igx-column
          [editable]="nmColumn.editable"
          [field]="nmColumn.field"
          [filterable]="nmColumn.filter"
          [header]="nmColumn.settings.header | translate"
          [hidden]="nmColumn.hidden"
          [minWidth]="nmColumn.minWidth ? nmColumn.minWidth : '0px'"
          [maxWidth]="nmColumn.maxWidth ? nmColumn.maxWidth : '10000px'"
          [disableHiding]="
            nmColumn.disableHiding ? nmColumn.disableHiding : true
          "
          [movable]="true"
          [pinned]="nmColumn.pinned"
          [resizable]="true"
          [sortable]="nmColumn.sortable"
          [width]="nmColumn.width ? nmColumn.width : '200px'"
          [dataType]="nmColumn.dataType"
          [cellClasses]="nmColumn.settings.cellClasses"
          [headerClasses]="nmColumn.settings.headerClasses"
          [additionalTemplateContext]="nmColumn"
          [headerTemplate]="
            filterMode === 'inlineFilter' || nmColumn.tooltip
              ? columnHeaderTemplate
              : null
          "
          [cellEditorTemplate]="columnEditorTemplate"
          [cellTemplate]="columnCellTemplate"
        >
        </igx-column>
      </ng-container>

      <ng-container
        *ngFor="
          let group of data.groups | nmDataListByParentFilter: null;
          trackBy: trackGroups
        "
      >
        <igx-column-group [header]="group.header">
          <ng-container
            *ngFor="
              let levelOneNmColumn of data.columns
                | nmDataListColumnSettings
                  : this
                  : (columns.columnOrder | async)
                  : visibleDataColumns
                  : showAllColumns
                | nmDataListByParentFilter: group.identifier;
              trackBy: trackColumns
            "
          >
            <igx-column
              [editable]="levelOneNmColumn.editable"
              [field]="levelOneNmColumn.field"
              [filterable]="levelOneNmColumn.filter"
              [header]="levelOneNmColumn.settings.header | translate"
              [hidden]="levelOneNmColumn.hidden"
              [maxWidth]="
                levelOneNmColumn.maxWidth
                  ? levelOneNmColumn.maxWidth
                  : '10000px'
              "
              [minWidth]="
                levelOneNmColumn.minWidth ? levelOneNmColumn.minWidth : '0px'
              "
              [movable]="true"
              [pinned]="levelOneNmColumn.pinned"
              [resizable]="true"
              [sortable]="levelOneNmColumn.sortable"
              [width]="
                levelOneNmColumn.width ? levelOneNmColumn.width : '200px'
              "
              [additionalTemplateContext]="levelOneNmColumn"
              [cellClasses]="levelOneNmColumn.settings.cellClasses"
              [headerClasses]="levelOneNmColumn.settings.headerClasses"
              [headerTemplate]="
                filterMode === 'inlineFilter'
                  ? levelOneColumnHeaderTemplate
                  : null
              "
              [cellEditorTemplate]="levelOneColumnEditorTemplate"
              [cellTemplate]="levelOneColumnCellTemplate"
            >
            </igx-column>
          </ng-container>
        </igx-column-group>
      </ng-container>
    </ng-container>

    <igx-action-strip
      *ngIf="!rowPinningEnabled; else rowPinningEnabledTemplate"
      #actionStrip
    >
      <ng-container
        *ngTemplateOutlet="
          !this.cellEditModeActive ? actionStripTemplate : undefined;
          context: { actionStrip: actionStrip }
        "
      >
      </ng-container>
    </igx-action-strip>

    <ng-template #rowPinningEnabledTemplate>
      <igx-action-strip *ngIf="rowPinningEnabled" #actionStrip>
        <ng-container
          *ngTemplateOutlet="
            actionStripTemplate;
            context: { actionStrip: actionStrip }
          "
        >
        </ng-container>
        <igx-grid-pinning-actions></igx-grid-pinning-actions>
      </igx-action-strip>
    </ng-template>
  </igx-tree-grid>
</div>

<ng-template #columnTemplate let-column="column"></ng-template>

<ng-template #cellTemplate let-cell="cell" let-column="column">
  <ng-container
    *ngTemplateOutlet="
      cell.row.rowData.cache ? contentPreviewTemplate : listCellTemplate;
      context: { cell: cell, column: column }
    "
  >
  </ng-container>
</ng-template>

<ng-template #contentPreviewTemplate let-cell="cell" let-column="column">
  <nm-content-preview
    [max-width]="column.width || column.maxWidth"
    [min-width]="column.minWidth"
  ></nm-content-preview>
</ng-template>

<ng-template #listCellTemplate let-cell="cell" let-column="column">
  <ng-container
    *ngTemplateOutlet="
      column?.draggable &&
      (!column.onlyLeavesDraggable || !cell?.row?.rowData?.hasChildren)
        ? draggableCellTemplate
        : notDragCellTemplate;
      context: { cell: cell, column: column }
    "
  >
  </ng-container>
</ng-template>

<ng-template #notDragCellTemplate let-cell="cell" let-column="column">
  <nm-list-cell
    *ngIf="cell && column"
    [cell]="cell"
    [column]="column"
    [row]="cell.row.rowData"
    [value]="cell.value"
    [density]="density"
    [source]="cell.row.rowData[column.settings.source]"
    [highlightReadOnly]="column.settings.highlightReadOnly"
    [chipColors]="configuration.chipColors"
    [ignoreSeconds]="configuration.ignoreSeconds"
    [columnSelector]="columnSelector"
    igxDrop
    (dropped)="onItemDropped($event, cell, column)"
    [attr.data-rowindex]="cell.row.index"
    class="cell-content-not-draggable"
  >
  </nm-list-cell>
</ng-template>

<ng-template #draggableCellTemplate let-cell="cell" let-column="column">
  <nm-list-cell
    [column]="column"
    [cell]="cell"
    [row]="cell.row.rowData"
    [value]="cell.value"
    [density]="density"
    [source]="cell.row.rowData[column.settings.source]"
    [highlightReadOnly]="column.settings.highlightReadOnly"
    [ignoreSeconds]="configuration.ignoreSeconds"
    [chipColors]="configuration.chipColors"
    [columnSelector]="columnSelector"
    [igxDrag]="{
      type: 'data-list-row',
      source: cell.row.rowData,
      column: column
    }"
    igxDrop
    (dropped)="onItemDropped($event, cell, column)"
    [attr.data-rowindex]="cell.row.index"
    igxDragHandle
    ghostClass="drag-cell__ghost"
    class="cell-content-draggable"
  >
  </nm-list-cell>
</ng-template>

<ng-template #cellEditTemplate let-cell="cell" let-column="column">
  <nm-list-cell-edit
    (editableCell)="editableCell.emit($event)"
    [validation]="{ grid: this, config: configuration }"
    [cell]="cell"
    [column]="column"
    [dataType]="listService.dataType"
    [primaryKey]="_primaryKey"
    [attr.data-rowindex]="cell.row.index"
  >
  </nm-list-cell-edit>
</ng-template>

<ng-template #header let-column="column">
  <div
    [attr.draggable]="false"
    [ngClass]="column.settings.columnHeaderClasses"
    class="title-inner"
  >
    <span *ngIf="!column.filter" class="nm-title-container">{{
      column.settings.header | translate
    }}</span>

    <mat-form-field
      *ngIf="column.filter"
      [attr.draggable]="false"
      class="nm-list-column-search"
    >
      <input
        #inputBox
        (click)="stopPropagation($event, column.field)"
        (input)="
          onColumnFilterInput(
            dataListStateDirective.columnFilterInput[column.field],
            column
          )
        "
        [(ngModel)]="dataListStateDirective.columnFilterInput[column.field]"
        [attr.draggable]="false"
        [ngClass]="column.field"
        [placeholder]="column.header | translate"
        matInput
        type="text"
      />

      <button
        (click)="$event.stopPropagation()"
        (click)="
          clearColumnFilter(
            dataListStateDirective.columnFilterInput[column.field],
            column
          )
        "
        *ngIf="dataListStateDirective.columnFilterInput[column.field]"
        [attr.draggable]="false"
        aria-label="Clear"
        mat-button
        mat-icon-button
        matSuffix
      >
        <mat-icon [attr.draggable]="false">close</mat-icon>
      </button>
    </mat-form-field>

    <mat-icon
      (click)="column.pinned = !column.pinned"
      [attr.draggable]="false"
      [class.pinned]="column.pinned"
      class="nm-table-head-icon nm-table-pin fa fa fa-thumb-tack fade-in"
    ></mat-icon>
  </div>
</ng-template>
<div
  #menuTrigger="matMenuTrigger"
  *ngIf="childComponentMenu.menuObs | async"
  [matMenuTriggerFor]="childComponentMenu.menu.menu"
  [style.left]="contextMenuCoordinates.x"
  [style.top]="contextMenuCoordinates.y"
  style="position: fixed"
></div>
<nm-grid-contextmenu
  [api]="apiEmitter | async"
  (closeContextMenu)="closeContextMenu()"
  [cell]="contextMenuCoordinates.cell"
  [column]="contextMenuColumn"
  [configuration]="configuration"
  [grid]="this"
  [link]="listService.linkWithoutPaging"
  [selected-items]="selectedItems"
  [total]="listService.totalSubject"
></nm-grid-contextmenu>

<ng-template #actionStripTemplate let-actionStrip="actionStrip">
  <nm-list-cell-action-strip
    [actionColumns]="columns.actionColumns | async"
    [rowContext]="actionStrip.context"
    [dataType]="listService.dataType"
  >
  </nm-list-cell-action-strip>
</ng-template>

<div igxOverlayOutlet></div>

<ng-template #columnHeaderTemplate let-column>
  <ng-container *ngIf="filterMode === 'inlineFilter'; else showTooltip">
    <div
      class="title-inner"
      [attr.draggable]="false"
      [ngClass]="column.additionalTemplateContext.settings.columnHeaderClasses"
    >
      <span
        *ngIf="!column.additionalTemplateContext.filter"
        class="nm-title-container"
        >{{ column.additionalTemplateContext.header | translate }}</span
      >

      <mat-form-field
        *ngIf="column.additionalTemplateContext.filter"
        class="nm-list-column-search"
        [attr.draggable]="false"
      >
        <input
          [attr.draggable]="false"
          #inputBox
          [ngClass]="column.field"
          matInput
          type="text"
          (click)="stopPropagation($event, column.field)"
          [placeholder]="column.additionalTemplateContext.header | translate"
          [(ngModel)]="dataListStateDirective.columnFilterInput[column.field]"
          (input)="
            onColumnFilterInput(
              dataListStateDirective.columnFilterInput[column.field],
              column
            )
          "
        />

        <button
          (click)="$event.stopPropagation()"
          [attr.draggable]="false"
          mat-button
          *ngIf="dataListStateDirective.columnFilterInput[column.field]"
          matSuffix
          mat-icon-button
          aria-label="Clear"
          (click)="
            clearColumnFilter(
              dataListStateDirective.columnFilterInput[column.field],
              column
            )
          "
        >
          <mat-icon [attr.draggable]="false">close</mat-icon>
        </button>
      </mat-form-field>

      <mat-icon
        *ngIf="!column.additionalTemplateContext.hidePin"
        class="nm-table-head-icon nm-table-pin fa fa fa-thumb-tack fade-in"
        [class.pinned]="column.pinned"
        [attr.draggable]="false"
        (click)="column.pinned = !column.pinned"
      ></mat-icon>
    </div>
  </ng-container>

  <ng-template #showTooltip>
    <span
      pTooltip="{{ column.additionalTemplateContext.tooltip | translate }}"
      >{{ column.header }}</span
    >
  </ng-template>
</ng-template>

<ng-template #columnEditorTemplate let-cell="cell" let-val>
  <ng-template
    *ngTemplateOutlet="
      cellEditTemplate;
      context: {
        column: cell.column?.additionalTemplateContext,
        val: val,
        cell: cell
      }
    "
  ></ng-template>
</ng-template>

<ng-template #columnCellTemplate let-cell="cell" let-val>
  <ng-template
    *ngTemplateOutlet="
      cellTemplate;
      context: { cell: cell, column: cell.column?.additionalTemplateContext }
    "
  ></ng-template>
</ng-template>

<ng-template #levelOneColumnHeaderTemplate let-column>
  <ng-template
    *ngTemplateOutlet="
      header;
      context: { column: column.additionalTemplateContext }
    "
  ></ng-template>
</ng-template>

<ng-template #levelOneColumnEditorTemplate let-cell="cell" let-val>
  <ng-template
    *ngTemplateOutlet="
      cellEditTemplate;
      context: {
        column: cell.column?.additionalTemplateContext,
        val: val,
        cell: cell
      }
    "
  ></ng-template>
</ng-template>

<ng-template #levelOneColumnCellTemplate let-cell="cell" let-val>
  <ng-template
    *ngTemplateOutlet="
      cellTemplate;
      context: {
        cell: cell,
        column: cell.column?.additionalTemplateContext
      }
    "
  ></ng-template>
</ng-template>
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""