mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Removed unintentionally added file.
This commit is contained in:
@@ -367,7 +367,6 @@
|
|||||||
<Compile Include="Helpers\PrefixHelper.cs" />
|
<Compile Include="Helpers\PrefixHelper.cs" />
|
||||||
<Compile Include="Helpers\JsonHelper.cs" />
|
<Compile Include="Helpers\JsonHelper.cs" />
|
||||||
<Compile Include="Helpers\StringHelper.cs" />
|
<Compile Include="Helpers\StringHelper.cs" />
|
||||||
<Compile Include="Providers\WidgetElementHarvester.cs" />
|
|
||||||
<Compile Include="Recipes\Builders\CustomElementsStep.cs" />
|
<Compile Include="Recipes\Builders\CustomElementsStep.cs" />
|
||||||
<Compile Include="Recipes\Executors\CustomElementsStep.cs" />
|
<Compile Include="Recipes\Executors\CustomElementsStep.cs" />
|
||||||
<Compile Include="Providers\BlueprintElementHarvester.cs" />
|
<Compile Include="Providers\BlueprintElementHarvester.cs" />
|
||||||
|
|||||||
@@ -1,71 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using Orchard.ContentManagement.MetaData;
|
|
||||||
using Orchard.ContentManagement.MetaData.Models;
|
|
||||||
using Orchard.Core.Contents.Settings;
|
|
||||||
using Orchard.Environment;
|
|
||||||
using Orchard.Layouts.Framework.Display;
|
|
||||||
using Orchard.Layouts.Framework.Elements;
|
|
||||||
using Orchard.Layouts.Framework.Harvesters;
|
|
||||||
using Orchard.Layouts.Services;
|
|
||||||
using Orchard.Layouts.Settings;
|
|
||||||
using Orchard.Utility.Extensions;
|
|
||||||
|
|
||||||
namespace Orchard.Layouts.Providers {
|
|
||||||
public class WidgetElementHarvester : Component, IElementHarvester {
|
|
||||||
private readonly Work<IContentDefinitionManager> _contentDefinitionManager;
|
|
||||||
private readonly Work<IElementFactory> _elementFactory;
|
|
||||||
private readonly Work<IElementManager> _elementManager;
|
|
||||||
|
|
||||||
public WidgetElementHarvester(
|
|
||||||
Work<IContentDefinitionManager> contentDefinitionManager,
|
|
||||||
Work<IElementFactory> elementFactory,
|
|
||||||
Work<IElementManager> elementManager) {
|
|
||||||
|
|
||||||
_contentDefinitionManager = contentDefinitionManager;
|
|
||||||
_elementFactory = elementFactory;
|
|
||||||
_elementManager = elementManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IEnumerable<ElementDescriptor> HarvestElements(HarvestElementsContext context) {
|
|
||||||
var elementType = typeof(Elements.ContentPart);
|
|
||||||
var contentPartElement = _elementFactory.Value.Activate(elementType);
|
|
||||||
var contentParts = GetContentParts(context);
|
|
||||||
|
|
||||||
return contentParts.Select(contentPart => {
|
|
||||||
|
|
||||||
var partSettings = contentPart.Settings.TryGetModel<ContentPartSettings>();
|
|
||||||
var partDescription = partSettings != null ? partSettings.Description : null;
|
|
||||||
var description = T(!String.IsNullOrWhiteSpace(partDescription) ? partDescription : contentPart.Name);
|
|
||||||
return new ElementDescriptor(elementType, contentPart.Name, T(contentPart.Name.CamelFriendly()), description, contentPartElement.Category) {
|
|
||||||
Displaying = displayContext => Displaying(displayContext),
|
|
||||||
ToolboxIcon = "\uf1b2",
|
|
||||||
StateBag = new Dictionary<string, object> {
|
|
||||||
{"ElementTypeName", contentPart.Name}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private IEnumerable<ContentPartDefinition> GetContentParts(HarvestElementsContext context) {
|
|
||||||
var contentTypeDefinition = context.Content != null
|
|
||||||
? _contentDefinitionManager.Value.GetTypeDefinition(context.Content.ContentItem.ContentType)
|
|
||||||
: default(ContentTypeDefinition);
|
|
||||||
|
|
||||||
var parts = contentTypeDefinition != null
|
|
||||||
? contentTypeDefinition.Parts.Select(x => x.PartDefinition)
|
|
||||||
: _contentDefinitionManager.Value.ListPartDefinitions();
|
|
||||||
|
|
||||||
return parts.Where(p => p.Settings.GetModel<ContentPartLayoutSettings>().Placeable);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Displaying(ElementDisplayingContext context) {
|
|
||||||
var drivers = _elementManager.Value.GetDrivers(context.Element);
|
|
||||||
|
|
||||||
foreach (var driver in drivers) {
|
|
||||||
driver.Displaying(context);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user