Browse Source

Compatible with older `dataTables` versions.

pull/19340/head
maliming 3 years ago
parent
commit
06e4cfdff5
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 10
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNet/DatatablesNetScriptContributor.cs
  2. 34
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js

10
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Packages/Volo/Abp/AspNetCore/Mvc/UI/Packages/DatatablesNet/DatatablesNetScriptContributor.cs

@ -10,6 +10,14 @@ public class DatatablesNetScriptContributor : BundleContributor
{
public override void ConfigureBundle(BundleConfigurationContext context)
{
context.Files.AddIfNotContains("/libs/datatables.net/js/dataTables.min.js");
if (context.FileProvider.GetFileInfo("/libs/datatables.net/js/dataTables.min.js").Exists)
{
context.Files.AddIfNotContains("/libs/datatables.net/js/dataTables.min.js");
}
else
{
//TODO: Compatibility code, Remove it after 8.2 rc1.
context.Files.AddIfNotContains("/libs/datatables.net/js/jquery.dataTables.js");
}
}
}

34
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js

@ -11,6 +11,10 @@ var abp = abp || {};
* RECORD-ACTIONS extension for datatables *
*************************************************************************/
(function () {
if (!$.fn.dataTableExt) {
return;
}
var getVisibilityValue = function (visibilityField, record, tableInstance) {
if (visibilityField === undefined) {
return true;
@ -234,9 +238,17 @@ var abp = abp || {};
var renderRowActions = function (tableInstance, nRow, aData, iDisplayIndex, iDisplayIndexFull) {
var columns;
var settings = tableInstance.api().settings();
if (settings.length === 1 && settings[0].aoColumns) {
columns = settings[0].aoColumns;
if (tableInstance.aoColumns) {
columns = tableInstance.aoColumns;
} else if (abp.utils.isFunction(tableInstance.fnSettings)) {
columns = tableInstance.fnSettings().aoColumns;
}
if (!columns && abp.utils.isFunction(tableInstance.api)) {
var settings = tableInstance.api().settings();
if (settings.length === 1 && settings[0].aoColumns) {
columns = settings[0].aoColumns;
}
}
if (!columns) {
@ -266,6 +278,18 @@ var abp = abp || {};
}
};
if ($.fn.dataTableExt.oApi) {
var _existingApiRenderRowActionsFunction = $.fn.dataTableExt.oApi.renderRowActions;
$.fn.dataTableExt.oApi.renderRowActions =
function (tableInstance, nRow, aData, iDisplayIndex, iDisplayIndexFull) {
if (_existingApiRenderRowActionsFunction) {
_existingApiRenderRowActionsFunction(tableInstance, nRow, aData, iDisplayIndex, iDisplayIndexFull);
}
renderRowActions(tableInstance, nRow, aData, iDisplayIndex, iDisplayIndexFull);
};
}
if (!$.fn.dataTable) {
return;
}
@ -451,10 +475,6 @@ var abp = abp || {};
if (column.rowAction) {
customizeRowActionColumn(column);
}
if (!column.type) {
column.type = "string";
}
}
configuration.language = datatables.defaultConfigurations.language();

Loading…
Cancel
Save