diff --git a/demos/kanban/defaultfunctionality/App.razor b/demos/kanban/defaultfunctionality/App.razor
new file mode 100644
index 00000000..9f92c461
--- /dev/null
+++ b/demos/kanban/defaultfunctionality/App.razor
@@ -0,0 +1,279 @@
+
+
+@code {
+ string size = "100%";
+ string orientation = "horizontal";
+
+ static IDictionary[] splitterPanels1 = new Dictionary[]
+ {
+ new Dictionary
+ {
+ { "size", 250 }, { "min", 100 }
+ },
+ new Dictionary
+ {
+ { "min", 250 }
+ }
+ };
+
+ static IDictionary[] splitterPanels2 = new Dictionary[]
+ {
+ new Dictionary
+ {
+ { "size", 350 }, { "min", 200 }, { "collapsible", false }
+ },
+ new Dictionary
+ {
+ { "min", 200 }
+ }
+ };
+
+ static IDictionary[] fields = new Dictionary[]
+ {
+ new Dictionary
+ {
+ { "name", "status" }, { "map", "state" }, { "type", "string" }
+ },
+ new Dictionary
+ {
+ { "name", "text" }, { "map", "label" }, { "type", "string" }
+ },
+ new Dictionary
+ {
+ { "name", "tags" }, { "type", "string" }
+ },
+ new Dictionary
+ {
+ { "name", "color" }, { "map", "hex" }, { "type", "string" }
+ },
+ new Dictionary
+ {
+ { "name", "resourceId" }, { "type", "number" }
+ }
+ };
+
+ static IDictionary source1 = new Dictionary()
+ {
+ { "dataType", "array" },
+ { "dataFields", fields },
+ {
+ "localData",
+ new Dictionary[]
+ {
+ new Dictionary
+ {
+ { "state", "new" }, { "label", "Combine Orders" }, { "tags", "orders, combine" }, { "hex", "#5dc3f0" }, { "resourceId", 3 }
+ },
+ new Dictionary
+ {
+ { "state", "new" }, { "label", "Change Billing Address" }, { "tags", "billing" }, { "hex", "#f19b60" }, { "resourceId", 1 }
+ },
+ new Dictionary
+ {
+ { "state", "new" }, { "label", "One item added to the cart" }, { "tags", "cart" }, { "hex", "#5dc3f0" }, { "resourceId", 3 }
+ },
+ new Dictionary
+ {
+ { "state", "new" }, { "label", "Edit Item Price" }, { "tags", "price, edit" }, { "hex", "#5dc3f0" }, { "resourceId", 4 }
+ },
+ new Dictionary
+ {
+ { "state", "new" }, { "label", "Login 404 issue" }, { "tags", "issue, login" }, { "hex", "#6bbd49" }
+ }
+ }
+ }
+ };
+
+ static IDictionary[] columns1 = new Dictionary[]
+ {
+ new Dictionary
+ {
+ { "text", "Backlog" }, { "dataField", "new" }, { "maxItems", 10 }
+ }
+ };
+
+ static IDictionary source2 = new Dictionary()
+ {
+ { "dataType", "array" },
+ { "dataFields", fields },
+ {
+ "localData",
+ new Dictionary[]
+ {
+ new Dictionary
+ {
+ { "state", "ready" }, { "label", "Logout issue" }, { "tags", "logout, issue" }, { "hex", "#5dc3f0" }, { "resourceId", 7 }
+ },
+ new Dictionary
+ {
+ { "state", "ready" }, { "label", "Remember password issue" }, { "tags", "password, issue" }, { "hex", "#6bbd49" }, { "resourceId", 8 }
+ },
+ new Dictionary
+ {
+ { "state", "ready" }, { "label", "Cart calculation issue" }, { "tags", "cart, calculation" }, { "hex", "#f19b60" }, { "resourceId", 9 }
+ },
+ new Dictionary
+ {
+ { "state", "ready" }, { "label", "Remove topic issue" }, { "tags", "topic, issue" }, { "hex", "#6bbd49" }
+ }
+ }
+ }
+ };
+
+ static IDictionary[] columns2 = new Dictionary[]
+ {
+ new Dictionary
+ {
+ { "text", "Ready" }, { "dataField", "ready" }, { "maxItems", 10 }
+ }
+ };
+
+ static IDictionary source3 = new Dictionary()
+ {
+ { "dataType", "array" },
+ { "dataFields", fields },
+ {
+ "localData",
+ new Dictionary[]
+ {
+ new Dictionary
+ {
+ { "state", "done" }, { "label", "Delete orders" }, { "tags", "orders, combine" }, { "hex", "#f19b60" }, { "resourceId", 4 }
+ },
+ new Dictionary
+ {
+ { "state", "work" }, { "label", "Add New Address" }, { "tags", "address" }, { "hex", "#6bbd49" }, { "resourceId", 5 }
+ },
+ new Dictionary
+ {
+ { "state", "new" }, { "label", "Rename items" }, { "tags", "rename" }, { "hex", "#5dc3f0" }, { "resourceId", 6 }
+ },
+ new Dictionary
+ {
+ { "state", "work" }, { "label", "Update cart" }, { "tags", "cart, update" }, { "hex", "#6bbd49" }
+ }
+ }
+ }
+ };
+
+ static IDictionary[] columns3 = new Dictionary[]
+ {
+ new Dictionary
+ {
+ { "text", "Backlog" }, { "dataField", "new" }, { "maxItems", 10 }
+ }
+ };
+
+ static IDictionary resourcesSource = new Dictionary()
+ {
+ { "dataType", "array" },
+ {
+ "dataFields",
+ new Dictionary[]
+ {
+ new Dictionary
+ {
+ { "name", "id" }, { "type", "number" }
+ },
+ new Dictionary
+ {
+ { "name", "name" }, { "type", "string" }
+ },
+ new Dictionary
+ {
+ { "name", "image" }, { "type", "string" }
+ },
+ new Dictionary
+ {
+ { "name", "common" }, { "type", "boolean" }
+ }
+ }
+ },
+ {
+ "localData",
+ new Dictionary[]
+ {
+ new Dictionary
+ {
+ { "id", 0 }, { "name", "No name" }, { "image", "../jqwidgets/styles/images/common.png" }, { "common", true }
+ },
+ new Dictionary
+ {
+ { "id", 1 }, { "name", "Andrew Fuller" }, { "image", "../images/andrew.png" }
+ },
+ new Dictionary
+ {
+ { "id", 2 }, { "name", "Janet Leverling" }, { "image", "../images/janet.png" }
+ },
+ new Dictionary
+ {
+ { "id", 3 }, { "name", "Steven Buchanan" }, { "image", "../images/steven.png" }
+ },
+ new Dictionary
+ {
+ { "id", 4 }, { "name", "Nancy Davolio" }, { "image", "../images/nancy.png" }
+ },
+ new Dictionary
+ {
+ { "id", 5 }, { "name", "Michael Buchanan" }, { "image", "../images/Michael.png" }
+ },
+ new Dictionary
+ {
+ { "id", 6 }, { "name", "Margaret Buchanan" }, { "image", "../images/margaret.png" }
+ },
+ new Dictionary
+ {
+ { "id", 7 }, { "name", "Robert Buchanan" }, { "image", "../images/robert.png" }
+ },
+ new Dictionary
+ {
+ { "id", 8 }, { "name", "Laura Buchanan" }, { "image", "../images/Laura.png" }
+ },
+ new Dictionary
+ {
+ { "id", 9 }, { "name", "Anna Short" }, { "image", "../images/Anne.png" }
+ }
+ }
+ }
+ };
+}
+
+
diff --git a/dev-project/App.razor b/dev-project/App.razor
index 105abe0b..6a153f4f 100644
--- a/dev-project/App.razor
+++ b/dev-project/App.razor
@@ -1,102 +1,40 @@
-
-
-
-
+@*
+ Blazor has good tree shaking so when it builds for production
+ only includes the needed modules for the demo. As in the release the modules
+ are reused, we need this modules to be all the needed for all demos.
-@code {
+ If some demo when build misses a module, copy/paste this file
+ in App.razor, build the project and copy/paste the generated modules
+ in the release folder.
- IDictionary pivotDataSource = new Dictionary()
- {
- { "dataSource", dataSource },
- { "options",
- new Dictionary()
- {
- { "pivotValuesOnRows", false },
- { "rows",
- new Dictionary[]
- {
- new Dictionary() { { "dataField", "country" }, { "width", 190 } }
- }
- },
- {
- "values",
- new Dictionary[]
- {
- new Dictionary()
- {
- { "dataField", "value" },
- { "width", 200 },
- { "function", "min" },
- { "text", "cells left alignment" },
- {
- "formatSettings",
- new Dictionary() { { "align", "left" }, { "prefix", "" }, { "decimalPlaces", "2" } }
- }
- },
- new Dictionary()
- {
- { "dataField", "value" },
- { "width", 200 },
- { "function", "max" },
- { "text", "cells center alignment" },
- {
- "formatSettings",
- new Dictionary() { { "align", "center" }, { "prefix", "" }, { "decimalPlaces", "2" } }
- }
- },
- new Dictionary()
- {
- { "dataField", "value" },
- { "width", 200 },
- { "function", "average" },
- { "text", "cells right alignment" },
- {
- "formatSettings",
- new Dictionary() { { "align", "right" }, { "prefix", "" }, { "decimalPlaces", "2" } }
- }
- }
- }
- }
- }
-
- }
- };
+ BUILD: dotnet publish -c release
+ FROM: dev-project/bin/release/netstandard2.1/publish/blazor-web/dist/_framework/_bin/
+ TO: release/common/_framework/_bin/
+*@
- static IDictionary dataSource = new Dictionary()
- {
- { "localdata", generateLocalData() },
- { "datatype", "array" },
- {
- "dataFields",
- new Dictionary[]
- {
- new Dictionary() { { "name", "country" }, { "type", "string" } },
- new Dictionary() { { "name", "value" }, { "type", "string" } }
- }
- }
- };
+@inject HttpClient Http;
+
+
+
+
+
+@code {
- static List> generateLocalData()
+ private object[] source;
+
+ protected override async Task OnInitializedAsync()
{
- string[] countries = new string[] { "Germany", "France", "United States", "Italy", "Spain", "Finland", "Canada", "Japan", "Brazil", "United Kingdom", "China", "India", "South Korea", "Romania", "Greece" };
- string[] values = new string[] { "2.25", "1.5", "3.0", "3.3", "4.5", "3.6", "3.8", "2.5", "5.0", "1.75", "3.25", "4.0", "3.0", "1.0" };
+ source = await Http.GetJsonAsync