Использование расширенного форматирования

Вы можете применять выражения 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
}

Включение расширенного форматирования в списке

Чтобы включить расширенное форматирование в элементе списка, выполните следующие действия:

  1. В окне конфигурации списка щелкните вкладку Список.
  2. В разделе Расширенное форматирование нажмите кнопку Включить.
    Примечание:
    Как только расширенное форматирование включено, системные настройки, такие как цвета, становятся недоступными. Эти конфигурации сделаны в выражении. Если вы ввели значения до включения расширенного форматирования, они автоматически добавляются в выражение.
  3. Создайте выражение форматирования в редакторе.
    Подсказка:
    Для полей даты используйте функцию Text для преобразования их в строки, и они будут отображаться в часовом поясе операционной панели. Функция Текст также позволяет вам форматировать значения по вашему усмотрению. Если вам требуется помощь по использованию любой из функций Arcade, щелкните кнопку Информация рядом с функцией для просмотра подробностей.
  4. Введите любые новые атрибуты в поле Шаблон, используя синтаксис {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,
}

Включение расширенного форматирования в индикаторе

Чтобы включить расширенное форматирование в элементе индикатора, выполните следующие действия:

  1. В окне конфигурации индикатора щелкните вкладку Индикатор.
  2. В разделе Расширенное форматирование нажмите кнопку Включить.
    Примечание:
    Как только расширенное форматирование включено, системные настройки, такие как цвета, становятся недоступными. Эти настройки сделаны в выражении. Если вы ввели значения до включения расширенного форматирования, они автоматически добавляются в выражение.
  3. Создайте выражение форматирования в редакторе.
    Подсказка:
    Если вам требуется помощь по использованию любой из функций Arcade, щелкните кнопку Информация рядом с функцией для просмотра подробностей.
  4. При необходимости создайте ссылки на любые новые атрибуты в полях Заголовок, Верхний колонтитул и Нижний колонтитул, используя синтаксис {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,
			}
		}
	}
Примечание:

Выражения не применяются к строке обзора таблицы.

Включение расширенного форматирования в таблицу

Чтобы включить расширенное форматирование в элементе таблицы, выполните следующие действия:

  1. В окне конфигурации элемента таблицы щелкните вкладку Значения.
  2. В разделе Расширенное форматирование нажмите кнопку Включить.
    Примечание:
    Как только расширенное форматирование включено, системные настройки, такие как цвета, становятся недоступными. Эти настройки сделаны в выражении. Если вы ввели значения до включения расширенного форматирования, они автоматически добавляются в выражение.
  3. Создайте выражение форматирования в редакторе.
    Подсказка:
    Если вам требуется помощь по использованию любой из функций Arcade, щелкните кнопку Информация рядом с функцией для просмотра подробностей.

Задание имен значков

Элементы индикаторов и таблиц позволяют вам включить значки scalable vector graphics (SVG) в конфигурацию элемента. При использовании расширенного форматирования значки добавляются в выражение Arcade.

Чтобы добавить значок к выражению Arcade, выполните следующие шаги:

  1. В расположенном ниже редактора Arcade разделе Значки щелкните Добавить.
  2. Выберите значок или добавьте пользовательский значок.
  3. Укажите название для значка.
  4. В выражении 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(), включите переключатель Обновить скрипт и установите интервал обновления.