Show More
Commit Description:
remove unnecessary gems
Commit Description:
remove unnecessary gems
References:
File last commit:
Show/Diff file:
Action:
vendor/javascript/datatables/Editor-2.0.9/js/editor.foundation.js
| 202 lines
| 4.1 KiB
| application/javascript
| JavascriptLexer
|
r866 | ||||
/*! Foundation integration for DataTables' Editor | ||||
* ©2015 SpryMedia Ltd - datatables.net/license | ||||
*/ | ||||
(function( factory ){ | ||||
if ( typeof define === 'function' && define.amd ) { | ||||
// AMD | ||||
define( ['jquery', 'datatables.net-zf', '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-zf')(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-zf', '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-zf')(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 foundation control | ||||
*/ | ||||
DataTable.Editor.defaults.display = "foundation"; | ||||
/* | ||||
* Change the default classes from Editor to be classes for Foundation | ||||
*/ | ||||
$.extend( true, $.fn.dataTable.Editor.classes, { | ||||
field: { | ||||
wrapper: "DTE_Field row", | ||||
label: "small-4 columns inline", | ||||
input: "small-8 columns", | ||||
error: "error", | ||||
multiValue: "panel radius multi-value", | ||||
multiInfo: "small", | ||||
multiRestore: "panel radius multi-restore", | ||||
"msg-labelInfo": "label secondary", | ||||
"msg-info": "label secondary", | ||||
"msg-message": "label secondary", | ||||
"msg-error": "label alert" | ||||
}, | ||||
form: { | ||||
button: "button small", | ||||
buttonInternal: "button small" | ||||
} | ||||
} ); | ||||
/* | ||||
* Foundation display controller - this is effectively a proxy to the Foundation | ||||
* modal control. | ||||
*/ | ||||
var shown = false; | ||||
var reveal; | ||||
const dom = { | ||||
content: $( | ||||
'<div class="reveal reveal-modal DTED" data-reveal></div>' | ||||
), | ||||
close: $('<button class="close close-button">×</div>') | ||||
}; | ||||
DataTable.Editor.display.foundation = $.extend( true, {}, DataTable.Editor.models.displayController, { | ||||
init: function ( dte ) { | ||||
if (! reveal) { | ||||
reveal = new window.Foundation.Reveal( dom.content, { | ||||
closeOnClick: false | ||||
} ); | ||||
} | ||||
return DataTable.Editor.display.foundation; | ||||
}, | ||||
open: function ( dte, append, callback ) { | ||||
var content = dom.content; | ||||
content.children().detach(); | ||||
content.append( append ); | ||||
content.prepend( dom.close ); | ||||
dom.close | ||||
.attr('title', dte.i18n.close) | ||||
.off('click.dte-zf') | ||||
.on('click.dte-zf', function () { | ||||
dte.close('icon'); | ||||
}); | ||||
$(document) | ||||
.off('click.dte-zf') | ||||
.on('click.dte-zf', 'div.reveal-modal-bg, div.reveal-overlay', function (e) { | ||||
if ( $(e.target).closest(dom.content).length ) { | ||||
return; | ||||
} | ||||
dte.background(); | ||||
} ); | ||||
if ( shown ) { | ||||
if ( callback ) { | ||||
callback(); | ||||
} | ||||
return; | ||||
} | ||||
shown = true; | ||||
$(dom.content) | ||||
.one('open.zf.reveal', function () { | ||||
if ( callback ) { | ||||
callback(); | ||||
} | ||||
}); | ||||
reveal.open(); | ||||
}, | ||||
close: function ( dte, callback ) { | ||||
if (shown) { | ||||
reveal.close(); | ||||
shown = false; | ||||
} | ||||
if ( callback ) { | ||||
callback(); | ||||
} | ||||
}, | ||||
node: function ( dte ) { | ||||
return dom.content[0]; | ||||
} | ||||
} ); | ||||
return DataTable.Editor; | ||||
})); | ||||
return Editor; | ||||
})); | ||||