private bool InView(FilterContext context, IFilterTarget target, ContentFilterElement element)
{
// views only supported in advanced filter targets.
IAdvancedFilterTarget advancedFilter = target as IAdvancedFilterTarget;
if (advancedFilter == null)
{
return false;
}
FilterOperand[] operands = GetOperands(element, 1);
// get the desired type.
NodeId viewId = GetValue(context, operands[0], target) as NodeId;
if (viewId == null || target == null)
{
return false;
}
// check the target.
try
{
return advancedFilter.IsInView(context, viewId);
}
catch
{
return false;
}
}