/*! 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: $('