From 6c85ee4777326a867f62e42320ae2d2b5b34136a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 26 Jul 2019 14:45:21 +0300 Subject: [PATCH] Remove DashboardManager --- .../SharedThemeGlobalScriptContributor.cs | 1 - .../jquery/dashboard-manager.js | 54 --------- .../jquery/widget-manager.js | 103 +++++++++--------- .../DashboardDemoWebModule.cs | 1 + .../DashboardDemo.Web/Pages/MyDashboard.js | 2 +- 5 files changed, 55 insertions(+), 106 deletions(-) delete mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/dashboard-manager.js diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Bundling/SharedThemeGlobalScriptContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Bundling/SharedThemeGlobalScriptContributor.cs index a533dc74f3..e722de8ee3 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Bundling/SharedThemeGlobalScriptContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/Bundling/SharedThemeGlobalScriptContributor.cs @@ -36,7 +36,6 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Bundling "/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/jquery-extensions.js", "/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery-form/jquery-form-extensions.js", "/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/widget-manager.js", - "/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/dashboard-manager.js", "/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/dom-event-handlers.js", "/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js", "/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js", diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/dashboard-manager.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/dashboard-manager.js deleted file mode 100644 index 4a12085076..0000000000 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/dashboard-manager.js +++ /dev/null @@ -1,54 +0,0 @@ -(function ($) { - - abp.DashboardManager = function (opts) { - - if (typeof opts === 'string') { - opts = { - wrapper: opts - }; - } - - var $dashboardWrapper; - if (typeof opts.wrapper === 'string') { - $dashboardWrapper = $(opts.wrapper); - } else { - $dashboardWrapper = opts.wrapper; - } - - var init = function () { - $dashboardWrapper.find('.abp-widget-wrapper').each(function () { - var widgetManager = new abp.WidgetManager({ - wrapper: $(this), - filterCallback: opts.filterCallback || function () { - if (opts.filterForm) { - return opts.filterForm.serializeFormToObject(); - } - - return {}; - } - }); - - widgetManager.init(); - }); - }; - - var refresh = function () { - $dashboardWrapper.find('.abp-widget-wrapper').each(function () { - var widgetManager = $(this).data('abp-widget-manager'); - widgetManager && widgetManager.refresh(); - }); - }; - - if (opts.filterForm) { - opts.filterForm.submit(function (e) { - e.preventDefault(); - refresh(); - }); - } - - return { - init: init, - refresh: refresh - }; - }; -})(jQuery); \ No newline at end of file diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/widget-manager.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/widget-manager.js index 019ab3644b..87dc9a1ed0 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/widget-manager.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/widget-manager.js @@ -2,28 +2,29 @@ abp.widgets = abp.widgets || {}; abp.WidgetManager = function (opts) { - if (typeof opts === 'string') { + if (!opts) { + opts = {}; + } else if (typeof opts === 'string') { opts = { wrapper: opts }; } - var $widgetWrapperDiv; - if (typeof opts.wrapper === 'string') { - $widgetWrapperDiv = $(opts.wrapper); - } else { - $widgetWrapperDiv = opts.wrapper; + if (!opts.wrapper) { + opts.wrapper = $('body'); + } else if (typeof opts.wrapper === 'string') { + opts.wrapper = $(opts.wrapper); } - if (!$widgetWrapperDiv.hasClass('abp-widget-wrapper')) { - $widgetWrapperDiv = $widgetWrapperDiv.closest('.abp-widget-wrapper'); - } - - var getFilters = function () { + var getFilters = function ($widgetWrapperDiv) { var filters = {}; + + if (opts.filterForm) { + filters = opts.filterForm.serializeFormToObject(); + } if (opts.filterCallback) { - filters = opts.filterCallback(); + filters = $.extend(filters, opts.filterCallback()); } var widgetApi = $widgetWrapperDiv.data('abp-widget-api'); @@ -35,52 +36,54 @@ }; var init = function () { - var widgetName = $widgetWrapperDiv.attr('data-widget-name'); - var widgetApiClass = abp.widgets[widgetName]; - if (widgetApiClass) { - var widgetApi = new widgetApiClass($widgetWrapperDiv); - $widgetWrapperDiv.data('abp-widget-api', widgetApi); - if (widgetApi.init) { - widgetApi.init(getFilters($widgetWrapperDiv)); + opts.wrapper.find('.abp-widget-wrapper').each(function () { + var $widgetWrapperDiv = $(this); + var widgetName = $widgetWrapperDiv.attr('data-widget-name'); + var widgetApiClass = abp.widgets[widgetName]; + if (widgetApiClass) { + var widgetApi = new widgetApiClass($widgetWrapperDiv); + $widgetWrapperDiv.data('abp-widget-api', widgetApi); + if (widgetApi.init) { + widgetApi.init(getFilters($widgetWrapperDiv)); + } } - } + }); }; - var callRefreshWidgetApi = function () { - var widgetApi = $widgetWrapperDiv.data('abp-widget-api'); - if (widgetApi && widgetApi.refresh) { - widgetApi.refresh(getFilters($widgetWrapperDiv)); - } - } - var refresh = function () { - var refreshUrl = $widgetWrapperDiv.attr('data-refresh-url'); - if (refreshUrl) { - abp.ajax({ - url: refreshUrl, - type: 'GET', - dataType: 'html', - contentType: 'application/x-www-form-urlencoded; charset=UTF-8', - data: getFilters() - }).then(function (result) { - var $newWidgetWrapperDiv = $(result); - $widgetWrapperDiv.replaceWith($newWidgetWrapperDiv); - $widgetWrapperDiv = $newWidgetWrapperDiv; - $widgetWrapperDiv.data('abp-widget-manager', publicApi); - init(); - }); - } else { - callRefreshWidgetApi(); - } + opts.wrapper.find('.abp-widget-wrapper').each(function () { + var $widgetWrapperDiv = $(this); + + var refreshUrl = $widgetWrapperDiv.attr('data-refresh-url'); + if (refreshUrl) { + abp.ajax({ + url: refreshUrl, + type: 'GET', + dataType: 'html', + contentType: 'application/x-www-form-urlencoded; charset=UTF-8', + data: getFilters($widgetWrapperDiv) + }).then(function (result) { + $widgetWrapperDiv.replaceWith($(result)); + }); + } else { + var widgetApi = $widgetWrapperDiv.data('abp-widget-api'); + if (widgetApi && widgetApi.refresh) { + widgetApi.refresh(getFilters($widgetWrapperDiv)); + } + } + }); }; - var publicApi = { + if (opts.filterForm) { + opts.filterForm.submit(function (e) { + e.preventDefault(); + refresh(); + }); + } + + return { init: init, refresh: refresh }; - - $widgetWrapperDiv.data('abp-widget-manager', publicApi); - - return publicApi; }; })(jQuery); \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs b/samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs index a6aeef838b..ae53dd9150 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs +++ b/samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs @@ -115,6 +115,7 @@ namespace DashboardDemo.Web { Configure(options => { + options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared", Path.DirectorySeparatorChar))); options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}DashboardDemo.Domain.Shared", Path.DirectorySeparatorChar))); options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}DashboardDemo.Domain", Path.DirectorySeparatorChar))); options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}DashboardDemo.Application.Contracts", Path.DirectorySeparatorChar))); diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboard.js b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboard.js index b601fe3128..cdf16a8a43 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboard.js +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboard.js @@ -1,6 +1,6 @@ (function () { - var myDashboard = new abp.DashboardManager({ + var myDashboard = new abp.WidgetManager({ wrapper: '#MyDashboardWidgetsArea', filterForm: $('#MyDashboardFilterForm') });