View контрол, фильтр по категории и невидимые документы

L

lionk

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

и вот я наткнулся на глюк с представленим в икспейджах.

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


кто то стыкался с подобным?
как обходить эту фичу?
 
R

romych2004

Ого какой косяк :)

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

Код:
<xp:this.rendered><![CDATA[#{javascript:var nav:NotesViewNavigator = view1.createViewNavFromCategory('категория');
return nav.getFirstDocument()}]]></xp:this.rendered>
 
L

lionk

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

корень в том что не была установлена галочка "скрывать пустые категории" в свойствах вюхи.
а не нашёл я её потому что искал совсем не там. это легаси база, в которой есть два представления с одинаковыми именами, но в настройках одно видно только для веба, а другое для клиента. вот я и копался в вебовском(в котором всё ОК). а выходит что datasource игнорирует настройку видимости(клиент\веб\мобайл), и брал представление для клиента(в котором этой галки небыло)
такие дела.
 
R

romych2004

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

корень в том что не была установлена галочка "скрывать пустые категории" в свойствах вюхи.
а не нашёл я её потому что искал совсем не там. это легаси база, в которой есть два представления с одинаковыми именами, но в настройках одно видно только для веба, а другое для клиента. вот я и копался в вебовском(в котором всё ОК). а выходит что datasource игнорирует настройку видимости(клиент\веб\мобайл), и брал представление для клиента(в котором этой галки небыло)
такие дела.
Если не ошибаюсь, Скрывать пустые категории напряжная функция, толи для сервера, толи для клиента.. не помню уже :) Помню что лучше не использовать
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
473
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!