set Tags visibility in details expander opposite of in table

ref #472
This commit is contained in:
Collin M. Barrett 2018-09-28 15:37:03 -05:00
parent 785182813e
commit 9b5b9c6e2a
5 changed files with 27 additions and 39 deletions

View file

@ -1,19 +1,25 @@
import * as React from "react";
import { IColumnVisibility } from "../../interfaces";
import { IListDetails } from "./IListDetails";
import { InfoCard } from "./infoCard";
import { LinkButtonGroup } from "./LinkButtonGroup";
import { MaintainersInfoCard } from "./maintainersInfoCard";
export const DetailsExpander = (props: IListDetails) =>
interface IProps {
columnVisibility: IColumnVisibility[];
list: IListDetails;
};
export const DetailsExpander = (props: IProps) =>
<div className="card border-primary">
<div className="card-body p-2">
<div className="container m-0">
<div className="row">
<InfoCard {...props}/>
<LinkButtonGroup {...props}/>
<InfoCard columnVisibility={props.columnVisibility} {...props.list}/>
<LinkButtonGroup {...props.list}/>
</div>
<div className="row">
<MaintainersInfoCard maintainers={props.maintainers}/>
<MaintainersInfoCard maintainers={props.list.maintainers}/>
</div>
</div>
</div>

View file

@ -1,25 +0,0 @@
import * as React from "react";
import "isomorphic-fetch";
import "../../../../utils/loader.css";
import { IListDetails } from "./IListDetails";
import { DetailsExpander } from "./DetailsExpander";
interface IProps {
list: IListDetails;
};
interface IState {
};
export class DetailsExpanderContainer extends React.Component<IProps, IState> {
constructor(props: IProps) {
super(props);
this.state = {};
}
render() {
return this.props.list.name
? <DetailsExpander {...this.props.list}/>
: <div className="loader">Loading...</div>;;
}
};

View file

@ -1,7 +1,7 @@
import { DetailsExpanderContainer } from "./DetailsExpanderContainer";
import { DetailsExpander } from "./DetailsExpander";
import { IListDetails } from "./IListDetails";
export {
DetailsExpanderContainer as DetailsExpander,
DetailsExpander,
IListDetails
};

View file

@ -1,4 +1,5 @@
import * as React from "react";
import { IColumnVisibility } from "../../../interfaces";
import { IListLicense, IListSyntax, ISyntaxSupportedSoftware } from "../IListDetails";
import { ILanguage, ITag } from "../../../interfaces";
import { Description } from "./Description";
@ -13,6 +14,7 @@ import { TagGroup } from "../../TagGroup"
import { UpdatedDate } from "./UpdatedDate";
interface IProps {
columnVisibility: IColumnVisibility[];
description: string;
descriptionSourceUrl: string;
discontinuedDate: string;
@ -28,7 +30,9 @@ interface IProps {
export const InfoCard = (props: IProps) =>
<div className="col-9">
<TagGroup tags={props.tags}/>
{props.columnVisibility.filter((c: IColumnVisibility) => c.column === "Tags")[0].visible
? null
: <TagGroup tags={props.tags}/>}
<div>
{props.syntax
? props.syntax.supportedSoftware.map(

View file

@ -4,7 +4,8 @@ import "../../../../utils/loader.css";
import ReactTable from "react-table";
import "react-table/react-table.css";
import "./listsTable.css";
import { DetailsButton, Languages, License, Maintainers, Name, RuleCount, Software, Tags, UpdatedDate } from "./columns";
import { DetailsButton, Languages, License, Maintainers, Name, RuleCount, Software, Tags, UpdatedDate } from
"./columns";
import { IListDetails } from "../../components/detailsExpander";
import { DetailsExpander } from "../../components";
@ -37,12 +38,14 @@ export const ListsTable = (props: IProps) =>
DetailsButton
]}
defaultSorted={[{ id: "name" }]}
SubComponent={(r: any) => <DetailsExpander list={mapListDetails(({
list: r.original,
languages: props.languages,
maintainers: props.maintainers,
tags: props.tags
} as ICreateListDtoProps))}/>}
SubComponent={(r: any) =>
<DetailsExpander columnVisibility={props.columnVisibility}
list={mapListDetails(({
list: r.original,
languages: props.languages,
maintainers: props.maintainers,
tags: props.tags
} as ICreateListDtoProps))}/>}
className="-striped -highlight"/>
: <div className="loader">Loading...</div>;