Feat/phone email link enhancements (#1172)

* feat: Add type guards for ViewField email values and definitions, update ViewFieldTypes & peopleViewFields

* feat: use ContactLink for EditablePhoneCell & create EditableEmailCell & EmailInputDisplay comp

* fix: set second value for field

* enhance: add edit btn for phone cell

* feat: install dependencies intl-tel-input

* feat: add phone cell input & connect intl-tel-input

* fix: resolve rebase errors

* fix: remove placeholder

* feat(storybook): create stories for EmailInputDisplay, PhoneInputDisplay, and PhoneEditableField components

---------

Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com>
This commit is contained in:
Mustajab Ikram
2023-08-25 22:12:22 +05:30
committed by GitHub
parent 432fea0ee3
commit 4f7e1fb60e
21 changed files with 524 additions and 21 deletions

View File

@ -0,0 +1,27 @@
import { BrowserRouter } from 'react-router-dom';
import type { Meta, StoryObj } from '@storybook/react';
import { PhoneCellEdit } from '@/ui/table/editable-cell/type/components/PhoneCellEdit';
import { ComponentDecorator } from '~/testing/decorators/ComponentDecorator';
const meta: Meta<typeof PhoneCellEdit> = {
title: 'Modules/People/EditableFields/PhoneEditableField',
component: PhoneCellEdit,
decorators: [
(Story) => (
<BrowserRouter>
<Story />
</BrowserRouter>
),
ComponentDecorator,
],
args: {
value: '+33714446494',
autoFocus: true,
},
};
export default meta;
type Story = StoryObj<typeof PhoneCellEdit>;
export const Default: Story = {};

View File

@ -2,6 +2,7 @@ import {
ViewFieldDateMetadata,
ViewFieldDefinition,
ViewFieldDoubleTextChipMetadata,
ViewFieldEmailMetadata,
ViewFieldMetadata,
ViewFieldPhoneMetadata,
ViewFieldRelationMetadata,
@ -45,11 +46,11 @@ export const peopleViewFields: ViewFieldDefinition<ViewFieldMetadata>[] = [
columnSize: 150,
columnOrder: 2,
metadata: {
type: 'text',
type: 'email',
fieldName: 'email',
placeHolder: 'Email', // Hack: Fake character to prevent password-manager from filling the field
},
} satisfies ViewFieldDefinition<ViewFieldTextMetadata>,
} satisfies ViewFieldDefinition<ViewFieldEmailMetadata>,
{
id: 'company',
columnLabel: 'Company',