diff --git a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js index 1265b8af9357f528a4232d0fa20bbce57f91008f..8f91d1af24340e33563606c455036335d8a25def 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js @@ -229,7 +229,7 @@ const IndeterminateCheckbox = React.forwardRef( ) // Our table component -function Table({ columns, data, defaultheader, optionalheader }) { +function Table({ columns, data, defaultheader, optionalheader, defaultSortColumn }) { const filterTypes = React.useMemo( () => ({ // Add a new fuzzyTextFilterFn filter type. @@ -280,7 +280,8 @@ function Table({ columns, data, defaultheader, optionalheader }) { data, defaultColumn, filterTypes, - initialState: { pageIndex: 0 } + initialState: { pageIndex: 0, + sortBy: defaultSortColumn } }, useFilters, useGlobalFilter, @@ -421,7 +422,11 @@ function ViewTable(props) { // Default Header to show in table and other columns header will not show until user action on UI let defaultheader = props.defaultcolumns; let optionalheader = props.optionalcolumns; - + let defaultSortColumn = props.defaultSortColumn; + if(!defaultSortColumn){ + defaultSortColumn =[{}]; + } + let columns = []; let defaultdataheader = Object.keys(defaultheader[0]); let optionaldataheader = Object.keys(optionalheader[0]); @@ -508,7 +513,8 @@ function ViewTable(props) { return ( <div> - <Table columns={columns} data={tbldata} defaultheader={defaultheader[0]} optionalheader={optionalheader[0]} /> + <Table columns={columns} data={tbldata} defaultheader={defaultheader[0]} optionalheader={optionalheader[0]} + defaultSortColumn={defaultSortColumn} /> </div> ) } diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.js index 8ecbf062eccfb70a68b53adfb27e3e8fbe81a115..6fe6f2cb46c4cd10e7e64362b08ad553f6e64b2e 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Cycle/list.js @@ -48,6 +48,8 @@ class CycleList extends Component{ "Lofar Observing Time Commissioning (Hrs)" : "filter-input-75", "Lofar Observing Time Prio A (Hrs)" : "filter-input-75", "Lofar Observing Time Prio B (Hrs)" : "filter-input-75" }]; + + this.defaultSortColumn = [{id: "Cycle Code", desc: false}]; } getUnitConvertedQuotaValue(cycle, cycleQuota, resourceName) { @@ -134,6 +136,7 @@ class CycleList extends Component{ defaultcolumns={this.defaultcolumns} optionalcolumns={this.optionalcolumns} columnclassname = {this.columnclassname} + defaultSortColumn= {this.defaultSortColumn} showaction="true" paths={this.state.paths} /> : <></> diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Project/list.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Project/list.js index af3869b13dd7c31251f4dec33f350ee3f5d59100..ae9cc4c088c21ae68d4ca1d3b7a67360a41db013 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Project/list.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Project/list.js @@ -46,6 +46,7 @@ export class ProjectList extends Component{ "Category of Period":"filter-input-50", "Cycles":"filter-input-100", }], + defaultSortColumn: [{id: "Name / Project Code", desc: true}], isprocessed: false, isLoading: true } @@ -86,6 +87,7 @@ export class ProjectList extends Component{ defaultcolumns={this.state.defaultcolumns} optionalcolumns={this.state.optionalcolumns} columnclassname={this.state.columnclassname} + defaultSortColumn={this.state.defaultSortColumn} showaction="true" paths={this.state.paths} keyaccessor="name" diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js index a3ec244ea830589b7cc5b830d3415aee43c046af..bd8083bd60f7a693b98296013d7988409431d466 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js @@ -35,7 +35,8 @@ class SchedulingUnitList extends Component{ "Template":"filter-input-50", "Duration":"filter-input-50", "Type": "filter-input-75" - }] + }], + defaultSortColumn: [{id: "Type", desc: true},{id: "Created Date", desc: false}], } } @@ -93,6 +94,7 @@ class SchedulingUnitList extends Component{ defaultcolumns={this.state.defaultcolumns} optionalcolumns={this.state.optionalcolumns} columnclassname={this.state.columnclassname} + defaultSortColumn={this.state.defaultSortColumn} showaction="true" keyaccessor="id" paths={this.state.paths} diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/ViewSchedulingUnit.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/ViewSchedulingUnit.js index 2a33a72b8c5c54a7f283b1363120ab270779226b..2af9ef7509e3f55365ae16446c53e706d13df9c4 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/ViewSchedulingUnit.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/ViewSchedulingUnit.js @@ -40,7 +40,6 @@ class ViewSchedulingUnit extends Component{ "url":"URL", "actionpath":"actionpath", }], - columnclassname: [{ "Type":"filter-input-75", "ID":"filter-input-50", @@ -50,7 +49,8 @@ class ViewSchedulingUnit extends Component{ "BluePrint / Task Draft link": "filter-input-100", "Relative Start Time (HH:mm:ss)": "filter-input-75", "Relative End Time (HH:mm:ss)": "filter-input-75", - }] + }], + defaultSortColumn: [{id: "Name", desc: true}], } } @@ -150,6 +150,7 @@ class ViewSchedulingUnit extends Component{ defaultcolumns={this.state.defaultcolumns} optionalcolumns={this.state.optionalcolumns} columnclassname={this.state.columnclassname} + defaultSortColumn={this.state.defaultSortColumn} showaction="true" keyaccessor="id" paths={this.state.paths}