mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
parent
785182813e
commit
9b5b9c6e2a
5 changed files with 27 additions and 39 deletions
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>;;
|
||||
}
|
||||
};
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
import { DetailsExpanderContainer } from "./DetailsExpanderContainer";
|
||||
import { DetailsExpander } from "./DetailsExpander";
|
||||
import { IListDetails } from "./IListDetails";
|
||||
|
||||
export {
|
||||
DetailsExpanderContainer as DetailsExpander,
|
||||
DetailsExpander,
|
||||
IListDetails
|
||||
};
|
||||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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>;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue