Orchard/src/Orchard.Web/Modules/Orchard.Layouts/Framework/Drivers/ElementDriver.cs

112 lines
3.8 KiB
C#
Raw Normal View History

2014-10-15 07:07:00 +08:00
using System;
using System.Linq;
using Orchard.Layouts.Framework.Display;
using Orchard.Layouts.Framework.Elements;
namespace Orchard.Layouts.Framework.Drivers {
public abstract class ElementDriver<TElement> : Component, IElementDriver where TElement: Element {
2014-10-15 07:07:00 +08:00
public virtual int Priority {
get { return 0; }
}
public EditorResult BuildEditor(ElementEditorContext context) {
return OnBuildEditor((TElement) context.Element, context);
}
public EditorResult UpdateEditor(ElementEditorContext context) {
return OnUpdateEditor((TElement)context.Element, context);
}
public void CreatingDisplay(ElementCreatingDisplayShapeContext context) {
OnCreatingDisplay((TElement)context.Element, context);
}
2015-04-04 23:22:17 +08:00
public void Displaying(ElementDisplayingContext context) {
2014-10-15 07:07:00 +08:00
OnDisplaying((TElement) context.Element, context);
}
2015-04-04 23:22:17 +08:00
public void Displayed(ElementDisplayedContext context) {
OnDisplayed((TElement)context.Element, context);
}
2014-10-15 07:07:00 +08:00
public void LayoutSaving(ElementSavingContext context) {
OnLayoutSaving((TElement) context.Element, context);
}
public void Removing(ElementRemovingContext context) {
OnRemoving((TElement) context.Element, context);
}
public void Exporting(ExportElementContext context) {
OnExporting((TElement)context.Element, context);
}
public void Exported(ExportElementContext context) {
OnExported((TElement)context.Element, context);
}
public void Importing(ImportElementContext context) {
OnImporting((TElement)context.Element, context);
}
public void Imported(ImportElementContext context) {
OnImported((TElement)context.Element, context);
}
public void ImportCompleted(ImportElementContext context) {
OnImportCompleted((TElement)context.Element, context);
}
2014-10-15 07:07:00 +08:00
protected virtual EditorResult OnBuildEditor(TElement element, ElementEditorContext context) {
return null;
}
protected virtual EditorResult OnUpdateEditor(TElement element, ElementEditorContext context) {
return OnBuildEditor(element, context);
}
protected virtual void OnCreatingDisplay(TElement element, ElementCreatingDisplayShapeContext context) {
}
2015-04-04 23:22:17 +08:00
protected virtual void OnDisplaying(TElement element, ElementDisplayingContext context) {
}
protected virtual void OnDisplayed(TElement element, ElementDisplayedContext context) {
2014-10-15 07:07:00 +08:00
}
protected virtual void OnLayoutSaving(TElement element, ElementSavingContext context) {
}
protected virtual void OnRemoving(TElement element, ElementRemovingContext context) {
}
protected virtual void OnExporting(TElement element, ExportElementContext context) {
}
protected virtual void OnExported(TElement element, ExportElementContext context) {
}
protected virtual void OnImporting(TElement element, ImportElementContext context) {
}
protected virtual void OnImported(TElement element, ImportElementContext context) {
}
protected virtual void OnImportCompleted(TElement element, ImportElementContext context) {
}
2014-10-15 07:07:00 +08:00
protected EditorResult Editor(ElementEditorContext context, params dynamic[] editorShapes) {
foreach (var editorShape in editorShapes) {
if (String.IsNullOrWhiteSpace(editorShape.Metadata.Position)) {
editorShape.Metadata.Position = "Properties:0";
}
}
var result = new EditorResult {
Editors = editorShapes.ToList()
};
return result;
}
}
}