private void OnAddSubFolderItem(IComponentMetaDataContainer <TFolderMetaData> folderItem) { int lastFolderIdx = FoldersAndComponents.LastIndexOf(md => md.IsFolder); FoldersAndComponents.Insert(lastFolderIdx + 1, folderItem); }
private void OnRemoveSubFolderItem(IComponentMetaDataContainer <TFolderMetaData> folderItem) { FoldersAndComponents.Remove(folderItem); }
private static IEnumerable <IComponentMetaDataContainer> ToChildren <TId, TFolderMetaData, TComponentMetaData>(this IComponentMetaDataContainer componentDisplayMetadata) where TId : INameContainer where TFolderMetaData : class, IComponentDisplayMetadata where TComponentMetaData : class, IComponentDisplayMetadata { if (componentDisplayMetadata is ComponentFolder <TId, TFolderMetaData, TComponentMetaData> componentFolder) { return(componentFolder.FoldersAndComponents); } return(Enumerable.Empty <IComponentMetaDataContainer>()); }