Add configuration types for widgets (#14717)

closes https://github.com/twentyhq/core-team-issues/issues/1532
This commit is contained in:
nitin
2025-09-29 17:11:26 +05:30
committed by GitHub
parent 2685f4a5b9
commit ea144c434b
88 changed files with 2829 additions and 1487 deletions
+176 -18
View File
@@ -269,6 +269,25 @@ export type AvailableWorkspacesAndAccessTokensOutput = {
tokens: AuthTokenPair;
};
export type BarChartConfiguration = {
__typename?: 'BarChartConfiguration';
aggregateFieldMetadataId: Scalars['UUID'];
aggregateOperation: AggregateOperations;
color?: Maybe<Scalars['String']>;
description?: Maybe<Scalars['String']>;
filter?: Maybe<Scalars['JSON']>;
graphType: GraphType;
groupByFieldMetadataIdX: Scalars['UUID'];
groupByFieldMetadataIdY?: Maybe<Scalars['UUID']>;
omitNullValues?: Maybe<Scalars['Boolean']>;
orderByX: GraphOrderBy;
orderByY?: Maybe<GraphOrderBy>;
rangeMax?: Maybe<Scalars['Float']>;
rangeMin?: Maybe<Scalars['Float']>;
xAxisName?: Maybe<Scalars['String']>;
yAxisName?: Maybe<Scalars['String']>;
};
export type Billing = {
__typename?: 'Billing';
billingUrl?: Maybe<Scalars['String']>;
@@ -1227,6 +1246,17 @@ export type FullName = {
lastName: Scalars['String'];
};
export type GaugeChartConfiguration = {
__typename?: 'GaugeChartConfiguration';
aggregateFieldMetadataId: Scalars['UUID'];
aggregateFieldMetadataIdTotal: Scalars['UUID'];
aggregateOperation: AggregateOperations;
aggregateOperationTotal: AggregateOperations;
description?: Maybe<Scalars['String']>;
filter?: Maybe<Scalars['JSON']>;
graphType: GraphType;
};
export type GetApiKeyDto = {
id: Scalars['UUID'];
};
@@ -1260,6 +1290,23 @@ export type GetWebhookDto = {
id: Scalars['UUID'];
};
/** Order by options for graph widgets */
export enum GraphOrderBy {
FIELD_ASC = 'FIELD_ASC',
FIELD_DESC = 'FIELD_DESC',
VALUE_ASC = 'VALUE_ASC',
VALUE_DESC = 'VALUE_DESC'
}
/** Type of graph widget */
export enum GraphType {
BAR = 'BAR',
GAUGE = 'GAUGE',
LINE = 'LINE',
NUMBER = 'NUMBER',
PIE = 'PIE'
}
export type GridPosition = {
__typename?: 'GridPosition';
column: Scalars['Float'];
@@ -1288,6 +1335,11 @@ export enum IdentityProviderType {
SAML = 'SAML'
}
export type IframeConfiguration = {
__typename?: 'IframeConfiguration';
url: Scalars['String'];
};
export type ImapSmtpCaldavConnectionParameters = {
__typename?: 'ImapSmtpCaldavConnectionParameters';
CALDAV?: Maybe<ConnectionParametersOutput>;
@@ -1413,6 +1465,25 @@ export type InvalidatePassword = {
success: Scalars['Boolean'];
};
export type LineChartConfiguration = {
__typename?: 'LineChartConfiguration';
aggregateFieldMetadataId: Scalars['UUID'];
aggregateOperation: AggregateOperations;
color?: Maybe<Scalars['String']>;
description?: Maybe<Scalars['String']>;
filter?: Maybe<Scalars['JSON']>;
graphType: GraphType;
groupByFieldMetadataIdX: Scalars['UUID'];
groupByFieldMetadataIdY?: Maybe<Scalars['UUID']>;
omitNullValues?: Maybe<Scalars['Boolean']>;
orderByX: GraphOrderBy;
orderByY?: Maybe<GraphOrderBy>;
rangeMax?: Maybe<Scalars['Float']>;
rangeMin?: Maybe<Scalars['Float']>;
xAxisName?: Maybe<Scalars['String']>;
yAxisName?: Maybe<Scalars['String']>;
};
export type LinkMetadata = {
__typename?: 'LinkMetadata';
label: Scalars['String'];
@@ -2387,6 +2458,18 @@ export type MutationVerifyTwoFactorAuthenticationMethodForAuthenticatedUserArgs
otp: Scalars['String'];
};
export type NumberChartConfiguration = {
__typename?: 'NumberChartConfiguration';
aggregateFieldMetadataId: Scalars['UUID'];
aggregateOperation: AggregateOperations;
color?: Maybe<Scalars['String']>;
description?: Maybe<Scalars['String']>;
filter?: Maybe<Scalars['JSON']>;
format?: Maybe<Scalars['String']>;
graphType: GraphType;
label?: Maybe<Scalars['String']>;
};
export type Object = {
__typename?: 'Object';
createdAt: Scalars['DateTime'];
@@ -2585,7 +2668,7 @@ export enum PageLayoutType {
export type PageLayoutWidget = {
__typename?: 'PageLayoutWidget';
configuration?: Maybe<Scalars['JSON']>;
configuration?: Maybe<WidgetConfiguration>;
createdAt: Scalars['DateTime'];
deletedAt?: Maybe<Scalars['DateTime']>;
gridPosition: GridPosition;
@@ -2619,6 +2702,18 @@ export enum PermissionFlagType {
WORKSPACE_MEMBERS = 'WORKSPACE_MEMBERS'
}
export type PieChartConfiguration = {
__typename?: 'PieChartConfiguration';
aggregateFieldMetadataId: Scalars['UUID'];
aggregateOperation: AggregateOperations;
color?: Maybe<Scalars['String']>;
description?: Maybe<Scalars['String']>;
filter?: Maybe<Scalars['JSON']>;
graphType: GraphType;
groupByFieldMetadataId: Scalars['UUID'];
orderBy: GraphOrderBy;
};
export type PlaceDetailsResultDto = {
__typename?: 'PlaceDetailsResultDto';
city?: Maybe<Scalars['String']>;
@@ -3538,7 +3633,7 @@ export type UpdatePageLayoutWidgetInput = {
};
export type UpdatePageLayoutWidgetWithIdInput = {
configuration: Scalars['JSON'];
configuration?: InputMaybe<Scalars['JSON']>;
gridPosition: GridPositionInput;
id: Scalars['UUID'];
objectMetadataId?: InputMaybe<Scalars['UUID']>;
@@ -3875,6 +3970,8 @@ export type Webhook = {
workspaceId: Scalars['UUID'];
};
export type WidgetConfiguration = BarChartConfiguration | GaugeChartConfiguration | IframeConfiguration | LineChartConfiguration | NumberChartConfiguration | PieChartConfiguration;
export enum WidgetType {
FIELDS = 'FIELDS',
GRAPH = 'GRAPH',
@@ -4088,13 +4185,15 @@ export type SearchQueryVariables = Exact<{
export type SearchQuery = { __typename?: 'Query', search: { __typename?: 'SearchResultConnection', edges: Array<{ __typename?: 'SearchResultEdge', cursor: string, node: { __typename?: 'SearchRecord', recordId: any, objectNameSingular: string, label: string, imageUrl?: string | null, tsRankCD: number, tsRank: number } }>, pageInfo: { __typename?: 'SearchResultPageInfo', hasNextPage: boolean, endCursor?: string | null } } };
export type PageLayoutWidgetFragmentFragment = { __typename?: 'PageLayoutWidget', id: any, title: string, type: WidgetType, objectMetadataId?: any | null, createdAt: string, updatedAt: string, deletedAt?: string | null, pageLayoutTabId: any, gridPosition: { __typename?: 'GridPosition', column: number, columnSpan: number, row: number, rowSpan: number }, configuration?: { __typename?: 'BarChartConfiguration', graphType: GraphType, aggregateFieldMetadataId: any, aggregateOperation: AggregateOperations, groupByFieldMetadataIdX: any, orderByX: GraphOrderBy, groupByFieldMetadataIdY?: any | null, orderByY?: GraphOrderBy | null, omitNullValues?: boolean | null, xAxisName?: string | null, yAxisName?: string | null, rangeMin?: number | null, rangeMax?: number | null, filter?: any | null } | { __typename?: 'GaugeChartConfiguration', graphType: GraphType, aggregateFieldMetadataId: any, aggregateOperation: AggregateOperations, aggregateOperationTotal: AggregateOperations, aggregateFieldMetadataIdTotal: any, description?: string | null, filter?: any | null } | { __typename?: 'IframeConfiguration', url: string } | { __typename?: 'LineChartConfiguration', graphType: GraphType, aggregateFieldMetadataId: any, aggregateOperation: AggregateOperations, groupByFieldMetadataIdX: any, orderByX: GraphOrderBy, groupByFieldMetadataIdY?: any | null, orderByY?: GraphOrderBy | null, filter?: any | null } | { __typename?: 'NumberChartConfiguration', graphType: GraphType, aggregateFieldMetadataId: any, aggregateOperation: AggregateOperations, description?: string | null, filter?: any | null } | { __typename?: 'PieChartConfiguration', graphType: GraphType, groupByFieldMetadataId: any, aggregateFieldMetadataId: any, aggregateOperation: AggregateOperations, orderBy: GraphOrderBy, filter?: any | null } | null };
export type UpdatePageLayoutWithTabsAndWidgetsMutationVariables = Exact<{
id: Scalars['String'];
input: UpdatePageLayoutWithTabsInput;
}>;
export type UpdatePageLayoutWithTabsAndWidgetsMutation = { __typename?: 'Mutation', updatePageLayoutWithTabsAndWidgets: { __typename?: 'PageLayout', id: any, name: string, type: PageLayoutType, objectMetadataId?: any | null, createdAt: string, updatedAt: string, deletedAt?: string | null, tabs?: Array<{ __typename?: 'PageLayoutTab', id: any, title: string, position: number, pageLayoutId: any, createdAt: string, updatedAt: string, widgets?: Array<{ __typename?: 'PageLayoutWidget', id: any, title: string, type: WidgetType, pageLayoutTabId: any, objectMetadataId?: any | null, configuration?: any | null, createdAt: string, updatedAt: string, gridPosition: { __typename?: 'GridPosition', row: number, column: number, rowSpan: number, columnSpan: number } }> | null }> | null } };
export type UpdatePageLayoutWithTabsAndWidgetsMutation = { __typename?: 'Mutation', updatePageLayoutWithTabsAndWidgets: { __typename?: 'PageLayout', id: any, name: string, type: PageLayoutType, objectMetadataId?: any | null, createdAt: string, updatedAt: string, deletedAt?: string | null, tabs?: Array<{ __typename?: 'PageLayoutTab', id: any, title: string, position: number, pageLayoutId: any, createdAt: string, updatedAt: string, widgets?: Array<{ __typename?: 'PageLayoutWidget', id: any, title: string, type: WidgetType, objectMetadataId?: any | null, createdAt: string, updatedAt: string, deletedAt?: string | null, pageLayoutTabId: any, gridPosition: { __typename?: 'GridPosition', column: number, columnSpan: number, row: number, rowSpan: number }, configuration?: { __typename?: 'BarChartConfiguration', graphType: GraphType, aggregateFieldMetadataId: any, aggregateOperation: AggregateOperations, groupByFieldMetadataIdX: any, orderByX: GraphOrderBy, groupByFieldMetadataIdY?: any | null, orderByY?: GraphOrderBy | null, omitNullValues?: boolean | null, xAxisName?: string | null, yAxisName?: string | null, rangeMin?: number | null, rangeMax?: number | null, filter?: any | null } | { __typename?: 'GaugeChartConfiguration', graphType: GraphType, aggregateFieldMetadataId: any, aggregateOperation: AggregateOperations, aggregateOperationTotal: AggregateOperations, aggregateFieldMetadataIdTotal: any, description?: string | null, filter?: any | null } | { __typename?: 'IframeConfiguration', url: string } | { __typename?: 'LineChartConfiguration', graphType: GraphType, aggregateFieldMetadataId: any, aggregateOperation: AggregateOperations, groupByFieldMetadataIdX: any, orderByX: GraphOrderBy, groupByFieldMetadataIdY?: any | null, orderByY?: GraphOrderBy | null, filter?: any | null } | { __typename?: 'NumberChartConfiguration', graphType: GraphType, aggregateFieldMetadataId: any, aggregateOperation: AggregateOperations, description?: string | null, filter?: any | null } | { __typename?: 'PieChartConfiguration', graphType: GraphType, groupByFieldMetadataId: any, aggregateFieldMetadataId: any, aggregateOperation: AggregateOperations, orderBy: GraphOrderBy, filter?: any | null } | null }> | null }> | null } };
export type OnDbEventSubscriptionVariables = Exact<{
input: OnDbEventInput;
@@ -4372,6 +4471,78 @@ export type FindOneCoreViewSortQueryVariables = Exact<{
export type FindOneCoreViewSortQuery = { __typename?: 'Query', getCoreViewSort?: { __typename?: 'CoreViewSort', id: any, fieldMetadataId: any, direction: ViewSortDirection, viewId: any } | null };
export const PageLayoutWidgetFragmentFragmentDoc = gql`
fragment PageLayoutWidgetFragment on PageLayoutWidget {
id
title
type
objectMetadataId
createdAt
updatedAt
deletedAt
gridPosition {
column
columnSpan
row
rowSpan
}
configuration {
... on BarChartConfiguration {
graphType
aggregateFieldMetadataId
aggregateOperation
groupByFieldMetadataIdX
orderByX
groupByFieldMetadataIdY
orderByY
omitNullValues
xAxisName
yAxisName
rangeMin
rangeMax
filter
}
... on LineChartConfiguration {
graphType
aggregateFieldMetadataId
aggregateOperation
groupByFieldMetadataIdX
orderByX
groupByFieldMetadataIdY
orderByY
filter
}
... on PieChartConfiguration {
graphType
groupByFieldMetadataId
aggregateFieldMetadataId
aggregateOperation
orderBy
filter
}
... on NumberChartConfiguration {
graphType
aggregateFieldMetadataId
aggregateOperation
description
filter
}
... on GaugeChartConfiguration {
graphType
aggregateFieldMetadataId
aggregateOperation
aggregateOperationTotal
aggregateFieldMetadataIdTotal
description
filter
}
... on IframeConfiguration {
url
}
}
pageLayoutTabId
}
`;
export const ViewFieldFragmentFragmentDoc = gql`
fragment ViewFieldFragment on CoreViewField {
id
@@ -4539,27 +4710,14 @@ export const UpdatePageLayoutWithTabsAndWidgetsDocument = gql`
position
pageLayoutId
widgets {
id
title
type
pageLayoutTabId
objectMetadataId
gridPosition {
row
column
rowSpan
columnSpan
}
configuration
createdAt
updatedAt
...PageLayoutWidgetFragment
}
createdAt
updatedAt
}
}
}
`;
${PageLayoutWidgetFragmentFragmentDoc}`;
export type UpdatePageLayoutWithTabsAndWidgetsMutationFn = Apollo.MutationFunction<UpdatePageLayoutWithTabsAndWidgetsMutation, UpdatePageLayoutWithTabsAndWidgetsMutationVariables>;
/**