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

ArcGIS Online    |    |  

Вы можете применять выражения Arcade для расширенного форматирования элементов списка, индикатора и таблицы, чтобы настроить отображение точек данных. Точка данных может представлять либо объект, либо суммарную статистику в зависимости от того, как настроен элемент. При использовании объектов одна точка данных представляет один объект. При использовании статистики каждая точка данных представляет результат этой статистики. Элемент списка отображает точки ваших данных в виде строк, где каждая строка представляет одну точку данных. Элемент индикатора отображает одну точку данных за один раз. Элемент таблицы отображает точки данных в виде строк с возможностью управления содержимым и форматированием каждой ячейки в строке.

В отличие от выражений атрибутов (используемых во всплывающих окнах, стилях и надписях слоя), для каждого элемента создается одно выражение. Выражение выполняется для каждой точки данных и возвращает системные и пользовательские свойства для этого элемента. Системные свойства - это параметры, которые вы ранее напрямую могли настроить в элементе, а сейчас только в выражении, например цвет текста и фона. Определяемые пользователем свойства задаются пользователем в выражении и могут быть применены при настройке элемента.

Примечание:

Выражения атрибутов, созданные в веб-картах, не переносятся для использования в элементах операционной панели.

В следующей таблице приведены сведения о том, какие данные из вашего слоя будут переданы в выражение:

Имя переменнойТипОписание

$datapoint

Объект или словарь

Применяется к индикатору, таблице и списку

$reference

Словарь

Применяется к индикатору

Примечание:
При написании выражений Arcade помните следующее:
  • Ставьте запятую после каждого свойства в словаре, за исключением последнего свойства.
  • Имена атрибутов не должны содержать пробелов или специальных символов.

Форматирование списков

Для элемента списка можно использовать выражения Arcade, включив опцию Расширенное форматирование . Как только вы решите использовать расширенное форматирование, настройки цвета станут недоступны вместе с любыми другими системными свойствами.

Выражение, которое выполняется для каждого элемента строки, используется для определения того, как отображается каждая строка в вашем списке. Кроме того, выражение можно использовать для создания атрибутов, на которые можно ссылаться в Шаблоне.

На атрибуты точек данных можно ссылаться с помощью глобальной переменной $datapoint в редакторе Arcade. В следующей таблице приведен список свойств, которые могут быть возвращены из выражения в виде словаря:

СвойствоТип значенияОписание

textColor

Строка

Базовый цвет текста в элементе строки

backgroundColor

Строка

Базовый цвет элемента строки

separatorColor

Строка

Цвет границы внизу элемента строки

selectionTextColor

Строка

Цвет для текста выбранного элемента строки

selectionColor

Строка

Базовый цвет текста, когда элемент выбран

атрибуты

Словарь

Словарь пар атрибут-значение

yourAttributeName

Строка

Атрибут, на который можно ссылаться в Шаблоне с помощью синтаксиса {expression/your Attribute Name}

Примечание:

Функции геометрии не поддерживаются.

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

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. Создайте свое выражение форматирования в редакторе.
    Подсказка:
    Для полей даты используйте функцию Текст для преобразования их в строки, и они будут отображаться в часовом поясе операционной панели. Функция Текст также позволяет вам форматировать значения по вашему усмотрению. Если вам требуется помощь по использованию любой из функций Arcade, щелкните кнопку Информация рядом с функцией для просмотра подробностей.
  4. Если вы хотите, чтобы ваше выражение выполнялось с заданным интервалом, например, если ваше выражение использует функцию Now(), активируйте переключатель Обновить скрипт и установите интервал обновления.
  5. Введите любые новые атрибуты в поле Шаблон, используя синтаксис {expression/yourAttributeName}.

Форматирование индикаторов

Для элемента индикатора можно использовать выражения Arcade, включив опцию Расширенное форматирование . После включения расширенного форматирования системные свойства, такие как параметры цвета и форматирование значений, становятся недоступными, а условное форматирование отключается. Выражение используется для определения этих свойств отображения и условной логики. Кроме того, выражение может содержать определенные пользователем атрибуты, которые могут использоваться в полях Заголовок, Верхний колонтитул и Нижний колонтитул на вкладке Общие.

При включении опорного значения в индикатор на вкладке Данные после включения расширенного форматирования доступен только тип опорного значения на основе статистики. Если вы ранее определили тип фиксированного опорного значения, он автоматически добавляется в выражение вместе с любыми коэффициентами преобразования, текстовым и цветовым форматированием. Форматирование значений, выполненное до включения расширенного форматирования, удаляется и должно быть определено в выражении с использованием шаблонов значений.

Примечание:

Предыдущее значение не поддерживается Arcade. Если вы зададите предыдущий тип опорного значения перед включением расширенного форматирования, он будет преобразован в текущее значение.

На атрибуты точек данных можно ссылаться с помощью глобальной переменной $datapoint в редакторе Arcade. В зависимости от того, является ли тип значения объектом или статистикой, $datapoint будет с типом объекта или словаря соответственно. Если на вкладке Данные была настроена опорная статистика, то глобальная переменная $reference также будет доступна в редакторе.

В следующей таблице приведен список свойств, которые могут быть возвращены из выражения в виде словаря:

СвойствоТип значенияОписание

textColor

Строка

Базовый цвет текста элемента индикатора

backgroundColor

Строка

Цвет фона элемента индикатора

topText

Строка

Отображает как текст сверху

topTextColor

Строка

Цвет текста сверху

topTextOutlineColor

Строка

Цвет контура текста сверху

topTextMaxSize

Строка

Максимальный размер текста сверху (xx-small | x-small | small | medium | large | x-large | xx-large)

middleText

Строка

Отображает как текст в середине

middleTextColor

Строка

Цвет текста в середине

middleTextOutlineColor

Строка

Цвет контура текста в середине

middleTextMaxSize

Строка

Максимальный размер текста в середине (xx-small | x-small | small | medium | large | x-large | xx-large)

bottomText

Строка

Отображает как текст внизу

bottomTextColor

Строка

Цвет текста внизу

bottomTextOutlineColor

Строка

Цвет контура текста внизу

bottomTextMaxSize

Строка

Максимальный размер текста внизу (xx-small | x-small | small | medium | large | x-large | xx-large)

iconName

Строка

Название значка, указанное для индикатора

Примечание:

Имена значков задаются вне выражения.

iconAlign

Строка

Размещение значков рядом с текстом в середине (left | right)

iconColor

Строка

Цвет заливки значка

iconOutlineColor

Строка

Цвет контура значка

noValue

Boolean

Отметка для отображения текста без значения вместо индикатора (true | false)

атрибуты

Словарь

Словарь пар атрибут-значение

yourAttributeName

Строка

Атрибут, который может использоваться в полях Заголовок, Верхний колонтитул и Нижний колонтитул с помощью синтаксиса {expression/yourAttributeName}

Например, если у вас есть индикатор, который показывает значение в одной единице измерения, но вы также хотите показать то же самое значение в другой единице ниже него, вы можете создать переменную для преобразования существующих значений. С помощью индикатора, показывающего среднюю температуру в градусах Цельсия, вы можете создать переменную Фаренгейта, которая будет использоваться в вашем выражении для отображения ваших значений в градусах Фаренгейта.

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. Если вы хотите, чтобы ваше выражение выполнялось с заданным интервалом, например, если ваше выражение использует функцию Now(), активируйте переключатель Обновить скрипт и установите интервал обновления.
  5. При необходимости создайте ссылки на любые новые атрибуты в полях Заголовок, Верхний колонтитул и Нижний колонтитул, используя синтаксис {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, щелкните кнопку Информация рядом с функцией для просмотра подробностей.
  4. Если вы хотите, чтобы ваше выражение выполнялось с заданным интервалом, например, если ваше выражение использует функцию Now(), активируйте переключатель Обновить скрипт и установите интервал обновления.

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

Элементы индикаторов и таблиц позволяют вам включить значки 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)