Вы можете применять выражения ArcGIS Arcade для расширенного форматирования элементов списка, индикатора и таблицы, чтобы настроить отображение точек данных. Точка данных может представлять либо объект, либо суммарную статистику в зависимости от того, как настроен элемент. При использовании объектов одна точка данных представляет один объект. При использовании статистики каждая точка данных представляет результат этой статистики. Элемент списка отображает точки данных в виде строк, где каждая строка представляет одну точку данных. Элемент индикатора отображает одну точку данных за один раз. Элемент таблицы отображает точки данных в виде строк с возможностью управления содержимым и форматированием каждой ячейки в строке.
В отличие от выражений атрибутов (используемых во всплывающих окнах, стилях и надписях слоя), для каждого элемента создается одно выражение. Выражение выполняется для каждой точки данных и возвращает системные и пользовательские свойства для этого элемента. Системные свойства - это параметры, которые вы ранее напрямую могли настроить в элементе, а сейчас только в выражении, например цвет текста и фона. Определяемые пользователем свойства задаются пользователем в выражении и могут быть применены при настройке элемента.
Примечание:
Выражения атрибутов, созданные в веб-картах, не переносятся для использования в элементах операционной панели.
В следующей таблице приведены сведения о том, какие данные из слоя будут переданы в выражение:
| Имя переменной | Тип | Описание |
|---|---|---|
$datapoint | Объект или словарь | Применяется к индикатору, таблице и списку |
$reference | Словарь | Применяется к индикатору |
Примечание:
При написании выражений Arcade помните следующее:- Ставьте запятую после каждого свойства в словаре, за исключением последнего свойства.
- Имена атрибутов не должны содержать пробелов или специальных символов.
Форматирование списков
Для элемента списка можно использовать выражения Arcade, включив опцию Расширенное форматирование . Как только вы решите использовать расширенное форматирование, настройки цвета станут недоступны вместе с любыми другими системными свойствами.
Выражение, которое выполняется для каждого элемента строки, используется для определения того, как отображается каждая строка в списке. Кроме того, выражение можно использовать для создания атрибутов, на которые можно ссылаться в значении Шаблона.
На атрибуты точек данных можно ссылаться с помощью глобальной переменной $datapoint в редакторе Arcade. В следующей таблице приведен список свойств, которые могут быть возвращены из выражения в виде словаря:
| Свойство | Тип значения | Описание |
|---|---|---|
textColor | Строка | Базовый цвет текста в элементе строки |
backgroundColor | Строка | Базовый цвет элемента строки |
separatorColor | Строка | Цвет границы внизу элемента строки |
selectionTextColor | Строка | Цвет для текста выбранного элемента строки |
selectionColor | Строка | Базовый цвет текста, когда элемент выбран |
атрибуты | Словарь | Словарь пар атрибут-значение |
yourAttributeName | Строка | Атрибут, на который можно ссылаться в значении Шаблона с помощью синтаксиса {expression/yourAttributeName} |
Примечание:
Функции геометрии не поддерживаются.
Например, если вы хотите, чтобы цвет фона списка становился красным, когда значение превышает определенный порог, вы можете создать следующую переменную:
var color = IIF($datapoint.fieldName>[threshold], '#F3DED7','')
В этой переменной находится поле fieldName для значений, и [threshold] - это значение, при котором вы хотите изменить цвет фона. Переменную можно использовать в качестве значения свойства, например в следующем примере:
backgroundColor: color,
Использование этой переменной в свойстве цвета фона дает вам следующее выражение, в котором цвет фона элемента списка станет красным, когда значение скорости превысит 40:
var color = IIF($datapoint.Speed > 40, '#F3DED7', '');
return {
backgroundColor: color
}Включение расширенного форматирования в списке
Чтобы включить расширенное форматирование в элементе списка, выполните следующие действия:
- В окне конфигурации списка щелкните вкладку Список.
- В разделе Расширенное форматирование нажмите кнопку Включить.
Примечание:
Как только расширенное форматирование включено, системные настройки, такие как цвета, становятся недоступными. Эти конфигурации сделаны в выражении. Если вы ввели значения до включения расширенного форматирования, они автоматически добавляются в выражение. - Создайте выражение форматирования в редакторе.
Подсказка:
Для полей даты используйте функцию Text для преобразования их в строки, и они будут отображаться в часовом поясе операционной панели. Функция Текст также позволяет вам форматировать значения по вашему усмотрению. Если вам требуется помощь по использованию любой из функций Arcade, щелкните кнопку Информация рядом с функцией для просмотра подробностей. - Введите любые новые атрибуты в поле Шаблон, используя синтаксис {expression/yourAttributeName}.
Форматирование индикаторов
Для элемента индикатора можно использовать выражения Arcade, включив опцию Расширенное форматирование . После включения расширенного форматирования системные свойства, такие как параметры цвета и форматирование значений, становятся недоступными, а условное форматирование отключается. Выражение используется для определения этих свойств отображения и условной логики. Кроме того, выражение может содержать определенные пользователем атрибуты, которые могут использоваться в полях Заголовок, Верхний колонтитул и Нижний колонтитул на вкладке Общие.
При включении опорного значения в индикатор на вкладке Данные после включения расширенного форматирования доступен только тип опорного значения на основе статистики. Если вы ранее определили тип фиксированного опорного значения, он автоматически добавляется в выражение вместе с любыми коэффициентами преобразования, текстовым и цветовым форматированием. Форматирование значений, выполненное до включения расширенного форматирования, удаляется и должно быть определено в выражении с использованием шаблонов значений.
Примечание:
Предыдущее значение не поддерживается Arcade. Если вы зададите предыдущий тип опорного значения перед включением расширенного форматирования, он будет преобразован в текущее значение.
На атрибуты точек данных можно ссылаться с помощью глобальной переменной $datapoint в редакторе Arcade. В зависимости от того, является ли тип значения объектом или статистикой, $datapoint будет с типом объекта или словаря соответственно. Если на вкладке Данные была настроена опорная статистика, то глобальная переменная $reference также будет доступна в редакторе.
В следующей таблице приведен список свойств, которые могут быть возвращены из выражения в виде словаря:
| Свойство | Тип значения | Описание |
|---|---|---|
textColor | Строка | Базовый цвет текста элемента индикатора |
backgroundColor | Строка | Цвет фона элемента индикатора |
topText | Строка | Отображает как текст сверху |
topTextColor | Строка | Цвет текста сверху |
topTextOutlineColor | Строка | Цвет контура текста сверху |
topTextWeight | Строка | Отображает выделение текста сверху обычным или жирным шрифтом |
topTextMaxHeight | Число | Высота вершины текста |
middleText | Строка | Отображает как текст в середине |
middleTextColor | Строка | Цвет текста в середине |
middleTextOutlineColor | Строка | Цвет контура текста в середине |
middleTextWeight | Строка | Отображает выделение текста в середине обычным или жирным шрифтом |
middleTextMaxHeight | Число | Высота середины текста |
bottomText | Строка | Отображает как текст внизу |
bottomTextColor | Строка | Цвет текста внизу |
bottomTextOutlineColor | Строка | Цвет контура текста внизу |
bottomTextWeight | Строка | Отображает выделение текста внизу обычным или жирным шрифтом |
bottomTextMaxHeight | Число | Высота нижней части текста |
iconName | Строка | Название значка, указанное для индикатора Примечание:Имена значков задаются вне выражения. |
iconAlign | Строка | Размещение значков рядом с текстом в середине (left | right) |
iconColor | Строка | Цвет заливки значка |
iconOutlineColor | Строка | Цвет контура значка |
noValue | Boolean | Отметка для отображения текста без значения вместо индикатора (true | false) |
атрибуты | Словарь | Словарь пар атрибут-значение |
yourAttributeName | Строка | Атрибут, который может использоваться в полях Заголовок, Верхний колонтитул и Нижний колонтитул с помощью синтаксиса {expression/yourAttributeName} |
Примечание:
Значения TextMaxHeight выражены в процентах. Общая сумма верхней, средней и нижней частей не должна превышать 100 процентов. Если превышает, среда выполнения автоматически изменит их размер до 100 процентов.
Например, если у вас есть индикатор, который показывает значение в одной единице измерения, но вы также хотите показать то же самое значение в другой единице ниже него, вы можете создать переменную для преобразования существующих значений. С помощью индикатора, показывающего среднюю температуру в градусах Цельсия, вы можете создать переменную Фаренгейта, которая будет использоваться в выражении для отображения значений в градусах Фаренгейта, а именно:
var fahrenheit = Floor(($datapoint.avg_Temperature/5*9)+32)
Затем вы можете включить переменную в качестве значения свойства, например следующее:
bottomText: fahrenheit,
Использование этой переменной в свойстве Текст внизу дает вам следующее выражение, в котором средняя температура (в градусах Цельсия) отображается в среднем тексте индикатора, а значение Фаренгейта отображается в нижнем тексте:
var fahrenheit = Floor(($datapoint.avg_Temperature/5*9)+32)
return {
topText: 'Average Temperature',
middleText: Floor($datapoint.avg_Temperature),
bottomText: fahrenheit,
}Включение расширенного форматирования в индикаторе
Чтобы включить расширенное форматирование в элементе индикатора, выполните следующие действия:
- В окне конфигурации индикатора щелкните вкладку Индикатор.
- В разделе Расширенное форматирование нажмите кнопку Включить.
Примечание:
Как только расширенное форматирование включено, системные настройки, такие как цвета, становятся недоступными. Эти настройки сделаны в выражении. Если вы ввели значения до включения расширенного форматирования, они автоматически добавляются в выражение. - Создайте выражение форматирования в редакторе.
Подсказка:
Если вам требуется помощь по использованию любой из функций Arcade, щелкните кнопку Информация рядом с функцией для просмотра подробностей. - При необходимости создайте ссылки на любые новые атрибуты в полях Заголовок, Верхний колонтитул и Нижний колонтитул, используя синтаксис {expression/yourAttributeName}.
Форматирование таблиц
Для элемента таблицы можно использовать выражение Arcade, включив опцию Расширенное форматирование . Как только вы решите включить расширенное форматирование, настройки цвета, опции выравнивания текста и другие системные свойства становятся недоступными и вместо этого задаются в выражении.
Выражение, которое выполняется для каждой строки таблицы, используется для определения содержимого и форматирования каждой ячейки в столбце. На атрибуты точек данных можно ссылаться с помощью глобальной переменной $datapoint в редакторе Arcade.
У словаря cells должно быть свойство для каждого поля, заданного на вкладке Данные конфигурации таблицы. Например, в таблице сгруппированных значений, в которой есть поле категории для зоны и поле значения Суммы транзакции, словарь cells содержит два свойства: zone и sum_transaction_amounts.
В следующей таблице перечислены свойства, которые могут быть возвращены из выражения в виде словаря:
| Свойство | Тип значения | Описание |
|---|---|---|
ячейки | Словарь | Словарь имен столбцов, основанный на полях, заданных на вкладке Данные |
displayText | Строка | Текст, отображаемый в ячейке Примечание:Необходимо свойство displayText |
hoverText | Строка | Текст, который появляется при наведении курсора мыши поверх значений. Примечание:Текст подсказки сначала должен быть включен на вкладке Таблица. |
textColor | Строка | Цвет текста ячейки |
backgroundColor | Строка | Цвет фона ячейки |
textAlign | Строка | Выравнивание (по левому краю | по центру | по правому краю) |
iconName | Строка | Имя значка, заданное в таблице Примечание:Имена значков задаются вне выражения. |
iconAlign | Строка | Размещение значков рядом с текстом (слева | справа) |
iconColor | Строка | Цвет заливки значка |
iconOutlineColor | Строка | Цвет контура значка |
Вы также можете использовать расширенное форматирование, чтобы создать для таблицы условное форматирование. Например, если у вас есть таблица, в которой отображаются последние запросы на ремонт, вы можете применить условное форматирование, чтобы различать статусы запросов. Вы можете создать переменную, которая изменяет цвет ячейки в зависимости от статуса, используя переменную, которая выглядит следующим образом:
var statusColor = When($datapoint.status== 'new', 'yellow', $datapoint.status== 'closed', 'lightgray', 'white')
Затем вы можете назначить переменную свойству backgroundColor, чтобы ячейки для новых инцидентов выделялись, а для закрытых инцидентов - не выделялись, а именно:
var statusColor = When(
$datapoint.status == 'new', 'yellow',
$datapoint.status == 'closed', lightgray', 'white')
return {
cells:{
requests:{
displayText: <span>${$datapoint.requests}</span>,
backgroundColor: statusColor,
}
}
}Примечание:
Выражения не применяются к строке обзора таблицы.
Включение расширенного форматирования в таблицу
Чтобы включить расширенное форматирование в элементе таблицы, выполните следующие действия:
- В окне конфигурации элемента таблицы щелкните вкладку Значения.
- В разделе Расширенное форматирование нажмите кнопку Включить.
Примечание:
Как только расширенное форматирование включено, системные настройки, такие как цвета, становятся недоступными. Эти настройки сделаны в выражении. Если вы ввели значения до включения расширенного форматирования, они автоматически добавляются в выражение. - Создайте выражение форматирования в редакторе.
Подсказка:
Если вам требуется помощь по использованию любой из функций Arcade, щелкните кнопку Информация рядом с функцией для просмотра подробностей.
Задание имен значков
Элементы индикаторов и таблиц позволяют вам включить значки scalable vector graphics (SVG) в конфигурацию элемента. При использовании расширенного форматирования значки добавляются в выражение Arcade.
Чтобы добавить значок к выражению Arcade, выполните следующие шаги:
- В расположенном ниже редактора Arcade разделе Значки щелкните Добавить.
- Выберите значок или добавьте пользовательский значок.
- Укажите название для значка.
- В выражении Arcade возвратите имя значка в качестве значения свойства iconName.
Значения цвета
При включении значений цвета в выражение они должны быть возвращены в виде строк (окруженных кавычками). Значения цвета, которые остаются неопределенными или недействительными, будут автоматически использовать значения по умолчанию. Допустимые типы цветовых значений включают шестнадцатеричные значения, 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)
Интервал обновления
Если вы хотите, чтобы выражение выполнялось с заданным интервалом, например, если выражение использует функцию Now(), включите переключатель Обновить скрипт и установите интервал обновления.