Вы можете использовать выражения Arcade для расширенного форматирования элементов списка и индикаторов, чтобы настроить отображение точек данных. Точка данных может представлять либо объект, либо сводную статистику (количество, среднее, минимальное и максимальное значения, сумму или стандартное отклонение) в зависимости от того, как настроен элемент. При использовании объектов одна точка данных представляет один объект. При использовании статистики каждая точка данных представляет результат этой статистики. Элемент списка отображает точки ваших данных в виде строк, где каждая строка представляет одну точку данных. Элемент индикатора отображает одну точку данных за один раз.
В отличие от выражений атрибутов (используемых во всплывающих окнах, стилях и надписях слоя), для каждого элемента создается одно выражение. Выражение выполняется для каждой точки данных и возвращает системные и пользовательские свойства для этого элемента. Системные свойства - это параметры, которые вы ранее напрямую могли настроить в элементе, а сейчас только в выражении, например цвет текста и фона. Определяемые пользователем свойства задаются пользователем в выражении и могут быть применены при настройке элемента.
Примечание:
Выражения атрибутов, созданные в веб-картах, не переносятся для использования в элементах операционной панели.
В следующей таблице приведены сведения о том, какие данные из вашего слоя будут переданы в выражение:
Имя переменной | Тип | Описание |
---|---|---|
$datapoint | Объект или словарь | Применяется к индикатору или списку |
$reference | Словарь | Применяется к индикатору |
Примечание:
При написании выражений Arcade помните следующее:- Ставьте запятую после каждого свойства в словаре, за исключением последнего свойства.
- Имена атрибутов не должны содержать пробелов или специальных символов.
Расширенное форматирование в списке
Для элемента списка можно использовать выражения Arcade, включив опцию Расширенное форматирование. Как только вы решите использовать расширенное форматирование, настройки цвета станут недоступны вместе с любыми другими системными свойствами.
Выражение, которое выполняется для каждого элемента строки, используется для определения того, как отображается каждая строка в вашем списке. Кроме того, выражение можно использовать для создания новых атрибутов, на которые можно ссылаться в шаблоне строки.
На атрибуты точек данных можно ссылаться с помощью глобальной переменной $datapoint в редакторе Arcade. В следующей таблице приведен список свойств, которые могут быть возвращены из выражения в виде словаря:
Свойство | Тип значения | Описание |
---|---|---|
textColor | String | Базовый цвет текста в элементе строки |
backgroundColor | String | Базовый цвет элемента строки |
separatorColor | String | Цвет границы внизу элемента строки |
selectionTextColor | String | Цвет для текста выбранного элемента строки |
selectionColor | String | Базовый цвет текста, когда элемент выбран |
attributes | Dictionary | Словарь пар атрибут-значение |
yourAttributeName | String, Number, Date, Boolean | Атрибут, на который можно ссылаться в шаблоне элемента строки с помощью синтаксиса {expression/your Attribute Name} |
Примечание:
Функции геометрии не поддерживаются.
Например, если вы хотите, чтобы цвет фона вашего списка становился красным, когда значение превышает определенный порог, вы можете создать переменную, которая выглядит следующим образом:
var color = IIF($datapoint.[field]>[threshold], '#F3DED7','')
В этой переменной находится поле [field] для ваших значений, и [threshold] - это значение, при котором вы хотите изменить цвет фона. Переменную можно использовать в качестве значения свойства, например в следующем примере:
backgroundColor: color,
Использование этой переменной в свойстве цвет фона дает вам выражение, которое выглядит следующим образом, где цвет фона элемента списка станет красным, когда значение скорости превысит 40:
Использование расширенного форматирования в списке
Чтобы использовать выражения форматирования в элементе списка, выполните следующие действия:
- В конфигурации элемента перейдите на вкладку Список.
- В разделе Расширенное форматирование нажмите кнопку Включить.
Примечание:
Как только расширенное форматирование включено, настройки цвета становятся недоступными и вместо этого задаются в выражении. Если вы установили цвета перед включением расширенного форматирования, они автоматически будут добавляться в ваши выражения. - Создайте свое выражение форматирования в редакторе.
- Если вы хотите, чтобы ваше выражение выполнялось с заданным интервалом, например, если ваше выражение использует функцию Now(), включите переключатель Обновить скрипт и установите интервал обновления.
- В шаблоне элемента строки введите любые новые арибуты, используя следующий синтаксис {expression/yourAttributeName}.
Подсказка:
Если вам требуется помощь по использованию любой из функций Arcade, щелкните кнопку Информация рядом с функцией для просмотра подробностей.Расширенное форматирование в индикаторе
Для элемента индикатора можно использовать выражения Arcade, включив опцию Расширенное форматирование. После включения расширенного форматирования системные свойства, такие как параметры цвета и форматирование значений, становятся недоступными, а условное форматирование отключается. Выражение используется для определения этих свойств отображения и условной логики. Кроме того, выражение может передавать определенные пользователем атрибуты для ссылки в полях Заголовок и Описание на вкладке Общие.
При включении опорного значения в индикатор на вкладке Данные после включения расширенного форматирования доступен только тип опорного значения на основе статистики. Если вы ранее определили тип фиксированного опорного значения, он автоматически добавляется в выражение вместе с любыми коэффициентами преобразования, текстовым и цветовым форматированием. Форматирование значений, выполненное до включения расширенного форматирования, удаляется и должно быть определено в выражении с использованием шаблонов значений.
Примечание:
Предыдущее значение не поддерживается Arcade. Если вы зададите предыдущий тип опорного значения перед включением расширенного форматирования, он будет преобразован в текущее значение.
На атрибуты точек данных можно ссылаться с помощью глобальной переменной $datapoint в редакторе Arcade. В зависимости от того, является ли тип значения объектом или статистикой, $datapoint будет с типом объекта или словаря соответственно. Если на вкладке Данные была настроена опорная статистика, то глобальная переменная $reference также будет доступна в редакторе.
В следующей таблице приведен список свойств, которые могут быть возвращены из выражения в виде словаря:
Свойство | Тип значения | Описание |
---|---|---|
textColor | String | Базовый цвет текста элемента индикатора |
backgroundColor | String | Цвет фона элемента индикатора |
topText | String | Отображает как текст сверху |
topTextColor | String | Цвет текста сверху |
topTextOutlineColor | String | Цвет контура текста сверху |
topTextMaxSize | String | Максимальный размер текста сверху (xx-small | x-small | small | medium | large | x-large | xx-large) |
middleText | String | Отображает как текст в середине |
middleTextColor | String | Цвет текста в середине |
middleTextOutlineColor | String | Цвет контура текста в середине |
middleTextMaxSize | String | Максимальный размер текста сверху (xx-small | x-small | small | medium | large | x-large | xx-large) |
bottomText | String | Отображает как текст внизу |
bottomTextColor | String | Цвет текста внизу |
bottomTextOutlineColor | String | Цвет контура текста внизу |
bottomTextMaxSize | String | Максимальный размер текста сверху (xx-small | x-small | small | medium | large | x-large | xx-large) |
iconName | String | Название значка, указанное для индикатора |
iconAlign | String | Размещение значков рядом с текстом в середине (left | right) |
iconColor | String | Цвет заливки значка |
iconOutlineColor | String | Цвет контура значка |
noValue | Boolean | Отметка для отображения текста без значения вместо индикатора (true | false) |
attributes | Dictionary | Словарь пар атрибут-значение |
yourAttributeName | String, Number, Date, Boolean | Атрибут, на который можно ссылаться в полях Заголовок и Описание с помощью синтаксиса {expression/yourAttributeName} |
Например, если у вас есть индикатор, который показывает значение в одной единице измерения, но вы также хотите показать то же самое значение в другой единице ниже него, вы можете создать переменную для преобразования существующих значений. С помощью индикатора, показывающего среднюю температуру в градусах Цельсия, вы можете создать переменную Фаренгейта, которая будет использоваться в вашем выражении для отображения ваших значений в градусах Фаренгейта.
var fahrenheit = Floor(($datapoint["avg_Temperature"]/5*9)+32)
Затем вы можете включить переменную в качестве значения свойства, например следующее:
bottomText: fahrenheit,
Использование этой переменной в свойстве Текст внизу дает вам выражение, которое выглядит следующим образом, где средняя температура (в градусах Цельсия) отображается в среднем тексте индикатора, а значение Фаренгейта отображается в нижнем тексте:
Использование расширенного форматирования в индикаторе
Чтобы использовать выражения форматирования в элементе индикатора, выполните следующие действия:
- В конфигурации элемента перейдите на вкладку Индикатор.
- В разделе Расширенное форматирование нажмите кнопку Включить.
Примечание:
После включения расширенного форматирования верхние, средние и нижние текстовые поля становятся недоступными. Эти конфигурации сделаны в вашем выражении. Если вы ввели значения до включения расширенного форматирования, они автоматически добавляются в выражение. - Создайте свое выражение форматирования в редакторе.
- Если вы хотите, чтобы ваше выражение выполнялось с заданным интервалом, например, если ваше выражение использует функцию Now(), включите переключатель Обновить скрипт и установите интервал обновления.
- Если вы создали новый атрибут с вашим выражением, вы можете ссылаться на него в полях Заголовок и Описание, используя синтаксис {expression/yourAttributeName}.
Подсказка:
Если вам требуется помощь по использованию любой из функций Arcade, щелкните кнопку Информация рядом с функцией для просмотра подробностей.Значения цвета
При включении значений цвета в выражение они должны быть возвращены в виде строк (окруженных кавычками). Значения цвета, которые остаются неопределенными или недействительными, будут автоматически использовать значения по умолчанию. Допустимые типы цветовых значений включают шестнадцатеричные значения, RGB, RGBA, HSL и HSLA. Ниже приведены некоторые примеры вместе с поддерживаемым синтаксисом:
Цвета Hex
- #090
- #009900
- #090a
- #009900aa
RGB и RGBA
- rgb(34, 12, 64)
- rgba(34, 12, 64, 0.6)
HSL и HSLA
- hsl(50, 33%, 25%)
- hsla(50, 33%, 25%, 0.75)