searchBuilder.bootstrap5.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*! Bootstrap 5 ui integration for DataTables' SearchBuilder
  2. * ©2016 SpryMedia Ltd - datatables.net/license
  3. */
  4. (function (factory) {
  5. if (typeof define === 'function' && define.amd) {
  6. // AMD
  7. define(['jquery', 'datatables.net-bs5', 'datatables.net-searchbuilder'], function ($) {
  8. return factory($);
  9. });
  10. }
  11. else if (typeof exports === 'object') {
  12. // CommonJS
  13. module.exports = function (root, $) {
  14. if (!root) {
  15. root = window;
  16. }
  17. if (!$ || !$.fn.dataTable) {
  18. // eslint-disable-next-line @typescript-eslint/no-var-requires
  19. $ = require('datatables.net-bs5')(root, $).$;
  20. }
  21. if (!$.fn.dataTable.searchBuilder) {
  22. // eslint-disable-next-line @typescript-eslint/no-var-requires
  23. require('datatables.net-searchbuilder')(root, $);
  24. }
  25. return factory($);
  26. };
  27. }
  28. else {
  29. // Browser
  30. factory(jQuery);
  31. }
  32. }(function ($) {
  33. 'use strict';
  34. var dataTable = $.fn.dataTable;
  35. $.extend(true, dataTable.SearchBuilder.classes, {
  36. clearAll: 'btn btn-light dtsb-clearAll'
  37. });
  38. $.extend(true, dataTable.Group.classes, {
  39. add: 'btn btn-light dtsb-add',
  40. clearGroup: 'btn btn-light dtsb-clearGroup',
  41. logic: 'btn btn-light dtsb-logic'
  42. });
  43. $.extend(true, dataTable.Criteria.classes, {
  44. condition: 'form-select dtsb-condition',
  45. data: 'dtsb-data form-select',
  46. "delete": 'btn btn-light dtsb-delete',
  47. input: 'form-control dtsb-input',
  48. left: 'btn btn-light dtsb-left',
  49. right: 'btn btn-light dtsb-right',
  50. select: 'form-select',
  51. value: 'dtsb-value'
  52. });
  53. return dataTable.searchPanes;
  54. }));