public override void OnApplyingFallbackDefaults(EntityDefinition entity, EntityFieldDefinition field) { if (string.IsNullOrWhiteSpace(field.DisplayName)) { field.DisplayName = field.Property.Name.FormatForDisplay(); } }
public override async Task <IViewComponentResult> InvokeAsync(EntityFieldDefinition fieldDefinition, object value) { var metadata = fieldDefinition.Using <CrudAdminEntityFieldFeature>(); if (!metadata.EditorProperties.TryGetValue("DataSource", out var dataSourceDefinition)) { throw new ArgumentNullException("DataSource"); } var dataSource = dataSourceFactory.Create(dataSourceDefinition); var data = await dataSourceReader.ReadFrom(dataSource); return(View(new DropDownFieldEditorViewModel { Id = fieldDefinition.Property.Name, FieldName = fieldDefinition.Property.Name, Label = fieldDefinition.DisplayName, Value = value?.ToString() ?? string.Empty, Options = data.Select(x => new DropDownOptionViewModel { Value = x.Key, Label = x.Value, }), })); }
public override async Task <IViewComponentResult> InvokeAsync(EntityFieldDefinition fieldDefinition, object value) { if (value is not IEnumerable <string> typedValue) { throw new ArgumentException($"ViewComponent parameter ${value} must be of type {nameof(IEnumerable<string>)}", nameof(value)); } var metadata = fieldDefinition.Using <CrudAdminEntityFieldFeature>(); if (!metadata.EditorProperties.TryGetValue("DataSource", out var dataSourceDefinition)) { throw new ArgumentNullException("DataSource"); } var dataSource = dataSourceFactory.Create(dataSourceDefinition); var data = await dataSourceReader.ReadFrom(dataSource); return(View(new MultiSelectFieldEditorViewModel { Id = fieldDefinition.Property.Name, FieldName = fieldDefinition.Property.Name, Label = fieldDefinition.DisplayName, Value = typedValue, Options = data.Select(x => new DropDownOptionViewModel { Value = x.Key, Label = x.Value, }), })); }
public override void OnApplyingModule(EntityDefinition entity, EntityFieldDefinition field) { var definitionAttributes = field.Property.GetCustomAttributes <EntityFieldDefinitionAttribute>(); foreach (var definitionAttribute in definitionAttributes) { definitionAttribute.ApplyToEntityFieldDefinition(entity, field); } }
public override void OnApplyingModule(EntityDefinition entity, EntityFieldDefinition field) { var metadata = field.Using <CrudAdminEntityFieldFeature>(); if (field.Property.Name == nameof(IEntity.Id)) { metadata.DisplayInEditor = false; metadata.DisplayOnSearch = false; } }
private EntityFieldEditorViewModel BuildFieldViewModel(EntityFieldDefinition definition, TEntity value, CrudAdminEntityFieldFeature feature) { return(new EntityFieldEditorViewModel(definition) { FieldName = definition.Property.Name, FieldEditorName = feature.EditorViewComponentName, Hidden = !feature.DisplayInEditor, Value = definition.Property.GetValue(value), }); }
public override Task <IViewComponentResult> InvokeAsync(EntityFieldDefinition fieldDefinition, object value) { return(Task.FromResult <IViewComponentResult>(View(new InputFieldEditorViewModel { Id = fieldDefinition.Property.Name, FieldName = fieldDefinition.Property.Name, Label = fieldDefinition.DisplayName, Value = value, }))); }
private TableColumnViewModel BuildColumnViewModel(EntityFieldDefinition field) { var metadata = field.Using <CrudAdminEntityFieldFeature>(); return(new TableColumnViewModel { DisplayName = field.DisplayName, Key = field.Property.Name, DisplayTemplate = metadata.DisplayTemplate, Properties = metadata.DisplayProperties, }); }
public override void OnApplyingFallbackDefaults(EntityDefinition entity, EntityFieldDefinition field) { var metadata = field.Using <CrudAdminEntityFieldFeature>(); if (string.IsNullOrWhiteSpace(metadata.EditorViewComponentName)) { metadata.EditorViewComponentName = nameof(InputFieldEditor); } if (string.IsNullOrWhiteSpace(metadata.DisplayTemplate)) { metadata.DisplayTemplate = field.Property.PropertyType !.Name; } }
public abstract Task <IViewComponentResult> InvokeAsync(EntityFieldDefinition fieldDefinition, object value);
public static IHtmlContent DisplayForDefinedField <TModel, TResult>(this IHtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TResult> > expression, EntityFieldDefinition definition) { var metadata = definition.Using <CrudAdminEntityFieldFeature>(); return(htmlHelper.DisplayFor(expression, metadata.DisplayTemplate, definition.Property.Name, metadata.DisplayProperties)); }
public virtual void OnApplyingFallbackDefaults(EntityDefinition entity, EntityFieldDefinition field) { }
public virtual void OnApplyingModule(EntityDefinition entity, EntityFieldDefinition field) { }
/// <summary> /// Applies any changes to the entity field Definition caused by this attribute /// </summary> /// <param name="entity">The entity definition the field is on</param> /// <param name="field">The entity field Definition being built</param> protected internal abstract void ApplyToEntityFieldDefinition(EntityDefinition entity, EntityFieldDefinition field);
internal EntityFieldDefinitionBuilder(EntityDefinition entity, EntityFieldDefinition field) { this.entity = entity; this.field = field; }
protected override void ApplyToEntityFieldDefinition(EntityDefinition entity, EntityFieldDefinition field) { var metadata = field.Using <CrudAdminEntityFieldFeature>(); metadata.EditorViewComponentName = ViewComponentName; }
protected override void ApplyToEntityFieldDefinition(EntityDefinition entity, EntityFieldDefinition field) { var metadata = field.Using <CrudAdminEntityFieldFeature>(); metadata.EditorProperties[Name] = Value; }
/// <inheritdoc /> protected internal override void ApplyToEntityFieldDefinition(EntityDefinition entity, EntityFieldDefinition field) { field.Using <JsonLdFieldFeature>().ExcludeFromLinkedData = true; }
protected internal override void ApplyToEntityFieldDefinition(EntityDefinition entity, EntityFieldDefinition field) { field.Using <JsonLdFieldFeature>().Iri = Iri; }