import {
AdaptableButton,
AdaptableOptions,
ApplicationDataEntry,
CustomToolbarButtonContext,
DashboardButtonContext,
TableLayout,
} from '@adaptabletools/adaptable';
import {WebFramework} from './rowData';
export const adaptableOptions: AdaptableOptions<WebFramework> = {
primaryKey: 'tradeId',
userName: 'Demo User',
adaptableId: 'Updating Layouts',
dashboardOptions: {
customDashboardButtons: [
{
label: 'Update Layout',
buttonStyle: {
tone: 'neutral',
variant: 'outlined',
},
onClick: (
_button: AdaptableButton<DashboardButtonContext>,
context: DashboardButtonContext
) => {
if (context.adaptableApi.layoutApi.isCurrentLayoutPivot()) {
context.adaptableApi.layoutApi.updateCurrentLayout(layout => {
layout.PivotColumns = ['language'];
layout.GridFilter = {
Expression: '[language]="JavaScript" ',
};
return layout;
});
} else {
context.adaptableApi.layoutApi.updateCurrentLayout(layout => {
layout.TableColumns = [
'name',
'github_stars',
'github_watchers',
'open_issues_count',
'closed_issues_count',
'open_pr_count',
'closed_pr_count',
'has_projects',
'has_pages',
'week_issue_change',
];
layout.TableAggregationColumns = [
{
ColumnId: 'github_stars',
AggFunc: 'sum',
},
];
layout.ColumnSizing = {
name: {Width: 400},
};
((layout.ColumnFilters = [
{
ColumnId: 'github_stars',
Predicates: [
{
PredicateId: 'GreaterThan',
Inputs: [50000],
},
],
},
]),
(layout.RowGroupedColumns = ['language', 'license']));
return layout;
});
}
},
},
],
},
initialState: {
Theme: {CurrentTheme: 'dark'},
Dashboard: {
PinnedToolbars: ['Layout'],
},
Layout: {
CurrentLayout: 'Table Layout',
Layouts: [
{
Name: 'Table Layout',
TableColumns: [
'name',
'language',
'github_stars',
'license',
'created_at',
'has_wiki',
'updated_at',
'pushed_at',
'github_watchers',
'description',
'open_issues_count',
'closed_issues_count',
'open_pr_count',
'closed_pr_count',
'has_projects',
'has_pages',
'week_issue_change',
],
},
{
Name: 'Pivot Layout',
PivotColumns: [],
PivotGroupedColumns: ['license'],
PivotAggregationColumns: [
{ColumnId: 'github_watchers', AggFunc: 'count'},
{ColumnId: 'github_stars', AggFunc: 'sum'},
],
},
],
},
},
};