public WidgetDefinition Add( [NotNull] Type viewComponentType, [CanBeNull] ILocalizableString displayName = null) { var widget = new WidgetDefinition(viewComponentType, displayName); Add(widget); return(widget); }
public void Add(WidgetDefinition widget) { var existingWidget = _widgetsByName.GetOrDefault(widget.Name); if (existingWidget != null) { _widgetsByType[existingWidget.ViewComponentType] = widget; } _widgetsByName[widget.Name] = widget; _widgetsByType[widget.ViewComponentType] = widget; }
private async Task <bool> IsGrantedAsyncInternal(WidgetDefinition widget, string wantedWidgetName) { if (widget == null) { throw new ArgumentNullException(wantedWidgetName); } if (widget.RequiredPolicies.Any()) { foreach (var requiredPolicy in widget.RequiredPolicies) { if (!(await AuthorizationService.AuthorizeAsync(requiredPolicy).ConfigureAwait(false)).Succeeded) { return(false); } } } else if (widget.RequiresAuthentication && !CurrentUser.IsAuthenticated) { return(false); } return(true); }
protected virtual async Task <IHtmlContent> InvokeWidgetAsync(object arguments, WidgetDefinition widget) { PageWidgetManager.TryAdd(widget); var wrapperAttributesBuilder = new StringBuilder($"class=\"abp-widget-wrapper\" data-widget-name=\"{widget.Name}\""); if (widget.RefreshUrl != null) { wrapperAttributesBuilder.Append($" data-refresh-url=\"{widget.RefreshUrl}\""); } return(new HtmlContentBuilder() .AppendHtml($"<div {wrapperAttributesBuilder}>") .AppendHtml(await DefaultViewComponentHelper.InvokeAsync(widget.ViewComponentType, arguments)) .AppendHtml("</div>")); }
public bool TryAdd(WidgetDefinition widget) { return(GetWidgetList() .AddIfNotContains(widget)); }