コード例 #1
0
        public void RemoveItem(SelectedItemModel <T> item)
        {
            if (this.SelectedItems.Contains(item))
            {
                this.SelectedItems.Remove(item);

                this.CurrentSelectedItem = null;

                //this.OnItemsChanged?.Invoke(this, EventArgs.Empty);
            }
        }
コード例 #2
0
        private void AddItemToSelectedList(T value)
        {
            //Do not add duplicate values
            if (this.SelectedItems.Any(i => i.Value.Equals(value)))
            {
                return;
            }

            if (value == null || string.IsNullOrWhiteSpace(_getSelectedItemTitleFunc(value)))
            {
                return;
            }

            var newItem = new SelectedItemModel <T>(value, _getSelectedItemTitleFunc);

            newItem.OnRequestRemove += (sender, i) => { this.RemoveItem(((SelectedItemModel <T>)sender)); };

            this.SelectedItems.Add(newItem);

            //this.OnItemsChanged?.Invoke(this, EventArgs.Empty);
        }
コード例 #3
0
        /// <summary>
        /// Returns the model for each NodeSelector persisted item
        /// </summary>
        /// <param name="id"></param>
        /// <param name="treeId"> </param>
        /// <param name="url"> </param>
        /// <returns></returns>
        internal SelectedItemModel GetNodeSelectorItemModel(HiveId id, Guid treeId, Func<UrlHelper> url)
        {
            _ensureInitialized();

            var model = new SelectedItemModel();

            var entity = GetEntity(id);

            if (entity == null)
                return null;
            model.NodeName = _getTreeNodeAlias(entity);
            model.NodeId = entity.Id;
            var icon = entity.EntitySchema.GetXmlConfigProperty("icon");
            if (!string.IsNullOrEmpty(icon))
            {
                if (icon.Contains("."))
                {
                    model.NodeIcon =
                        url().Content(
                            _backOfficeRequestContext.Application.Settings.RebelFolders.
                                DocTypeIconFolder + "/" + icon);
                }
                else
                {
                    model.NodeStyle = icon;
                }
            }            
            
            return model;
        }