Skip to content

Commit 8e5cb53

Browse files
committed
review table
1 parent 4dd1b99 commit 8e5cb53

File tree

6 files changed

+58
-15
lines changed

6 files changed

+58
-15
lines changed

packages/tdb-dashboard/src/index.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,16 @@ function NavigationComponent(){
1818
let navigate = useNavigate();
1919
const redirect_uri = window.location.origin
2020

21+
22+
// this happen after confirm you password linking in the email url
23+
/* if (window.location.search.includes("supportSignUp=true")) {
24+
// window.location.replace('/')
25+
}*/
26+
// you enter here only if you are log - in
2127
const onRedirectCallback = (appState) => {
28+
2229
navigate(appState && appState.targetUrl ? appState.targetUrl : window.location.pathname);
30+
2331
};
2432

2533
if(localSettings && localSettings.connection_type!== "LOCAL"){

packages/tdb-react-table/src/ColumsVisibilityComponent.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const CheckboxMenu = React.forwardRef(
99
children,
1010
style,
1111
className,
12+
setHiddenColumns,
1213
"aria-labelledby": labeledBy,
1314
onChange,
1415
title,
@@ -19,7 +20,8 @@ const CheckboxMenu = React.forwardRef(
1920
const label = checked ? "Hide All" : "Show All"
2021

2122
const setHideShow = (evt)=>{
22-
onChange(!checked)
23+
if(setHiddenColumns)setHiddenColumns("__ALL__",!checked)
24+
onChange(evt)
2325
}
2426

2527
return (<div
@@ -44,7 +46,7 @@ const CheckboxMenu = React.forwardRef(
4446
type="checkbox"
4547
label={"All"}
4648
checked={checked}
47-
onChange={onChange}
49+
onChange={setHideShow}
4850
className= "table__columns__component"
4951
/>
5052
</Form.Group>
@@ -56,14 +58,19 @@ const CheckboxMenu = React.forwardRef(
5658
);
5759

5860
const CheckDropdownItem = React.forwardRef(
59-
({ children, id, checked, onChange }, ref) => {
61+
({ children, id, checked, onChange , setHiddenColumns}, ref) => {
62+
function hideShowColumn(evt){
63+
if(setHiddenColumns)setHiddenColumns(id,evt.target.checked)
64+
onChange(evt)
65+
}
66+
6067
return (
6168
<Form.Group ref={ref} className="dropdown-item mb-0" controlId={id}>
6269
<Form.Check
6370
type="checkbox"
6471
label={children}
6572
checked={checked}
66-
onChange={onChange}
73+
onChange={hideShowColumn}
6774
className= "table__columns__component"
6875
/>
6976
</Form.Group>
@@ -72,7 +79,7 @@ const CheckDropdownItem = React.forwardRef(
7279
);
7380

7481

75-
export const CheckboxDropdown = ({ allColumns,getToggleHideAllColumnsProps }) => {
82+
export const CheckboxDropdown = ({setHiddenColumns, allColumns,getToggleHideAllColumnsProps }) => {
7683
return (
7784
<Dropdown>
7885
<Dropdown.Toggle variant="primary" id="dropdown-basic" className="bg-light text-dark">
@@ -81,13 +88,15 @@ export const CheckboxDropdown = ({ allColumns,getToggleHideAllColumnsProps }) =>
8188

8289
<Dropdown.Menu
8390
as={CheckboxMenu}
91+
setHiddenColumns={setHiddenColumns}
8492
{...getToggleHideAllColumnsProps()}
8593
>
8694
{allColumns.map(column => (
8795

8896
<Dropdown.Item
8997
key={column.id}
9098
as={CheckDropdownItem}
99+
setHiddenColumns={setHiddenColumns}
91100
id={column.id}
92101
{...column.getToggleHiddenProps()}>
93102
{column.Header}

packages/tdb-react-table/src/GraphqlTable.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ minWidth,
2020
maxWidth}]*/
2121

2222
//this only render the logic of do the query is in an external hook
23-
export const GraphqlTable = ({hiddenColumnsArr, result, config, freewidth, start, filtersBy ,limit, orderBy, totalRows, setLimits, setOrder, setFilters,onRefresh,dowloadConfig})=>{
23+
export const GraphqlTable = ({hiddenColumnsArr, setHiddenColumns,result, config, freewidth, start, filtersBy ,limit, orderBy, totalRows, setLimits, setOrder, setFilters,onRefresh,dowloadConfig})=>{
2424
// let wt = TerminusClient.View.table()
2525
// if(view) wt.loadJSON(view.table, view.rules)
2626

@@ -68,17 +68,17 @@ export const GraphqlTable = ({hiddenColumnsArr, result, config, freewidth, start
6868
};
6969

7070
function formatTableColumns(){
71-
const hiddenColumns = [] //hiddenColumnsArr
71+
const hiddenColumns = hiddenColumnsArr || []
7272
// I visualise the id only if it is the only item
7373
const colArr = config.columns
7474
if(!Array.isArray(colArr))return []
7575

76-
if(colArr.length > 1){
76+
if(!hiddenColumnsArr && colArr.length > 1){
7777
hiddenColumns.push("_id")
7878
}
7979

8080
let listOfColumns = colArr.map((item,index) => {
81-
if(index>4){
81+
if(!hiddenColumnsArr && index>4){
8282
hiddenColumns.push(item.id)
8383
}
8484
let col = item
@@ -144,6 +144,7 @@ export const GraphqlTable = ({hiddenColumnsArr, result, config, freewidth, start
144144
</Col>
145145
</Row>}
146146
<ReactTableComponent
147+
setHiddenColumns = {setHiddenColumns}
147148
setFilters={setFilters}
148149
data={data}
149150
columns={[{columns:columns,Header:" "}]}

packages/tdb-react-table/src/ReactTableComponent.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { DefaultColumnFilter } from './ColumnFilters';
1111
* sort - no, local, remote
1212
*/
1313

14-
export const ReactTableComponent = ({columns, data, limit, config, pages, freewidth, filtersBy, orderBy, rowCount, pageNumber, setLimits, setOrder, setFilters, pagesizes, onRefresh,hiddenColumns})=>{
14+
export const ReactTableComponent = ({setHiddenColumns, columns, data, limit, config, pages, freewidth, filtersBy, orderBy, rowCount, pageNumber, setLimits, setOrder, setFilters, pagesizes, onRefresh,hiddenColumns})=>{
1515

1616
// console.log("COLUMS", JSON.stringify(columns,null,4))
1717

@@ -114,7 +114,7 @@ export const ReactTableComponent = ({columns, data, limit, config, pages, freewi
114114
<span>
115115
<div className='d-flex justify-content-end'>
116116
{setFilters && <Button title="Reset filters" className="bg-light text-dark" onClick={() => setAllFilters([])}><MdOutlineResetTv/></Button>}
117-
<CheckboxDropdown allColumns={allColumns} getToggleHideAllColumnsProps={getToggleHideAllColumnsProps}/>
117+
<CheckboxDropdown setHiddenColumns={setHiddenColumns} allColumns={allColumns} getToggleHideAllColumnsProps={getToggleHideAllColumnsProps}/>
118118
</div>
119119
<div className="h-4" />
120120
<Table {...getTableProps()} hover >

packages/tdb-react-table/src/TableComponent.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { DefaultColumnFilter } from './ColumnFilters';
1313

1414
export const TableComponent = ({columns, data, view, pages, freewidth, filtersBy, orderBy, rowCount, pageNumber, setLimits, setOrder, setFilters, pagesizes, onRefresh})=>{
1515

16-
console.log("COLUMS", JSON.stringify(columns,null,4))
16+
//console.log("COLUMS", JSON.stringify(columns,null,4))
1717

1818
pagesizes = pagesizes || [5, 10, 20, 30, 40, 50]
1919
let pager = view.config.pager()

packages/tdb-react-table/src/hook/ControlledGraphqlQuery.js

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, {useState, useEffect} from 'react'
22

3-
export function ControlledGraphqlQuery (apolloClient, graphqlQuery, documentType, queryLimit, queryStart, order, filter) {
3+
export function ControlledGraphqlQuery (apolloClient, graphqlQuery, documentType, queryLimit, queryStart, order, filter,tableConfigObj,hiddenColumnsStart) {
44

55
const [limit, setLimit] = useState(queryLimit || 10)
66
const [start, setStart] = useState(queryStart || 0)
@@ -12,7 +12,7 @@ export function ControlledGraphqlQuery (apolloClient, graphqlQuery, documentType
1212
const [controlledRefresh, setControlledRefresh] = useState(0)
1313
const [data, setData] = useState(null)
1414

15-
const [setHiddenColumnsArr, hiddenColumnsArr] = useState([])
15+
const [hiddenColumnsArr,setHiddenColumnsArr] = useState(['_id'])
1616

1717
//filter is the filter formatted for the query
1818
let filterTable = []
@@ -139,6 +139,31 @@ export function ControlledGraphqlQuery (apolloClient, graphqlQuery, documentType
139139
const onRefresh = () => {
140140
setRefresh(controlledRefresh+1)
141141
}
142+
143+
const setHiddenColumns =(id, checked)=>{
144+
const indexof = hiddenColumnsArr.indexOf(id)
145+
if(id==="__ALL__"){
146+
if(checked){
147+
setHiddenColumnsArr([])
148+
}else{
149+
//columns name
150+
if(Array.isArray(tableConfigObj)){
151+
tableConfigObj.forEach(item =>{
152+
if(hiddenColumnsArr.indexOf(item.id) === -1)
153+
hiddenColumnsArr.push(item.id)
154+
})
155+
}
156+
}
157+
}else{
158+
if(indexof>-1 && checked===true){
159+
// we remove the item if it is in the array
160+
const x = hiddenColumnsArr.splice(indexof, 1);
161+
}else if(checked===false && indexof=== -1) {
162+
hiddenColumnsArr.push(id)
163+
}
164+
}
165+
166+
}
142167

143168
return {
144169
callFetchMore,
@@ -159,7 +184,7 @@ export function ControlledGraphqlQuery (apolloClient, graphqlQuery, documentType
159184
onRefresh,
160185
documentResults:data,
161186
hiddenColumnsArr,
162-
setHiddenColumnsArr,
187+
setHiddenColumns,
163188
// maybe we need to set from outside
164189
// setDocumentResults,
165190
// setControlledRefresh,

0 commit comments

Comments
 (0)