diff --git a/src/FilterLists.Web/ClientApp/components/Home.tsx b/src/FilterLists.Web/ClientApp/components/Home.tsx index be3c8e4c0..dd2e4e4b2 100644 --- a/src/FilterLists.Web/ClientApp/components/Home.tsx +++ b/src/FilterLists.Web/ClientApp/components/Home.tsx @@ -15,6 +15,7 @@ interface IHomeState { loadingSoftware: boolean; languages: ILanguageDto[]; loadingLanguages: boolean; + columnVisibility: IColumnVisibility[]; pageSize: number; } @@ -30,6 +31,14 @@ export class Home extends React.Component, IHomeState> { loadingSoftware: true, languages: [], loadingLanguages: true, + columnVisibility: [ + { column: "name", visible: true }, + { column: "software", visible: true }, + { column: "tags", visible: true }, + { column: "languages", visible: true }, + { column: "updatedDate", visible: true }, + { column: "details", visible: true } + ], pageSize: 20 }; this.updatePageSize = this.updatePageSize.bind(this); @@ -45,6 +54,7 @@ export class Home extends React.Component, IHomeState> {

:
{Home.renderTagline(this.state)} + {this.renderColumnVisibilityCheckboxes()} {Home.renderFilterListsTable(this.state)}
; return
@@ -102,6 +112,19 @@ export class Home extends React.Component, IHomeState> {

; } + private renderColumnVisibilityCheckboxes() { + return
+ {this.state.columnVisibility.map((c: IColumnVisibility) => this.renderColumnVisibilityCheckbox(c))} +
; + }; + + private renderColumnVisibilityCheckbox(props: IColumnVisibility) { + return
+ + +
; + } + private static renderFilterListsTable(state: IHomeState) { return