Layer stack
Layers in processing order with the one that wins, and which were enforced or filtered out, and why.
1 demo
Layers in processing order with the one that wins, and which were enforced or filtered out, and why.
Build one like it
The smallest complete version, in each language CanopyX supports for this view. The demo above is the same API with more data.
using CanopyX;
using CanopyX.Html;
var layers = new CanopyDataGridView("settings", "Where the setting comes from") {
Stack = new CanopyStack()
};
layers.Columns.Add(new CanopyColumn("title", "Layer") { RowHeader = true });
layers.Columns.Add(new CanopyColumn("value", "Value"));
foreach (var (id, title, value) in new[] {
("defaults", "Shared defaults", "Standard"),
("site", "Site policy", "Extended"),
("user", "User preference", "Compact")
}) {
var row = new CanopyGridRow(id);
row.Cells["title"] = title;
row.Cells["value"] = value;
layers.Rows.Add(row);
}
layers.Stack.Layers.Add(new CanopyStackLayer(
"defaults", "defaults", "The starting value."));
layers.Stack.Layers.Add(new CanopyStackLayer(
"site", "site", "Enforced by policy, but a user may narrow it.") {
Enforced = true
});
layers.Stack.Layers.Add(new CanopyStackLayer(
"user", "user", "The value this session uses.") {
Winner = true
});
layers.SaveHtmlPage("stack.html");Run this snippet (layer stack, C#)Its output, generated with the site.
Try this in the demo
- Winner
Look at the panel at the top.
The layer the host selected is named first, with the value it supplies.
- Order
Read the layers from 1 down.
Each one says what it contributes; enforced and filtered layers are marked and explained.
- Records
Press Tab to reach a layer, then Enter.
The record behind the layer opens in the record panel.