Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Гиперссылки в таблицах и карточках

Материал из Платформа Эра. Документации
Версия от 14:10, 28 марта 2025; AZykov (обсуждение | вклад) (Новая страница: «= Добавление гиперссылок = Для реализации гиперссылки в таблице нужно создать редактор, указав ссылку для перехода в виде выражения:<syntaxhighlight lang="json"> { "editorKind": "text", "editorOptions": { "link": { "expressionKind": "substitution", "value": "https://era-meet.ru/#/room=[code]" } } } </syntaxhighlight>Переход по ссы...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Добавление гиперссылок

Для реализации гиперссылки в таблице нужно создать редактор, указав ссылку для перехода в виде выражения:

{
 "editorKind": "text",
 "editorOptions": {
 "link": {
 "expressionKind": "substitution",
 "value": "https://era-meet.ru/#/room=[code]"
 }
 }
}

Переход по ссылке при нажатии на кнопку в таблице можно реализовать так:

tableControlOptions: {
 ...,
 "customButtons": [
 {
 "name": "calendar",
 "caption": "Календарь",
 "icon": "event",
 "buttonKind": "link",
 "link": '/ui/wfm/resources/ResourceCalendar?
parameters={"designResource_id":"[id]"}',
 }
 ]
}

Для перехода по ссылке при нажатии на кнопку в карточке или таблице можно использовать client action:

{
 "name": "open",
 "caption": "Открыть",
 "optionsUI": {
 "showInTable": true,
 "showInCard": true
 },
 "actionKind": "client",
 "actionTarget": "entity",
 "allowConditionCode": "!Converter.isNull(this.a)"
 "code": "EraEnvironment.getStrong('EraClientUtils').gotoLocalAddress(this.a)",
}

Кейс «Открыть гиперссылку с предварительной авторизацией»

Иногда бывает удобно предоставить возможность открыть в отдельной вкладке стороннюю информационную систему с автоматической авторизацией. Для этого в свойствах пользователей в разделе ext можно указать индивидуальный token (или пару логин-пароль), а в коде приложения выполнить http-запрос с использованием этих данных и открыть полученную в результате его выполнения гиперссылку. Пример кода client action:

var token = this._eraEnvironment.get('EraGlobal')?.myUserInfo?.ext?.token;
console.log('token: '+token);
this._eraEnvironment.get('eraRequest')?.eraRequest({
 method: 'GET',
 url: 'http://xxx.yyy.ru?token='+token
}).then((data_: any) => {
 console.log(data_);
 var url = data_?.url;
 console.log('url: '+url);
 if (url)
 window.open(url, '_blank');
});