Форматтеры

Примечание

В форматтерах могут использоваться вычисляемые атрибуты

Настройки

Перейти в раздел администрирования > Журналы > найти необходимый журнал > действие Редактировать. Перейти в Дополнительно


../../../_images/formatter_1.png

../../../_images/formatter_2.png

Выберите форматтер из списка заполните ключ-значение:


../../../_images/formatter_3.png

../../../_images/formatter_4.png

Важно

Если форматер не указан в списке ниже вероятно он еще не мигрировал или ассоциируется с другим новым

Типы

AssocFormatter

Тип: assoc

Конфигурация:

Ключ

Значение

ActionFormatter

Тип : action

Конфигурация:

Ключ

Значение

type

<id типа действия>

другие

параметры необходимые для выполнения действия

Предполагается в строке журнала наличие id или recordRef - ref записи, необходимый для выполнения действия

BooleanFormatter

Тип: bool

Конфигурация:

Ключ

Значение

ColoredFormatter

Тип: colored

Конфигурация:

Ключ

Значение

DateFormatter

Тип: date

Конфигурация:

Ключ

Значение

DateTimeFormatter

Тип: datetime

Конфигурация:

Ключ

Значение

DefaultFormatter

Тип: default

Конфигурация:

Ключ

Значение

FileNameFormatter

Тип: filename

Конфигурация:

Ключ

Значение

HtmlFormatter

Тип: html

Конфигурация:

Ключ

Значение

LinkFormatter

Тип: link

Конфигурация:

Ключ

Значение

Добавлена возможность строить ссылки по шаблону с использованием переменных (атрибутов записи/полей журнала). Link форматтер используется для ячеек журнала с использованием полей (колонок) в качестве переменных.

Шаблон адреса ссылки задается в параметрах форматтера для столбца в конфигурации журнала (Форматтер для колонки).

Пример шаблона ссылки:

urlTemplate: "https://example.com/path?var1=${columnId1}&var2=${columnId2}"

где columnId1 и columnId2 - колонки журнала.

В качестве наименования ссылки используется значение ячейки. Если значения нет, то наименование = url.

Ссылка не отображается, если ячейка журнала редактируемая (если в ячейку вводятся данные).

Например:

Выбрать форматтер Ссылка (1) и указать:

  • ключ (2)url,

  • значение (3) - ${$computed.url}

../../../_images/link_formatter_1.png

Указать:

  • id (4)url,

  • type (5)value.

В конфигурации указать:

  • ключ (6)value,

  • значение (7) - https://enterprise-alfresco.ecos24.ru/${?id}&${?disp}

../../../_images/link_formatter_2.png

В журнале выглядит следующим образом:

../../../_images/link_formatter_3.png

NumberFormatter

Тип: Number

Конфигурация:

Ключ

Значение

Пример:

mask: {value} руб.
locales: ru
maximumFractionDigits: 16
decimalSeparator: .
thousandSeparator: ,

Конфигурация:

Ключ

Описание

mask

маска, где {value} — само число

locales

какую локаль для форматирования использовать.
От нее зависит как будут разделяться тысячи и дробные числа. (Точкой, запятой или пробелом) По умолчанию текущая локаль.

maximumFractionDigits

сколько чисел после запятой

decimalSeparator

как отделяются дробные числа. По умолчанию зависит от локали

thousandSeparator

как разделяются тысячи. По умолчанию зависит от локали.

Например:

Ключ

Описание

mask

{value} руб

maximumFractionDigits

2

decimalSeparator

.

thousandSeparator

_

../../../_images/number_formatter_1.png

ScriptFormatter

Тип: script

Конфигурация:

Ключ

Значение

fn

формат function
в функцию передаются параметры fn(p1, p2, p3, p4, p5, p6, p7)
p1 - Records
p2 - _ lodash
p3 - t
p4 - vars - переменные из конфигурации
p5 - cell - ячейка
p6 - row - строка
p7 - index -строка

формат string (eval)
в конфигурацию передается тело функции

vars

формат Object
Дополнительные переменные, функции и т.п., что может пригодиться при исполнении функции.
Пробрасывается в p4 (объект со вспомогательными функциями и переменными)

Пример использования:

{
      type: 'script',
      config: {
            fn: function(cell, rec, col, data, rowIndex, utils) {
              return data ? data.replace(":", "_") : null;
            }
      }
    }

Если есть необходимость вызвать другой форматтер, например LinkFormatter:

   {
         type: 'script',
         config: {
               fn: function(cell, rec, col, data, rowIndex, utils) {
                 const type = data ? data.replace(":", "_") : null;

                 return {
                       row: data,
                       cell: utils.lodash.get(window, ['Citeck.messages.global', `property.samwf_caseType.${type}.title`], cell),
                       type: 'link'
                 };
               }
         }
       }

! В форматер передается функция **t** - для локализации значений, которая не работает на формах, т.к. у нее свой словарь; внутри компонента формы следует использовать функцию формы ``instance.i18next.t``

WorkflowPriorityFormatter

Тип: workflowPriority

Конфигурация:

Ключ

Значение