Вопрос по Bixby Studio.
Я пытаюсь понять, как принимать ввод текста от пользователя.
У меня есть структура фильтра с некоторыми полями, такими как SearchField, Genre, Platforms (игровые приставки) и Themes (несколько других записей)
По умолчанию все они являются необязательными, особенно в поле поиска. Тем не менее, я хотел бы, чтобы пользователь мог видеть, какие фильтры включены, и иметь возможность выбирать и изменять их значения (эти значения могут быть перезаписаны в процессе обучения NLP, но я не могу понять, как отключить поле .)
Я создал представление результатов для своих фильтров и настроил ячейки ввода для выбора определенного поля для изменения. (В этом случае SearchField.). Я успешно перенаправил на представление ввода, но, похоже, что какой бы текст я здесь ни вводил, он не сохраняется и не применяется к моему фильтру.
Ищет некоторое понимание проблемы и готов предоставить больше информации по мере необходимости.
Некоторые из вещей, которые я пробовал в прошлом, похоже, хотят взять существующий контекст «SearchField» внутри фильтров (который может не существовать) и применить его к новому «полю поиска». Однако это не работает и, кажется, создает цикл.
Я также пытался установить prompt-behavior (AlwaysSelection)
в модели действия для SetSearchField, но, похоже, он ничего не делает.
// Result View for Filters
result-view {
match {
Filter(this)
}
message {
template (Active Filters){
speech (Would you like to change any filters?)
}
}
render {
layout-macro (filter-details) {
param (filter) {
expression (this)
}
}
}
}
// Layout Macro
layout-macro-def(filter-details) {
params {
param (filter) {
type (Filter)
min (Required)
max (One)
}
}
content {
section {
title (Filters)
content {
input-cell {
label (Search Name)
value ("#{value(filter.name)}")
on-click {
intent {
goal: SetSearchField // <-------- Field in question
}
}
}
}
}
}
}
// Input-view for SearchField
input-view {
match {
SearchField(searchField)
}
render {
form {
elements {
text-input {
id (val)
type (SearchField)
required (true)
}
}
on-submit {
goal:SearchField
}
}
}
}
// SetSearchField action
action (SetSearchField) {
description (Sets the name in a search filter)
type (Fetch)
collect {
input (newSearchField) {
type (SearchField)
min (Required)
prompt-behavior (AlwaysSelection)
}
}
output (SearchField)
}
// SetSearchField endpoint
action-endpoint (SetSearchField) {
accepted-inputs (newSearchField)
local-endpoint ("filters/SetSearchField.js")
}
// .js file
module.exports.function = function setName (newSearchField) {
return newSearchField
}