/*! Bootstrap integration for DataTables' Editor
* ©2015 SpryMedia Ltd - datatables.net/license
*/
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net-bs', 'datatables.net-editor'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
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 ( ! $ ) {
$ = typeof window !== 'undefined' ? // jQuery's factory checks for a global window
require('jquery') :
require('jquery')( root );
}
if ( ! $.fn.dataTable ) {
require('datatables.net-bs')(root, $);
}
if ( ! $.fn.dataTable ) {
require('datatables.net-editor')(root, $);
}
return factory( $, root, root.document );
};
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
(function( factory ){
if ( typeof define === 'function' && define.amd ) {
// AMD
define( ['jquery', 'datatables.net-bs', 'datatables.net-editor'], function ( $ ) {
return factory( $, window, document );
} );
}
else if ( typeof exports === 'object' ) {
// CommonJS
module.exports = function (root, $) {
if ( ! root ) {
root = window;
}
if ( ! $ || ! $.fn.dataTable ) {
$ = require('datatables.net-bs')(root, $).$;
}
if ( ! $.fn.dataTable.Editor ) {
require('datatables.net-editor')(root, $);
}
return factory( $, root, root.document );
};
}
else {
// Browser
factory( jQuery, window, document );
}
}(function( $, window, document, undefined ) {
'use strict';
var DataTable = $.fn.dataTable;
/*
* Set the default display controller to be our bootstrap control
*/
DataTable.Editor.defaults.display = "bootstrap";
/*
* Alter the buttons that Editor adds to Buttons so they are suitable for bootstrap
*/
var i18nDefaults = DataTable.Editor.defaults.i18n;
i18nDefaults.create.title = "
"+i18nDefaults.create.title+"
";
i18nDefaults.edit.title = ""+i18nDefaults.edit.title+"
";
i18nDefaults.remove.title = ""+i18nDefaults.remove.title+"
";
/*
* Change the default classes from Editor to be classes for Bootstrap
*/
$.extend( true, $.fn.dataTable.Editor.classes, {
"header": {
"wrapper": "DTE_Header modal-header"
},
"body": {
"wrapper": "DTE_Body modal-body"
},
"footer": {
"wrapper": "DTE_Footer modal-footer"
},
"form": {
"tag": "form-horizontal",
"button": "btn btn-default",
"buttonInternal": "btn btn-default"
},
"field": {
"wrapper": "DTE_Field",
"label": "col-lg-4 control-label",
"input": "col-lg-8 controls",
"error": "error has-error",
"msg-labelInfo": "help-block",
"msg-info": "help-block",
"msg-message": "help-block",
"msg-error": "help-block",
"multiValue": "well well-sm multi-value",
"multiInfo": "small",
"multiRestore": "well well-sm multi-restore"
}
} );
$.extend( true, DataTable.ext.buttons, {
create: {
formButtons: {
className: 'btn-primary'
}
},
edit: {
formButtons: {
className: 'btn-primary'
}
},
remove: {
formButtons: {
className: 'btn-danger'
}
}
} );
DataTable.Editor.fieldTypes.datatable.tableClass = 'table';
let shown = false;
let fullyShown = false;
const dom = {
// Note that `modal-dialog-scrollable` is BS4.3+ only. It has no effect on 4.0-4.2
content: $(
''
),
close: $('