mirror of https://github.com/abpframework/abp.git
383 changed files with 6327 additions and 7918 deletions
@ -0,0 +1,23 @@ |
|||
// This file is automatically generated by ABP framework to use MVC Controllers from CSharp
|
|||
using System; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Application.Dtos; |
|||
using Volo.Abp.Http.Client; |
|||
using Volo.Abp.Http.Modeling; |
|||
using Volo.Abp.DependencyInjection; |
|||
using Volo.Abp.Http.Client.ClientProxying; |
|||
using Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations; |
|||
|
|||
// ReSharper disable once CheckNamespace
|
|||
namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ClientProxies |
|||
{ |
|||
[Dependency(ReplaceServices = true)] |
|||
[ExposeServices(typeof(IAbpApplicationConfigurationAppService), typeof(AbpApplicationConfigurationClientProxy))] |
|||
public partial class AbpApplicationConfigurationClientProxy : ClientProxyBase<IAbpApplicationConfigurationAppService>, IAbpApplicationConfigurationAppService |
|||
{ |
|||
public virtual async Task<ApplicationConfigurationDto> GetAsync() |
|||
{ |
|||
return await RequestAsync<ApplicationConfigurationDto>(nameof(GetAsync)); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
// This file is part of AbpApplicationConfigurationClientProxy, you can customize it here
|
|||
// ReSharper disable once CheckNamespace
|
|||
namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ClientProxies |
|||
{ |
|||
public partial class AbpApplicationConfigurationClientProxy |
|||
{ |
|||
} |
|||
} |
|||
@ -0,0 +1,34 @@ |
|||
// This file is automatically generated by ABP framework to use MVC Controllers from CSharp
|
|||
using System; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Application.Dtos; |
|||
using Volo.Abp.Http.Client; |
|||
using Volo.Abp.Http.Modeling; |
|||
using Volo.Abp.DependencyInjection; |
|||
using Volo.Abp.Http.Client.ClientProxying; |
|||
using Volo.Abp.AspNetCore.Mvc.MultiTenancy; |
|||
|
|||
// ReSharper disable once CheckNamespace
|
|||
namespace Pages.Abp.MultiTenancy.ClientProxies |
|||
{ |
|||
[Dependency(ReplaceServices = true)] |
|||
[ExposeServices(typeof(IAbpTenantAppService), typeof(AbpTenantClientProxy))] |
|||
public partial class AbpTenantClientProxy : ClientProxyBase<IAbpTenantAppService>, IAbpTenantAppService |
|||
{ |
|||
public virtual async Task<FindTenantResultDto> FindTenantByNameAsync(string name) |
|||
{ |
|||
return await RequestAsync<FindTenantResultDto>(nameof(FindTenantByNameAsync), new ClientProxyRequestTypeValue |
|||
{ |
|||
{ typeof(string), name } |
|||
}); |
|||
} |
|||
|
|||
public virtual async Task<FindTenantResultDto> FindTenantByIdAsync(Guid id) |
|||
{ |
|||
return await RequestAsync<FindTenantResultDto>(nameof(FindTenantByIdAsync), new ClientProxyRequestTypeValue |
|||
{ |
|||
{ typeof(Guid), id } |
|||
}); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
// This file is part of AbpTenantClientProxy, you can customize it here
|
|||
// ReSharper disable once CheckNamespace
|
|||
namespace Pages.Abp.MultiTenancy.ClientProxies |
|||
{ |
|||
public partial class AbpTenantClientProxy |
|||
{ |
|||
} |
|||
} |
|||
@ -0,0 +1,169 @@ |
|||
{ |
|||
"modules": { |
|||
"abp": { |
|||
"rootPath": "abp", |
|||
"remoteServiceName": "abp", |
|||
"controllers": { |
|||
"Pages.Abp.MultiTenancy.AbpTenantController": { |
|||
"controllerName": "AbpTenant", |
|||
"controllerGroupName": "AbpTenant", |
|||
"type": "Pages.Abp.MultiTenancy.AbpTenantController", |
|||
"interfaces": [ |
|||
{ |
|||
"type": "Volo.Abp.AspNetCore.Mvc.MultiTenancy.IAbpTenantAppService" |
|||
} |
|||
], |
|||
"actions": { |
|||
"FindTenantByNameAsyncByName": { |
|||
"uniqueName": "FindTenantByNameAsyncByName", |
|||
"name": "FindTenantByNameAsync", |
|||
"httpMethod": "GET", |
|||
"url": "api/abp/multi-tenancy/tenants/by-name/{name}", |
|||
"supportedVersions": [], |
|||
"parametersOnMethod": [ |
|||
{ |
|||
"name": "name", |
|||
"typeAsString": "System.String, System.Private.CoreLib", |
|||
"type": "System.String", |
|||
"typeSimple": "string", |
|||
"isOptional": false, |
|||
"defaultValue": null |
|||
} |
|||
], |
|||
"parameters": [ |
|||
{ |
|||
"nameOnMethod": "name", |
|||
"name": "name", |
|||
"jsonName": null, |
|||
"type": "System.String", |
|||
"typeSimple": "string", |
|||
"isOptional": false, |
|||
"defaultValue": null, |
|||
"constraintTypes": [], |
|||
"bindingSourceId": "Path", |
|||
"descriptorName": "" |
|||
} |
|||
], |
|||
"returnValue": { |
|||
"type": "Volo.Abp.AspNetCore.Mvc.MultiTenancy.FindTenantResultDto", |
|||
"typeSimple": "Volo.Abp.AspNetCore.Mvc.MultiTenancy.FindTenantResultDto" |
|||
}, |
|||
"allowAnonymous": null, |
|||
"implementFrom": "Volo.Abp.AspNetCore.Mvc.MultiTenancy.IAbpTenantAppService" |
|||
}, |
|||
"FindTenantByIdAsyncById": { |
|||
"uniqueName": "FindTenantByIdAsyncById", |
|||
"name": "FindTenantByIdAsync", |
|||
"httpMethod": "GET", |
|||
"url": "api/abp/multi-tenancy/tenants/by-id/{id}", |
|||
"supportedVersions": [], |
|||
"parametersOnMethod": [ |
|||
{ |
|||
"name": "id", |
|||
"typeAsString": "System.Guid, System.Private.CoreLib", |
|||
"type": "System.Guid", |
|||
"typeSimple": "string", |
|||
"isOptional": false, |
|||
"defaultValue": null |
|||
} |
|||
], |
|||
"parameters": [ |
|||
{ |
|||
"nameOnMethod": "id", |
|||
"name": "id", |
|||
"jsonName": null, |
|||
"type": "System.Guid", |
|||
"typeSimple": "string", |
|||
"isOptional": false, |
|||
"defaultValue": null, |
|||
"constraintTypes": [], |
|||
"bindingSourceId": "Path", |
|||
"descriptorName": "" |
|||
} |
|||
], |
|||
"returnValue": { |
|||
"type": "Volo.Abp.AspNetCore.Mvc.MultiTenancy.FindTenantResultDto", |
|||
"typeSimple": "Volo.Abp.AspNetCore.Mvc.MultiTenancy.FindTenantResultDto" |
|||
}, |
|||
"allowAnonymous": null, |
|||
"implementFrom": "Volo.Abp.AspNetCore.Mvc.MultiTenancy.IAbpTenantAppService" |
|||
} |
|||
} |
|||
}, |
|||
"Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController": { |
|||
"controllerName": "AbpApplicationConfiguration", |
|||
"controllerGroupName": "AbpApplicationConfiguration", |
|||
"type": "Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController", |
|||
"interfaces": [ |
|||
{ |
|||
"type": "Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.IAbpApplicationConfigurationAppService" |
|||
} |
|||
], |
|||
"actions": { |
|||
"GetAsync": { |
|||
"uniqueName": "GetAsync", |
|||
"name": "GetAsync", |
|||
"httpMethod": "GET", |
|||
"url": "api/abp/application-configuration", |
|||
"supportedVersions": [], |
|||
"parametersOnMethod": [], |
|||
"parameters": [], |
|||
"returnValue": { |
|||
"type": "Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationDto", |
|||
"typeSimple": "Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationDto" |
|||
}, |
|||
"allowAnonymous": null, |
|||
"implementFrom": "Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.IAbpApplicationConfigurationAppService" |
|||
} |
|||
} |
|||
}, |
|||
"Volo.Abp.AspNetCore.Mvc.ApiExploring.AbpApiDefinitionController": { |
|||
"controllerName": "AbpApiDefinition", |
|||
"controllerGroupName": "AbpApiDefinition", |
|||
"type": "Volo.Abp.AspNetCore.Mvc.ApiExploring.AbpApiDefinitionController", |
|||
"interfaces": [], |
|||
"actions": { |
|||
"GetByModel": { |
|||
"uniqueName": "GetByModel", |
|||
"name": "Get", |
|||
"httpMethod": "GET", |
|||
"url": "api/abp/api-definition", |
|||
"supportedVersions": [], |
|||
"parametersOnMethod": [ |
|||
{ |
|||
"name": "model", |
|||
"typeAsString": "Volo.Abp.Http.Modeling.ApplicationApiDescriptionModelRequestDto, Volo.Abp.Http", |
|||
"type": "Volo.Abp.Http.Modeling.ApplicationApiDescriptionModelRequestDto", |
|||
"typeSimple": "Volo.Abp.Http.Modeling.ApplicationApiDescriptionModelRequestDto", |
|||
"isOptional": false, |
|||
"defaultValue": null |
|||
} |
|||
], |
|||
"parameters": [ |
|||
{ |
|||
"nameOnMethod": "model", |
|||
"name": "IncludeTypes", |
|||
"jsonName": null, |
|||
"type": "System.Boolean", |
|||
"typeSimple": "boolean", |
|||
"isOptional": false, |
|||
"defaultValue": null, |
|||
"constraintTypes": null, |
|||
"bindingSourceId": "ModelBinding", |
|||
"descriptorName": "model" |
|||
} |
|||
], |
|||
"returnValue": { |
|||
"type": "Volo.Abp.Http.Modeling.ApplicationApiDescriptionModel", |
|||
"typeSimple": "Volo.Abp.Http.Modeling.ApplicationApiDescriptionModel" |
|||
}, |
|||
"allowAnonymous": null, |
|||
"implementFrom": "Volo.Abp.AspNetCore.Mvc.ApiExploring.AbpApiDefinitionController" |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
"types": {} |
|||
} |
|||
@ -0,0 +1,38 @@ |
|||
using System; |
|||
using System.Threading.Tasks; |
|||
using Microsoft.AspNetCore.SignalR; |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using Volo.Abp.Security.Claims; |
|||
|
|||
namespace Volo.Abp.AspNetCore.SignalR |
|||
{ |
|||
public class AbpSignalRHubFilter : IHubFilter |
|||
{ |
|||
public virtual async ValueTask<object> InvokeMethodAsync(HubInvocationContext invocationContext, Func<HubInvocationContext, ValueTask<object>> next) |
|||
{ |
|||
var currentPrincipalAccessor = invocationContext.ServiceProvider.GetRequiredService<ICurrentPrincipalAccessor>(); |
|||
using (currentPrincipalAccessor.Change(invocationContext.Context.User)) |
|||
{ |
|||
return await next(invocationContext); |
|||
} |
|||
} |
|||
|
|||
public virtual async Task OnConnectedAsync(HubLifetimeContext context, Func<HubLifetimeContext, Task> next) |
|||
{ |
|||
var currentPrincipalAccessor = context.ServiceProvider.GetRequiredService<ICurrentPrincipalAccessor>(); |
|||
using (currentPrincipalAccessor.Change(context.Context.User)) |
|||
{ |
|||
await next(context); |
|||
} |
|||
} |
|||
|
|||
public virtual async Task OnDisconnectedAsync(HubLifetimeContext context, Exception exception, Func<HubLifetimeContext, Exception, Task> next) |
|||
{ |
|||
var currentPrincipalAccessor = context.ServiceProvider.GetRequiredService<ICurrentPrincipalAccessor>(); |
|||
using (currentPrincipalAccessor.Change(context.Context.User)) |
|||
{ |
|||
await next(context, exception); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -1,6 +1,6 @@ |
|||
{ |
|||
"sdk": { |
|||
"version": "6.0.100-rc.2.21505.57", |
|||
"version": "6.0.100", |
|||
"rollForward": "latestFeature" |
|||
} |
|||
} |
|||
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,184 +0,0 @@ |
|||
/*! DataTables Bootstrap 5 integration |
|||
* 2020 SpryMedia Ltd - datatables.net/license |
|||
*/ |
|||
|
|||
/** |
|||
* DataTables integration for Bootstrap 4. This requires Bootstrap 5 and |
|||
* DataTables 1.10 or newer. |
|||
* |
|||
* This file sets the defaults and adds options to DataTables to style its |
|||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|||
* for further information. |
|||
*/ |
|||
(function( factory ){ |
|||
if ( typeof define === 'function' && define.amd ) { |
|||
// AMD
|
|||
define( ['jquery', 'datatables.net'], function ( $ ) { |
|||
return factory( $, window, document ); |
|||
} ); |
|||
} |
|||
else if ( typeof exports === 'object' ) { |
|||
// CommonJS
|
|||
module.exports = function (root, $) { |
|||
if ( ! root ) { |
|||
root = window; |
|||
} |
|||
|
|||
if ( ! $ || ! $.fn.dataTable ) { |
|||
// Require DataTables, which attaches to jQuery, including
|
|||
// jQuery if needed and have a $ property so we can access the
|
|||
// jQuery object that is used
|
|||
$ = require('datatables.net')(root, $).$; |
|||
} |
|||
|
|||
return factory( $, root, root.document ); |
|||
}; |
|||
} |
|||
else { |
|||
// Browser
|
|||
factory( jQuery, window, document ); |
|||
} |
|||
}(function( $, window, document, undefined ) { |
|||
'use strict'; |
|||
var DataTable = $.fn.dataTable; |
|||
|
|||
|
|||
/* Set the defaults for DataTables initialisation */ |
|||
$.extend( true, DataTable.defaults, { |
|||
dom: |
|||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
|||
"<'row'<'col-sm-12'tr>>" + |
|||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
|||
renderer: 'bootstrap' |
|||
} ); |
|||
|
|||
|
|||
/* Default class modification */ |
|||
$.extend( DataTable.ext.classes, { |
|||
sWrapper: "dataTables_wrapper dt-bootstrap5", |
|||
sFilterInput: "form-control form-control-sm", |
|||
sLengthSelect: "form-select form-select-sm", |
|||
sProcessing: "dataTables_processing card", |
|||
sPageButton: "paginate_button page-item" |
|||
} ); |
|||
|
|||
|
|||
/* Bootstrap paging button renderer */ |
|||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
|||
var api = new DataTable.Api( settings ); |
|||
var classes = settings.oClasses; |
|||
var lang = settings.oLanguage.oPaginate; |
|||
var aria = settings.oLanguage.oAria.paginate || {}; |
|||
var btnDisplay, btnClass, counter=0; |
|||
|
|||
var attach = function( container, buttons ) { |
|||
var i, ien, node, button; |
|||
var clickHandler = function ( e ) { |
|||
e.preventDefault(); |
|||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
|||
api.page( e.data.action ).draw( 'page' ); |
|||
} |
|||
}; |
|||
|
|||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
|||
button = buttons[i]; |
|||
|
|||
if ( Array.isArray( button ) ) { |
|||
attach( container, button ); |
|||
} |
|||
else { |
|||
btnDisplay = ''; |
|||
btnClass = ''; |
|||
|
|||
switch ( button ) { |
|||
case 'ellipsis': |
|||
btnDisplay = '…'; |
|||
btnClass = 'disabled'; |
|||
break; |
|||
|
|||
case 'first': |
|||
btnDisplay = lang.sFirst; |
|||
btnClass = button + (page > 0 ? |
|||
'' : ' disabled'); |
|||
break; |
|||
|
|||
case 'previous': |
|||
btnDisplay = lang.sPrevious; |
|||
btnClass = button + (page > 0 ? |
|||
'' : ' disabled'); |
|||
break; |
|||
|
|||
case 'next': |
|||
btnDisplay = lang.sNext; |
|||
btnClass = button + (page < pages-1 ? |
|||
'' : ' disabled'); |
|||
break; |
|||
|
|||
case 'last': |
|||
btnDisplay = lang.sLast; |
|||
btnClass = button + (page < pages-1 ? |
|||
'' : ' disabled'); |
|||
break; |
|||
|
|||
default: |
|||
btnDisplay = button + 1; |
|||
btnClass = page === button ? |
|||
'active' : ''; |
|||
break; |
|||
} |
|||
|
|||
if ( btnDisplay ) { |
|||
node = $('<li>', { |
|||
'class': classes.sPageButton+' '+btnClass, |
|||
'id': idx === 0 && typeof button === 'string' ? |
|||
settings.sTableId +'_'+ button : |
|||
null |
|||
} ) |
|||
.append( $('<a>', { |
|||
'href': '#', |
|||
'aria-controls': settings.sTableId, |
|||
'aria-label': aria[ button ], |
|||
'data-dt-idx': counter, |
|||
'tabindex': settings.iTabIndex, |
|||
'class': 'page-link' |
|||
} ) |
|||
.html( btnDisplay ) |
|||
) |
|||
.appendTo( container ); |
|||
|
|||
settings.oApi._fnBindAction( |
|||
node, {action: button}, clickHandler |
|||
); |
|||
|
|||
counter++; |
|||
} |
|||
} |
|||
} |
|||
}; |
|||
|
|||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|||
// inside an iframe or frame.
|
|||
var activeEl; |
|||
|
|||
try { |
|||
// Because this approach is destroying and recreating the paging
|
|||
// elements, focus is lost on the select button which is bad for
|
|||
// accessibility. So we want to restore focus once the draw has
|
|||
// completed
|
|||
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
|||
} |
|||
catch (e) {} |
|||
|
|||
attach( |
|||
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
|||
buttons |
|||
); |
|||
|
|||
if ( activeEl !== undefined ) { |
|||
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
|||
} |
|||
}; |
|||
|
|||
|
|||
return DataTable; |
|||
})); |
|||
@ -1,6 +0,0 @@ |
|||
/* |
|||
https://select2.org/troubleshooting/common-problems
|
|||
*/ |
|||
if ($.fn.modal) { |
|||
$.fn.modal.Constructor.prototype._enforceFocus = function () { }; |
|||
} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,224 +0,0 @@ |
|||
@charset "UTF-8"; |
|||
/*! Bootstrap 5 integration for DataTables |
|||
* |
|||
* ©2020 SpryMedia Ltd, all rights reserved. |
|||
* License: MIT datatables.net/license/mit |
|||
*/ |
|||
table.dataTable { |
|||
clear: both; |
|||
margin-top: 6px !important; |
|||
margin-bottom: 6px !important; |
|||
max-width: none !important; |
|||
border-collapse: separate !important; |
|||
border-spacing: 0; |
|||
} |
|||
table.dataTable td, |
|||
table.dataTable th { |
|||
-webkit-box-sizing: content-box; |
|||
box-sizing: content-box; |
|||
} |
|||
table.dataTable td.dataTables_empty, |
|||
table.dataTable th.dataTables_empty { |
|||
text-align: center; |
|||
} |
|||
table.dataTable.nowrap th, |
|||
table.dataTable.nowrap td { |
|||
white-space: nowrap; |
|||
} |
|||
|
|||
div.dataTables_wrapper div.dataTables_length label { |
|||
font-weight: normal; |
|||
text-align: left; |
|||
white-space: nowrap; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_length select { |
|||
width: auto; |
|||
display: inline-block; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_filter { |
|||
text-align: right; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_filter label { |
|||
font-weight: normal; |
|||
white-space: nowrap; |
|||
text-align: left; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_filter input { |
|||
margin-left: 0.5em; |
|||
display: inline-block; |
|||
width: auto; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_info { |
|||
padding-top: 0.85em; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_paginate { |
|||
margin: 0; |
|||
white-space: nowrap; |
|||
text-align: right; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|||
margin: 2px 0; |
|||
white-space: nowrap; |
|||
justify-content: flex-end; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_processing { |
|||
position: absolute; |
|||
top: 50%; |
|||
left: 50%; |
|||
width: 200px; |
|||
margin-left: -100px; |
|||
margin-top: -26px; |
|||
text-align: center; |
|||
padding: 1em 0; |
|||
} |
|||
|
|||
table.dataTable > thead > tr > th:active, |
|||
table.dataTable > thead > tr > td:active { |
|||
outline: none; |
|||
} |
|||
table.dataTable > thead > tr > th:not(.sorting_disabled), |
|||
table.dataTable > thead > tr > td:not(.sorting_disabled) { |
|||
padding-right: 30px; |
|||
} |
|||
table.dataTable > thead .sorting, |
|||
table.dataTable > thead .sorting_asc, |
|||
table.dataTable > thead .sorting_desc, |
|||
table.dataTable > thead .sorting_asc_disabled, |
|||
table.dataTable > thead .sorting_desc_disabled { |
|||
cursor: pointer; |
|||
position: relative; |
|||
} |
|||
table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after, |
|||
table.dataTable > thead .sorting_asc:before, |
|||
table.dataTable > thead .sorting_asc:after, |
|||
table.dataTable > thead .sorting_desc:before, |
|||
table.dataTable > thead .sorting_desc:after, |
|||
table.dataTable > thead .sorting_asc_disabled:before, |
|||
table.dataTable > thead .sorting_asc_disabled:after, |
|||
table.dataTable > thead .sorting_desc_disabled:before, |
|||
table.dataTable > thead .sorting_desc_disabled:after { |
|||
position: absolute; |
|||
bottom: 0.5em; |
|||
display: block; |
|||
opacity: 0.3; |
|||
} |
|||
table.dataTable > thead .sorting:before, |
|||
table.dataTable > thead .sorting_asc:before, |
|||
table.dataTable > thead .sorting_desc:before, |
|||
table.dataTable > thead .sorting_asc_disabled:before, |
|||
table.dataTable > thead .sorting_desc_disabled:before { |
|||
right: 1em; |
|||
content: "↑"; |
|||
} |
|||
table.dataTable > thead .sorting:after, |
|||
table.dataTable > thead .sorting_asc:after, |
|||
table.dataTable > thead .sorting_desc:after, |
|||
table.dataTable > thead .sorting_asc_disabled:after, |
|||
table.dataTable > thead .sorting_desc_disabled:after { |
|||
right: 0.5em; |
|||
content: "↓"; |
|||
} |
|||
table.dataTable > thead .sorting_asc:before, |
|||
table.dataTable > thead .sorting_desc:after { |
|||
opacity: 1; |
|||
} |
|||
table.dataTable > thead .sorting_asc_disabled:before, |
|||
table.dataTable > thead .sorting_desc_disabled:after { |
|||
opacity: 0; |
|||
} |
|||
|
|||
div.dataTables_scrollHead table.dataTable { |
|||
margin-bottom: 0 !important; |
|||
} |
|||
|
|||
div.dataTables_scrollBody table { |
|||
border-top: none; |
|||
margin-top: 0 !important; |
|||
margin-bottom: 0 !important; |
|||
} |
|||
div.dataTables_scrollBody table thead .sorting:before, |
|||
div.dataTables_scrollBody table thead .sorting_asc:before, |
|||
div.dataTables_scrollBody table thead .sorting_desc:before, |
|||
div.dataTables_scrollBody table thead .sorting:after, |
|||
div.dataTables_scrollBody table thead .sorting_asc:after, |
|||
div.dataTables_scrollBody table thead .sorting_desc:after { |
|||
display: none; |
|||
} |
|||
div.dataTables_scrollBody table tbody tr:first-child th, |
|||
div.dataTables_scrollBody table tbody tr:first-child td { |
|||
border-top: none; |
|||
} |
|||
|
|||
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
|||
box-sizing: content-box; |
|||
} |
|||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
|||
margin-top: 0 !important; |
|||
border-top: none; |
|||
} |
|||
|
|||
@media screen and (max-width: 767px) { |
|||
div.dataTables_wrapper div.dataTables_length, |
|||
div.dataTables_wrapper div.dataTables_filter, |
|||
div.dataTables_wrapper div.dataTables_info, |
|||
div.dataTables_wrapper div.dataTables_paginate { |
|||
text-align: center; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|||
justify-content: center !important; |
|||
} |
|||
} |
|||
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) { |
|||
padding-right: 20px; |
|||
} |
|||
table.dataTable.table-sm .sorting:before, |
|||
table.dataTable.table-sm .sorting_asc:before, |
|||
table.dataTable.table-sm .sorting_desc:before { |
|||
top: 5px; |
|||
right: 0.85em; |
|||
} |
|||
table.dataTable.table-sm .sorting:after, |
|||
table.dataTable.table-sm .sorting_asc:after, |
|||
table.dataTable.table-sm .sorting_desc:after { |
|||
top: 5px; |
|||
} |
|||
|
|||
table.table-bordered.dataTable { |
|||
border-right-width: 0; |
|||
} |
|||
table.table-bordered.dataTable thead tr:first-child th, |
|||
table.table-bordered.dataTable thead tr:first-child td { |
|||
border-top-width: 1px; |
|||
} |
|||
table.table-bordered.dataTable th, |
|||
table.table-bordered.dataTable td { |
|||
border-left-width: 0; |
|||
} |
|||
table.table-bordered.dataTable th:first-child, table.table-bordered.dataTable th:first-child, |
|||
table.table-bordered.dataTable td:first-child, |
|||
table.table-bordered.dataTable td:first-child { |
|||
border-left-width: 1px; |
|||
} |
|||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
|||
table.table-bordered.dataTable td:last-child, |
|||
table.table-bordered.dataTable td:last-child { |
|||
border-right-width: 1px; |
|||
} |
|||
table.table-bordered.dataTable th, |
|||
table.table-bordered.dataTable td { |
|||
border-bottom-width: 1px; |
|||
} |
|||
|
|||
div.dataTables_scrollHead table.table-bordered { |
|||
border-bottom-width: 0; |
|||
} |
|||
|
|||
div.table-responsive > div.dataTables_wrapper > div.row { |
|||
margin: 0; |
|||
} |
|||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child { |
|||
padding-left: 0; |
|||
} |
|||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child { |
|||
padding-right: 0; |
|||
} |
|||
@ -1,184 +0,0 @@ |
|||
/*! DataTables Bootstrap 5 integration |
|||
* 2020 SpryMedia Ltd - datatables.net/license |
|||
*/ |
|||
|
|||
/** |
|||
* DataTables integration for Bootstrap 4. This requires Bootstrap 5 and |
|||
* DataTables 1.10 or newer. |
|||
* |
|||
* This file sets the defaults and adds options to DataTables to style its |
|||
* controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
|
|||
* for further information. |
|||
*/ |
|||
(function( factory ){ |
|||
if ( typeof define === 'function' && define.amd ) { |
|||
// AMD
|
|||
define( ['jquery', 'datatables.net'], function ( $ ) { |
|||
return factory( $, window, document ); |
|||
} ); |
|||
} |
|||
else if ( typeof exports === 'object' ) { |
|||
// CommonJS
|
|||
module.exports = function (root, $) { |
|||
if ( ! root ) { |
|||
root = window; |
|||
} |
|||
|
|||
if ( ! $ || ! $.fn.dataTable ) { |
|||
// Require DataTables, which attaches to jQuery, including
|
|||
// jQuery if needed and have a $ property so we can access the
|
|||
// jQuery object that is used
|
|||
$ = require('datatables.net')(root, $).$; |
|||
} |
|||
|
|||
return factory( $, root, root.document ); |
|||
}; |
|||
} |
|||
else { |
|||
// Browser
|
|||
factory( jQuery, window, document ); |
|||
} |
|||
}(function( $, window, document, undefined ) { |
|||
'use strict'; |
|||
var DataTable = $.fn.dataTable; |
|||
|
|||
|
|||
/* Set the defaults for DataTables initialisation */ |
|||
$.extend( true, DataTable.defaults, { |
|||
dom: |
|||
"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>" + |
|||
"<'row'<'col-sm-12'tr>>" + |
|||
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", |
|||
renderer: 'bootstrap' |
|||
} ); |
|||
|
|||
|
|||
/* Default class modification */ |
|||
$.extend( DataTable.ext.classes, { |
|||
sWrapper: "dataTables_wrapper dt-bootstrap5", |
|||
sFilterInput: "form-control form-control-sm", |
|||
sLengthSelect: "form-select form-select-sm", |
|||
sProcessing: "dataTables_processing card", |
|||
sPageButton: "paginate_button page-item" |
|||
} ); |
|||
|
|||
|
|||
/* Bootstrap paging button renderer */ |
|||
DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { |
|||
var api = new DataTable.Api( settings ); |
|||
var classes = settings.oClasses; |
|||
var lang = settings.oLanguage.oPaginate; |
|||
var aria = settings.oLanguage.oAria.paginate || {}; |
|||
var btnDisplay, btnClass, counter=0; |
|||
|
|||
var attach = function( container, buttons ) { |
|||
var i, ien, node, button; |
|||
var clickHandler = function ( e ) { |
|||
e.preventDefault(); |
|||
if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { |
|||
api.page( e.data.action ).draw( 'page' ); |
|||
} |
|||
}; |
|||
|
|||
for ( i=0, ien=buttons.length ; i<ien ; i++ ) { |
|||
button = buttons[i]; |
|||
|
|||
if ( Array.isArray( button ) ) { |
|||
attach( container, button ); |
|||
} |
|||
else { |
|||
btnDisplay = ''; |
|||
btnClass = ''; |
|||
|
|||
switch ( button ) { |
|||
case 'ellipsis': |
|||
btnDisplay = '…'; |
|||
btnClass = 'disabled'; |
|||
break; |
|||
|
|||
case 'first': |
|||
btnDisplay = lang.sFirst; |
|||
btnClass = button + (page > 0 ? |
|||
'' : ' disabled'); |
|||
break; |
|||
|
|||
case 'previous': |
|||
btnDisplay = lang.sPrevious; |
|||
btnClass = button + (page > 0 ? |
|||
'' : ' disabled'); |
|||
break; |
|||
|
|||
case 'next': |
|||
btnDisplay = lang.sNext; |
|||
btnClass = button + (page < pages-1 ? |
|||
'' : ' disabled'); |
|||
break; |
|||
|
|||
case 'last': |
|||
btnDisplay = lang.sLast; |
|||
btnClass = button + (page < pages-1 ? |
|||
'' : ' disabled'); |
|||
break; |
|||
|
|||
default: |
|||
btnDisplay = button + 1; |
|||
btnClass = page === button ? |
|||
'active' : ''; |
|||
break; |
|||
} |
|||
|
|||
if ( btnDisplay ) { |
|||
node = $('<li>', { |
|||
'class': classes.sPageButton+' '+btnClass, |
|||
'id': idx === 0 && typeof button === 'string' ? |
|||
settings.sTableId +'_'+ button : |
|||
null |
|||
} ) |
|||
.append( $('<a>', { |
|||
'href': '#', |
|||
'aria-controls': settings.sTableId, |
|||
'aria-label': aria[ button ], |
|||
'data-dt-idx': counter, |
|||
'tabindex': settings.iTabIndex, |
|||
'class': 'page-link' |
|||
} ) |
|||
.html( btnDisplay ) |
|||
) |
|||
.appendTo( container ); |
|||
|
|||
settings.oApi._fnBindAction( |
|||
node, {action: button}, clickHandler |
|||
); |
|||
|
|||
counter++; |
|||
} |
|||
} |
|||
} |
|||
}; |
|||
|
|||
// IE9 throws an 'unknown error' if document.activeElement is used
|
|||
// inside an iframe or frame.
|
|||
var activeEl; |
|||
|
|||
try { |
|||
// Because this approach is destroying and recreating the paging
|
|||
// elements, focus is lost on the select button which is bad for
|
|||
// accessibility. So we want to restore focus once the draw has
|
|||
// completed
|
|||
activeEl = $(host).find(document.activeElement).data('dt-idx'); |
|||
} |
|||
catch (e) {} |
|||
|
|||
attach( |
|||
$(host).empty().html('<ul class="pagination"/>').children('ul'), |
|||
buttons |
|||
); |
|||
|
|||
if ( activeEl !== undefined ) { |
|||
$(host).find( '[data-dt-idx='+activeEl+']' ).trigger('focus'); |
|||
} |
|||
}; |
|||
|
|||
|
|||
return DataTable; |
|||
})); |
|||
@ -1,6 +0,0 @@ |
|||
/* |
|||
https://select2.org/troubleshooting/common-problems
|
|||
*/ |
|||
if ($.fn.modal) { |
|||
$.fn.modal.Constructor.prototype._enforceFocus = function () { }; |
|||
} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,224 +0,0 @@ |
|||
@charset "UTF-8"; |
|||
/*! Bootstrap 5 integration for DataTables |
|||
* |
|||
* ©2020 SpryMedia Ltd, all rights reserved. |
|||
* License: MIT datatables.net/license/mit |
|||
*/ |
|||
table.dataTable { |
|||
clear: both; |
|||
margin-top: 6px !important; |
|||
margin-bottom: 6px !important; |
|||
max-width: none !important; |
|||
border-collapse: separate !important; |
|||
border-spacing: 0; |
|||
} |
|||
table.dataTable td, |
|||
table.dataTable th { |
|||
-webkit-box-sizing: content-box; |
|||
box-sizing: content-box; |
|||
} |
|||
table.dataTable td.dataTables_empty, |
|||
table.dataTable th.dataTables_empty { |
|||
text-align: center; |
|||
} |
|||
table.dataTable.nowrap th, |
|||
table.dataTable.nowrap td { |
|||
white-space: nowrap; |
|||
} |
|||
|
|||
div.dataTables_wrapper div.dataTables_length label { |
|||
font-weight: normal; |
|||
text-align: left; |
|||
white-space: nowrap; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_length select { |
|||
width: auto; |
|||
display: inline-block; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_filter { |
|||
text-align: right; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_filter label { |
|||
font-weight: normal; |
|||
white-space: nowrap; |
|||
text-align: left; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_filter input { |
|||
margin-left: 0.5em; |
|||
display: inline-block; |
|||
width: auto; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_info { |
|||
padding-top: 0.85em; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_paginate { |
|||
margin: 0; |
|||
white-space: nowrap; |
|||
text-align: right; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|||
margin: 2px 0; |
|||
white-space: nowrap; |
|||
justify-content: flex-end; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_processing { |
|||
position: absolute; |
|||
top: 50%; |
|||
left: 50%; |
|||
width: 200px; |
|||
margin-left: -100px; |
|||
margin-top: -26px; |
|||
text-align: center; |
|||
padding: 1em 0; |
|||
} |
|||
|
|||
table.dataTable > thead > tr > th:active, |
|||
table.dataTable > thead > tr > td:active { |
|||
outline: none; |
|||
} |
|||
table.dataTable > thead > tr > th:not(.sorting_disabled), |
|||
table.dataTable > thead > tr > td:not(.sorting_disabled) { |
|||
padding-right: 30px; |
|||
} |
|||
table.dataTable > thead .sorting, |
|||
table.dataTable > thead .sorting_asc, |
|||
table.dataTable > thead .sorting_desc, |
|||
table.dataTable > thead .sorting_asc_disabled, |
|||
table.dataTable > thead .sorting_desc_disabled { |
|||
cursor: pointer; |
|||
position: relative; |
|||
} |
|||
table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after, |
|||
table.dataTable > thead .sorting_asc:before, |
|||
table.dataTable > thead .sorting_asc:after, |
|||
table.dataTable > thead .sorting_desc:before, |
|||
table.dataTable > thead .sorting_desc:after, |
|||
table.dataTable > thead .sorting_asc_disabled:before, |
|||
table.dataTable > thead .sorting_asc_disabled:after, |
|||
table.dataTable > thead .sorting_desc_disabled:before, |
|||
table.dataTable > thead .sorting_desc_disabled:after { |
|||
position: absolute; |
|||
bottom: 0.5em; |
|||
display: block; |
|||
opacity: 0.3; |
|||
} |
|||
table.dataTable > thead .sorting:before, |
|||
table.dataTable > thead .sorting_asc:before, |
|||
table.dataTable > thead .sorting_desc:before, |
|||
table.dataTable > thead .sorting_asc_disabled:before, |
|||
table.dataTable > thead .sorting_desc_disabled:before { |
|||
right: 1em; |
|||
content: "↑"; |
|||
} |
|||
table.dataTable > thead .sorting:after, |
|||
table.dataTable > thead .sorting_asc:after, |
|||
table.dataTable > thead .sorting_desc:after, |
|||
table.dataTable > thead .sorting_asc_disabled:after, |
|||
table.dataTable > thead .sorting_desc_disabled:after { |
|||
right: 0.5em; |
|||
content: "↓"; |
|||
} |
|||
table.dataTable > thead .sorting_asc:before, |
|||
table.dataTable > thead .sorting_desc:after { |
|||
opacity: 1; |
|||
} |
|||
table.dataTable > thead .sorting_asc_disabled:before, |
|||
table.dataTable > thead .sorting_desc_disabled:after { |
|||
opacity: 0; |
|||
} |
|||
|
|||
div.dataTables_scrollHead table.dataTable { |
|||
margin-bottom: 0 !important; |
|||
} |
|||
|
|||
div.dataTables_scrollBody table { |
|||
border-top: none; |
|||
margin-top: 0 !important; |
|||
margin-bottom: 0 !important; |
|||
} |
|||
div.dataTables_scrollBody table thead .sorting:before, |
|||
div.dataTables_scrollBody table thead .sorting_asc:before, |
|||
div.dataTables_scrollBody table thead .sorting_desc:before, |
|||
div.dataTables_scrollBody table thead .sorting:after, |
|||
div.dataTables_scrollBody table thead .sorting_asc:after, |
|||
div.dataTables_scrollBody table thead .sorting_desc:after { |
|||
display: none; |
|||
} |
|||
div.dataTables_scrollBody table tbody tr:first-child th, |
|||
div.dataTables_scrollBody table tbody tr:first-child td { |
|||
border-top: none; |
|||
} |
|||
|
|||
div.dataTables_scrollFoot > .dataTables_scrollFootInner { |
|||
box-sizing: content-box; |
|||
} |
|||
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table { |
|||
margin-top: 0 !important; |
|||
border-top: none; |
|||
} |
|||
|
|||
@media screen and (max-width: 767px) { |
|||
div.dataTables_wrapper div.dataTables_length, |
|||
div.dataTables_wrapper div.dataTables_filter, |
|||
div.dataTables_wrapper div.dataTables_info, |
|||
div.dataTables_wrapper div.dataTables_paginate { |
|||
text-align: center; |
|||
} |
|||
div.dataTables_wrapper div.dataTables_paginate ul.pagination { |
|||
justify-content: center !important; |
|||
} |
|||
} |
|||
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) { |
|||
padding-right: 20px; |
|||
} |
|||
table.dataTable.table-sm .sorting:before, |
|||
table.dataTable.table-sm .sorting_asc:before, |
|||
table.dataTable.table-sm .sorting_desc:before { |
|||
top: 5px; |
|||
right: 0.85em; |
|||
} |
|||
table.dataTable.table-sm .sorting:after, |
|||
table.dataTable.table-sm .sorting_asc:after, |
|||
table.dataTable.table-sm .sorting_desc:after { |
|||
top: 5px; |
|||
} |
|||
|
|||
table.table-bordered.dataTable { |
|||
border-right-width: 0; |
|||
} |
|||
table.table-bordered.dataTable thead tr:first-child th, |
|||
table.table-bordered.dataTable thead tr:first-child td { |
|||
border-top-width: 1px; |
|||
} |
|||
table.table-bordered.dataTable th, |
|||
table.table-bordered.dataTable td { |
|||
border-left-width: 0; |
|||
} |
|||
table.table-bordered.dataTable th:first-child, table.table-bordered.dataTable th:first-child, |
|||
table.table-bordered.dataTable td:first-child, |
|||
table.table-bordered.dataTable td:first-child { |
|||
border-left-width: 1px; |
|||
} |
|||
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, |
|||
table.table-bordered.dataTable td:last-child, |
|||
table.table-bordered.dataTable td:last-child { |
|||
border-right-width: 1px; |
|||
} |
|||
table.table-bordered.dataTable th, |
|||
table.table-bordered.dataTable td { |
|||
border-bottom-width: 1px; |
|||
} |
|||
|
|||
div.dataTables_scrollHead table.table-bordered { |
|||
border-bottom-width: 0; |
|||
} |
|||
|
|||
div.table-responsive > div.dataTables_wrapper > div.row { |
|||
margin: 0; |
|||
} |
|||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child { |
|||
padding-left: 0; |
|||
} |
|||
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child { |
|||
padding-right: 0; |
|||
} |
|||
@ -1,6 +0,0 @@ |
|||
/* |
|||
https://select2.org/troubleshooting/common-problems
|
|||
*/ |
|||
if ($.fn.modal) { |
|||
$.fn.modal.Constructor.prototype._enforceFocus = function () { }; |
|||
} |
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue