NonInventPurchasingSystem/CPRNIMS.WebApps/wwwroot/Datatables/SearchBuilder-1.6.0/js/searchBuilder.semanticui.js
2026-01-20 07:44:30 +08:00

87 lines
2.4 KiB
JavaScript

/*! semantic ui integration for DataTables' SearchBuilder
* © SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net-se', 'datatables.net-searchbuilder'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
var jq = require('jquery');
var cjsRequires = function (root, $) {
if ( ! $.fn.dataTable ) {
require('datatables.net-se')(root, $);
}
if ( ! $.fn.dataTable.SearchBuilder ) {
require('datatables.net-searchbuilder')(root, $);
}
};
if (typeof window === 'undefined') {
module.exports = function (root, $) {
if ( ! root ) {
// CommonJS environments without a window global must pass a
// root. This will give an error otherwise
root = window;
}
if ( ! $ ) {
$ = jq( root );
}
cjsRequires( root, $ );
return factory( $, root, root.document );
};
}
else {
cjsRequires( window, jq );
module.exports = factory( jq, window, window.document );
}
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
$.extend(true, DataTable.SearchBuilder.classes, {
clearAll: 'basic ui button dtsb-clearAll'
});
$.extend(true, DataTable.Group.classes, {
add: 'basic ui button dtsb-add',
clearGroup: 'basic ui button dtsb-clearGroup',
logic: 'basic ui button dtsb-logic'
});
$.extend(true, DataTable.Criteria.classes, {
condition: 'ui selection dropdown dtsb-condition',
data: 'ui selection dropdown dtsb-data',
"delete": 'basic ui button dtsb-delete',
left: 'basic ui button dtsb-left',
right: 'basic ui button dtsb-right',
value: 'basic ui selection dropdown dtsb-value'
});
DataTable.ext.buttons.searchBuilder.action = function (e, dt, node, config) {
e.stopPropagation();
this.popover(config._searchBuilder.getNode(), {
align: 'container',
span: 'container'
});
// Need to redraw the contents to calculate the correct positions for the elements
if (config._searchBuilder.s.topGroup !== undefined) {
config._searchBuilder.s.topGroup.dom.container.trigger('dtsb-redrawContents');
}
$('div.dtsb-searchBuilder').removeClass('ui basic vertical buttons');
};
return DataTable;
}));