Files
twenty/packages/twenty-front/src/modules/sign-in-background-mock/constants/signInBackgroundMockDefinitions.ts
Thaïs 201a2c8acc feat: display record identifier field as first column in table (#3788)
* feat: display record identifier field as first column in table

& forbid hiding and moving record identifier column

Closes #3303

* refactor: add availableTableColumnKeysSelectorScopeMap

* feat: show plus icon button for label identifier column and dropdown menu for other columns

* fix: use label identifier field value in RecordShowPage title

* refactor: remove availableColumnKeys selector

* refactor: review - compute label identifier logic in mapViewFieldsToColumnDefinitions + remove selectors

* fix: several fixes

* fix: fix board fields isVisible

* fix: fix board fields reordering

* fix: more board fields fixes

* fix: fix hiddenTableColumnsSelectorScopeMap
2024-02-09 12:36:08 +01:00

349 lines
9.7 KiB
TypeScript

import { FilterDefinition } from '@/object-record/object-filter-dropdown/types/FilterDefinition';
import { SortDefinition } from '@/object-record/object-sort-dropdown/types/SortDefinition';
import { FieldMetadata } from '@/object-record/record-field/types/FieldMetadata';
import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition';
import { filterAvailableTableColumns } from '@/object-record/utils/filterAvailableTableColumns';
export const signInBackgroundMockColumnDefinitions = (
[
{
position: 0,
fieldMetadataId: '20202020-5e4e-4007-a630-8a2617914889',
label: 'Domain Name',
size: 100,
type: 'TEXT',
metadata: {
fieldName: 'domainName',
placeHolder: 'Domain Name',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconLink',
isVisible: true,
},
{
position: 1,
fieldMetadataId: '20202020-7fbd-41ad-b64d-25a15ff62f04',
label: 'Employees',
size: 100,
type: 'NUMBER',
metadata: {
fieldName: 'employees',
placeHolder: 'Employees',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconUsers',
isVisible: true,
},
{
position: 2,
fieldMetadataId: '20202020-6d30-4111-9f40-b4301906fd3c',
label: 'Name',
size: 100,
type: 'TEXT',
metadata: {
fieldName: 'name',
placeHolder: 'Name',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconBuildingSkyscraper',
isVisible: true,
},
{
position: 3,
fieldMetadataId: '20202020-e7c8-4771-8cc4-ce0e8c36a3c0',
label: 'Favorites',
size: 100,
type: 'RELATION',
metadata: {
fieldName: 'favorites',
placeHolder: 'Favorites',
relationType: 'FROM_MANY_OBJECTS',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconHeart',
isVisible: true,
},
{
position: 4,
fieldMetadataId: '20202020-ad10-4117-a039-3f04b7a5f939',
label: 'Address',
size: 100,
type: 'TEXT',
metadata: {
fieldName: 'address',
placeHolder: 'Address',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconMap',
isVisible: true,
},
{
position: 5,
fieldMetadataId: '20202020-0739-495d-8e70-c0807f6b2268',
label: 'Account Owner',
size: 100,
type: 'RELATION',
metadata: {
fieldName: 'accountOwner',
placeHolder: 'Account Owner',
relationType: 'TO_ONE_OBJECT',
relationObjectMetadataNameSingular: 'workspaceMember',
relationObjectMetadataNamePlural: 'workspaceMembers',
objectMetadataNameSingular: 'company',
},
iconName: 'IconUserCircle',
isVisible: true,
},
{
position: 6,
fieldMetadataId: '20202020-68b4-4c8e-af19-738eba2a42a5',
label: 'People',
size: 100,
type: 'RELATION',
metadata: {
fieldName: 'people',
placeHolder: 'People',
relationType: 'FROM_MANY_OBJECTS',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconUsers',
isVisible: true,
},
{
position: 7,
fieldMetadataId: '20202020-61af-4ffd-b79b-baed6db8ad11',
label: 'Attachments',
size: 100,
type: 'RELATION',
metadata: {
fieldName: 'attachments',
placeHolder: 'Attachments',
relationType: 'FROM_MANY_OBJECTS',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconFileImport',
isVisible: true,
},
{
position: 8,
fieldMetadataId: '20202020-4dc2-47c9-bb15-6e6f19ba9e46',
label: 'Creation date',
size: 100,
type: 'DATE_TIME',
metadata: {
fieldName: 'createdAt',
placeHolder: 'Creation date',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconCalendar',
isVisible: true,
},
{
position: 9,
fieldMetadataId: '20202020-9e9f-4235-98b2-c76f3e2d281e',
label: 'ICP',
size: 100,
type: 'BOOLEAN',
metadata: {
fieldName: 'idealCustomerProfile',
placeHolder: 'ICP',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconTarget',
isVisible: true,
},
{
position: 10,
fieldMetadataId: '20202020-a61d-4b78-b998-3fd88b4f73a1',
label: 'Linkedin',
size: 100,
type: 'LINK',
metadata: {
fieldName: 'linkedinLink',
placeHolder: 'Linkedin',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconBrandLinkedin',
isVisible: true,
},
{
position: 11,
fieldMetadataId: '20202020-e3fc-46ff-b552-3e757843f06e',
label: 'Opportunities',
size: 100,
type: 'RELATION',
metadata: {
fieldName: 'opportunities',
placeHolder: 'Opportunities',
relationType: 'FROM_MANY_OBJECTS',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconTargetArrow',
isVisible: true,
},
{
position: 12,
fieldMetadataId: '20202020-46e3-479a-b8f4-77137c74daa6',
label: 'X',
size: 100,
type: 'LINK',
metadata: {
fieldName: 'xLink',
placeHolder: 'X',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconBrandX',
isVisible: true,
},
{
position: 13,
fieldMetadataId: '20202020-4a2e-4b41-8562-279963e8947e',
label: 'Activities',
size: 100,
type: 'RELATION',
metadata: {
fieldName: 'activityTargets',
placeHolder: 'Activities',
relationType: 'FROM_MANY_OBJECTS',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconCheckbox',
isVisible: true,
},
{
position: 14,
fieldMetadataId: '20202020-4a5a-466f-92d9-c3870d9502a9',
label: 'ARR',
size: 100,
type: 'CURRENCY',
metadata: {
fieldName: 'annualRecurringRevenue',
placeHolder: 'ARR',
relationObjectMetadataNameSingular: '',
relationObjectMetadataNamePlural: '',
objectMetadataNameSingular: 'company',
},
iconName: 'IconMoneybag',
isVisible: true,
},
] satisfies ColumnDefinition<FieldMetadata>[]
).filter(filterAvailableTableColumns);
export const signInBackgroundMockFilterDefinitions = [
{
fieldMetadataId: '20202020-5e4e-4007-a630-8a2617914889',
label: 'Domain Name',
iconName: 'IconLink',
type: 'TEXT',
},
{
fieldMetadataId: '20202020-7fbd-41ad-b64d-25a15ff62f04',
label: 'Employees',
iconName: 'IconUsers',
type: 'NUMBER',
},
{
fieldMetadataId: '20202020-6d30-4111-9f40-b4301906fd3c',
label: 'Name',
iconName: 'IconBuildingSkyscraper',
type: 'TEXT',
},
{
fieldMetadataId: '20202020-ad10-4117-a039-3f04b7a5f939',
label: 'Address',
iconName: 'IconMap',
type: 'TEXT',
},
{
fieldMetadataId: '20202020-0739-495d-8e70-c0807f6b2268',
label: 'Account Owner',
iconName: 'IconUserCircle',
relationObjectMetadataNamePlural: 'workspaceMembers',
relationObjectMetadataNameSingular: 'workspaceMember',
type: 'RELATION',
},
{
fieldMetadataId: '20202020-4dc2-47c9-bb15-6e6f19ba9e46',
label: 'Creation date',
iconName: 'IconCalendar',
type: 'DATE_TIME',
},
{
fieldMetadataId: '20202020-a61d-4b78-b998-3fd88b4f73a1',
label: 'Linkedin',
iconName: 'IconBrandLinkedin',
type: 'LINK',
},
{
fieldMetadataId: '20202020-46e3-479a-b8f4-77137c74daa6',
label: 'X',
iconName: 'IconBrandX',
type: 'LINK',
},
{
fieldMetadataId: '20202020-4a5a-466f-92d9-c3870d9502a9',
label: 'ARR',
iconName: 'IconMoneybag',
type: 'CURRENCY',
},
] as FilterDefinition[];
export const signInBackgroundMockSortDefinitions = [
{
fieldMetadataId: '20202020-5e4e-4007-a630-8a2617914889',
label: 'Domain Name',
iconName: 'IconLink',
},
{
fieldMetadataId: '20202020-7fbd-41ad-b64d-25a15ff62f04',
label: 'Employees',
iconName: 'IconUsers',
},
{
fieldMetadataId: '20202020-6d30-4111-9f40-b4301906fd3c',
label: 'Name',
iconName: 'IconBuildingSkyscraper',
},
{
fieldMetadataId: '20202020-ad10-4117-a039-3f04b7a5f939',
label: 'Address',
iconName: 'IconMap',
},
{
fieldMetadataId: '20202020-4dc2-47c9-bb15-6e6f19ba9e46',
label: 'Creation date',
iconName: 'IconCalendar',
},
{
fieldMetadataId: '20202020-9e9f-4235-98b2-c76f3e2d281e',
label: 'ICP',
iconName: 'IconTarget',
},
] as SortDefinition[];