From 867fce30c2164ecf3da0a31095f26ea1ac9cd634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=87a=C4=9Fatay=20=C3=87ivici?= Date: Sat, 22 Oct 2016 02:19:42 +0300 Subject: [PATCH] Fixed #1100 --- components/common/shared.ts | 32 ++++++- components/datatable/datatable.ts | 64 +++++++------ showcase/demo/datatable/datatabledemo.html | 66 +++++++------- .../demo/datatable/datatablegroupdemo.html | 91 +++++++++++-------- showcase/demo/datatable/datatablegroupdemo.ts | 37 -------- webpack.config.js | 4 +- 6 files changed, 155 insertions(+), 139 deletions(-) diff --git a/components/common/shared.ts b/components/common/shared.ts index a22d38acf1c..b85f8ce2579 100644 --- a/components/common/shared.ts +++ b/components/common/shared.ts @@ -94,6 +94,34 @@ export class Column implements AfterContentInit{ } } +@Component({ + selector: 'p-row', + template: `` +}) +export class Row { + + @ContentChildren(Column) columns: QueryList; + +} + +@Component({ + selector: 'p-headerColumnGroup', + template: `` +}) +export class HeaderColumnGroup { + + @ContentChildren(Row) rows: QueryList; +} + +@Component({ + selector: 'p-footerColumnGroup', + template: `` +}) +export class FooterColumnGroup { + + @ContentChildren(Row) rows: QueryList; +} + @Component({ selector: 'p-columnBodyTemplateLoader', template: `` @@ -170,7 +198,7 @@ export class TemplateLoader { @NgModule({ imports: [CommonModule], - exports: [Header,Footer,Column,TemplateWrapper,ColumnHeaderTemplateLoader,ColumnBodyTemplateLoader,ColumnFooterTemplateLoader,PrimeTemplate,TemplateLoader], - declarations: [Header,Footer,Column,TemplateWrapper,ColumnHeaderTemplateLoader,ColumnBodyTemplateLoader,ColumnFooterTemplateLoader,PrimeTemplate,TemplateLoader] + exports: [Header,Footer,Column,TemplateWrapper,ColumnHeaderTemplateLoader,ColumnBodyTemplateLoader,ColumnFooterTemplateLoader,PrimeTemplate,TemplateLoader,Row,HeaderColumnGroup,FooterColumnGroup], + declarations: [Header,Footer,Column,TemplateWrapper,ColumnHeaderTemplateLoader,ColumnBodyTemplateLoader,ColumnFooterTemplateLoader,PrimeTemplate,TemplateLoader,Row,HeaderColumnGroup,FooterColumnGroup] }) export class SharedModule { } \ No newline at end of file diff --git a/components/datatable/datatable.ts b/components/datatable/datatable.ts index 1560c707028..277926920c9 100644 --- a/components/datatable/datatable.ts +++ b/components/datatable/datatable.ts @@ -5,7 +5,7 @@ import {FormsModule} from '@angular/forms' import {SharedModule} from '../common/shared'; import {PaginatorModule} from '../paginator/paginator'; import {InputTextModule} from '../inputtext/inputtext'; -import {Column,Header,Footer} from '../common/shared'; +import {Column,Header,Footer,HeaderColumnGroup,FooterColumnGroup} from '../common/shared'; import {LazyLoadEvent,FilterMetadata,SortMeta} from '../common/api'; import {DomHandler} from '../dom/domhandler'; import {Subscription} from 'rxjs/Subscription'; @@ -100,7 +100,7 @@ export class RowExpansionLoader {
- + - - - + - + - - - +
- - {{col.header}} - - -
{{col.footer}} @@ -141,11 +146,18 @@ export class RowExpansionLoader {
{{col.footer}}