diff options
Diffstat (limited to 'slick.grid.js')
-rw-r--r-- | slick.grid.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/slick.grid.js b/slick.grid.js index 7362362..99a2c3f 100644 --- a/slick.grid.js +++ b/slick.grid.js @@ -81,6 +81,18 @@ * @param {Object} options Grid options. * */ + +// make sure required JavaScript modules are loaded +if (typeof jQuery === "undefined") { + throw new Error("SlickGrid requires jquery module to be loaded"); +} +if (!jQuery.rule) { + throw new Error("SlickGrid requires jquery.rule module to be loaded"); +} +if (!jQuery.fn.drag) { + throw new Error("SlickGrid requires jquery.event.drag module to be loaded"); +} + (function() { var scrollbarDimensions; // shared across all grids on this page @@ -211,6 +223,20 @@ options = $.extend({},defaults,options); columnDefaults.width = options.defaultColumnWidth; + // validate loaded JavaScript modules against requested options + if (options.enableColumnReorder && !jQuery.fn.sortable) { + throw new Error("SlickGrid's \"enableColumnReorder = true\" option requires jquery-ui.sortable module to be loaded"); + } + if (options.editable) { + if (typeof SelectorCellFormatter === "undefined") { + throw new Error("SlickGrid's \"editable = true\" option requires slick.editors module to be loaded"); + } + if (!Slick.GlobalEditorLock) { + throw new Error("SlickGrid's \"editable = true\" option requires slick.globaleditorlock module to be loaded"); + } + } + + $container .empty() .attr("tabIndex",0) |