\").appendTo($container),$viewport.css(\"overflow-y\",options.autoHeight?\"hidden\":\"auto\"),$canvas=$(\"
\").appendTo($viewport),$focusSink2=$focusSink.clone().appendTo($container),options.explicitInitialization||finishInitialization()}function finishInitialization(){initialized||(initialized=!0,viewportW=parseFloat($.css($container[0],\"width\",!0)),measureCellPaddingAndBorder(),disableSelection($headers),options.enableTextSelectionOnCells||$viewport.bind(\"selectstart.ui\",function(t){return $(t.target).is(\"input,textarea\")}),updateColumnCaches(),createColumnHeaders(),setupColumnSort(),createCssRules(),resizeCanvas(),bindAncestorScrollEvents(),$container.bind(\"resize.bk-slickgrid\",resizeCanvas),$viewport.bind(\"scroll\",handleScroll),$headerScroller.bind(\"contextmenu\",handleHeaderContextMenu).bind(\"click\",handleHeaderClick).delegate(\".bk-slick-header-column\",\"mouseenter\",handleHeaderMouseEnter).delegate(\".bk-slick-header-column\",\"mouseleave\",handleHeaderMouseLeave),$headerRowScroller.bind(\"scroll\",handleHeaderRowScroll),$focusSink.add($focusSink2).bind(\"keydown\",handleKeyDown),$canvas.bind(\"keydown\",handleKeyDown).bind(\"click\",handleClick).bind(\"dblclick\",handleDblClick).bind(\"contextmenu\",handleContextMenu).bind(\"draginit\",handleDragInit).bind(\"dragstart\",{distance:3},handleDragStart).bind(\"drag\",handleDrag).bind(\"dragend\",handleDragEnd).delegate(\".bk-slick-cell\",\"mouseenter\",handleMouseEnter).delegate(\".bk-slick-cell\",\"mouseleave\",handleMouseLeave),navigator.userAgent.toLowerCase().match(/webkit/)&&navigator.userAgent.toLowerCase().match(/macintosh/)&&$canvas.bind(\"mousewheel\",handleMouseWheel))}function registerPlugin(t){plugins.unshift(t),t.init(self)}function unregisterPlugin(t){for(var e=plugins.length;e>=0;e--)if(plugins[e]===t){plugins[e].destroy&&plugins[e].destroy(),plugins.splice(e,1);break}}function setSelectionModel(t){selectionModel&&(selectionModel.onSelectedRangesChanged.unsubscribe(handleSelectedRangesChanged),selectionModel.destroy&&selectionModel.destroy()),selectionModel=t,selectionModel&&(selectionModel.init(self),selectionModel.onSelectedRangesChanged.subscribe(handleSelectedRangesChanged))}function getSelectionModel(){return selectionModel}function getCanvasNode(){return $canvas[0]}function measureScrollbar(){var t=$(\"
\").appendTo(\"body\"),e={width:t.width()-t[0].clientWidth,height:t.height()-t[0].clientHeight};return t.remove(),e}function getHeadersWidth(){for(var t=0,e=0,i=columns.length;e
viewportW-scrollbarDimensions.width),$headerRowSpacer.width(canvasWidth+(viewportHasVScroll?scrollbarDimensions.width:0)),(canvasWidth!=e||t)&&applyColumnWidths()}function disableSelection(t){t&&t.jquery&&t.attr(\"unselectable\",\"on\").css(\"MozUserSelect\",\"none\").bind(\"selectstart.ui\",function(){return!1})}function getMaxSupportedCssHeight(){for(var t=1e6,e=navigator.userAgent.toLowerCase().match(/firefox/)?6e6:1e9,i=$(\"\").appendTo(document.body);;){var n=2*t;if(i.css(\"height\",n),n>e||i.height()!==n)break;t=n}return i.remove(),t}function bindAncestorScrollEvents(){for(var t=$canvas[0];(t=t.parentNode)!=document.body&&null!=t;)if(t==$viewport[0]||t.scrollWidth!=t.clientWidth||t.scrollHeight!=t.clientHeight){var e=$(t);$boundAncestors=$boundAncestors?$boundAncestors.add(e):e,e.bind(\"scroll.\"+uid,handleActiveCellPositionChange)}}function unbindAncestorScrollEvents(){$boundAncestors&&($boundAncestors.unbind(\"scroll.\"+uid),$boundAncestors=null)}function updateColumnHeader(t,e,i){if(initialized){var n=getColumnIndex(t);if(null!=n){var o=columns[n],r=$headers.children().eq(n);r&&(void 0!==e&&(columns[n].name=e),void 0!==i&&(columns[n].toolTip=i),trigger(self.onBeforeHeaderCellDestroy,{node:r[0],column:o}),r.attr(\"title\",i||\"\").children().eq(0).html(e),trigger(self.onHeaderCellRendered,{node:r[0],column:o}))}}}function getHeaderRow(){return $headerRow[0]}function getHeaderRowColumn(t){var e=getColumnIndex(t),i=$headerRow.children().eq(e);return i&&i[0]}function createColumnHeaders(){function t(){$(this).addClass(\"bk-ui-state-hover\")}function e(){$(this).removeClass(\"bk-ui-state-hover\")}$headers.find(\".bk-slick-header-column\").each(function(){var t=$(this).data(\"column\");t&&trigger(self.onBeforeHeaderCellDestroy,{node:this,column:t})}),$headers.empty(),$headers.width(getHeadersWidth()),$headerRow.find(\".bk-slick-headerrow-column\").each(function(){var t=$(this).data(\"column\");t&&trigger(self.onBeforeHeaderRowCellDestroy,{node:this,column:t})}),$headerRow.empty();for(var i=0;i\").html(\"\"+n.name+\"\").width(n.width-headerColumnWidthDiff).attr(\"id\",\"\"+uid+n.id).attr(\"title\",n.toolTip||\"\").data(\"column\",n).addClass(n.headerCssClass||\"\").appendTo($headers);if((options.enableColumnReorder||n.sortable)&&o.on(\"mouseenter\",t).on(\"mouseleave\",e),n.sortable&&(o.addClass(\"bk-slick-header-sortable\"),o.append(\"\")),trigger(self.onHeaderCellRendered,{node:o[0],column:n}),options.showHeaderRow){var r=$(\"\").data(\"column\",n).appendTo($headerRow);trigger(self.onHeaderRowCellRendered,{node:r[0],column:n})}}setSortColumns(sortColumns),setupColumnResize(),options.enableColumnReorder&&setupColumnReorder()}function setupColumnSort(){$headers.click(function(t){if(t.metaKey=t.metaKey||t.ctrlKey,!$(t.target).hasClass(\"bk-slick-resizable-handle\")){var e=$(t.target).closest(\".bk-slick-header-column\");if(e.length){var i=e.data(\"column\");if(i.sortable){if(!getEditorLock().commitCurrentEdit())return;for(var n=null,o=0;o=l||(t=$(c),$(\"\").appendTo(c).bind(\"dragstart\",function(t,a){if(!getEditorLock().commitCurrentEdit())return!1;n=t.pageX,$(this).parent().addClass(\"bk-slick-header-column-active\");var l=null,c=null;if(o.each(function(t,e){columns[t].previousWidth=$(e).outerWidth()}),options.forceFitColumns)for(l=0,c=0,e=u+1;e=0;e--)i=columns[e],i.resizable&&(l=Math.max(i.minWidth||0,absoluteColumnMinWidth),c&&i.previousWidth+c=0;e--)i=columns[e],i.resizable&&(c&&i.maxWidth&&i.maxWidth-i.previousWidth- \").appendTo($headers),headerColumnWidthDiff=headerColumnHeightDiff=0,\"border-box\"!=t.css(\"box-sizing\")&&\"border-box\"!=t.css(\"-moz-box-sizing\")&&\"border-box\"!=t.css(\"-webkit-box-sizing\")&&($.each(e,function(e,i){headerColumnWidthDiff+=parseFloat(t.css(i))||0}),$.each(i,function(e,i){headerColumnHeightDiff+=parseFloat(t.css(i))||0})),t.remove();var n=$(\"