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

Loading…
Cancel
Save