|
@@ -348,7 +348,7 @@ namespace InABox.Core
|
|
columns.Add(new Column<T>(nameof(Entity.ID)));
|
|
columns.Add(new Column<T>(nameof(Entity.ID)));
|
|
|
|
|
|
var visibleProps = flags.HasFlag(ColumnTypeFlags.IncludeVisible)
|
|
var visibleProps = flags.HasFlag(ColumnTypeFlags.IncludeVisible)
|
|
- ? DefaultColumns.GetDefaultColumns(typeof(T)).Select(x => x.Property).ToHashSet()
|
|
|
|
|
|
+ ? DefaultColumns.GetDefaultColumns(typeof(T)).Select(x => x.Property).WithIndex().ToDictionary(x => x.Value, x => x.Key)
|
|
: null;
|
|
: null;
|
|
var hasVisibleProps = visibleProps != null && visibleProps.Count > 0;
|
|
var hasVisibleProps = visibleProps != null && visibleProps.Count > 0;
|
|
|
|
|
|
@@ -402,7 +402,7 @@ namespace InABox.Core
|
|
var visible = hasNullEditor || prop.Editor?.Visible == Visible.Hidden
|
|
var visible = hasNullEditor || prop.Editor?.Visible == Visible.Hidden
|
|
? Visible.Hidden
|
|
? Visible.Hidden
|
|
: hasVisibleProps
|
|
: hasVisibleProps
|
|
- ? (visibleProps!.Contains(prop) ? Visible.Default : Visible.Optional)
|
|
|
|
|
|
+ ? (visibleProps!.ContainsKey(prop) ? Visible.Default : Visible.Optional)
|
|
: (prop.Editor?.Visible ?? Visible.Optional);
|
|
: (prop.Editor?.Visible ?? Visible.Optional);
|
|
var editable = hasNullEditor ? Editable.Hidden : (prop.Editor?.Editable ?? Editable.Enabled);
|
|
var editable = hasNullEditor ? Editable.Hidden : (prop.Editor?.Editable ?? Editable.Enabled);
|
|
|
|
|
|
@@ -422,6 +422,12 @@ namespace InABox.Core
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (hasVisibleProps)
|
|
|
|
+ {
|
|
|
|
+ columns.SortBy(x => visibleProps?.GetValueOrDefault(x.PropertyDefinition) ?? (visibleProps!.Count + props.IndexOf(x.PropertyDefinition)));
|
|
|
|
+ }
|
|
|
|
+
|
|
return this;
|
|
return this;
|
|
}
|
|
}
|
|
|
|
|