Skip to content

Commit 2781ddd

Browse files
committed
RocketChat#821 [FIX] Исправление формы ввода номера у протоколов
1 parent 9d9153a commit 2781ddd

File tree

7 files changed

+49
-7
lines changed

7 files changed

+49
-7
lines changed

app/protocols/client/views/AddItem.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { validateItemData, createItemData } from './lib';
1212
import VerticalBar from '../../../../client/components/basic/VerticalBar';
1313
import CKEditor from "@ckeditor/ckeditor5-react";
1414
import ClassicEditor from "@ckeditor/ckeditor5-build-classic";
15+
import { checkNumberWithDot } from '../../../utils/client/methods/checkNumber';
1516

1617
export function AddItem({ goToNew, close, onChange, ...props }) {
1718
const t = useTranslation();
@@ -27,6 +28,12 @@ export function AddItem({ goToNew, close, onChange, ...props }) {
2728

2829
const insertOrUpdateItem = useMethod('insertOrUpdateItem');
2930

31+
const filterNumber = (value) => {
32+
if (checkNumberWithDot(value, number) !== null || value === '') {
33+
setNumber(value);
34+
}
35+
};
36+
3037
const saveAction = useCallback(async (number, name, responsible, expireAt) => {
3138
const itemData = createItemData(number, name, responsible, expireAt);
3239
const validation = validateItemData(itemData);
@@ -57,7 +64,7 @@ export function AddItem({ goToNew, close, onChange, ...props }) {
5764
<Field>
5865
<Field.Label>{t('Item_Number')}</Field.Label>
5966
<Field.Row>
60-
<InputBox value={number} onChange={(e) => setNumber(e.currentTarget.value)} placeholder={t('Item_Number')} />
67+
<InputBox value={number} onChange={(e) => filterNumber(e.currentTarget.value)} placeholder={t('Item_Number')} />
6168
</Field.Row>
6269
</Field>
6370
<Field>

app/protocols/client/views/AddProtocol.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { useTranslation } from '../../../../client/contexts/TranslationContext';
99
import { useMethod } from '../../../../client/contexts/ServerContext';
1010
import { validate, createProtocolData } from './lib';
1111
import VerticalBar from '../../../../client/components/basic/VerticalBar';
12+
import { checkNumberWithDot } from '../../../utils/client/methods/checkNumber';
1213

1314
require('react-datepicker/dist/react-datepicker.css');
1415

@@ -22,6 +23,12 @@ export function AddProtocol({ goToNew, close, onChange, ...props }) {
2223

2324
const insertOrUpdateProtocol = useMethod('insertOrUpdateProtocol');
2425

26+
const filterNumber = (value) => {
27+
if (checkNumberWithDot(value, number) !== null || value === '') {
28+
setNumber(value);
29+
}
30+
};
31+
2532
const saveAction = useCallback(async (date, number, place) => {
2633
const protocolData = createProtocolData(date, number, place);
2734
const validation = validate(protocolData);
@@ -51,7 +58,7 @@ export function AddProtocol({ goToNew, close, onChange, ...props }) {
5158
<Field>
5259
<Field.Label>{t('Protocol_Number')}</Field.Label>
5360
<Field.Row>
54-
<InputBox value={number} onChange={(e) => setNumber(e.currentTarget.value)} placeholder={t('Protocol_Number')} />
61+
<InputBox value={number} onChange={(e) => filterNumber(e.currentTarget.value)} placeholder={t('Protocol_Number')} />
5562
</Field.Row>
5663
</Field>
5764
<Field>

app/protocols/client/views/AddSection.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { validateSectionData, createSectionData } from './lib';
99
import VerticalBar from '../../../../client/components/basic/VerticalBar';
1010
import CKEditor from "@ckeditor/ckeditor5-react";
1111
import ClassicEditor from "@ckeditor/ckeditor5-build-classic";
12+
import { checkNumberWithDot } from '../../../utils/client/methods/checkNumber';
1213

1314
export function AddSection({ goToNew, close, onChange, ...props }) {
1415
const t = useTranslation();
@@ -21,6 +22,12 @@ export function AddSection({ goToNew, close, onChange, ...props }) {
2122

2223
const insertOrUpdateSection = useMethod('insertOrUpdateSection');
2324

25+
const filterNumber = (value) => {
26+
if (checkNumberWithDot(value, number) !== null || value === '') {
27+
setNumber(value);
28+
}
29+
};
30+
2431
const saveAction = useCallback(async (number, name) => {
2532
const sectionData = createSectionData(number, name);
2633
const validation = validateSectionData(sectionData);
@@ -49,7 +56,7 @@ export function AddSection({ goToNew, close, onChange, ...props }) {
4956
<Field>
5057
<Field.Label>{t('Section_Number')}</Field.Label>
5158
<Field.Row>
52-
<InputBox value={number} onChange={(e) => setNumber(e.currentTarget.value)} placeholder={t('Section_Number')} />
59+
<InputBox value={number} onChange={(e) => filterNumber(e.currentTarget.value)} placeholder={t('Section_Number')} />
5360
</Field.Row>
5461
</Field>
5562
<Field>

app/protocols/client/views/EditItem.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import { useToastMessageDispatch } from '../../../../client/contexts/ToastMessag
2323
import { useEndpointDataExperimental, ENDPOINT_STATES } from '../../../../client/hooks/useEndpointDataExperimental';
2424
import { validateItemData, createItemData } from './lib';
2525
import VerticalBar from '../../../../client/components/basic/VerticalBar';
26+
import { checkNumberWithDot } from '../../../utils/client/methods/checkNumber';
2627

2728
require('react-datepicker/dist/react-datepicker.css');
2829

@@ -83,6 +84,12 @@ function EditItemWithData({ close, onChange, protocol, sectionId, itemId, ...pro
8384
const hasUnsavedChanges = useMemo(() => previousNumber !== number || previousName !== name || previousResponsible !== responsible || previousExpireAt !== expireAt,
8485
[number, name, responsible, expireAt]);
8586

87+
const filterNumber = (value) => {
88+
if (checkNumberWithDot(value, number) !== null || value === '') {
89+
setNumber(value);
90+
}
91+
};
92+
8693
const saveAction = useCallback(async (number, name, responsible, expireAt) => {
8794
const itemData = createItemData(number, name, responsible, expireAt, { previousNumber, previousName, _id });
8895
const validation = validateItemData(itemData);
@@ -102,7 +109,7 @@ function EditItemWithData({ close, onChange, protocol, sectionId, itemId, ...pro
102109
<Field>
103110
<Field.Label>{t('Item_Number')}</Field.Label>
104111
<Field.Row>
105-
<InputBox value={number} onChange={(e) => setNumber(e.currentTarget.value)} placeholder={t('Item_Number')} />
112+
<InputBox value={number} onChange={(e) => filterNumber(e.currentTarget.value)} placeholder={t('Item_Number')} />
106113
</Field.Row>
107114
</Field>
108115
<Field>

app/protocols/client/views/EditProtocol.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import { useEndpointDataExperimental, ENDPOINT_STATES } from '../../../../client
2323
import { validate, createProtocolData } from './lib';
2424
import { useSetModal } from '../../../../client/contexts/ModalContext';
2525
import VerticalBar from '../../../../client/components/basic/VerticalBar';
26+
import { checkNumberWithDot } from '../../../utils/client/methods/checkNumber';
2627

2728
require('react-datepicker/dist/react-datepicker.css');
2829

@@ -118,6 +119,12 @@ function EditProtocolWithData({ close, onChange, protocol, ...props }) {
118119
const deleteProtocol = useMethod('deleteProtocol');
119120
const insertOrUpdateProtocol = useMethod('insertOrUpdateProtocol');
120121

122+
const filterNumber = (value) => {
123+
if (checkNumberWithDot(value, number) !== null || value === '') {
124+
setNumber(value);
125+
}
126+
};
127+
121128
const hasUnsavedChanges = useMemo(() => previousDate !== date || previousNumber !== number || previousPlace !== place,
122129
[date, number, place]);
123130

@@ -151,7 +158,7 @@ function EditProtocolWithData({ close, onChange, protocol, ...props }) {
151158
<Field>
152159
<Field.Label>{t('Protocol_Number')}</Field.Label>
153160
<Field.Row>
154-
<InputBox value={number} onChange={(e) => setNumber(e.currentTarget.value)} placeholder={t('Protocol_Number')} />
161+
<InputBox value={number} onChange={(e) => filterNumber(e.currentTarget.value)} placeholder={t('Protocol_Number')} />
155162
</Field.Row>
156163
</Field>
157164
<Field>

app/protocols/client/views/EditSection.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { useToastMessageDispatch } from '../../../../client/contexts/ToastMessag
1818
import { useEndpointDataExperimental, ENDPOINT_STATES } from '../../../../client/hooks/useEndpointDataExperimental';
1919
import { validateSectionData, createSectionData } from './lib';
2020
import VerticalBar from '../../../../client/components/basic/VerticalBar';
21+
import { checkNumberWithDot } from '../../../utils/client/methods/checkNumber';
2122

2223
require('react-datepicker/dist/react-datepicker.css');
2324

@@ -67,6 +68,12 @@ function EditSectionWithData({ close, onChange, protocol, sectionId, ...props })
6768

6869
const insertOrUpdateSection = useMethod('insertOrUpdateSection');
6970

71+
const filterNumber = (value) => {
72+
if (checkNumberWithDot(value, number) !== null || value === '') {
73+
setNumber(value);
74+
}
75+
};
76+
7077
const hasUnsavedChanges = useMemo(() => previousNumber !== number || previousName !== name,
7178
[number, name]);
7279

@@ -89,7 +96,7 @@ function EditSectionWithData({ close, onChange, protocol, sectionId, ...props })
8996
<Field>
9097
<Field.Label>{t('Section_Number')}</Field.Label>
9198
<Field.Row>
92-
<InputBox value={number} onChange={(e) => setNumber(e.currentTarget.value)} placeholder={t('Section_Number')} />
99+
<InputBox value={number} onChange={(e) => filterNumber(e.currentTarget.value)} placeholder={t('Section_Number')} />
93100
</Field.Row>
94101
</Field>
95102
<Field>

app/protocols/client/views/Protocols.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export function Protocols({
5353
const renderRow = (protocol) => {
5454
const { _id, d: date, num, place, ts } = protocol;
5555
return <Table.Row key={_id} tabIndex={0} role='link' action>
56-
<Table.Cell fontScale='p1' onClick={onClick(_id)} color='default'>{num}</Table.Cell>
56+
<Table.Cell fontScale='p1' onClick={onClick(_id)} color='default'>{num}</Table.Cell>
5757
<Table.Cell fontScale='p1' onClick={onClick(_id)} color='default'><Box withTruncatedText>{formatDate(date)}</Box></Table.Cell>
5858
{ mediaQuery && <Table.Cell fontScale='p1' onClick={onClick(_id)} color='default'><Box withTruncatedText>{place}</Box></Table.Cell>}
5959
{ mediaQuery && <Table.Cell fontScale='p1' onClick={onClick(_id)} color='default'>{formatDateAndTime(ts)}</Table.Cell>}

0 commit comments

Comments
 (0)