protected void SetSubItems(ListItem item, bool forceUpdate) { if (item == null) { return; } HomeMenuGroup group = item.AdditionalProperties[KEY_ITEM_GROUP] as HomeMenuGroup; bool fireChange = false; var actions = _homeProxy.GetGroupActions(group); if (forceUpdate || SubItemsNeedUpdate(_subItems, actions)) { _subItemNavigationList.Clear(); _subItems.Clear(); List <SubItem> subItems = CreateSubItems(actions); CollectionUtils.AddAll(_subItemNavigationList, subItems); CollectionUtils.AddAll(_subItems, subItems); fireChange = true; } FocusCurrentSubItem(item); if (fireChange) { _subItems.FireChange(); } }
public GroupProxy(HomeMenuGroup group) { _group = group; if (_group != null) { _items.AddRange(_group.Actions); DisplayName = _group.DisplayName; } UpdateItems(); }
public bool SaveGroup() { bool created = false; if (_group == null) { created = true; _group = new HomeMenuGroup() { Id = Guid.NewGuid() }; } _group.DisplayName = DisplayName; _group.Actions = new List <HomeMenuAction>(_items); return(created); }
public IList <WorkflowAction> GetGroupActions(HomeMenuGroup group) { var availableActions = _availableActions; List <WorkflowAction> actions; if (group == null) { actions = _availableActions.Values.Where(a => !_groupedActions.ContainsKey(a.ActionId)).ToList(); actions.Sort(Compare); } else { actions = new List <WorkflowAction>(); foreach (var actionItem in group.Actions) { WorkflowAction action; if (availableActions.TryGetValue(actionItem.ActionId, out action)) { actions.Add(action); } } } return(actions); }
public GroupListItem(HomeMenuGroup group) { _group = group; SetLabel(Consts.KEY_NAME, LocalizationHelper.CreateResourceString(group.DisplayName)); }