import {
ActionColumnButton,
ActionColumnContext,
AdaptableModule,
AdaptableOptions,
CellUpdateRequest,
} from '@adaptabletools/adaptable';
const modulesToRemove: AdaptableModule[] = [
'CellSummary',
'CustomSort',
'BulkUpdate',
'Dashboard',
'Export',
'ColumnFilter',
'FlashingCell',
'FormatColumn',
'GridInfo',
'Layout',
'PlusMinus',
];
export const adaptableOptions: AdaptableOptions = {
primaryKey: 'id',
adaptableId: 'Adaptable Features',
actionColumnOptions: {
actionColumns: [
{
columnId: 'functionality',
friendlyName: 'Functionality',
actionColumnSettings: {
suppressMenu: true,
suppressMovable: true,
resizable: true,
},
actionColumnButton: {
label: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
return context.data.functionality;
},
buttonStyle: {
tone: 'neutral',
variant: 'outlined',
},
onClick: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
const link: string =
'https://www.adaptabletools.com/docs/' + context.data.doclink;
Object.assign(document.createElement('a'), {
target: '_blank',
href: link,
}).click();
},
},
},
{
columnId: 'initialState',
friendlyName: 'Initial State',
actionColumnSettings: {
suppressMenu: true,
suppressMovable: true,
resizable: true,
},
actionColumnButton: {
label: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
return context.data.initialState;
},
buttonStyle: {
tone: 'neutral',
variant: 'outlined',
},
hidden: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
return context.data.initialState == '';
},
onClick: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
const link: string =
'https://www.adaptabletools.com/docs/' +
context.data.initialStateLink;
Object.assign(document.createElement('a'), {
target: '_blank',
href: link,
}).click();
},
},
},
{
columnId: 'adaptableOptions',
friendlyName: 'Adaptable Options',
actionColumnSettings: {
suppressMenu: true,
suppressMovable: true,
resizable: true,
},
actionColumnButton: {
label: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
return context.data.adaptableOptions;
},
buttonStyle: {
tone: 'neutral',
variant: 'outlined',
},
hidden: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
return context.data.adaptableOptions == '';
},
onClick: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
const link: string =
'https://www.adaptabletools.com/docs/' +
context.data.adaptableOptionsLink;
Object.assign(document.createElement('a'), {
target: '_blank',
href: link,
}).click();
},
},
},
{
columnId: 'adaptableApi',
friendlyName: 'Adaptable API',
actionColumnSettings: {
suppressMenu: true,
suppressMovable: true,
resizable: true,
},
actionColumnButton: {
label: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
return context.data.adaptableApi;
},
buttonStyle: {
tone: 'neutral',
variant: 'outlined',
},
hidden: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
return context.data.adaptableApi == '';
},
onClick: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
const link: string =
'https://www.adaptabletools.com/docs/' +
context.data.adaptableApiLink;
Object.assign(document.createElement('a'), {
target: '_blank',
href: link,
}).click();
},
},
},
{
columnId: 'event',
friendlyName: 'AdapTable Event',
actionColumnSettings: {
suppressMenu: true,
suppressMovable: true,
resizable: true,
},
actionColumnButton: {
label: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
return context.data.adaptableEvent;
},
buttonStyle: {
tone: 'neutral',
variant: 'outlined',
},
hidden: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
return context.data.adaptableEvent == '';
},
onClick: (
button: ActionColumnButton<ActionColumnContext>,
context: ActionColumnContext
) => {
const link: string =
'https://www.adaptabletools.com/docs/' +
context.data.adaptableEventLink;
Object.assign(document.createElement('a'), {
target: '_blank',
href: link,
}).click();
},
},
},
],
},
initialState: {
Theme: {CurrentTheme: 'dark'},
Layout: {
CurrentLayout: 'Standard Layout',
Layouts: [
{
TableColumns: [
'functionality',
'group',
'isAdaptableModule',
'initialState',
'adaptableOptions',
'adaptableApi',
'event',
'hasPlugin',
],
Name: 'Standard Layout',
AutoSizeColumns: true,
},
],
},
StyledColumn: {
StyledColumns: [
{
ColumnId: 'group',
BadgeStyle: {
Badges: [
{
Style: {
BackColor: 'DarkGray',
BorderRadius: 6,
},
},
],
},
},
],
},
FormatColumn: {
FormatColumns: [
{
Name: 'formatColumn-boolean',
Scope: {
DataTypes: ['boolean'],
},
Style: {
Alignment: 'Center',
},
},
],
},
},
};