示例#1
0
        /// <summary>
        /// Activiates the default Clarity theme, registers system-defined widget areas,
        /// then load some widgets.
        /// </summary>
        private async Task SetupThemeAndWidgets()
        {
            // Clarity theme
            await _themeService.ActivateThemeAsync("Clarity");

            // System-defined Areas
            await _widgetSvc.RegisterAreaAsync(WidgetService.BlogSidebar1.Id);

            await _widgetSvc.RegisterAreaAsync(WidgetService.BlogSidebar2.Id);

            await _widgetSvc.RegisterAreaAsync(WidgetService.BlogBeforePost.Id);

            await _widgetSvc.RegisterAreaAsync(WidgetService.BlogAfterPost.Id);

            await _widgetSvc.RegisterAreaAsync(WidgetService.BlogBeforePostList.Id);

            await _widgetSvc.RegisterAreaAsync(WidgetService.BlogAfterPostList.Id);

            await _widgetSvc.RegisterAreaAsync(WidgetService.Footer1.Id);

            await _widgetSvc.RegisterAreaAsync(WidgetService.Footer2.Id);

            await _widgetSvc.RegisterAreaAsync(WidgetService.Footer3.Id);

            // Area: BlogSidebar1

            // Social Icons
            var socialIconsWidget = new SocialIconsWidget {
                Links = SocialIconsWidget.SocialLinkSeeds
            };
            var widgetInstId = await _widgetSvc.CreateWidgetAsync(socialIconsWidget, "SocialIcons");

            await _widgetSvc.AddWidgetToAreaAsync(widgetInstId, WidgetService.BlogSidebar1.Id, 0);

            // Blog Tags
            widgetInstId = await _widgetSvc.CreateWidgetAsync("BlogTags");

            await _widgetSvc.AddWidgetToAreaAsync(widgetInstId, WidgetService.BlogSidebar1.Id, 1);

            // Blog Categories
            widgetInstId = await _widgetSvc.CreateWidgetAsync("BlogCategories");

            await _widgetSvc.AddWidgetToAreaAsync(widgetInstId, WidgetService.BlogSidebar1.Id, 2);

            // Blog Archives
            widgetInstId = await _widgetSvc.CreateWidgetAsync("BlogArchives");

            await _widgetSvc.AddWidgetToAreaAsync(widgetInstId, WidgetService.BlogSidebar1.Id, 3);

            // Area: BlogAfterPost

            // Recent Blog Posts
            var recentBlogPostsWidget = new RecentBlogPostsWidget {
                ShowPostExcerpt = true
            };

            widgetInstId = await _widgetSvc.CreateWidgetAsync(recentBlogPostsWidget, "RecentBlogPosts");

            await _widgetSvc.AddWidgetToAreaAsync(widgetInstId, WidgetService.BlogAfterPost.Id, 0);
        }
示例#2
0
        public async Task <IActionResult> OnPostAsync([FromBody] RecentBlogPostsWidget widget)
        {
            if (ModelState.IsValid)
            {
                await widgetService.UpdateWidgetAsync(widget.Id, widget);

                return(new JsonResult("Widget settings updated."));
            }

            return(BadRequest("Invalid form values submitted."));
        }