taffy-coustom-ui
Version:
71 lines (60 loc) • 2.2 kB
text/typescript
import { Component, ViewChild } from '@angular/core';
import { jqxTreeGridComponent } from 'jqwidgets-ng/jqxtreegrid';
({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent {
('TreeGrid', { static: false }) treeGrid: jqxTreeGridComponent;
getWidth() : any {
if (document.body.offsetWidth < 850) {
return '90%';
}
return 850;
}
source: any =
{
datatype: 'xml',
datafields: [
{ name: 'CompanyName', map: 'm\\:properties>d\\:CompanyName' },
{ name: 'ContactName', map: 'm\\:properties>d\\:ContactName' },
{ name: 'ContactTitle', map: 'm\\:properties>d\\:ContactTitle' },
{ name: 'City', map: 'm\\:properties>d\\:City' },
{ name: 'PostalCode', map: 'm\\:properties>d\\:PostalCode' },
{ name: 'Country', map: 'm\\:properties>d\\:Country' }
],
hierarchy:
{
groupingDataFields:
[
{
name: 'Country'
}
]
},
root: 'entry',
record: 'content',
id: { name: 'CustomerID', map: 'm\\:properties>d\\:CustomerID' },
url: './../../../sampledata/customers.xml'
};
dataAdapter: any = new jqx.dataAdapter(this.source);
icons(rowKey: number | string, rowData: any): string | boolean {
let level = rowData.level;
if (level == 0) {
// each group row has a label member that contains the information displayed on the group row.
let country = rowData.label;
return './../../../images/' + $.trim(country.toLowerCase()) + '.png';
}
return false;
}
columns: any[] = [
{ text: 'City', dataField: 'City', width: 250 },
{ text: 'Company Name', dataField: 'CompanyName', minWidth: 100, width: 200 },
{ text: 'Contact Name', dataField: 'ContactName', width: 150 },
{ text: 'Contact Title', dataField: 'ContactTitle', width: 300 },
{ text: 'Postal Code', dataField: 'PostalCode', width: 120 }
];
ready(): void {
this.treeGrid.expandRow(0);
};
}