Вы не можете фильтровать данные, основываясь на качествах элементов, которые он содержит. Например, вы не можете возвращать Истории без детей или дефектов. Вы могли бы фильтровать изменение запроса, чтобы вернуть дочерние истории, если хотите. Это позволит вам фильтровать истории в памяти на стороне браузера.
Есть несколько проблем с этим планом, которые мешали мне фильтровать их, когда мы писали приложение Kanban. Если первая страница возвращенных историй содержала целиком эпики для одного из запросов столбцов, вы столкнулись бы с столбцом, в котором не было бы никаких данных, даже если бы в более раннем рейтинге у вас были листовые истории, которые вы бы показали.
Вторая проблема заключается в том, что из-за способности WSOPI ралли получать поля полурекурсивно, каждый дочерний объект может быть довольно большим. У некоторых наших клиентов есть один эпический фильм, в котором много детей, и я не хотел бы испытывать недостаток реагирования на этих клиентов.
Если вам удобны эти проблемы в вашей личной версии нашей доски Kanban, вы можете просто прослушать событие onDataRetrieved и отфильтровать свои нежелательные истории.
Внутренне мы очень осведомлены о досадах, которые это вызывает, и мы работаем над тем, чтобы найти хорошее общее решение этой проблемы.
Если мы выпустим один, я буду копать это сообщение и убедиться, что новое решение объяснено.
Спасибо, Чарлз и понял ваши замечания (я хотел бы попытаться посмотреть, как это происходит). Я вижу, как фильтрация выполняется на плате оценки, внутри обратного вызова от вызова findAll. Но для приложения каталога Rally Kanban, хотя я вижу, где задан запрос (внутри _redisplayBoard), я еще не нашел обратный вызов (похожий на onDataRetreived, который вы упоминаете), где я могу отфильтровать элементы, которые мне не нужны показывать. Можете ли вы указать мне в правильном направлении? – user1141827
В нижней части _redisplayBoard есть часть, где мы добавляем прослушиватель элементов. Код ниже будет печатать элементы в журнале. Вы можете внести изменения в эту коллекцию элементов для фильтрации карт с доски, на которой есть дети. cardboard.addEventListener ("preUpdate", that._onBeforeItemUpdated); cardboard.addEventListener ("onDataRetrieved", функция (картон, args) { console.log (args.Предметы); }); cardboard.display ("kanbanBoard"); –
Вы также захотите добавить «Дети» в свой выбор, чтобы убедиться, что вы можете отфильтровать их. –