Exemple #1
0
        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();
            }
        }
Exemple #2
0
 public GroupProxy(HomeMenuGroup group)
 {
     _group = group;
     if (_group != null)
     {
         _items.AddRange(_group.Actions);
         DisplayName = _group.DisplayName;
     }
     UpdateItems();
 }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
 public GroupListItem(HomeMenuGroup group)
 {
     _group = group;
     SetLabel(Consts.KEY_NAME, LocalizationHelper.CreateResourceString(group.DisplayName));
 }