private static bool WidgetShouldBeSkipped(OnScreenContext onScreenContext, IAbstractWidget widget) { var widgetType = widget.GetMetadata(OnScreenWidgetMetadataKeys.Type).ToString(); var skipWidgetTypes = onScreenContext?.SkipWidgetTypes; return(skipWidgetTypes == null ? false : skipWidgetTypes.Contains(widgetType)); }
public override bool Match(IAbstractItem item) { if (item.IsPage) { return(false); } IAbstractWidget widget = item as IAbstractWidget; if (widget == null) { return(false); } if (!string.Equals(widget.ZoneName, _zone)) { return(false); } if ((widget.AllowedUrlPatterns == null || widget.AllowedUrlPatterns.Length == 0) && (widget.DeniedUrlPatterns == null || widget.DeniedUrlPatterns.Length == 0)) { return(true); } if (widget.DeniedUrlPatterns != null && widget.DeniedUrlPatterns.Any()) { var deniedMatcher = new WildcardMatcher(WildcardMatchingOption.FullMatch, widget.DeniedUrlPatterns.Select(p => p.Trim('/'))); if (deniedMatcher.Match(_url).Any()) { return(false); } } if (widget.AllowedUrlPatterns != null && widget.AllowedUrlPatterns.Any()) { var allowedMatcher = new WildcardMatcher(WildcardMatchingOption.FullMatch, widget.AllowedUrlPatterns.Select(p => p.Trim('/'))); return(allowedMatcher.Match(_url).Any()); } return(true); }