Можно ли изменить свойство title объекта с помощью производного значения из формы редактирования в Foundry?

#palantir-foundry #foundry-actions

#palantir-foundry #foundry-действия

Вопрос:

Я создал объект, поддерживаемый формой Foundry, и я хотел бы предоставить пользователю возможность изменять свойства этого объекта. Я связал форму с объектом и создал свойство title, которое является скрытым / производным значением в форме создания объекта. Пользователь может редактировать свойство a и свойство b , и заголовок объекта будет ab .

Когда пользователь обновляет объект в форме редактирования, заголовок не обновляется. Есть ли конфигурация, которую мне нужно изменить?

Ответ №1:

Да, это возможно. На самом деле есть два способа добиться этого, я перечислю их в порядке моих предпочтений:

С помощью действия

Современный способ достижения этого — использовать действие. Действия позволяют гибко «перехватывать» события, такие как записи от пользователей, и выполнять дополнительные действия (отсюда и название) или предотвращать события. Это довольно новая функция в foundry.

Основная концепция заключается в том, что вы пишете небольшой фрагмент кода (функцию для объекта), который выполняется при изменении объекта. Затем функция может дополнительно модифицировать объект или предотвратить модификацию.

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

Недостатком является то, что для этого требуется написать некоторый код.

В вашем стеке, если вы перейдете к https://www.palantir.com/docs/foundry/functions/use-functions/#actions вы найдете введение о том, как начать работу с действиями. Пример решает точный вариант использования, который вы запрашиваете.

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

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

настройка

в действии

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

Похоже, это то, что вы пытались сделать, и я считаю, что это должно сработать. Если это не так, я бы проверил следующие вещи:

  • сделайте шаблон видимым, чтобы увидеть, что он заполняется так, как вы ожидаете
  • убедитесь, что шаблон настроен на сохранение его ответа в нужное свойство объекта
  • убедитесь, что пользователь использует форму для редактирования объекта, а не каким-либо другим способом (например, редактирование свойства непосредственно в hubble)