fix: ссылка на парную заявку открывается в той же вкладке
Было target="_blank" — на проде это читалось как «портал зачем-то плодит окна». Ссылка ведёт на ту же страницу портала с другими rp-параметрами, так что обычная навигация даёт нормальный переход с работающей кнопкой «назад». Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -51,7 +51,7 @@ RequestTypeId» в `docs/forms.md`). Тип уже зарегистрирова
|
|||||||
Пара связана колонками-гиперссылками: `DismissalUrl` здесь → на заявление,
|
Пара связана колонками-гиперссылками: `DismissalUrl` здесь → на заявление,
|
||||||
`ClearanceUrl` в заявлении → на лист. Форма их не пишет (заполняет автосоздание либо
|
`ClearanceUrl` в заявлении → на лист. Форма их не пишет (заполняет автосоздание либо
|
||||||
вручную в SharePoint), но **показывает**: поле «Заявление на увольнение» —
|
вручную в SharePoint), но **показывает**: поле «Заявление на увольнение» —
|
||||||
`LinkField` из `shared/ui`, read-only, открывается в новой вкладке; у листов,
|
`LinkField` из `shared/ui`, read-only, открывается в той же вкладке; у листов,
|
||||||
заведённых руками, ссылки нет и поле не рендерится.
|
заведённых руками, ссылки нет и поле не рендерится.
|
||||||
|
|
||||||
## Секции формы
|
## Секции формы
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ approval-route (`getPlannedMatrix` для фаз «Согласование» и
|
|||||||
|
|
||||||
Ссылки **видны на обеих формах** и кликабельны: поле «Обходной лист» в заявлении и
|
Ссылки **видны на обеих формах** и кликабельны: поле «Обходной лист» в заявлении и
|
||||||
«Заявление на увольнение» в обходном листе (`LinkField`, `shared/ui`) — read-only,
|
«Заявление на увольнение» в обходном листе (`LinkField`, `shared/ui`) — read-only,
|
||||||
открываются в новой вкладке и появляются только когда связь есть. У согласующего,
|
открывают парную заявку в ТОЙ ЖЕ вкладке и появляются только когда связь есть. У согласующего,
|
||||||
только что одобрившего заявление, ссылка появляется сразу, без перезагрузки.
|
только что одобрившего заявление, ссылка появляется сразу, без перезагрузки.
|
||||||
|
|
||||||
Что важно знать про это поведение:
|
Что важно знать про это поведение:
|
||||||
|
|||||||
@@ -18,9 +18,10 @@ interface ILinkFieldProps {
|
|||||||
* заполняется автосозданием обходного листа), и до этого момента их нет смысла
|
* заполняется автосозданием обходного листа), и до этого момента их нет смысла
|
||||||
* показывать.
|
* показывать.
|
||||||
*
|
*
|
||||||
* Открывается в НОВОЙ вкладке: портал — одна страница, и переход по ссылке в
|
* Открывается в ТОЙ ЖЕ вкладке — обычной навигацией. Ссылка ведёт на ту же страницу
|
||||||
* текущей означал бы полную перезагрузку с потерей того, что открыто и, возможно,
|
* портала с другими rp-параметрами (см. requestLinkUrl), то есть страница
|
||||||
* не сохранено.
|
* перезагрузится и покажет парную заявку; для пользователя это переход «туда и
|
||||||
|
* обратно кнопкой назад», а не второе окно, которое потом закрывать.
|
||||||
*/
|
*/
|
||||||
export const LinkField: React.FC<ILinkFieldProps> = ({ label, url, text }) => {
|
export const LinkField: React.FC<ILinkFieldProps> = ({ label, url, text }) => {
|
||||||
if (!url) return null;
|
if (!url) return null;
|
||||||
@@ -28,7 +29,7 @@ export const LinkField: React.FC<ILinkFieldProps> = ({ label, url, text }) => {
|
|||||||
return (
|
return (
|
||||||
<FormField label={label} full>
|
<FormField label={label} full>
|
||||||
<div className={styles.box}>
|
<div className={styles.box}>
|
||||||
<a className={styles.link} href={url} target="_blank" rel="noreferrer">
|
<a className={styles.link} href={url}>
|
||||||
<span>{text || url}</span>
|
<span>{text || url}</span>
|
||||||
<Icon name="chevron-right" size="sm" />
|
<Icon name="chevron-right" size="sm" />
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
Reference in New Issue
Block a user