@(await Component.InvokeAsync
())
+
+ @RenderSection("content_toolbar", false)
+
@RenderBody()
diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/jquery-extensions.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/jquery-extensions.js
index c9d11b5fac..b3fa839d10 100644
--- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/jquery-extensions.js
+++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/jquery-extensions.js
@@ -63,14 +63,14 @@
});
};
- var toCamelCase = function(str) {
+ var toCamelCase = function (str) {
var regexs = [
/(^[A-Z])/, // first char of string
/((\.)[A-Z])/ // first char after a dot (.)
];
regexs.forEach(
- function(regex) {
+ function (regex) {
var infLoopAvoider = 0;
while (regex.test(str)) {
@@ -87,7 +87,7 @@
return str;
};
- $.fn.serializeFormToObject = function (camelCase = true) {
+ $.fn.serializeFormToObject = function (camelCase) {
//serialize to array
var data = $(this).serializeArray();
@@ -108,14 +108,26 @@
//map to object
var obj = {};
- if (camelCase) {
+ if (camelCase !== undefined ? camelCase : true) {
data.forEach(function (d) {
d.name = toCamelCase(d.name);
});
}
data.map(function (x) {
- obj[x.name] = x.value;
+ //TODO: improve mapping. it only supports one level deep object.
+ var names = x.name.split(".");
+ if (names.length === 1 && !obj[names[0]]) {
+ obj[names[0]] = x.value;
+ }
+ else if (names.length === 2) {
+ if (!obj[names[0]]) {
+ obj[names[0]] = {};
+ }
+ if (!obj[names[0]][names[1]]) {
+ obj[names[0]][names[1]] = x.value;
+ }
+ }
});
return obj;
@@ -152,7 +164,7 @@
}
});
- $(this).on('abp-ajax-success',function () {
+ $(this).on('abp-ajax-success', function () {
formSaved = true;
});
};
diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo.Abp.AspNetCore.Mvc.UI.Widgets.csproj b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo.Abp.AspNetCore.Mvc.UI.Widgets.csproj
new file mode 100644
index 0000000000..26634c6270
--- /dev/null
+++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo.Abp.AspNetCore.Mvc.UI.Widgets.csproj
@@ -0,0 +1,16 @@
+