public void ChangeGroupBy(long idDashboard, DashboardViewType view, GroupItemsBy groupBy, UserCurrentSettings userSettings) { liteDashboardSettings settings = CurrentManager.Get <liteDashboardSettings>(idDashboard); if (settings == null) { View.DisplayUnknownDashboard(); } else { View.InitializeSettingsInfo(settings); View.SelectedGroupBy = groupBy; userSettings.View = view; if (userSettings.GroupBy != groupBy) { switch (userSettings.GroupBy) { case GroupItemsBy.CommunityType: case GroupItemsBy.Tile: userSettings.IdSelectedTile = -1; break; case GroupItemsBy.Tag: userSettings.IdSelectedTag = -1; break; } } userSettings.GroupBy = groupBy; userSettings.OrderBy = (groupBy == settings.Container.Default.GroupBy) ? settings.Container.Default.OrderBy : OrderItemsBy.LastAccess; View.CurrentSettings = userSettings; ChangeView(userSettings.View, settings, userSettings, View.CurrentOrderItems); } }
public DefaultSettings() { View = DashboardViewType.List; Search = DisplaySearchItems.Simple; DefaultNoticeboard = DisplayNoticeboard.OnRight; TileNoticeboard = DisplayNoticeboard.InheritsFromDefault; ListNoticeboard = DisplayNoticeboard.InheritsFromDefault; CombinedNoticeboard = DisplayNoticeboard.InheritsFromDefault; AfterUserLogon = OnLoadSettings.AlwaysDefault; OrderBy = OrderItemsBy.LastAccess; GroupBy = GroupItemsBy.None; }
public DefaultSettings(DashboardType type, DashboardSettings dSettings = null) { if (dSettings == null || (dSettings.Type == DashboardType.Portal && type != dSettings.Type)) { switch (type) { case DashboardType.Portal: View = DashboardViewType.Tile; Search = DisplaySearchItems.Simple; DefaultNoticeboard = DisplayNoticeboard.OnRight; TileNoticeboard = DisplayNoticeboard.InheritsFromDefault; ListNoticeboard = DisplayNoticeboard.InheritsFromDefault; CombinedNoticeboard = DisplayNoticeboard.InheritsFromDefault; AfterUserLogon = OnLoadSettings.AlwaysDefault; OrderBy = OrderItemsBy.LastAccess; GroupBy = GroupItemsBy.Tile; break; case DashboardType.Community: case DashboardType.AllCommunities: View = DashboardViewType.Tile; Search = DisplaySearchItems.Hide; DefaultNoticeboard = DisplayNoticeboard.OnRight; TileNoticeboard = DisplayNoticeboard.InheritsFromDefault; ListNoticeboard = DisplayNoticeboard.InheritsFromDefault; CombinedNoticeboard = DisplayNoticeboard.InheritsFromDefault; AfterUserLogon = OnLoadSettings.AlwaysDefault; OrderBy = OrderItemsBy.Name; GroupBy = GroupItemsBy.None; break; } } else { View = dSettings.Container.Default.View; Search = dSettings.Container.Default.Search; DefaultNoticeboard = dSettings.Container.Default.DefaultNoticeboard; TileNoticeboard = dSettings.Container.Default.TileNoticeboard; ListNoticeboard = dSettings.Container.Default.ListNoticeboard; CombinedNoticeboard = dSettings.Container.Default.CombinedNoticeboard; AfterUserLogon = dSettings.Container.Default.AfterUserLogon; OrderBy = dSettings.Container.Default.OrderBy; GroupBy = dSettings.Container.Default.GroupBy; } }
public void ChangeGroupBy(DashboardViewType view, GroupItemsBy groupBy) { liteDashboardSettings settings = Service.DashboardSettingsGet(DashboardType.Portal, 0); UserCurrentSettings userSettings = View.GetCurrentCookie(); if (userSettings == null) { userSettings = new UserCurrentSettings(); userSettings.GroupBy = groupBy; userSettings.AfterUserLogon = settings.Container.Default.AfterUserLogon; userSettings.DefaultNoticeboard = settings.Container.Default.DefaultNoticeboard; userSettings.TileNoticeboard = settings.Container.Default.TileNoticeboard; userSettings.CombinedNoticeboard = settings.Container.Default.CombinedNoticeboard; userSettings.ListNoticeboard = settings.Container.Default.ListNoticeboard; userSettings.OrderBy = (groupBy == settings.Container.Default.GroupBy) ? settings.Container.Default.OrderBy : OrderItemsBy.LastAccess; userSettings.View = view; userSettings.Ascending = (userSettings.OrderBy == OrderItemsBy.Name) ? true : false; } else { if (userSettings.GroupBy != groupBy) { switch (userSettings.GroupBy) { case GroupItemsBy.CommunityType: case GroupItemsBy.Tile: userSettings.IdSelectedTile = -1; break; case GroupItemsBy.Tag: userSettings.IdSelectedTag = -1; break; } } userSettings.GroupBy = groupBy; userSettings.OrderBy = (groupBy == settings.Container.Default.GroupBy) ? settings.Container.Default.OrderBy : OrderItemsBy.LastAccess; } View.SaveCurrentCookie(userSettings); InitializeView(view, settings, userSettings, false, false, userSettings.IdSelectedTile, userSettings.IdSelectedTag); }
public void GroupItemsBy() { var task = new GroupItemsBy() { Items = new TaskItem[] { new TaskItem("A", new Dictionary <string, string> { { "Y", "A1.Y" }, { "Z", "A1.Z" }, { "W", "A1.W" } }), new TaskItem("B", new Dictionary <string, string> { { "Z", "B1.Z" } }), new TaskItem("A", new Dictionary <string, string> { { "X", "A2.X" }, { "Z", "A2.Z" }, { "W", "A2.W" } }), new TaskItem("C", new Dictionary <string, string> { { "X", "C1.X" }, { "Z", "C1.Z" } }), new TaskItem("C", new Dictionary <string, string> { { "Y", "C2.Y" }, { "Z", "C2.Z" } }), }, GroupMetadata = new[] { "X", "Y", "Z", "U" } }; bool result = task.Execute(); var inspectMetadata = new[] { "X", "Y", "Z", "U", "W" }; AssertEx.Equal(new[] { "A: X='A2.X' Y='A1.Y' Z='A1.Z;A2.Z' U='' W='A1.W'", "B: X='' Y='' Z='B1.Z' U='' W=''", "C: X='C1.X' Y='C2.Y' Z='C1.Z;C2.Z' U='' W=''", }, task.GroupedItems.Select(i => $"{i.ItemSpec}: {string.Join(" ", inspectMetadata.Select(m => $"{m}='{i.GetMetadata(m)}'"))}")); Assert.True(result); }
public void ShowMoreTiles(DisplayNoticeboard noticeboard, long idDashboard, Int32 tileDisplayItems, TileLayout tLayout, Boolean autoUpdateLayout, GroupItemsBy groupBy, Boolean value) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.Tile, groupBy, View.CurrentOrderItemsBy, noticeboard, -1, -1, true, value, false)); } else { View.DisplayLessCommand = value; View.DisplayMoreCommand = !value; if (value) { View.SendUserAction(0, CurrentIdModule, idDashboard, ModuleDashboard.ActionType.TileDashboardMoreTiles); } else { View.SendUserAction(0, CurrentIdModule, idDashboard, ModuleDashboard.ActionType.TileDashboardLessTiles); } switch (groupBy) { case GroupItemsBy.CommunityType: InitializeTileView(View.TileRedirectOn, noticeboard, idDashboard, tileDisplayItems, tLayout, autoUpdateLayout, groupBy, TileType.CommunityType); break; case GroupItemsBy.Tile: InitializeTileView(View.TileRedirectOn, noticeboard, idDashboard, tileDisplayItems, tLayout, autoUpdateLayout, groupBy, TileType.CombinedTags); break; case GroupItemsBy.Tag: InitializeTileView(View.TileRedirectOn, noticeboard, idDashboard, tileDisplayItems, tLayout, autoUpdateLayout, groupBy, TileType.CommunityTag); break; case GroupItemsBy.None: if (!View.IsPreview) { View.LoadDashboard(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.List, GroupItemsBy.None, OrderItemsBy.LastAccess, DisplayNoticeboard.OnRight)); } break; } } }
private void LoadTags(DashboardViewType tileRedirectOn, DisplayNoticeboard noticeboard, long idDashboard, List <dtoLiteTile> tiles, Int32 tileDisplayItems, GroupItemsBy groupBy) { OrderItemsBy orderby = View.CurrentOrderItemsBy; Boolean displayLessCommand = View.DisplayLessCommand; Language l = CurrentManager.GetDefaultLanguage(); displayLessCommand = displayLessCommand = (displayLessCommand) && tiles.Count() + ((noticeboard == DisplayNoticeboard.Hide) ? 0 : 1) > tileDisplayItems; List <dtoTileDisplay> items = null; if (View.IsPreview) { items = tiles.Select(t => new dtoTileDisplay(t, UserContext.Language.Id, l.Id, true) { CommandUrl = RootObject.DashboardPreview(idDashboard, tileRedirectOn, groupBy, orderby, t.Tile.Id, t.Tile.GetAvailableIdTags().FirstOrDefault()) }).ToList(); } else { items = tiles.Select(t => new dtoTileDisplay(t, UserContext.Language.Id, l.Id) { CommandUrl = RootObject.LoadPortalView(UserContext.CurrentUserID, tileRedirectOn, groupBy, orderby, noticeboard, t.Tile.Id, t.Tile.GetAvailableIdTags().FirstOrDefault(), true, displayLessCommand) }).ToList(); } if (displayLessCommand) { View.LoadTiles(noticeboard, items); View.DisplayMoreCommand = false; View.DisplayLessCommand = true; } { View.LoadTiles(noticeboard, items.Skip(0).Take(tileDisplayItems - ((noticeboard == DisplayNoticeboard.Hide) ? 0 : 1)).ToList()); View.DisplayMoreCommand = tiles.Count() + ((noticeboard == DisplayNoticeboard.Hide) ? 0 : 1) > tileDisplayItems; } }
private void InitializeTileView(DashboardViewType tileRedirectOn, DisplayNoticeboard noticeboard, long idDashboard, Int32 tileDisplayItems, TileLayout tLayout, Boolean autoUpdateLayout, GroupItemsBy groupBy, TileType type) { List <dtoLiteTile> tiles = (View.IsPreview) ? Service.TilesGetForDashboard(idDashboard, type, false) : Service.TilesGetForUser(UserContext.CurrentUserID, idDashboard, type); if (tiles == null || !tiles.Any()) { View.DisplayUnableToLoadTile(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.List, GroupItemsBy.None, OrderItemsBy.LastAccess, noticeboard)); } View.CurrentTileLayout = Service.GetTileLayout(noticeboard, tiles.Count, tLayout, autoUpdateLayout); LoadTiles(tileRedirectOn, noticeboard, idDashboard, tiles, tileDisplayItems, groupBy); }
public void ShowMoreCommunities(long idDashboard, Int32 miniTileDisplayItems, TileLayout tLayout, Boolean autoUpdateLayout, GroupItemsBy groupBy, OrderItemsBy orderBy, long idCurrentTile, Boolean value, Boolean moreCommunities) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.Combined, groupBy, orderBy, View.CurrentDisplayNoticeboard, idCurrentTile, View.IdCurrentTag, true, value, moreCommunities)); } else { View.DisplayLessCommand = value; View.DisplayMoreCommand = !value; if (value) { View.SendUserAction(0, CurrentIdModule, idDashboard, ModuleDashboard.ActionType.CombinedDashboardMoreTiles); } else { View.SendUserAction(0, CurrentIdModule, idDashboard, ModuleDashboard.ActionType.CombinedDashboardLessTiles); } dtoTileDisplay selectedTile = null; switch (groupBy) { case GroupItemsBy.CommunityType: InitializeTileView(idDashboard, miniTileDisplayItems, tLayout, autoUpdateLayout, groupBy, orderBy, idCurrentTile, TileType.CommunityType, out selectedTile); break; case GroupItemsBy.Tile: InitializeTileView(idDashboard, miniTileDisplayItems, tLayout, autoUpdateLayout, groupBy, orderBy, idCurrentTile, TileType.CombinedTags, out selectedTile); break; case GroupItemsBy.Tag: InitializeTileView(idDashboard, miniTileDisplayItems, tLayout, autoUpdateLayout, groupBy, orderBy, idCurrentTile, TileType.CommunityTag, out selectedTile); break; case GroupItemsBy.None: View.LoadDashboard(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.List, GroupItemsBy.None, OrderItemsBy.LastAccess, DisplayNoticeboard.OnRight)); break; } } }
private void LoadMiniTags(List <dtoLiteTile> tiles, Int32 miniTileDisplayItems, GroupItemsBy groupBy, OrderItemsBy orderBy, ref long preloadIdTag) { long idTag = preloadIdTag; Boolean displayLessCommand = View.DisplayLessCommand; if (!tiles.Where(t => t.HasOnlyThisIdTag(idTag)).Any()) { idTag = tiles.Where(t => t.HasOnlyOneTag()).Select(t => t.Tile.GetFirstIdTag()).FirstOrDefault(); } View.IdCurrentTag = idTag; Language l = CurrentManager.GetDefaultLanguage(); displayLessCommand = (displayLessCommand) && tiles.Where(t => !t.HasOnlyThisIdTag(idTag)).Count() > miniTileDisplayItems; Boolean forPreview = View.IsPreview; List <dtoTileDisplay> items = tiles.Where(t => !t.HasOnlyThisIdTag(idTag)).Select(t => new dtoTileDisplay(t, UserContext.Language.Id, l.Id, forPreview) { CommandUrl = RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.Combined, groupBy, orderBy, DisplayNoticeboard.OnRight, t.Tile.Id, -1, true, displayLessCommand, false) }).ToList(); if (displayLessCommand) { View.LoadMiniTiles(items); View.DisplayMoreCommand = false; View.DisplayLessCommand = true; } { View.LoadMiniTiles(items.Skip(0).Take(miniTileDisplayItems).ToList()); View.DisplayMoreCommand = (tiles.Where(t => !t.HasOnlyThisIdTag(idTag)).Count() > miniTileDisplayItems); } preloadIdTag = idTag; }
private void LoadMiniTiles(long idDashboard, List <dtoLiteTile> tiles, Int32 miniTileDisplayItems, GroupItemsBy groupBy, OrderItemsBy orderBy, long preloadIdTile, out dtoTileDisplay selectedTile) { Boolean displayLessCommand = View.DisplayLessCommand; if (!tiles.Where(t => t.Tile.Id == preloadIdTile).Any()) { preloadIdTile = tiles.Select(t => t.Tile.Id).FirstOrDefault(); } View.IdCurrentTile = preloadIdTile; Language l = CurrentManager.GetDefaultLanguage(); displayLessCommand = (displayLessCommand) && tiles.Where(t => t.Tile.Id != preloadIdTile).Count() > miniTileDisplayItems; List <dtoTileDisplay> items = null; Boolean forPreview = View.IsPreview; if (forPreview) { items = tiles.Where(t => t.Tile.Id != preloadIdTile).Select(t => new dtoTileDisplay(t, UserContext.Language.Id, l.Id, forPreview) { CommandUrl = RootObject.DashboardPreview(idDashboard, DashboardViewType.Combined, groupBy, orderBy, t.Tile.Id) }).ToList(); } else { items = tiles.Where(t => t.Tile.Id != preloadIdTile).Select(t => new dtoTileDisplay(t, UserContext.Language.Id, l.Id) { CommandUrl = RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.Combined, groupBy, orderBy, DisplayNoticeboard.OnRight, t.Tile.Id, -1, true, displayLessCommand, false) }).ToList(); } if (displayLessCommand) { View.LoadMiniTiles(items); View.DisplayMoreCommand = false; View.DisplayLessCommand = true; } else { View.LoadMiniTiles(items.Skip(0).Take(miniTileDisplayItems).ToList()); View.DisplayMoreCommand = (tiles.Where(t => t.Tile.Id != preloadIdTile).Count() > miniTileDisplayItems); } selectedTile = tiles.Where(t => t.Tile.Id == preloadIdTile).Select(t => new dtoTileDisplay(t, UserContext.Language.Id, l.Id, forPreview)).FirstOrDefault(); }
private void InitializeTileView(long idDashboard, Int32 miniTileDisplayItems, TileLayout tLayout, Boolean autoUpdateLayout, GroupItemsBy groupBy, OrderItemsBy orderBy, long preloadIdTile, TileType type, out dtoTileDisplay selectedTile) { List <dtoLiteTile> tiles = (View.IsPreview) ? Service.TilesGetForDashboard(idDashboard, type, false) : Service.TilesGetForUser(UserContext.CurrentUserID, idDashboard, type); if (tiles != null) { tiles = tiles.Where(t => t.Tile.Type != TileType.DashboardUserDefined && t.Tile.Type != TileType.UserDefined).ToList(); } if (tiles == null || !tiles.Any()) { View.DisplayUnableToLoadTile(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.List, GroupItemsBy.None, OrderItemsBy.LastAccess, DisplayNoticeboard.OnRight)); View.CurrentTileLayout = tLayout; selectedTile = null; } else { View.CurrentTileLayout = Service.GetTileLayout(tiles.Count, tLayout, autoUpdateLayout); LoadMiniTiles(idDashboard, tiles, miniTileDisplayItems, groupBy, orderBy, preloadIdTile, out selectedTile); } }
public static String GroupByParameter(GroupItemsBy groupBy) { return("g=" + groupBy.ToString()); }
public static String LoadPortalView(Int32 iduser, DashboardViewType view, GroupItemsBy groupBy, OrderItemsBy orderItemsBy, DisplayNoticeboard dNoticeboard, long idTile = -1, long idTag = -1, Boolean loadFromUrl = false, Boolean moreTiles = false, Boolean moreCommunities = false) { return(GetPortalPage(iduser, view) + "g=" + groupBy.ToString() + "&n=" + dNoticeboard.ToString() + "&o=" + orderItemsBy.ToString() + ((idTile == -1) ? "" : "&idTile=" + idTile.ToString()) + ((idTag == -1) ? "" : "&idTag=" + idTag.ToString()) + ((!loadFromUrl) ? "" : "&lfu=" + loadFromUrl.ToString()) + ((!moreTiles) ? "" : "&mt=" + moreTiles.ToString()) + ((!moreCommunities) ? "" : "&mc=" + moreCommunities.ToString())); }
public static String DashboardPreview(long idDashboard, DashboardViewType vType, GroupItemsBy groupBy, OrderItemsBy orderItemsBy, long idTile = -1, long idTag = -1) { return(dashboardmodulehome + "Preview.aspx?idDashboard=" + idDashboard.ToString() + "&vType=" + vType.ToString() + "&step=" + WizardDashboardStep.None.ToString() + "&g=" + groupBy.ToString() + "&o=" + orderItemsBy.ToString() + ((idTile == -1) ? "" : "&idTile=" + idTile.ToString()) + ((idTag == -1) ? "" : "&idTag=" + idTag.ToString())); }