diff --git a/dist/tui-grid.comb.js b/dist/tui-grid.comb.js index 80baadf43..ff1c4af95 100644 --- a/dist/tui-grid.comb.js +++ b/dist/tui-grid.comb.js @@ -1,6 +1,6 @@ /*! - * bundle created at "Thu Sep 28 2017 10:34:09 GMT+0900 (KST)" - * version: 2.4.1 + * bundle created at "Thu Oct 26 2017 11:04:11 GMT+0900 (KST)" + * version: 2.5.0 */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') @@ -248,20 +248,36 @@ return /******/ (function(modules) { // webpackBootstrap * for this column * @param {Object} [options.columns.component.options] - The options object to be used for * creating the component - * @param {Object} [options.footer] - The object for configuring footer area. - * @param {number} [options.footer.height] - The height of the footer area. - * @param {Object.} [options.footer.columnContent] - * The object for configuring each column in the footer. + * @param {Object} [options.summary] - The object for configuring summary area. + * @param {number} [options.summary.height] - The height of the summary area. + * @param {Object.} [options.summary.columnContent] + * The object for configuring each column in the summary. * Sub options below are keyed by each column name. - * @param {boolean} [options.footer.columnContent.useAutoSummary=true] + * @param {boolean} [options.summary.columnContent.useAutoSummary=true] * If set to true, the summary value of each column is served as a paramater to the template * function whenever data is changed. - * @param {function} [options.footer.columnContent.template] - Template function which returns the - * content(HTML) of the column of the footer. This function takes an K-V object as a parameter + * @param {function} [options.summary.columnContent.template] - Template function which returns the + * content(HTML) of the column of the summary. This function takes an K-V object as a parameter + * which contains a summary values keyed by 'sum', 'avg', 'min', 'max' and 'cnt'. + * @param {Object} [options.footer] - Deprecated: The object for configuring summary area. This option is replaced by "summary" option. + * @param {number} [options.footer.height] - Deprecated: The height of the summary area. + * @param {Object.} [options.footer.columnContent] + * Deprecated: The object for configuring each column in the summary. + * Sub options below are keyed by each column name. + * @param {boolean} [options.footer.columnContent.useAutoSummary=true] + * Deprecated: If set to true, the summary value of each column is served as a paramater to the template + * function whenever data is changed. + * @param {function} [options.footer.columnContent.template] - Deprecated: Template function which returns the + * content(HTML) of the column of the summary. This function takes an K-V object as a parameter * which contains a summary values keyed by 'sum', 'avg', 'min', 'max' and 'cnt'. */ var Grid = View.extend(/** @lends Grid.prototype */{ initialize: function(options) { + if (options.footer) { + util.warning('The "footer" option is deprecated since 2.5.0 and replaced by "summary" option.'); + options.summary = options.footer; + } + this.id = util.getUniqueKey(); this.domState = new DomState(this.$el); this.domEventBus = DomEventBus.create(); @@ -335,7 +351,7 @@ return /******/ (function(modules) { // webpackBootstrap */ _createViewFactory: function(options) { var viewOptions = _.pick(options, [ - 'heightResizable', 'footer' + 'heightResizable', 'summary' ]); var dependencies = { modelManager: this.modelManager, @@ -965,12 +981,22 @@ return /******/ (function(modules) { // webpackBootstrap }, /** - * Sets the HTML string of given column footer. + * Sets the HTML string of given column summary. + * @param {string} columnName - column name + * @param {string} contents - HTML string + */ + setSummaryColumnContent: function(columnName, contents) { + this.modelManager.columnModel.setSummaryContent(columnName, contents); + }, + + /** + * Sets the HTML string of given column summary. + * @deprecated since version 2.5.0 and is replaced by "setSummaryColumnContent" API * @param {string} columnName - column name * @param {string} contents - HTML string */ setFooterColumnContent: function(columnName, contents) { - this.modelManager.columnModel.setFooterContent(columnName, contents); + this.modelManager.columnModel.setSummaryContent(columnName, contents); }, /** @@ -4824,7 +4850,7 @@ return /******/ (function(modules) { // webpackBootstrap this.renderModel = this._createRenderModel(options); this.coordConverterModel = this._createCoordConverterModel(); this.selectionModel = this._createSelectionModel(options, domEventBus); - this.summaryModel = this._createSummaryModel(options.footer); + this.summaryModel = this._createSummaryModel(options.summary); this.clipboardModel = this._createClipboardModel(options, domEventBus); }, @@ -4864,6 +4890,7 @@ return /******/ (function(modules) { // webpackBootstrap }); }, + /* eslint-disable complexity */ /** * Creates an instance of dimension model and returns it. * @param {Object} options - Options @@ -4883,7 +4910,8 @@ return /******/ (function(modules) { // webpackBootstrap var attrs = { headerHeight: options.header.height, bodyHeight: bodyHeight, - footerHeight: options.footer ? options.footer.height : 0, + summaryHeight: options.summary ? options.summary.height : 0, + summaryPosition: options.summary ? (options.summary.position || 'bottom') : null, rowHeight: rowHeight, fitToParentHeight: (options.bodyHeight === 'fitToParent'), scrollX: !!options.scrollX, @@ -4909,6 +4937,7 @@ return /******/ (function(modules) { // webpackBootstrap return dimensionModel; }, + /* eslint-enable complexity */ /** * Creates an instance of coordRow model and returns it @@ -5029,18 +5058,18 @@ return /******/ (function(modules) { // webpackBootstrap /** * Creates an instance of summary model and returns it. - * @param {Object} footerOptions - footer options + * @param {Object} summaryOptions - summary options * @returns {module:model/summary} - A new instance * @private */ - _createSummaryModel: function(footerOptions) { + _createSummaryModel: function(summaryOptions) { var autoColumnNames = []; - if (!footerOptions || !footerOptions.columnContent) { + if (!summaryOptions || !summaryOptions.columnContent) { return null; } - _.each(footerOptions.columnContent, function(options, columnName) { + _.each(summaryOptions.columnContent, function(options, columnName) { if (_.isFunction(options.template) && options.useAutoSummary !== false) { autoColumnNames.push(columnName); } @@ -5208,14 +5237,15 @@ return /******/ (function(modules) { // webpackBootstrap }, /** - * columnName 이 열고정 영역에 있는 column 인지 반환한다. - * @param {String} columnName 컬럼명 - * @returns {Boolean} 열고정 영역에 존재하는 컬럼인지 여부 + * Returns state that the column is included in left side by column name + * @param {String} columnName - Column name + * @returns {Boolean} Whether the column is included in left side or not */ isLside: function(columnName) { var index = this.indexOfColumnName(columnName, true); + var frozenCount = this.getVisibleFrozenCount(false); - return (index > -1) && (index < this.get('frozenCount')); + return (index > -1) && (index < frozenCount); }, /** @@ -5560,13 +5590,13 @@ return /******/ (function(modules) { // webpackBootstrap }, /** - * Set footer contents. - * (Just trigger 'setFooterContent') + * Set summary contents. + * (Just trigger 'setSummaryContent') * @param {string} columnName - columnName * @param {string} contents - HTML string */ - setFooterContent: function(columnName, contents) { - this.trigger('setFooterContent', columnName, contents); + setSummaryContent: function(columnName, contents) { + this.trigger('setSummaryContent', columnName, contents); } }); @@ -5677,6 +5707,10 @@ return /******/ (function(modules) { // webpackBootstrap CNT: 'cnt', MAX: 'max', MIN: 'min' + }, + summaryPosition: { + TOP: 'top', + BOTTOM: 'bottom' } }; @@ -8578,8 +8612,12 @@ return /******/ (function(modules) { // webpackBootstrap RSIDE_AREA: 'rside-area', HEAD_AREA: 'head-area', BODY_AREA: 'body-area', - FOOT_AREA: 'foot-area', - FOOT_AREA_RIGHT: 'foot-area-right', + SUMMARY_AREA: 'summary-area', + SUMMARY_AREA_TOP: 'summary-area-top', + SUMMARY_AREA_BOTTOM: 'summary-area-bottom', + SUMMARY_AREA_RIGHT: 'summary-area-right', + SUMMARY_AREA_RIGHT_TOP: 'summary-area-right-top', + SUMMARY_AREA_RIGHT_BOTTOM: 'summary-area-right-bottom', // header COLUMN_RESIZE_CONTAINER: 'column-resize-container', @@ -8682,7 +8720,9 @@ return /******/ (function(modules) { // webpackBootstrap var _ = __webpack_require__(6); var Model = __webpack_require__(13); - var dimensionConstMap = __webpack_require__(14).dimension; + var constMap = __webpack_require__(14); + var dimensionConstMap = constMap.dimension; + var summaryPositionConst = constMap.summaryPosition; var TABLE_BORDER_WIDTH = dimensionConstMap.TABLE_BORDER_WIDTH; var CELL_BORDER_WIDTH = dimensionConstMap.CELL_BORDER_WIDTH; @@ -8722,7 +8762,9 @@ return /******/ (function(modules) { // webpackBootstrap headerHeight: 0, bodyHeight: 0, - footerHeight: 0, + + summaryHeight: 0, + summaryPosition: null, resizeHandleHeight: 0, paginationHeight: 0, @@ -8897,7 +8939,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ _calcRealBodyHeight: function(height) { - var extraHeight = this.get('headerHeight') + this.get('footerHeight') + TABLE_BORDER_WIDTH; + var extraHeight = this.get('headerHeight') + this.get('summaryHeight') + TABLE_BORDER_WIDTH; return height - extraHeight; }, @@ -8996,12 +9038,13 @@ return /******/ (function(modules) { // webpackBootstrap /** * Returns the offset.top of body - * @returns {number} + * @returns {number} */ getBodyOffsetTop: function() { var offsetTop = this.domState.getOffset().top; + var summaryHeight = this.get('summaryPosition') === summaryPositionConst.TOP ? this.get('summaryHeight') : 0; - return offsetTop + this.get('headerHeight') + return offsetTop + this.get('headerHeight') + summaryHeight + CELL_BORDER_WIDTH + TABLE_BORDER_WIDTH; }, @@ -13368,7 +13411,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ _resetSummaryMap: function() { - this._resetFooterSummaryValue(); + this._resetSummarySummaryValue(); }, /** @@ -13376,7 +13419,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Array.} columnNames - An array of column names * @private */ - _resetFooterSummaryValue: function(columnNames) { + _resetSummarySummaryValue: function(columnNames) { var targetColumnNames = this.autoColumnNames; if (columnNames) { @@ -13397,7 +13440,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ _onChangeData: function(model) { - this._resetFooterSummaryValue(_.keys(model.changed)); + this._resetSummarySummaryValue(_.keys(model.changed)); }, /** @@ -13407,7 +13450,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ _onDeleteRangeData: function(rowKeys, columnNames) { - this._resetFooterSummaryValue(columnNames); + this._resetSummarySummaryValue(columnNames); }, /** @@ -13622,7 +13665,7 @@ return /******/ (function(modules) { // webpackBootstrap var HeaderResizeHandleView = __webpack_require__(51); var BodyView = __webpack_require__(52); var BodyTableView = __webpack_require__(53); - var FooterView = __webpack_require__(54); + var SummaryView = __webpack_require__(54); var RowListView = __webpack_require__(55); var SelectionLayerView = __webpack_require__(56); var EditingLayerView = __webpack_require__(57); @@ -13646,7 +13689,7 @@ return /******/ (function(modules) { // webpackBootstrap this.componentHolder = options.componentHolder; // view options - this.footerOptions = options.footer; + this.summaryOptions = options.summary; this.heightResizable = options.heightResizable; }, @@ -13768,24 +13811,24 @@ return /******/ (function(modules) { // webpackBootstrap }, /** - * Creates footer view and returns it. + * Creates summary view and returns it. * @param {string} whichSide - 'L'(left) or 'R'(right) * @returns {object} */ - createFooter: function(whichSide) { + createSummary: function(whichSide) { var templateMap = {}; - if (!this.footerOptions) { + if (!this.summaryOptions) { return null; } - _.each(this.footerOptions.columnContent, function(options, columnName) { + _.each(this.summaryOptions.columnContent, function(options, columnName) { if (_.isFunction(options.template)) { templateMap[columnName] = options.template; } }); - return new FooterView({ + return new SummaryView({ whichSide: whichSide, columnModel: this.modelManager.columnModel, renderModel: this.modelManager.renderModel, @@ -13798,12 +13841,14 @@ return /******/ (function(modules) { // webpackBootstrap /** * Creates resize handler of header view and returns it. - * @param {String} whichSide - 'L'(left) or 'R'(right) + * @param {string} whichSide - 'L'(left) or 'R'(right) + * @param {array} handleHeights - Height values of each resize handle * @returns {module:view/layout/header} New resize handler view instance */ - createHeaderResizeHandle: function(whichSide) { + createHeaderResizeHandle: function(whichSide, handleHeights) { return new HeaderResizeHandleView({ whichSide: whichSide, + handleHeights: handleHeights, headerHeight: this.modelManager.dimensionModel.get('headerHeight'), columnModel: this.modelManager.columnModel, coordColumnModel: this.modelManager.coordColumnModel, @@ -15326,7 +15371,9 @@ return /******/ (function(modules) { // webpackBootstrap var _ = __webpack_require__(6); var View = __webpack_require__(8); - var frameConst = __webpack_require__(14).frame; + var constMap = __webpack_require__(14); + var frameConst = constMap.frame; + var summaryPositionConst = constMap.summaryPosition; /** * Base class for frame view. @@ -15355,17 +15402,12 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {module:view/layout/frame} This object */ render: function() { - var factory = this.viewFactory; - this.$el.empty(); this._destroyChildren(); this.beforeRender(); - this._addChildren([ - factory.createHeader(this.whichSide), - factory.createBody(this.whichSide), - factory.createFooter(this.whichSide) - ]); + + this._addChildren(this._createChildren()); this.$el.append(this._renderChildren()); this.afterRender(); @@ -15382,7 +15424,31 @@ return /******/ (function(modules) { // webpackBootstrap * To be called at the end of the 'render' method. * @abstract */ - afterRender: function() {} + afterRender: function() {}, + + /** + * Create children view to append on frame element + * @returns {array} View elements + * @private + */ + _createChildren: function() { + var factory = this.viewFactory; + var summaryPosition = this.dimensionModel.get('summaryPosition'); + var header = factory.createHeader(this.whichSide); + var body = factory.createBody(this.whichSide); + var summary = factory.createSummary(this.whichSide, summaryPosition); + var children; + + if (summaryPosition === summaryPositionConst.TOP) { + children = [header, summary, body]; + } else if (summaryPosition === summaryPositionConst.BOTTOM) { + children = [header, body, summary]; + } else { + children = [header, body]; + } + + return children; + } }); module.exports = Frame; @@ -15406,6 +15472,8 @@ return /******/ (function(modules) { // webpackBootstrap var classNameConst = __webpack_require__(22); var constMap = __webpack_require__(14); var frameConst = constMap.frame; + var summaryPositionConst = constMap.summaryPosition; + var CELL_BORDER_WIDTH = constMap.dimension.CELL_BORDER_WIDTH; /** @@ -15489,14 +15557,14 @@ return /******/ (function(modules) { // webpackBootstrap */ afterRender: function() { var dimensionModel = this.dimensionModel; - var headerHeight, footerHeight; + var headerHeight, summaryHeight; var $space, $scrollBorder; if (!dimensionModel.get('scrollY')) { return; } headerHeight = dimensionModel.get('headerHeight'); - footerHeight = dimensionModel.get('footerHeight'); + summaryHeight = dimensionModel.get('summaryHeight'); // Empty DIV for hiding scrollbar in the header area $space = $('
').addClass(classNameConst.SCROLLBAR_HEAD); @@ -15516,16 +15584,40 @@ return /******/ (function(modules) { // webpackBootstrap this.$el.append($('
').addClass(classNameConst.SCROLLBAR_RIGHT_BOTTOM)); } - // Empty DIV for filling gray color in the right side of the footer. - if (footerHeight && dimensionModel.get('scrollY')) { - this.$el.append($('
') - .addClass(classNameConst.FOOT_AREA_RIGHT) - .css('height', footerHeight - CELL_BORDER_WIDTH) - ); + // Empty DIV for filling gray color in the right side of the summary. + if (summaryHeight && dimensionModel.get('scrollY')) { + this._applyStyleToSummary(headerHeight, summaryHeight, dimensionModel.get('summaryPosition')); } this.$scrollBorder = $scrollBorder; this._resetScrollBorderHeight(); + }, + + /** + * Apply style to summary area on right-side frame + * @param {number} headerHeight - Height of header area + * @param {number} summaryHeight - Height of summary area by setting "summary" option + * @param {string} summaryPosition - Position of summary area ('top' or 'bottom') + */ + _applyStyleToSummary: function(headerHeight, summaryHeight, summaryPosition) { + var styles = {}; + var subClassName; + + if (summaryPosition === summaryPositionConst.TOP) { + styles.top = headerHeight; + subClassName = classNameConst.SUMMARY_AREA_RIGHT_TOP; + } else { + styles.bottom = 0; + subClassName = classNameConst.SUMMARY_AREA_RIGHT_BOTTOM; + } + + styles.height = summaryHeight - CELL_BORDER_WIDTH; + + this.$el.append($('
') + .addClass(classNameConst.SUMMARY_AREA_RIGHT) + .addClass(subClassName) + .css(styles) + ); } }); @@ -15563,6 +15655,28 @@ return /******/ (function(modules) { // webpackBootstrap // Minimum time (ms) to detect if an alert or confirm dialog has been displayed. var MIN_INTERVAL_FOR_PAUSED = 200; + var Header; + + /** + * Get count of same columns in complex columns + * @param {array} currentColumn - Current column's model + * @param {array} prevColumn - Previous column's model + * @returns {number} Count of same columns + * @ignore + */ + function getSameColumnCount(currentColumn, prevColumn) { + var index = 0; + var len = Math.min(currentColumn.length, prevColumn.length); + + for (; index < len; index += 1) { + if (currentColumn[index].name !== prevColumn[index].name) { + break; + } + } + + return index; + } + /** * Header Layout View * @module view/layout/header @@ -15571,7 +15685,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {String} [options.whichSide=R] R: Right, L: Left * @ignore */ - var Header = View.extend(/** @lends module:view/layout/header.prototype */{ + Header = View.extend(/** @lends module:view/layout/header.prototype */{ initialize: function(options) { View.prototype.initialize.call(this); @@ -15925,6 +16039,8 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {View.Layout.Header} this */ render: function() { + var resizeHandleHeights; + this._destroyChildren(); this.$el.css({ @@ -15935,7 +16051,8 @@ return /******/ (function(modules) { // webpackBootstrap })); if (this.coordColumnModel.get('resizable')) { - this._addChildren(this.viewFactory.createHeaderResizeHandle(this.whichSide)); + resizeHandleHeights = this._getResizeHandleHeights(); + this._addChildren(this.viewFactory.createHeaderResizeHandle(this.whichSide, resizeHandleHeights)); this.$el.append(this._renderChildren()); } @@ -16081,6 +16198,31 @@ return /******/ (function(modules) { // webpackBootstrap } return results; + }, + + /** + * Get height values of resize handlers + * @returns {array} Height values of resize handles + */ + _getResizeHandleHeights: function() { + var hierarchyList = this._getColumnHierarchyList(); + var maxRowCount = this._getHierarchyMaxRowCount(hierarchyList); + var rowHeight = util.getRowHeight(maxRowCount, this.headerHeight) - 1; + var handleHeights = []; + var index = 1; + var coulmnLen = hierarchyList.length; + var sameColumnCount, handleHeight; + + for (; index < coulmnLen; index += 1) { + sameColumnCount = getSameColumnCount(hierarchyList[index], hierarchyList[index - 1]); + handleHeight = rowHeight * (maxRowCount - sameColumnCount); + + handleHeights.push(handleHeight); + } + + handleHeights.push(rowHeight * maxRowCount); // last resize handle + + return handleHeights; } }); @@ -16128,6 +16270,7 @@ return /******/ (function(modules) { // webpackBootstrap coordColumnModel: options.coordColumnModel, domEventBus: options.domEventBus, headerHeight: options.headerHeight, + handleHeights: options.handleHeights, whichSide: options.whichSide || frameConst.R }); @@ -16157,9 +16300,8 @@ return /******/ (function(modules) { // webpackBootstrap attrNameConst.COLUMN_INDEX + '="<%=columnIndex%>" ' + attrNameConst.COLUMN_NAME + '="<%=columnName%>" ' + 'class="' + classNameConst.COLUMN_RESIZE_HANDLE + ' <%=lastClass%>" ' + - 'height="<%=height%>" ' + 'title="<%=title%>"' + - 'style="display:<%=displayType%>">' + + 'style="height:<%=height%>;display:<%=displayType%>">' + '
' ), @@ -16192,7 +16334,7 @@ return /******/ (function(modules) { // webpackBootstrap lastClass: (index + 1 === length) ? classNameConst.COLUMN_RESIZE_HANDLE_LAST : '', columnIndex: index, columnName: columnModel.name, - height: this.headerHeight, + height: this.handleHeights[index] + 'px', title: message.get('resizeHandleGuide'), displayType: (columnModel.resizable === false) ? 'none' : 'block' }); @@ -16234,7 +16376,7 @@ return /******/ (function(modules) { // webpackBootstrap var $handler = $resizeHandleList.eq(index); curPos += columnWidths[index] + CELL_BORDER_WIDTH; $handler.css('left', curPos - handlerWidthHalf); - }); + }, this); }, /** @@ -16766,7 +16908,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ (function(module, exports, __webpack_require__) { /** - * @fileoverview Footer + * @fileoverview Summary * @author NHN Ent. FE Development Team */ @@ -16781,13 +16923,13 @@ return /******/ (function(modules) { // webpackBootstrap var ATTR_COLUMN_NAME = constMap.attrName.COLUMN_NAME; /** - * Footer area - * @module view/layout/footer + * Summary area + * @module view/layout/summary * @extends module:base/view * @param {Object} options - Options * @ignore */ - var Footer = View.extend(/** @lends module:view/layout/footer.prototype */{ + var Summary = View.extend(/** @lends module:view/layout/summary.prototype */{ initialize: function(options) { /** * Store template functions of each column @@ -16818,13 +16960,13 @@ return /******/ (function(modules) { // webpackBootstrap // events this.listenTo(this.renderModel, 'change:scrollLeft', this._onChangeScrollLeft); this.listenTo(this.coordColumnModel, 'columnWidthChanged', this._onChangeColumnWidth); - this.listenTo(this.columnModel, 'setFooterContent', this._setColumnContent); + this.listenTo(this.columnModel, 'setSummaryContent', this._setColumnContent); if (this.summaryModel) { this.listenTo(this.summaryModel, 'change', this._onChangeSummaryValue); } }, - className: classNameConst.FOOT_AREA, + className: classNameConst.SUMMARY_AREA, events: { scroll: '_onScrollView' @@ -16958,12 +17100,16 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {object} */ render: function() { - var footerHeight = this.dimensionModel.get('footerHeight'); + var summaryHeight = this.dimensionModel.get('summaryHeight'); + var summaryPosition = this.dimensionModel.get('summaryPosition'); + var className = summaryPosition === 'top' ? classNameConst.SUMMARY_AREA_TOP : classNameConst.SUMMARY_AREA_BOTTOM; - if (footerHeight) { + this.$el.addClass(className); + + if (summaryHeight) { this.$el.html(this.template({ className: classNameConst.TABLE, - height: footerHeight, + height: summaryHeight, tbody: this._generateTbodyHTML() })); } @@ -16972,7 +17118,7 @@ return /******/ (function(modules) { // webpackBootstrap } }); - module.exports = Footer; + module.exports = Summary; /***/ }), @@ -21414,22 +21560,22 @@ return /******/ (function(modules) { // webpackBootstrap var contentAreaRule = classRule(classNameConst.CONTENT_AREA).border(options.border); var tableRule = classRule(classNameConst.TABLE).border(options.border); var headerRule = classRule(classNameConst.HEAD_AREA).border(options.border); - var footerRule = classRule(classNameConst.FOOT_AREA).border(options.border); + var summaryRule = classRule(classNameConst.SUMMARY_AREA).border(options.border); var borderLineRule = classRule(classNameConst.BORDER_LINE).bg(options.border); var scrollHeadRule = classRule(classNameConst.SCROLLBAR_HEAD).border(options.border); var scrollBorderRule = classRule(classNameConst.SCROLLBAR_BORDER).bg(options.border); - var footerRightRule = classRule(classNameConst.FOOT_AREA_RIGHT).border(options.border); + var summaryRightRule = classRule(classNameConst.SUMMARY_AREA_RIGHT).border(options.border); return builder.buildAll([ containerRule, contentAreaRule, tableRule, headerRule, - footerRule, + summaryRule, borderLineRule, scrollHeadRule, scrollBorderRule, - footerRightRule + summaryRightRule ]); }, @@ -21444,7 +21590,7 @@ return /******/ (function(modules) { // webpackBootstrap var rightBottomRule = classRule(classNameConst.SCROLLBAR_RIGHT_BOTTOM).bg(options.background); var leftBottomRule = classRule(classNameConst.SCROLLBAR_LEFT_BOTTOM).bg(options.background); var scrollHeadRule = classRule(classNameConst.SCROLLBAR_HEAD).bg(options.background); - var footerRightRule = classRule(classNameConst.FOOT_AREA_RIGHT).bg(options.background); + var summaryRightRule = classRule(classNameConst.SUMMARY_AREA_RIGHT).bg(options.background); var bodyAreaRule = classRule(classNameConst.BODY_AREA).bg(options.background); return builder.buildAll(webkitScrollbarRules.concat([ @@ -21452,7 +21598,7 @@ return /******/ (function(modules) { // webpackBootstrap rightBottomRule, leftBottomRule, scrollHeadRule, - footerRightRule, + summaryRightRule, bodyAreaRule ])); }, @@ -21514,10 +21660,10 @@ return /******/ (function(modules) { // webpackBootstrap var headAreaRule = classRule(classNameConst.HEAD_AREA) .bg(options.background); - var footerAreaRule = classRule(classNameConst.FOOT_AREA) + var summaryAreaRule = classRule(classNameConst.SUMMARY_AREA) .bg(options.background); - return builder.buildAll([headRule, headAreaRule, footerAreaRule]); + return builder.buildAll([headRule, headAreaRule, summaryAreaRule]); }, /** diff --git a/dist/tui-grid.comb.min.js b/dist/tui-grid.comb.min.js index 70ff7f35a..80f668890 100644 --- a/dist/tui-grid.comb.min.js +++ b/dist/tui-grid.comb.min.js @@ -1,11 +1,11 @@ /*! - * bundle created at "Thu Sep 28 2017 10:34:09 GMT+0900 (KST)" - * version: 2.4.1 + * bundle created at "Thu Oct 26 2017 11:04:11 GMT+0900 (KST)" + * version: 2.5.0 */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("tui-code-snippet"),require("jquery"),require("tui-date-picker"),require("tui-pagination")):"function"==typeof define&&define.amd?define(["tui-code-snippet","jquery","tui-date-picker","tui-pagination"],e):"object"==typeof exports?exports.Grid=e(require("tui-code-snippet"),require("jquery"),require("tui-date-picker"),require("tui-pagination")):(t.tui=t.tui||{},t.tui.Grid=e(t.tui&&t.tui.util,t.$,t.tui&&t.tui.DatePicker,t.tui&&t.tui.Pagination))}(this,function(t,e,n,i){return function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return t[i].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";n(1),t.exports=n(5)},function(t,e){},,,,function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(8),r=n(11),a=n(35),l=n(60),u=n(61),d=n(62),h=n(63),c=n(73),g=n(74),f=n(77),m=n(20),p=n(44),_=n(78),M=n(14).themeName,v={},w=s.extend({initialize:function(t){this.id=m.getUniqueKey(),this.domState=new u(this.$el),this.domEventBus=l.create(),this.modelManager=this._createModelManager(t),this.painterManager=this._createPainterManager(),this.componentHolder=this._createComponentHolder(t.pagination),this.viewFactory=this._createViewFactory(t),this.container=this.viewFactory.createContainer(),this.publicEventEmitter=this._createPublicEventEmitter(),this.container.render(),this.refreshLayout(),_.isApplied()||_.apply(M.DEFAULT),this.addOn={},v[this.id]=this,t.data&&this.setData(t.data)},_createModelManager:function(t){var e=i.assign({},t,{gridId:this.id,publicObject:this});return i.omit(e,"el"),new r(e,this.domState,this.domEventBus)},_createPainterManager:function(){var t=new c({focusModel:this.modelManager.focusModel,dataModel:this.modelManager.dataModel,columnModel:this.modelManager.columnModel,selectionModel:this.modelManager.selectionModel});return new h({gridId:this.id,selectType:this.modelManager.columnModel.get("selectType"),fixedRowHeight:this.modelManager.dimensionModel.get("fixedRowHeight"),domEventBus:this.domEventBus,controller:t})},_createViewFactory:function(t){var e=i.pick(t,["heightResizable","footer"]),n={modelManager:this.modelManager,painterManager:this.painterManager,componentHolder:this.componentHolder,domEventBus:this.domEventBus,domState:this.domState};return new a(i.assign(n,e))},_createComponentHolder:function(t){return new f({pagination:t})},_createPublicEventEmitter:function(){var t=new d(this);return t.listenToFocusModel(this.modelManager.focusModel),t.listenToDomEventBus(this.domEventBus),t.listenToDataModel(this.modelManager.dataModel),t.listenToSelectionModel(this.modelManager.selectionModel),t},disable:function(){this.modelManager.dataModel.setDisabled(!0)},enable:function(){this.modelManager.dataModel.setDisabled(!1)},disableRow:function(t){this.modelManager.dataModel.disableRow(t)},enableRow:function(t){this.modelManager.dataModel.enableRow(t)},getValue:function(t,e,n){return this.modelManager.dataModel.getValue(t,e,n)},getColumnValues:function(t,e){return this.modelManager.dataModel.getColumnValues(t,e)},getRow:function(t,e){return this.modelManager.dataModel.getRowData(t,e)},getRowAt:function(t,e){return this.modelManager.dataModel.getRowDataAt(t,e)},getRowCount:function(){return this.modelManager.dataModel.length},getFocusedCell:function(){var t=this.modelManager.focusModel.which(),e=this.getValue(t.rowKey,t.columnName);return{rowKey:t.rowKey,columnName:t.columnName,value:e}},getElement:function(t,e){return this.modelManager.dataModel.getElement(t,e)},setValue:function(t,e,n){this.modelManager.dataModel.setValue(t,e,n)},setColumnValues:function(t,e,n){this.modelManager.dataModel.setColumnValues(t,e,n)},resetData:function(t){this.modelManager.dataModel.resetData(t)},setData:function(t,e){this.modelManager.dataModel.setData(t,!0,e)},setBodyHeight:function(t){this.modelManager.dimensionModel.set("bodyHeight",t)},focus:function(t,e,n){this.modelManager.focusModel.focusClipboard(),this.modelManager.focusModel.focus(t,e,n)},focusAt:function(t,e,n){this.modelManager.focusModel.focusAt(t,e,n)},focusIn:function(t,e,n){this.modelManager.focusModel.focusIn(t,e,n)},focusInAt:function(t,e,n){this.modelManager.focusModel.focusInAt(t,e,n)},activateFocus:function(){this.modelManager.focusModel.focusClipboard()},blur:function(){this.modelManager.focusModel.blur()},checkAll:function(){this.modelManager.dataModel.checkAll()},check:function(t){this.modelManager.dataModel.check(t)},uncheckAll:function(){this.modelManager.dataModel.uncheckAll()},uncheck:function(t){this.modelManager.dataModel.uncheck(t)},clear:function(){this.modelManager.dataModel.setData([])},removeRow:function(t,e){o.isBoolean(e)&&e&&(e={removeOriginalData:!0}),this.modelManager.dataModel.removeRow(t,e)},removeCheckedRows:function(t){var e=this.getCheckedRowKeys(),n=p.get("requestConfirm",{count:e.length,actionName:"deleteAction"});return!(!(e.length>0)||t&&!confirm(n))&&(i.each(e,function(t){this.modelManager.dataModel.removeRow(t)},this),!0)},enableCheck:function(t){this.modelManager.dataModel.enableCheck(t)},disableCheck:function(t){this.modelManager.dataModel.disableCheck(t)},getCheckedRowKeys:function(t){var e=this.modelManager.dataModel.getRows(!0),n=i.pluck(e,"rowKey");return t?JSON.stringify(n):n},getCheckedRows:function(t){var e=this.modelManager.dataModel.getRows(!0);return t?JSON.stringify(e):e},getColumns:function(){return this.modelManager.columnModel.get("dataColumns")},getModifiedRows:function(t){return this.modelManager.dataModel.getModifiedRows(t)},appendRow:function(t,e){this.modelManager.dataModel.append(t,e)},prependRow:function(t,e){this.modelManager.dataModel.prepend(t,e)},isModified:function(){return this.modelManager.dataModel.isModified()},getAddOn:function(t){return t?this.addOn[t]:this.addOn},restore:function(){this.modelManager.dataModel.restore()},setFrozenColumnCount:function(t){this.modelManager.columnModel.set("frozenCount",t)},setColumns:function(t){this.modelManager.columnModel.set("columns",t)},use:function(t,e){return"Net"===t&&(e=i.assign({domEventBus:this.domEventBus,renderModel:this.modelManager.renderModel,dataModel:this.modelManager.dataModel,pagination:this.componentHolder.getInstance("pagination")},e),this.addOn.Net=new g(e),this.publicEventEmitter.listenToNetAddon(this.addOn.Net)),this},getRows:function(){return this.modelManager.dataModel.getRows()},sort:function(t,e){this.modelManager.dataModel.sortByField(t,e)},unSort:function(){this.sort("rowKey")},getSortState:function(){return this.modelManager.dataModel.sortOptions},addCellClassName:function(t,e,n){this.modelManager.dataModel.get(t).addCellClassName(e,n)},addRowClassName:function(t,e){this.modelManager.dataModel.get(t).addClassName(e)},removeCellClassName:function(t,e,n){this.modelManager.dataModel.get(t).removeCellClassName(e,n)},removeRowClassName:function(t,e){this.modelManager.dataModel.get(t).removeClassName(e)},getRowSpanData:function(t,e){return this.modelManager.dataModel.getRowSpanData(t,e)},getIndexOfRow:function(t){return this.modelManager.dataModel.indexOfRowKey(t)},getIndexOfColumn:function(t){return this.modelManager.columnModel.indexOfColumnName(t)},getPagination:function(){return this.componentHolder.getInstance("pagination")},setWidth:function(t){this.modelManager.dimensionModel.setWidth(t)},setHeight:function(t){this.modelManager.dimensionModel.setHeight(t)},refreshLayout:function(){this.modelManager.dimensionModel.refreshLayout()},resetColumnWidths:function(){this.modelManager.coordColumnModel.resetColumnWidths()},showColumn:function(){var t=o.toArray(arguments);this.modelManager.columnModel.setHidden(t,!1)},hideColumn:function(){var t=o.toArray(arguments);this.modelManager.columnModel.setHidden(t,!0)},setFooterColumnContent:function(t,e){this.modelManager.columnModel.setFooterContent(t,e)},validate:function(){return this.modelManager.dataModel.validate()},findRows:function(t){var e=this.modelManager.dataModel.getRows();return i.where(e,t)},copyToClipboard:function(){this.modelManager.clipboardModel.setClipboardText(),window.clipboardData||document.execCommand("copy")},selection:function(t){var e=this.modelManager.selectionModel,n=t.start,i=t.end,o=e.getSelectionUnit();e.start(n[0],n[1],o),e.update(i[0],i[1],o)},destroy:function(){this.modelManager.destroy(),this.container.destroy(),this.modelManager=this.container=null}});w.getInstanceById=function(t){return v[t]},w.applyTheme=function(t,e){_.apply(t,e)},w.setLanguage=function(t){p.setLanguage(t)},t.exports=w},function(t,e,n){var i,o;(function(){function n(t){function e(e,n,i,o,s,r){for(;s>=0&&s0?0:a-1;return arguments.length<3&&(o=n[r?r[l]:l],l+=t),e(n,i,o,r,l,a)}}function s(t){return function(e,n,i){n=b(n,i);for(var o=D(e),s=t>0?0:o-1;s>=0&&s0?r=s>=0?s:Math.max(s+a,r):a=s>=0?Math.min(s+1,a):s+a+1;else if(n&&s&&a)return s=n(i,o),i[s]===o?s:-1;if(o!==o)return s=e(f.call(i,r,a),y.isNaN),s>=0?s+r:-1;for(s=t>0?r:a-1;s>=0&&s=0&&e<=T};y.each=y.forEach=function(t,e,n){e=R(e,n);var i,o;if(N(t))for(i=0,o=t.length;i=0},y.invoke=function(t,e){var n=f.call(arguments,2),i=y.isFunction(e);return y.map(t,function(t){var o=i?e:t[e];return null==o?o:o.apply(t,n)})},y.pluck=function(t,e){return y.map(t,y.property(e))},y.where=function(t,e){return y.filter(t,y.matcher(e))},y.findWhere=function(t,e){return y.find(t,y.matcher(e))},y.max=function(t,e,n){var i,o,s=-(1/0),r=-(1/0);if(null==e&&null!=t){t=N(t)?t:y.values(t);for(var a=0,l=t.length;as&&(s=i)}else e=b(e,n),y.each(t,function(t,n,i){o=e(t,n,i),(o>r||o===-(1/0)&&s===-(1/0))&&(s=t,r=o)});return s},y.min=function(t,e,n){var i,o,s=1/0,r=1/0;if(null==e&&null!=t){t=N(t)?t:y.values(t);for(var a=0,l=t.length;ai||void 0===n)return 1;if(ne?(r&&(clearTimeout(r),r=null),a=u,s=t.apply(i,o),r||(i=o=null)):r||n.trailing===!1||(r=setTimeout(l,d)),s}},y.debounce=function(t,e,n){var i,o,s,r,a,l=function(){var u=y.now()-r;u=0?i=setTimeout(l,e-u):(i=null,n||(a=t.apply(s,o),i||(s=o=null)))};return function(){s=this,o=arguments,r=y.now();var u=n&&!i;return i||(i=setTimeout(l,e)),u&&(a=t.apply(s,o),s=o=null),a}},y.wrap=function(t,e){return y.partial(e,t)},y.negate=function(t){return function(){return!t.apply(this,arguments)}},y.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,i=t[e].apply(this,arguments);n--;)i=t[n].call(this,i);return i}},y.after=function(t,e){return function(){if(--t<1)return e.apply(this,arguments)}},y.before=function(t,e){var n;return function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=null),n}},y.once=y.partial(y.before,2);var H=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];y.keys=function(t){if(!y.isObject(t))return[];if(M)return M(t);var e=[];for(var n in t)y.has(t,n)&&e.push(n);return H&&a(t,e),e},y.allKeys=function(t){if(!y.isObject(t))return[];var e=[];for(var n in t)e.push(n);return H&&a(t,e),e},y.values=function(t){for(var e=y.keys(t),n=e.length,i=Array(n),o=0;o":">",'"':""","'":"'","`":"`"},F=y.invert(B),P=function(t){var e=function(e){return t[e]},n="(?:"+y.keys(t).join("|")+")",i=RegExp(n),o=RegExp(n,"g");return function(t){return t=null==t?"":""+t,i.test(t)?t.replace(o,e):t}};y.escape=P(B),y.unescape=P(F),y.result=function(t,e,n){var i=null==t?void 0:t[e];return void 0===i&&(i=n),y.isFunction(i)?i.call(t):i};var W=0;y.uniqueId=function(t){var e=++W+"";return t?t+e:e},y.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,V={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},U=/\\|'|\r|\n|\u2028|\u2029/g,z=function(t){return"\\"+V[t]};y.template=function(t,e,n){!e&&n&&(e=n),e=y.defaults({},e,y.templateSettings);var i=RegExp([(e.escape||K).source,(e.interpolate||K).source,(e.evaluate||K).source].join("|")+"|$","g"),o=0,s="__p+='";t.replace(i,function(e,n,i,r,a){return s+=t.slice(o,a).replace(U,z),o=a+e.length,n?s+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":i?s+="'+\n((__t=("+i+"))==null?'':__t)+\n'":r&&(s+="';\n"+r+"\n__p+='"),e}),s+="';\n",e.variable||(s="with(obj||{}){\n"+s+"}\n"),s="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+s+"return __p;\n";try{var r=new Function(e.variable||"obj","_",s)}catch(t){throw t.source=s,t}var a=function(t){return r.call(this,t,y)},l=e.variable||"obj";return a.source="function("+l+"){\n"+s+"}",a},y.chain=function(t){var e=y(t);return e._chain=!0,e};var $=function(t,e){return t._chain?y(e).chain():e};y.mixin=function(t){y.each(y.functions(t),function(e){var n=y[e]=t[e];y.prototype[e]=function(){var t=[this._wrapped];return g.apply(t,arguments),$(this,n.apply(y,t))}})},y.mixin(y),y.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=d[t];y.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],$(this,n)}}),y.each(["concat","join","slice"],function(t){var e=d[t];y.prototype[t]=function(){return $(this,e.apply(this._wrapped,arguments))}}),y.prototype.value=function(){return this._wrapped},y.prototype.valueOf=y.prototype.toJSON=y.prototype.value,y.prototype.toString=function(){return""+this._wrapped},i=[],o=function(){return y}.apply(e,i),!(void 0!==o&&(t.exports=o))}).call(this)},function(e,n){e.exports=t},function(t,e,n){"use strict";var i=n(6),o=n(9),s=o.View.extend({initialize:function(){this._children=[]},_addChildren:function(t){i.isArray(t)||(t=[t]),[].push.apply(this._children,i.compact(t))},_renderChildren:function(){var t=i.map(this._children,function(t){return t.render().el});return t},_triggerChildrenAppended:function(){i.each(this._children,function(t){t.trigger("appended")})},destroy:function(){this.stopListening(),this._destroyChildren(),this.remove()},_destroyChildren:function(){if(this._children)for(;this._children.length>0;)this._children.pop().destroy()}});t.exports=s},function(t,e,n){var i,o;(function(s){!function(r){var a="object"==typeof self&&self.self===self&&self||"object"==typeof s&&s.global===s&&s;i=[n(6),n(10),e],o=function(t,e,n){a.Backbone=r(a,n,t,e)}.apply(e,i),!(void 0!==o&&(t.exports=o))}(function(t,e,n,i){var o=t.Backbone,s=Array.prototype.slice;e.VERSION="1.3.3",e.$=i,e.noConflict=function(){return t.Backbone=o,this},e.emulateHTTP=!1,e.emulateJSON=!1;var r=function(t,e,i){switch(t){case 1:return function(){return n[e](this[i])};case 2:return function(t){return n[e](this[i],t)};case 3:return function(t,o){return n[e](this[i],l(t,this),o)};case 4:return function(t,o,s){return n[e](this[i],l(t,this),o,s)};default:return function(){var t=s.call(arguments);return t.unshift(this[i]),n[e].apply(n,t)}}},a=function(t,e,i){n.each(e,function(e,o){n[o]&&(t.prototype[o]=r(e,o,i))})},l=function(t,e){return n.isFunction(t)?t:n.isObject(t)&&!e._isModel(t)?u(t):n.isString(t)?function(e){return e.get(t)}:t},u=function(t){var e=n.matches(t);return function(t){return e(t.attributes)}},d=e.Events={},h=/\s+/,c=function(t,e,i,o,s){var r,a=0;if(i&&"object"==typeof i){void 0!==o&&"context"in s&&void 0===s.context&&(s.context=o);for(r=n.keys(i);athis.length&&(o=this.length),o<0&&(o+=this.length+1);var s,r,a=[],l=[],u=[],d=[],h={},c=e.add,g=e.merge,f=e.remove,m=!1,p=this.comparator&&null==o&&e.sort!==!1,_=n.isString(this.comparator)?this.comparator:null;for(r=0;r7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(B,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var i=document.body,o=i.insertBefore(this.iframe,i.firstChild).contentWindow;o.document.open(),o.document.close(),o.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),I.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();return e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e!==this.fragment&&(this.iframe&&this.navigate(e),void this.loadUrl())},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),n.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!I.started)return!1;e&&e!==!0||(e={trigger:!!e}),t=this.getFragment(t||"");var n=this.root;""!==t&&"?"!==t.charAt(0)||(n=n.slice(0,-1)||"/");var i=n+t;if(t=this.decodeFragment(t.replace(F,"")),this.fragment!==t){if(this.fragment=t,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,i);else{if(!this._wantsHashChange)return this.location.assign(i);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var o=this.iframe.contentWindow;e.replace||(o.document.open(),o.document.close()),this._updateHash(o.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,n){if(n){var i=t.href.replace(/(javascript:|#).*$/,"");t.replace(i+"#"+e)}else t.hash="#"+e}}),e.history=new I;var P=function(t,e){var i,o=this;return i=t&&n.has(t,"constructor")?t.constructor:function(){return o.apply(this,arguments)},n.extend(i,o,e),i.prototype=n.create(o.prototype,t),i.prototype.constructor=i,i.__super__=o.prototype,i};v.extend=C.extend=N.extend=x.extend=I.extend=P;var W=function(){throw new Error('A "url" property or function must be specified')},K=function(t,e){var n=e.error;e.error=function(i){n&&n.call(e.context,t,i,e),t.trigger("error",t,i,e)}};return e})}).call(e,function(){return this}())},function(t,n){t.exports=e},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(12),a=n(15),l=n(23),u=n(24),d=n(25),h=n(26),c=n(27),g=n(28),f=n(31),m=n(32),p=n(33),_=n(34),M=n(20),v={data:[],columns:[],keyColumnName:null,selectType:"",autoNumbering:!0,header:{height:35,complexColumns:[]},columnOptions:{minWidth:50,resizable:!0,frozenCount:0},fitToParentHeight:!1,fixedRowHeight:!1,fixedHeight:!1,showDummyRows:!1,virtualScrolling:!1,copyOptions:null,scrollX:!0,scrollY:!0,useClientSort:!0,editingEvent:"dblclick",rowHeight:"auto",bodyHeight:"auto",minRowHeight:27,minBodyHeight:130,selectionUnit:"cell"},w=s.defineClass({init:function(t,e,n){t=i.extend(!0,{},v,t),this.gridId=t.gridId,this.columnModel=this._createColumnModel(t),this.dataModel=this._createDataModel(t,e,n),this.dimensionModel=this._createDimensionModel(t,e,n),this.coordRowModel=this._createCoordRowModel(e),this.focusModel=this._createFocusModel(t,e,n),this.coordColumnModel=this._createCoordColumnModel(t.columnOptions,n),this.renderModel=this._createRenderModel(t),this.coordConverterModel=this._createCoordConverterModel(),this.selectionModel=this._createSelectionModel(t,n),this.summaryModel=this._createSummaryModel(t.footer),this.clipboardModel=this._createClipboardModel(t,n)},_createColumnModel:function(t){return new r({keyColumnName:t.keyColumnName,frozenCount:t.columnOptions.frozenCount,complexHeaderColumns:t.header.complexColumns,copyOptions:t.copyOptions,columns:t.columns,rowHeaders:t.rowHeaders})},_createDataModel:function(t,e,n){return new a([],{gridId:this.gridId,domState:e,domEventBus:n,columnModel:this.columnModel,useClientSort:t.useClientSort,publicObject:t.publicObject})},_createDimensionModel:function(t,e,n){var i,o=!isNaN(t.rowHeight),s="auto"!==t.bodyHeight,r=t.minRowHeight,a=t.minBodyHeight,u=o?Math.max(r,t.rowHeight):r,d=s?Math.max(a,t.bodyHeight):a,h={headerHeight:t.header.height,bodyHeight:d,footerHeight:t.footer?t.footer.height:0,rowHeight:u,fitToParentHeight:"fitToParent"===t.bodyHeight,scrollX:!!t.scrollX,scrollY:!!t.scrollY,minimumColumnWidth:t.columnOptions.minWidth,fixedRowHeight:o,fixedHeight:s,minRowHeight:r,minBodyHeight:a||u};return o===!1&&t.virtualScrolling&&(M.warning("If the virtualScrolling is set to true, the rowHeight must be set to number type."),h.fixedRowHeight=!0),i=new l(h,{columnModel:this.columnModel,dataModel:this.dataModel,domState:e,domEventBus:n})},_createCoordRowModel:function(t){return new u(null,{dataModel:this.dataModel,dimensionModel:this.dimensionModel,domState:t})},_createCoordColumnModel:function(t,e){var n={resizable:t.resizable};return new d(n,{columnModel:this.columnModel,dimensionModel:this.dimensionModel,domEventBus:e})},_createCoordConverterModel:function(){return new h(null,{columnModel:this.columnModel,dataModel:this.dataModel,dimensionModel:this.dimensionModel,focusModel:this.focusModel,coordRowModel:this.coordRowModel,renderModel:this.renderModel,coordColumnModel:this.coordColumnModel})},_createFocusModel:function(t,e,n){return new c(null,{columnModel:this.columnModel,dataModel:this.dataModel,coordRowModel:this.coordRowModel,domEventBus:n,domState:e,editingEvent:t.editingEvent})},_createSelectionModel:function(t,e){return new m({selectionUnit:t.selectionUnit},{columnModel:this.columnModel,dataModel:this.dataModel,dimensionModel:this.dimensionModel,coordConverterModel:this.coordConverterModel,coordRowModel:this.coordRowModel,renderModel:this.renderModel,focusModel:this.focusModel,domEventBus:e})},_createRenderModel:function(t){var e,n,i;return e={emptyMessage:t.emptyMessage,showDummyRows:t.showDummyRows},n={columnModel:this.columnModel,dataModel:this.dataModel,dimensionModel:this.dimensionModel,focusModel:this.focusModel,coordRowModel:this.coordRowModel,coordColumnModel:this.coordColumnModel},new(i=t.virtualScrolling?f:g)(e,n)},_createSummaryModel:function(t){var e=[];return t&&t.columnContent?(o.each(t.columnContent,function(t,n){o.isFunction(t.template)&&t.useAutoSummary!==!1&&e.push(n)}),new p(null,{dataModel:this.dataModel,autoColumnNames:e})):null},_createClipboardModel:function(t,e){return new _(null,{columnModel:this.columnModel,dataModel:this.dataModel,selectionModel:this.selectionModel,renderModel:this.renderModel,focusModel:this.focusModel,copyOptions:t.copyOptions,domEventBus:e})},destroy:function(){o.each(this,function(t,e){t&&s.isFunction(t._destroy)&&t._destroy(),t&&s.isFunction(t.stopListening)&&t.stopListening(),this[e]=null},this)}});t.exports=w},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(13),a=n(14).frame,l={rowNum:{type:"rowNum",title:"No.",name:"_number",align:"center",fixedWidth:!0,width:60,hidden:!1},checkbox:{type:"checkbox",title:'',name:"_button",align:"center",fixedWidth:!0,width:40,hidden:!1,editOptions:{type:"mainButton"}},radio:{type:"radio",title:"select",name:"_button",align:"center",fixedWidth:!0,width:40,hidden:!1,editOptions:{type:"mainButton"}}},u=r.extend({initialize:function(){r.prototype.initialize.apply(this,arguments),this.textType={normal:!0,text:!0,password:!0},this._setColumns(this.get("rowHeaders"),this.get("columns")),this.on("change",this._onChange,this)},defaults:{keyColumnName:null,frozenCount:0,rowHeaders:[],dataColumns:[],visibleColumns:[],selectType:"",columnModelMap:{},relationsMap:{},complexHeaderColumns:[],copyOptions:{useFormattedValue:!1}},at:function(t,e){var n=e?this.getVisibleColumns():this.get("dataColumns");return n[t]},indexOfColumnName:function(t,e){var n;return n=e?this.getVisibleColumns():this.get("dataColumns"),o.findIndex(n,{name:t})},isLside:function(t){var e=this.indexOfColumnName(t,!0);return e>-1&&er&&(u=1),i||(u=-u),u},_removePrivateProp:function(t){return o.map(t,function(t){return o.omit(t,r.privateProperties)})},removeRow:function(t,e){var n,i,s,r,a=this.get(t);a&&(e&&e.keepRowSpanData&&(s=o.clone(a.attributes)),r=this.indexOf(a),n=o.clone(a.getRowSpanData()),i=this.at(r+1),this.remove(a,{silent:!0}),this._syncRowSpanDataForRemove(n,i,s),e&&e.removeOriginalData&&this.setOriginalRowList(),this.trigger("remove",t,r))},_syncRowSpanDataForRemove:function(t,e,n){t&&o.each(t,function(t,i){var o,s,r,a={};if(t.isMainRow){if(1===t.count)return;o=e,r=t.count-1,s=1,r>1&&(a.mainRowKey=o.get("rowKey"),a.isMainRow=!0),o.set(i,n?n[i]:"",{silent:!0})}else o=this.get(t.mainRowKey),r=o.getRowSpanData(i).count-1,s=-t.count;r>1?(a.count=r,o.setRowSpanData(i,a),this._updateSubRowSpanData(o,i,s,r)):o.setRowSpanData(i,null)},this)},_createDummyRow:function(){var t=this.columnModel.get("dataColumns"),e={};return o.each(t,function(t){e[t.name]=""},this),e},append:function(t,e){var n,i=this._createModelList(t);return e=o.extend({at:this.length},e),n={at:e.at,add:!0,silent:!0},this.add(i,n),this._syncRowSpanDataForAppend(e.at,i.length,e.extendPrevRowSpan),this.trigger("add",i,e),i},prepend:function(t,e){return e=e||{},e.at=0,this.append(t,e)},getRowData:function(t,e){var n=this.get(t),i=n?n.toJSON():null;return e?JSON.stringify(i):i},getRowDataAt:function(t,e){var n=this.at(t),i=n?n.toJSON():null;return e?JSON.stringify(n):i},getValue:function(t,e,n){var i,o;return n?i=this.getOriginal(t,e):(o=this.get(t),i=o&&o.get(e)),i},setValue:function(t,e,n,i){var o=this.get(t);return!!o&&(o.set(e,n,{silent:i}),!0)},getColumnValues:function(t,e){var n=this.pluck(t);return e?JSON.stringify(n):n},setColumnValues:function(t,e,n,i){var s={},r={disabled:!1,editable:!0};s[t]=e,n=!!o.isUndefined(n)||n,this.forEach(function(e){n&&(r=e.getCellState(t)),!r.disabled&&r.editable&&e.set(s,{silent:i})},this)},getRowSpanData:function(t,e){var n=this.get(t);return n?n.getRowSpanData(e):null},isModified:function(){var t=o.values(this.getModifiedRows());return o.some(t,function(t){return t.length>0})},setDisabled:function(t){this.disabled!==t&&(this.disabled=t,this.trigger("disabledChanged"))},enableRow:function(t){this.get(t).setRowState("")},disableRow:function(t){this.get(t).setRowState("DISABLED")},enableCheck:function(t){this.get(t).setRowState("")},disableCheck:function(t){this.get(t).setRowState("DISABLED_CHECK")},check:function(t,e){var n=this.get(t).getRowState().isDisabledCheck,i=this.columnModel.get("selectType");!n&&i&&("radio"===i&&this.uncheckAll(),this.setValue(t,"_button",!0,e))},uncheck:function(t,e){this.setValue(t,"_button",!1,e)},checkAll:function(){this.setColumnValues("_button",!0)},uncheckAll:function(){this.setColumnValues("_button",!1)},_createModelList:function(t){var e,n=[];return t=t||this._createDummyRow(),o.isArray(t)||(t=[t]),e=this._formatData(t),o.each(e,function(t){var e=new r(t,{collection:this, -parse:!0});n.push(e)},this),n},_syncRowSpanDataForAppend:function(t,e,n){var i=this.at(t-1);i&&o.each(i.getRowSpanData(),function(t,o){var s,r,a,l;0!==t.count&&(t.isMainRow?(s=i,r=t,a=1):(s=this.get(t.mainRowKey),r=s.getRowSpanData()[o],a=-t.count+1),(r.count>a||n)&&(r.count+=e,l=r.count,this._updateSubRowSpanData(s,o,a,l)))},this)},_updateSubRowSpanData:function(t,e,n,i){var o,s,r=this.indexOf(t),a=t.get("rowKey");for(s=n;s=0)&&(d[s]=t[o-n]);l.set(d)},getElement:function(t,e){var n=this.getMainRowKey(t,e);return this.domState.getElement(n,e)},getCheckedState:function(){var t=0,e=0;return this.forEach(function(n){var i=n.getCellState("_button");!i.disabled&&i.editable&&(t+=1,n.get("_button")&&(e+=1))}),{available:t,checked:e}}});t.exports=a},function(t,e,n){"use strict";var i=n(9),o=i.Collection.extend({clear:function(){return this.each(function(t){t.stopListening(),t=null}),this.reset([],{silent:!0}),this}});t.exports=o},function(t,e,n){"use strict";var i=n(6),o=n(9),s=n(7),r=n(13),a=n(18),l=n(19),u=n(20),d=n(21),h=n(22),c=["_button","_number","_extraData"],g="REQUIRED",f="TYPE_NUMBER",m=r.extend({initialize:function(){r.prototype.initialize.apply(this,arguments),this.extraDataManager=new a(this.get("_extraData")),this.columnModel=this.collection.columnModel,this.validateMap={},this.on("change",this._onChange,this)},idAttribute:"rowKey",set:function(t,e,n){var s,r=i.isObject(t);r&&(n=e),!this.columnModel||n&&n.silent?o.Model.prototype.set.apply(this,arguments):(r?s=t:(s={},s[t]=e),i.each(s,function(t,e){this._executeOnBeforeChange(e,t)||delete s[e]},this),o.Model.prototype.set.call(this,s,n))},parse:function(t){return t._extraData||(t._extraData={}),t},_triggerExtraDataChangeEvent:function(){this.trigger("extraDataChanged",this.get("_extraData"))},_triggerCheckboxChangeEvent:function(t){var e={rowKey:this.get("rowKey")};t?this.trigger("check",e):this.trigger("uncheck",e)},_onChange:function(){var t=i.omit(this.changed,c);i.has(this.changed,"_button")&&this._triggerCheckboxChangeEvent(this.changed._button),this.isDuplicatedPublicChanged(t)||i.each(t,function(t,e){var n=this.columnModel.getColumnModel(e);n&&(this.collection.syncRowSpannedData(this,e,t),this._executeOnAfterChange(e),this.validateCell(e,!0))},this)},_validateCellData:function(t){var e,n=this.columnModel.getColumnModel(t).validation,o="";return n&&(e=this.get(t),n.required&&u.isBlank(e)?o=g:"number"!==n.dataType||i.isNumber(e)||(o=f)),o},validateCell:function(t,e){var n;return!e&&t in this.validateMap?this.validateMap[t]:(n=this._validateCellData(t),n?this.addCellClassName(t,h.CELL_INVALID):this.removeCellClassName(t,h.CELL_INVALID),this.validateMap[t]=n,n)},_createChangeCallbackEvent:function(t,e){return new l(null,{rowKey:this.get("rowKey"),columnName:t,value:e,instance:this.collection.publicObject})},_executeOnBeforeChange:function(t,e){var n,i=this.columnModel.getColumnModel(t),o=this.get(t)!==e;return!(o&&i&&i.onBeforeChange)||(n=this._createChangeCallbackEvent(t,e),i.onBeforeChange(n),!n.isStopped())},_executeOnAfterChange:function(t){var e,n=this.columnModel.getColumnModel(t),i=this.get(t);return!n.onAfterChange||(e=this._createChangeCallbackEvent(t,i),n.onAfterChange(e),!e.isStopped())},getPrivateProperties:function(){return c},getRowState:function(){return this.extraDataManager.getRowState()},getClassNameList:function(t){var e=this.columnModel.getColumnModel(t),n=u.isMetaColumn(t),i=this.extraDataManager.getClassNameList(t),o=this.getCellState(t);return e.className&&i.push(e.className),e.ellipsis&&i.push(h.CELL_ELLIPSIS),e.validation&&e.validation.required&&i.push(h.CELL_REQUIRED),n?i.push(h.CELL_HEAD):o.editable&&i.push(h.CELL_EDITABLE),o.disabled&&i.push(h.CELL_DISABLED),this._makeUniqueStringArray(i)},_makeUniqueStringArray:function(t){var e=i.uniq(t.join(" ").split(" "));return i.without(e,"")},getCellState:function(t){var e,n,o=["_number","normal"],s=this.columnModel,r=this.collection.disabled,a=!0,l=s.getEditType(t);return n=this.executeRelationCallbacksAll(["disabled","editable"])[t],e=this.getRowState(),r||(r="_button"===t?e.disabledCheck:e.disabled,r=r||!(!n||!n.disabled)),a=!i.contains(o,l)&&!(n&&n.editable===!1),{editable:a,disabled:r}},isEditable:function(t){var e=this.getCellState(t);return!e.disabled&&e.editable},isDisabled:function(t){var e=this.getCellState(t);return e.disabled},getRowSpanData:function(t){var e=this.collection.isRowSpanEnable(),n=this.get("rowKey");return this.extraDataManager.getRowSpanData(t,n,e)},getHeight:function(){return this.extraDataManager.getHeight()},setHeight:function(t){this.extraDataManager.setHeight(t),this._triggerExtraDataChangeEvent()},setRowSpanData:function(t,e){this.extraDataManager.setRowSpanData(t,e),this._triggerExtraDataChangeEvent()},setRowState:function(t,e){this.extraDataManager.setRowState(t),e||this._triggerExtraDataChangeEvent()},addCellClassName:function(t,e){this.extraDataManager.addCellClassName(t,e),this._triggerExtraDataChangeEvent()},addClassName:function(t){this.extraDataManager.addClassName(t),this._triggerExtraDataChangeEvent()},removeCellClassName:function(t,e){this.extraDataManager.removeCellClassName(t,e),this._triggerExtraDataChangeEvent()},removeClassName:function(t){this.extraDataManager.removeClassName(t),this._triggerExtraDataChangeEvent()},_getStringOfListItems:function(t,e){var n,o,r,a,l,d=this.get(t),h=this.columnModel.getColumnModel(t);return s.isExisty(s.pick(h,"editOptions","listItems"))?(n=this.executeRelationCallbacksAll(["listItems"])[t],l=n&&n.listItems,o=l?n.listItems:h.editOptions.listItems,r=typeof o[0].value,a=u.toString(d).split(","),r!==typeof a[0]&&(a=i.map(a,function(t){return u.convertValueType(t,r)})),i.each(a,function(t,n){var s=i.findWhere(o,{value:t}),r=s&&(e?s.text:s.value)||"";a[n]=r},this),a.join(",")):""},_isListType:function(t){return i.contains(["select","radio","checkbox"],t)},isDuplicatedPublicChanged:function(t){return!(!this._timeoutIdForChanged||!i.isEqual(this._lastPublicChanged,t))||(clearTimeout(this._timeoutIdForChanged),this._timeoutIdForChanged=setTimeout(i.bind(function(){this._timeoutIdForChanged=null},this),10),this._lastPublicChanged=t,!1)},getValueString:function(t){var e=this.columnModel,n=e.copyVisibleTextOfEditingColumn(t),i=e.getEditType(t),o=e.getColumnModel(t),r=this.get(t);if(this._isListType(i)){if(!s.isExisty(s.pick(o,"editOptions","listItems",0,"value")))throw new Error('Check "'+t+"\"'s editOptions.listItems property out in your ColumnModel.");r=this._getStringOfListItems(t,n)}else"password"===i&&(r="");return r=u.toString(r),r=d.addDoubleQuotes(r)},executeRelationCallbacksAll:function(t){var e=this.attributes,n=this.columnModel.get("relationsMap"),o={};return i.isEmpty(t)&&(t=["listItems","disabled","editable"]),i.each(n,function(n,s){var r=e[s];i.each(n,function(n){this._executeRelationCallback(n,t,r,e,o)},this)},this),o},_executeRelationCallback:function(t,e,n,o,s){var r=this.getRowState(),a=t.targetNames;i.each(e,function(e){var l;r.disabled&&"disabled"===e||(l=t[e],"function"==typeof l&&i.each(a,function(t){s[t]=s[t]||{},s[t][e]=l(n,o)},this))},this)}},{privateProperties:c});t.exports=m},function(t,e,n){"use strict";var i=n(6),o=n(7),s=o.defineClass({init:function(t){this.data=t||{}},getRowSpanData:function(t,e,n){var i=null;return n&&(i=this.data.rowSpanData,t&&i&&(i=i[t])),!i&&t&&(i={count:0,isMainRow:!0,mainRowKey:e}),i},getRowState:function(){var t={disabledCheck:!1,disabled:!1,checked:!1};switch(this.data.rowState){case"DISABLED":t.disabled=!0;case"DISABLED_CHECK":t.disabledCheck=!0;break;case"CHECKED":t.checked=!0}return t},setRowState:function(t){this.data.rowState=t},setRowSpanData:function(t,e){var n=i.assign({},this.data.rowSpanData);t&&(e?n[t]=e:n[t]&&delete n[t],this.data.rowSpanData=n)},addCellClassName:function(t,e){var n,o;n=this.data.className||{},n.column=n.column||{},o=n.column[t]||[],i.contains(o,e)||(o.push(e),n.column[t]=o,this.data.className=n)},addClassName:function(t){var e,n;e=this.data.className||{},n=e.row||[],o.inArray(t,n)===-1&&(n.push(t),e.row=n,this.data.className=e)},getClassNameList:function(t){var e=this.data.className,n=Array.prototype.push,i=[];return e&&(e.row&&n.apply(i,e.row),t&&e.column&&e.column[t]&&n.apply(i,e.column[t])),i},_removeClassNameFromArray:function(t,e){var n=t.join(" ").split(" ");return i.without(n,e)},removeCellClassName:function(t,e){var n=this.data.className;o.pick(n,"column",t)&&(n.column[t]=this._removeClassNameFromArray(n.column[t],e),this.data.className=n)},removeClassName:function(t){var e=this.data.className;e&&e.row&&(e.row=this._removeClassNameFromArray(e.row,t),this.className=e)},setHeight:function(t){this.data.height=t},getHeight:function(){return this.data.height}});t.exports=s},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(20),r=n(14).attrName,a={ROW_HEAD:"rowHead",COLUMN_HEAD:"columnHead",DUMMY:"dummy",CELL:"cell",ETC:"etc"},l=o.defineClass({init:function(t,e){this._stopped=!1,t&&(this.nativeEvent=t),e&&this.setData(e)},setData:function(t){i.extend(this,t)},stop:function(){this._stopped=!0},isStopped:function(){return this._stopped}});l.getTargetInfo=function(t){var e,n,i=t.closest("td"),o=a.ETC;return 1===i.length?(e=i.attr(r.ROW_KEY),n=i.attr(r.COLUMN_NAME),o=e&&n?s.isMetaColumn(n)?a.ROW_HEAD:a.CELL:a.DUMMY):(i=t.closest("th"),1===i.length&&(n=i.attr(r.COLUMN_NAME),o=a.COLUMN_HEAD)),s.pruneObject({targetType:o,rowKey:s.strToNumber(e),columnName:n})},l.targetTypeConst=a,t.exports=l},function(t,e,n){"use strict";function i(t,e){var n,i,o,s="",r=0;for(e=!!e,i=t.split(/(%(?:d0|d1)%.{2})/),n=i.length;r]*\ssrc=["']?([^>"']+)["']?[^>]*>/i),t=e?e[1]:""):t=t.replace(//gi,""),t=s.trim(a.decodeHTMLEntity(t.replace(/<\/?(?:h[1-5]|[a-z]+(?::[a-z]+)?)[^>]*>/gi,"")))),t},toString:function(t){return r.isUndefined(t)||r.isNull(t)?"":String(t)},getUniqueKey:function(){return this.uniqueId+=1,this.uniqueId},toQueryString:function(t){var e=[];return r.each(t,function(t,n){r.isString(t)||r.isNumber(t)||(t=JSON.stringify(t)),t=encodeURIComponent(unescape(t)),t&&e.push(n+"="+t)}),e.join("&")},toQueryObject:function(t){var e=t.split("&"),n={};return r.each(e,function(t){var e,o,s=t.split("=");e=s[0],o=i(s[1]);try{o=JSON.parse(o)}catch(t){}r.isNull(o)||(n[e]=o)}),n},convertValueType:function(t,e){return"string"===e?String(t):"number"===e?Number(t):"boolean"===e?Boolean(t):t},toUpperCaseFirstLetter:function(t){return t.charAt(0).toUpperCase()+t.slice(1)},clamp:function(t,e,n){var i;return e>n&&(i=e,e=n,n=i),Math.max(e,Math.min(t,n))},isOptionEnabled:function(t){return r.isObject(t)||t===!0},appendStyleElement:function(t,e){var n=document.createElement("style");n.type="text/css",n.id=t,n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e)),document.getElementsByTagName("head")[0].appendChild(n)},warning:function(t){console&&console.warn&&console.warn(t)},replaceText:function(t,e){return t.replace(/\{\{(\w*)\}\}/g,function(t,n){return e.hasOwnProperty(n)?e[n]:""})}},t.exports=o},function(t,e,n){"use strict";function i(t,e,n,i){var o,s,r=n[0],a=n[1],l=i[0],u=i[1];for(s=l;s0},getAvailableTotalWidth:function(t){var e=this.get("width"),n=t+1+(this.isDivisionBorderDoubled()?1:0),i=n*a,o=e-this.getScrollYWidth()-i;return o},getBodySize:function(){var t=this.get("lsideWidth"),e=this.get("rsideWidth")-this.getScrollYWidth(),n=this.get("bodyHeight")-this.getScrollXHeight();return{height:n,rsideWidth:e,totalWidth:t+e}},getOverflowFromMousePosition:function(t,e){var n=this.getPositionFromBodyArea(t,e),i=this.getBodySize();return this._judgeOverflow(n,i)},_judgeOverflow:function(t,e){var n=t.x,i=t.y,o=0,s=0;return i<0?o=-1:i>e.height&&(o=1),n<0?s=-1:n>e.totalWidth&&(s=1),{x:s,y:o}},getScrollXHeight:function(){return this.get("scrollX")?this.get("scrollBarSize"):0},getScrollYWidth:function(){return this.get("scrollY")?this.get("scrollBarSize"):0},_calcRealBodyHeight:function(t){var e=this.get("headerHeight")+this.get("footerHeight")+r;return t-e},_getMinBodyHeight:function(){return this.get("minBodyHeight")+2*a+this.getScrollXHeight()},_getMinLeftSideWidth:function(){var t,e=this.get("minimumColumnWidth"),n=this.columnModel.getVisibleFrozenCount(!0),i=0;return n&&(t=(n+1)*a,i=t+e*n),i},getMaxLeftSideWidth:function(){var t=Math.ceil(.9*this.get("width"));return t&&(t=Math.max(t,this._getMinLeftSideWidth())),t},setWidth:function(t){t>0&&(this.set("width",t),this.trigger("setWidth",t))},setHeight:function(t){t>0&&this.set("bodyHeight",Math.max(this._calcRealBodyHeight(t),this._getMinBodyHeight()))},getHeight:function(){return this.get("bodyHeight")+this.get("headerHeight")},refreshLayout:function(){var t=this.domState,e=t.getOffset();this.set({offsetTop:e.top,offsetLeft:e.left,width:t.getWidth()}),this.get("fitToParentHeight")&&this.setHeight(t.getParentHeight())},getBodyOffsetTop:function(){var t=this.domState.getOffset().top;return t+this.get("headerHeight")+a+r},getPositionFromBodyArea:function(t,e){var n=this.domState.getOffset().left,i=this.getBodyOffsetTop();return{x:t-n,y:e-i}}});t.exports=l},function(t,e,n){"use strict";var i=n(6),o=n(20),s=n(13),r=n(14).dimension.CELL_BORDER_WIDTH,a=s.extend({initialize:function(t,e){this.dataModel=e.dataModel,this.dimensionModel=e.dimensionModel,this.domState=e.domState,this.rowHeights=[],this.rowOffsets=[],this.dimensionModel.get("fixedRowHeight")&&this.listenTo(this.dataModel,"add remove reset sort",this.syncWithDataModel)},syncWithDom:function(){var t,e,n,i,o;if(!this.dimensionModel.get("fixedRowHeight")){for(t=this.domState.getRowHeights(),e=this._getHeightFromData(),n=[],i=0,o=e.length;i0)for(;i>=0&&r>0;)n=Math.max(o,t[i]-r),r-=t[i]-n,t[i]=n,i-=1;else r<0&&(t[i]+=Math.abs(r));return t},_calculateColumnWidth:function(t){return t=this._fillEmptyWidth(t),t=this._applyMinimumWidth(t),t=this._adjustWidths(t)},_fillEmptyWidth:function(t){var e=this.dimensionModel.getAvailableTotalWidth(t.length),n=e-r.sum(t),o=[];return i.each(t,function(t,e){t||o.push(e)}),this._distributeExtraWidthEqually(t,n,o)},_getFrameWidth:function(t){var e=0;return t.length&&(e=r.sum(t)+(t.length+1)*d),e},_addExtraColumnWidth:function(t,e){var n=this._fixedWidthFlags,o=[];return i.each(n,function(t,e){t||o.push(e)}),this._distributeExtraWidthEqually(t,e,o)},_reduceExcessColumnWidth:function(t,e){var n=this._minWidths,o=this._fixedWidthFlags,s=[];return i.each(t,function(t,e){o[e]||s.push({index:e,width:t-n[e]})}),this._reduceExcessColumnWidthSub(i.clone(t),e,s)},_reduceExcessColumnWidthSub:function(t,e,n){var o,s=Math.round(e/n.length),r=[];return i.each(n,function(n){n.widthr.length?this._reduceExcessColumnWidthSub(t,e,r):(o=i.pluck(n,"index"),this._distributeExtraWidthEqually(t,e,o))},_distributeExtraWidthEqually:function(t,e,n){var o=n.length,s=Math.round(e/o),r=s*o-e,a=i.clone(t);return i.each(n,function(t){a[t]+=s}),n.length&&(a[i.last(n)]-=r),a},_applyMinimumWidth:function(t){var e=this._minWidths,n=i.clone(t);return i.each(n,function(t,i){var o=e[i];t0&&o>l?this._addExtraColumnWidth(t,a):e&&a<0?this._reduceExcessColumnWidth(t,a):t},_onDimensionWidthChange:function(){var t=this.get("widths");this._isModified||(t=this._adjustWidths(t,!0)),this._setColumnWidthVariables(t)},getWidths:function(t){var e=this.columnModel.getVisibleFrozenCount(!0),n=[];switch(t){case u.L:n=this.get("widths").slice(0,e);break;case u.R:n=this.get("widths").slice(e);break;default:n=this.get("widths")}return n},getFrameWidth:function(t){var e=this.columnModel.getVisibleFrozenCount(!0),n=this.getWidths(t),o=this._getFrameWidth(n);return i.isUndefined(t)&&e>0&&(o+=d),o},setColumnWidth:function(t,e){var n=this.get("widths"),i=this._minWidths[t];n[t]&&(n[t]=Math.max(e,i),this._setColumnWidthVariables(n),this._isModified=!0)},indexOf:function(t,e){var n=this.getWidths(),i=this.getFrameWidth(),s=e?0:this.columnModel.getVisibleMetaColumnCount(),r=0;return t>=i?r=n.length-1:o.forEachArray(n,function(e,n){return e+=d,r=n,t>e&&void(t-=e)}),Math.max(0,r-s)},restoreColumnWidth:function(t){var e=this.get("originalWidths")[t];this.setColumnWidth(t,e)}});t.exports=h},function(t,e,n){"use strict";var i=n(7),o=n(13),s=n(14).dimension,r=s.TABLE_BORDER_WIDTH,a=s.CELL_BORDER_WIDTH,l=o.extend({initialize:function(t,e){this.dataModel=e.dataModel,this.columnModel=e.columnModel,this.focusModel=e.focusModel,this.dimensionModel=e.dimensionModel,this.renderModel=e.renderModel,this.coordRowModel=e.coordRowModel,this.coordColumnModel=e.coordColumnModel,this.listenTo(this.focusModel,"focus",this._onFocus)},getIndexFromMousePosition:function(t,e,n){var i=this.dimensionModel.getPositionFromBodyArea(t,e),o=this._getScrolledPosition(i);return{row:this.coordRowModel.indexOf(o.y),column:this.coordColumnModel.indexOf(o.x,n)}},_getScrolledPosition:function(t){var e=this.renderModel,n=t.x>this.dimensionModel.get("lsideWidth"),i=n?e.get("scrollLeft"):0,o=e.get("scrollTop");return{x:t.x+i,y:t.y+o}},_getRowSpanCount:function(t,e){var n=this.dataModel.get(t).getRowSpanData(e);return n.isMainRow||(t=n.mainRowKey,n=this.dataModel.get(t).getRowSpanData(e)),n.count||1},_getCellVerticalPosition:function(t,e){var n,i,o,s,r=this.coordRowModel;return n=this.dataModel.indexOfRowKey(t),i=n+e-1,o=r.getOffsetAt(n),s=r.getOffsetAt(i)+r.getHeightAt(i)+a,{top:o,bottom:s}},_getCellHorizontalPosition:function(t){for(var e=this.columnModel,n=e.getVisibleMetaColumnCount(),i=this.coordColumnModel.get("widths"),o=e.getVisibleFrozenCount()+n,s=e.indexOfColumnName(t,!0)+n,r=o>s?0:o,l=0;rl+n.height,e?(s=t.leftu+n.rsideWidth-1):s=r=!1,{isUp:i,isDown:o,isLeft:s,isRight:r}},_onFocus:function(t,e,n){var o;n&&(o=this.getScrollPosition(t,e),i.isEmpty(o)||this.renderModel.set(o))},_makeScrollPosition:function(t,e,n){var i={};return t.isUp?i.scrollTop=e.top:t.isDown&&(i.scrollTop=e.bottom-n.height),t.isLeft?i.scrollLeft=e.left:t.isRight&&(i.scrollLeft=e.right-n.rsideWidth+r),i},getScrollPosition:function(t,e){var n=!this.columnModel.isLside(e),i=this.getCellPosition(t,e),o=this.dimensionModel.getBodySize(),s=this._judgeScrollDirection(i,n,o);return this._makeScrollPosition(s,i,o)}});t.exports=l},function(t,e,n){"use strict";var i=n(6),o=n(13),s=n(20),r=n(19),a=o.extend({initialize:function(t,e){var n,s=e.editingEvent+":cell";o.prototype.initialize.apply(this,arguments),i.assign(this,{dataModel:e.dataModel,columnModel:e.columnModel,coordRowModel:e.coordRowModel,domEventBus:e.domEventBus,domState:e.domState}),this.listenTo(this.dataModel,"reset",this._onResetData),this.listenTo(this.dataModel,"add",this._onAddDataModel),this.domEventBus&&(n=this.domEventBus,this.listenTo(n,s,this._onMouseClickEdit),this.listenTo(n,"mousedown:focus",this._onMouseDownFocus),this.listenTo(n,"key:move",this._onKeyMove),this.listenTo(n,"key:edit",this._onKeyEdit))},defaults:{rowKey:null,columnName:null,prevRowKey:null,prevColumnName:"",editingAddress:null,active:!1},_onResetData:function(){this.blur()},_onAddDataModel:function(t,e){e.focus&&this.focusAt(e.at,0)},_onMouseClickEdit:function(t){this.focusIn(t.rowKey,t.columnName)},_onKeyMove:function(t){var e,n;switch(t.command){case"up":e=this.prevRowKey();break;case"down":e=this.nextRowKey();break; -case"left":n=this.prevColumnName();break;case"right":n=this.nextColumnName();break;case"pageUp":e=this._getPageMovedRowKey(!1);break;case"pageDown":e=this._getPageMovedRowKey(!0);break;case"firstColumn":n=this.firstColumnName();break;case"lastColumn":n=this.lastColumnName();break;case"firstCell":e=this.firstRowKey(),n=this.firstColumnName();break;case"lastCell":e=this.lastRowKey(),n=this.lastColumnName()}e=i.isUndefined(e)?this.get("rowKey"):e,n=n||this.get("columnName"),this.focus(e,n,!0)},_onKeyEdit:function(t){var e;switch(t.command){case"currentCell":e=this.which();break;case"nextCell":e=this.nextAddress();break;case"prevCell":e=this.prevAddress()}e&&this.focusIn(e.rowKey,e.columnName,!0)},_getPageMovedRowKey:function(t){var e,n=this.dataModel.indexOfRowKey(this.get("rowKey")),i=this.coordRowModel.getPageMovedIndex(n,t);return e=t?this.nextRowKey(i-n):this.prevRowKey(n-i)},_onMouseDownFocus:function(){this.focusClipboard()},_savePrevious:function(){null!==this.get("rowKey")&&this.set("prevRowKey",this.get("rowKey")),this.get("columnName")&&this.set("prevColumnName",this.get("columnName"))},isCurrentCell:function(t,e,n){var i=this.get("columnName"),o=this.get("rowKey");return n&&(o=this.dataModel.getMainRowKey(o,i)),String(o)===String(t)&&i===e},focus:function(t,e,n){return this.get("active")||this.set("active",!0),!(this._isValidCell(t,e)&&!s.isMetaColumn(e)&&!this.isCurrentCell(t,e))||!!this._triggerFocusChangeEvent(t,e)&&(this.blur(),this.set({rowKey:t,columnName:e}),this.trigger("focus",t,e,n),"radio"===this.columnModel.get("selectType")&&this.dataModel.check(t),!0)},_triggerFocusChangeEvent:function(t,e){var n=new r(null,{rowKey:t,prevRowKey:this.get("rowKey"),columnName:e,prevColumnName:this.get("columnName")});return this.trigger("focusChange",n),!n.isStopped()},focusAt:function(t,e,n){var i=this.dataModel.at(t),o=this.columnModel.at(e,!0),s=!1;return i&&o&&(s=this.focus(i.get("rowKey"),o.name,n)),s},focusIn:function(t,e,n){var i=this.focus(t,e,n);return i&&(t=this.dataModel.getMainRowKey(t,e),this.dataModel.get(t).isEditable(e)?(this.finishEditing(),this.startEditing(t,e)):this.focusClipboard()),i},focusInAt:function(t,e,n){var i=this.dataModel.at(t),o=this.columnModel.at(e,!0),s=!1;return i&&o&&(s=this.focusIn(i.get("rowKey"),o.name,n)),s},focusClipboard:function(){this.trigger("focusClipboard")},refreshState:function(){var t;this.domState.hasFocusedElement()?this.has()||(t=this.restore(),t||this.focusAt(0,0)):this.set("active",!1)},blur:function(){return this.has()?(this.has(!0)&&this._savePrevious(),this.trigger("blur",this.get("rowKey"),this.get("columnName")),this.set({rowKey:null,columnName:null}),this):this},which:function(){return{rowKey:this.get("rowKey"),columnName:this.get("columnName")}},indexOf:function(t){var e=t?this.get("prevRowKey"):this.get("rowKey"),n=t?this.get("prevColumnName"):this.get("columnName");return{row:this.dataModel.indexOfRowKey(e),column:this.columnModel.indexOfColumnName(n,!0)}},has:function(t){var e=this.get("rowKey"),n=this.get("columnName");return t?this._isValidCell(e,n):!s.isBlank(e)&&!s.isBlank(n)},restore:function(){var t=this.get("prevRowKey"),e=this.get("prevColumnName"),n=!1;return this._isValidCell(t,e)&&(this.focus(t,e),this.set({prevRowKey:null,prevColumnName:null}),n=!0),n},isEditingCell:function(t,e){var n=this.get("editingAddress");return n&&String(n.rowKey)===String(t)&&n.columnName===e},startEditing:function(t,e){if(this.get("editingAddress"))return!1;if(i.isUndefined(t)&&i.isUndefined(e))t=this.get("rowKey"),e=this.get("columnName");else if(!this.isCurrentCell(t,e,!0))return!1;return t=this.dataModel.getMainRowKey(t,e),!!this.dataModel.get(t).isEditable(e)&&(this.set("editingAddress",{rowKey:t,columnName:e}),!0)},finishEditing:function(){return!!this.get("editingAddress")&&(this.set("editingAddress",null),!0)},_isValidCell:function(t,e){var n=!s.isBlank(t)&&!!this.dataModel.get(t),i=!s.isBlank(e)&&!!this.columnModel.getColumnModel(e);return n&&i},_findRowKey:function(t){var e,n,i=this.dataModel,o=null;return this.has(!0)&&(e=Math.max(Math.min(i.indexOfRowKey(this.get("rowKey"))+t,this.dataModel.length-1),0),n=i.at(e),n&&(o=n.get("rowKey"))),o},_findColumnName:function(t){var e,n=this.columnModel,i=n.getVisibleColumns(),o=n.indexOfColumnName(this.get("columnName"),!0),s=null;return this.has(!0)&&(e=Math.max(Math.min(o+t,i.length-1),0),s=i[e]&&i[e].name),s},_getRowSpanData:function(t,e){return this.dataModel.get(t).getRowSpanData(e)},nextRowIndex:function(t){var e=this.nextRowKey(t);return this.dataModel.indexOfRowKey(e)},prevRowIndex:function(t){var e=this.prevRowKey(t);return this.dataModel.indexOfRowKey(e)},nextColumnIndex:function(){var t=this.nextColumnName();return this.columnModel.indexOfColumnName(t,!0)},prevColumnIndex:function(){var t=this.prevColumnName();return this.columnModel.indexOfColumnName(t,!0)},nextRowKey:function(t){var e,n,i=this.which(),o=i.rowKey;return t="number"==typeof t?t:1,t>1?(o=this._findRowKey(t),n=this._getRowSpanData(o,i.columnName),n.isMainRow||(o=this._findRowKey(n.count+t))):(n=this._getRowSpanData(o,i.columnName),n.isMainRow&&n.count>0?o=this._findRowKey(n.count):n.isMainRow?o=this._findRowKey(1):(e=n.count,n=this._getRowSpanData(n.mainRowKey,i.columnName),o=this._findRowKey(n.count+e))),o},prevRowKey:function(t){var e,n=this.which(),i=n.rowKey;return t="number"==typeof t?t:1,t*=-1,t<-1?(i=this._findRowKey(t),e=this._getRowSpanData(i,n.columnName),e.isMainRow||(i=this._findRowKey(e.count+t))):(e=this._getRowSpanData(i,n.columnName),i=e.isMainRow?this._findRowKey(-1):this._findRowKey(e.count-1)),i},nextColumnName:function(){return this._findColumnName(1)},prevColumnName:function(){return this._findColumnName(-1)},firstRowKey:function(){return this.dataModel.at(0).get("rowKey")},lastRowKey:function(){return this.dataModel.at(this.dataModel.length-1).get("rowKey")},firstColumnName:function(){var t=this.columnModel.getVisibleColumns();return t[0].name},lastColumnName:function(){var t=this.columnModel.getVisibleColumns(),e=t.length-1;return t[e].name},prevAddress:function(){var t,e,n=this.get("rowKey"),i=this.get("columnName"),o=i===this.firstColumnName(),s=n===this.firstRowKey();return s&&o?(t=n,e=i):o?(t=this.prevRowKey(),e=this.lastColumnName()):(t=n,e=this.prevColumnName()),{rowKey:t,columnName:e}},nextAddress:function(){var t,e,n=this.get("rowKey"),i=this.get("columnName"),o=i===this.lastColumnName(),s=n===this.lastRowKey();return s&&o?(t=n,e=i):o?(t=this.nextRowKey(),e=this.firstColumnName()):(t=n,e=this.nextColumnName()),{rowKey:t,columnName:e}}});t.exports=a},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(13),r=n(29),a=n(30),l=n(14).renderState,u=n(14).dimension.CELL_BORDER_WIDTH,d=1e3,h=s.extend({initialize:function(t,e){var n,o,s;i.assign(this,{dataModel:e.dataModel,columnModel:e.columnModel,focusModel:e.focusModel,dimensionModel:e.dimensionModel,coordRowModel:e.coordRowModel,coordColumnModel:e.coordColumnModel}),n={dataModel:this.dataModel,columnModel:this.columnModel,focusModel:this.focusModel},o=new a([],n),s=new a([],n),this.set({lside:[],rside:[],partialLside:o,partialRside:s}),this.listenTo(this.columnModel,"columnModelChange change",this._onColumnModelChange).listenTo(this.dataModel,"sort reset",this._onDataModelChange).listenTo(this.dataModel,"delRange",this._onRangeDataModelChange).listenTo(this.dataModel,"add",this._onAddDataModelChange).listenTo(this.dataModel,"remove",this._onRemoveDataModelChange).listenTo(this.dataModel,"beforeReset",this._onBeforeResetData).listenTo(this.focusModel,"change:editingAddress",this._onEditingAddressChange).listenTo(o,"valueChange",this._executeRelation).listenTo(s,"valueChange",this._executeRelation).listenTo(this.coordRowModel,"reset",this._onChangeRowHeights).listenTo(this.dimensionModel,"columnWidthChanged",this.finishEditing).listenTo(this.dimensionModel,"change:width",this._updateMaxScrollLeft).listenTo(this.dimensionModel,"change:totalRowHeight change:scrollBarSize change:bodyHeight",this._updateMaxScrollTop),this.get("showDummyRows")&&(this.listenTo(this.dimensionModel,"change:bodyHeight change:totalRowHeight",this._resetDummyRowCount),this.on("change:dummyRowCount",this._resetDummyRows)),this.on("change",this._onChangeIndex,this),this._onChangeLayoutBound=i.bind(this._onChangeLayout,this),this._updateMaxScrollLeft()},defaults:{top:0,bottom:0,scrollTop:0,scrollLeft:0,maxScrollLeft:0,maxScrollTop:0,startIndex:-1,endIndex:-1,startNumber:1,lside:null,rside:null,partialLside:null,partialRside:null,showDummyRows:!1,dummyRowCount:0,emptyMessage:null,state:l.DONE},_onChangeLayout:function(){this.focusModel.finishEditing(),this.focusModel.focusClipboard()},_onChangeIndex:function(t){var e=t.changed,n=i.has(e,"startIndex"),o=i.has(e,"endIndex");(n||o)&&this.refresh()},_onChangeRowHeights:function(){for(var t,e=this.coordRowModel,n=this.get("partialLside"),i=this.get("partialRside"),o=0,s=n.length;od&&this.set("state",l.LOADING)},_onEditingAddressChange:function(t,e){var n=e,o=!0,s=this;e||(n=t.previous("editingAddress"),o=!1),this._updateCellData(n.rowKey,n.columnName,{editing:o}),this._triggerEditingStateChanged(n.rowKey,n.columnName),i.defer(function(){s._toggleChangeLayoutEventHandlers(o)})},_toggleChangeLayoutEventHandlers:function(t){var e="change:scrollTop change:scrollLeft",n="columnWidthChanged";t?(this.listenToOnce(this.dimensionModel,n,this._onChangeLayoutBound),this.once(e,this._onChangeLayoutBound)):(this.stopListening(this.dimensionModel,n,this._onChangeLayoutBound),this.off(e,this._onChangeLayoutBound))},_triggerEditingStateChanged:function(t,e){var n=this.getCellData(t,e);o.pick(n,"columnModel","editOptions","useViewMode")!==!1&&null===n.convertedHTML&&this.trigger("editingStateChanged",n)},_updateCellData:function(t,e,n){var i=this._getRowModel(t,e);i&&i.setCell(e,n)},initializeVariables:function(){this.set({top:0,scrollTop:0,scrollLeft:0,startNumber:1})},getCollection:function(t){var e=this._getPartialWhichSideType(t);return this.get(e)},_getPartialWhichSideType:function(t){return o.isString(t)?"partial"+t+"side":"partialRside"},_onColumnModelChange:function(){this.set({scrollTop:0},{silent:!0}),this._resetViewModelList(),this._setRenderingRange(!0),this.refresh({change:!1,columnModelChanged:!0})},_onDataModelChange:function(){this._resetViewModelList(),this._setRenderingRange(!0),this.refresh({type:"reset",dataListChanged:!0})},_onAddDataModelChange:function(t,e){var n,o,s,r,a=this._getColumnNamesOfEachSide(),l=e.at;this._setRenderingRange(!0),t=i.isArray(t)?t:t.models,i.each(t,function(t,e){n=this.coordRowModel.getHeightAt(e),i.each(["lside","rside"],function(i){s=l+e+1,o=this._createViewDataFromDataModel(t,a[i],n,s),r=this._createRowModel(o,!0),this.get(i).splice(l+e,0,r)},this)},this),this.refresh({type:"add",dataListChanged:!0}),e.focus&&this.focusModel.focusAt(e.at,0)},_onRemoveDataModelChange:function(t,e){i.each(["lside","rside"],function(t){this.get(t).splice(e,1)},this),this._setRenderingRange(!0),this.refresh({dataListChanged:!0})},_onRangeDataModelChange:function(t,e){var n=this.columnModel;this._setRenderingRange(!0),i.each(["partialLside","partialRside"],function(o){i.each(this.get(o).models,function(o){var s=o.get("rowKey"),r=i.contains(t,s);r&&i.each(e,function(t){n.getColumnModel(t).editOptions&&this._updateCellData(s,t,{value:"",formattedValue:""})},this)},this)},this),this.refresh({type:"delRange",dataListChanged:!0})},_resetDummyRows:function(){this._clearDummyRows(),this._fillDummyRows(),this.trigger("rowListChanged")},_setRenderingRange:function(t){var e=this.dataModel.length;this.set({startIndex:e?0:-1,endIndex:e-1},{silent:t})},_createViewDataFromDataModel:function(t,e,n,o){var s={rowNum:o,height:n,rowKey:t.get("rowKey"),_extraData:t.get("_extraData")};return i.each(e,function(e){var n=t.get(e);"_number"!==e||i.isNumber(n)||(n=o),s[e]=n}),s},_getColumnNamesOfEachSide:function(){var t=this.columnModel.getVisibleFrozenCount(!0),e=this.columnModel.getVisibleColumns(null,!0),n=i.pluck(e,"name"),o={lside:n.slice(0,t),rside:n.slice(t)};return o},_addViewModelListWithRange:function(t,e){var n,i,o,s=this._getColumnNamesOfEachSide();if(t>=0&&e>=0)for(o=t;o<=e;o+=1)n=this.dataModel.at(o),i=this.coordRowModel.getHeightAt(o),this._addViewModelList(n,s,i,o)},_addViewModelList:function(t,e,n,o){i.each(["lside","rside"],function(i){var s;this.get(i)[o]||(s=this._createViewDataFromDataModel(t,e[i],n,o+1),this.get(i)[o]=this._createRowModel(s,!0))},this)},_updateRowNumber:function(t,e){for(var n,i,o,s=this.get("lside"),r=t;r<=e;r+=1)n=s[r],o=r+1,n&&(i=n.get("rowNum"),o=r+1,i!==o&&(n.set({rowNum:o},{silent:!0}),n.setCell("_number",{formattedValue:o,value:o})))},_resetPartialViewModelList:function(t,e){var n,o,s,r;i.each(["L","R"],function(i){n=i.toLowerCase()+"side",o=this._getPartialWhichSideType(i),s=this.get(n),r=s.slice(t,e+1),this.get(o).reset(r)},this)},_getActualRowCount:function(){return this.get("endIndex")-this.get("startIndex")+1},_clearDummyRows:function(){var t=this.get("endIndex")-this.get("startIndex")+1;i.each(["lside","rside"],function(e){for(var n=this.get(e);n.length>t;)n.pop()},this)},_resetDummyRowCount:function(){var t=this.dimensionModel,e=t.get("totalRowHeight"),n=t.get("rowHeight")+u,i=t.get("bodyHeight")-t.getScrollXHeight(),o=0;e=0&&n>=0)for(i=e;i<=n;i+=1)this._executeRelation(i);o?this.trigger("columnModelChanged"):(this.trigger("rowListChanged",s),s&&this.coordRowModel.syncWithDom()),this._refreshState()},_refreshState:function(){this.dataModel.length?this.set("state",l.DONE):this.set("state",l.EMPTY)},_getCollectionByColumnName:function(t){var e,n=this.get("partialLside");return e=n.at(0)&&n.at(0).get(t)?n:this.get("partialRside")},_getRowModel:function(t,e){var n=this._getCollectionByColumnName(e);return n.get(t)},getCellData:function(t,e){var n=this._getRowModel(t,e),i=null;return n&&(i=n.get(e)),i},_executeRelation:function(t){var e,n,o=this.dataModel.at(t),s=t-this.get("startIndex");n=o.executeRelationCallbacksAll(),i.each(n,function(t,n){e=this._getCollectionByColumnName(n).at(s),e&&e.setCell(n,t)},this)},_createRowModel:function(t,e){return new r(t,{parse:e,dataModel:this.dataModel,columnModel:this.columnModel,focusModel:this.focusModel})},_resetViewModelList:function(){i.each(["lside","rside"],function(t){this.set(t,new Array(this.dataModel.length))},this)}});t.exports=h},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(13),r=n(20),a=s.extend({initialize:function(t,e){var n=t&&t.rowKey,i=e.dataModel,o=i.get(n);this.dataModel=i,this.columnModel=e.columnModel,this.focusModel=e.focusModel,o&&(this.listenTo(o,"change",this._onDataModelChange),this.listenTo(o,"restore",this._onDataModelRestore),this.listenTo(o,"extraDataChanged",this._setRowExtraData),this.listenTo(i,"disabledChanged",this._onDataModelDisabledChanged),this.rowData=o)},idAttribute:"rowKey",_onDataModelChange:function(t){i.each(t.changed,function(e,n){var i,o;this.has(n)&&(i=this.columnModel.getColumnModel(n),o=this.columnModel.isTextType(n),this.setCell(n,this._getValueAttrs(e,t,i,o)))},this)},_onDataModelRestore:function(t){var e=this.get(t);e&&this.trigger("restore",e)},_getColumnNameList:function(){var t=this.columnModel.getVisibleColumns(null,!0);return i.pluck(t,"name")},_onDataModelDisabledChanged:function(){var t=this._getColumnNameList();i.each(t,function(t){this.setCell(t,{disabled:this.rowData.isDisabled(t),className:this._getClassNameString(t)})},this)},_setRowExtraData:function(){i.each(this._getColumnNameList(),function(t){var e,n=this.get(t);!o.isUndefined(n)&&n.isMainRow&&(e=this.rowData.getCellState(t),this.setCell(t,{disabled:e.disabled,editable:e.editable,className:this._getClassNameString(t)}))},this)},parse:function(t,e){return this._formatData(t,e.dataModel,e.columnModel,e.focusModel)},_formatData:function(t,e,n,s){var r,a,l=t.rowKey,u=t.height;return i.isUndefined(l)?t:(a=e.get(l),r=i.omit(t,"rowKey","_extraData","height","rowNum"),i.each(r,function(r,d){var h=this._getRowSpanData(d,t,e.isRowSpanEnable()),c=a.getCellState(d),g=n.isTextType(d),f=n.getColumnModel(d);t[d]={rowKey:l,height:u,columnName:d,rowSpan:h.count,isMainRow:h.isMainRow,mainRowKey:h.mainRowKey,editable:c.editable,disabled:c.disabled,editing:s.isEditingCell(l,d),whiteSpace:f.whiteSpace||"nowrap",valign:f.valign,listItems:o.pick(f,"editOptions","listItems"),className:this._getClassNameString(d,a,s),columnModel:f,changed:[]},i.assign(t[d],this._getValueAttrs(r,a,f,g))},this),t)},_getClassNameString:function(t,e,n){var i;return e||(e=this.dataModel.get(this.get("rowKey")))?(n||(n=this.focusModel),i=e.getClassNameList(t),i.join(" ")):""},_getValueAttrs:function(t,e,n,i){var s=o.pick(n,"editOptions","prefix"),r=o.pick(n,"editOptions","postfix"),a=o.pick(n,"editOptions","converter"),l=e.toJSON();return{value:this._getValueToDisplay(t,n,i),formattedValue:this._getFormattedValue(t,l,n),prefix:this._getExtraContent(s,t,l),postfix:this._getExtraContent(r,t,l),convertedHTML:this._getConvertedHTML(a,t,l)}},_getFormattedValue:function(t,e,n){var o;return o=i.isFunction(n.formatter)?n.formatter(t,e,n):t,i.isNumber(o)?o=String(o):o||(o=""),o},_getExtraContent:function(t,e,n){var s="";return i.isFunction(t)?s=t(e,n):o.isExisty(t)&&(s=t),s},_getConvertedHTML:function(t,e,n){var o=null;return i.isFunction(t)&&(o=t(e,n)),o===!1&&(o=null),o},_getValueToDisplay:function(t,e,n){var i=o.isExisty,s=e.useHtmlEntity,r=e.defaultValue;return i(t)||(t=i(r)?r:""),n&&s&&o.hasEncodableString(t)&&(t=o.encodeHTMLEntity(t)),t},_getRowSpanData:function(t,e,n){var i=o.pick(e,"_extraData","rowSpanData",t);return n&&i||(i={mainRowKey:e.rowKey,count:0,isMainRow:!0}),i},updateClassName:function(t){this.setCell(t,{className:this._getClassNameString(t)})},setCell:function(t,e){var n,o,s,a=!1,l=[];this.has(t)&&(o=this.get("rowKey"),s=i.clone(this.get(t)),i.each(e,function(t,e){r.isEqual(s[e],t)||(a="value"===e||a,s[e]=t,l.push(e))},this),l.length&&(s.changed=l,this.set(t,s,{silent:this._shouldSetSilently(s,a)}),a&&(n=this.dataModel.indexOfRowKey(o),this.trigger("valueChange",n))))},_shouldSetSilently:function(t,e){var n=t.editing&&e,s=o.pick(t,"columnModel","editOptions","useViewMode")!==!1,r=i.contains(t.changed,"editing")&&t.editing;return n||s&&r}});t.exports=a},function(t,e,n){"use strict";var i=n(6),o=n(16),s=n(29),r=o.extend({initialize:function(t,e){i.assign(this,{dataModel:e.dataModel,columnModel:e.columnModel,focusModel:e.focusModel})},model:s});t.exports=r},function(t,e,n){"use strict";var i=n(6),o=n(28),s=n(14).dimension,r=s.CELL_BORDER_WIDTH,a=.3,l=.1,u=o.extend({initialize:function(){o.prototype.initialize.apply(this,arguments),this.on("change:scrollTop",this._onChangeScrollTop,this),this.listenTo(this.dimensionModel,"change:bodyHeight",this._onChangeBodyHeight)},_onChangeScrollTop:function(){this._shouldRefresh(this.get("scrollTop"))&&this._setRenderingRange()},_onChangeBodyHeight:function(){this._setRenderingRange()},_setRenderingRange:function(t){var e,n,i=this.get("scrollTop"),o=this.dimensionModel,s=this.dataModel,l=this.coordRowModel,u=o.get("bodyHeight"),d=parseInt(u*a,10),h=Math.max(l.indexOf(i-d),0),c=Math.min(l.indexOf(i+u+d),s.length-1);s.isRowSpanEnable()&&(h+=this._getStartRowSpanMinCount(h),c+=this._getEndRowSpanMaxCount(c)),e=l.getOffsetAt(h),n=l.getOffsetAt(c)+l.getHeightAt(c)+r,this.set({top:e,bottom:n,startIndex:h,endIndex:c},{silent:t})},_getStartRowSpanMinCount:function(t){var e,n=this.dataModel.at(t),o=0;return n&&(e=i.pluck(n.getRowSpanData(),"count"),e.push(0),o=i.min(e)),o},_getEndRowSpanMaxCount:function(t){var e,n=this.dataModel.at(t),o=0;return n&&(e=i.pluck(n.getRowSpanData(),"count"),e.push(0),o=i.max(e)),o>0&&(o-=1),o},_shouldRefresh:function(t){var e=this.dimensionModel.get("bodyHeight"),n=t+e,i=this.dimensionModel.get("totalRowHeight"),o=this.get("top"),s=this.get("bottom"),r=parseInt(e*l,10),a=t-o0||u&&sn.row&&(s.row=t[1]),e[1]>n.column&&(s.column=e[1])),s},_isValidAddress:function(t){return!!this.dataModel.at(t.row)&&!!this.columnModel.at(t.colummn)},_scrollTo:function(t,e){var n,i,o,s,r=this.dataModel.at(t),a=this.columnModel.at(e);r&&a&&(n=r.get("rowKey"),i=a.name,s=this.coordConverterModel.getScrollPosition(n,i),s&&(o=this.getType(),o===l.COLUMN?delete s.scrollTop:o===l.ROW&&delete s.scrollLeft,this.renderModel.set(s)))},_getTypeByColumnIndex:function(t){var e=this.columnModel.getVisibleColumns(null,!0),n=e[t].name;switch(n){case"_button":return null;case"_number":return l.ROW;default:return l.CELL}},_onMouseDownBody:function(t){var e,n,i=this.coordConverterModel.getIndexFromMousePosition(t.pageX,t.pageY,!0),o=this._getTypeByColumnIndex(i.column);o&&(e=i.row,n=i.column-this.columnModel.getVisibleMetaColumnCount(),t.shiftKey?this.update(e,Math.max(n,0)):o===l.ROW?this.selectRow(e):(this.focusModel.focusAt(e,n),this.end()))},_onDragMoveBody:function(t){var e=this.coordConverterModel.getIndexFromMousePosition(t.pageX,t.pageY);this.update(e.row,e.column,this.getSelectionUnit()),this._setScrolling(t.pageX,t.pageY)},_onDragEndBody:function(){this.stopAutoScroll()},_onPasteData:function(t){this.start(t.startIdx.row,t.startIdx.column),this.update(t.endIdx.row,t.endIdx.column)},_getColumnRangeWithNames:function(t){var e=this.columnModel,n=o.map(t,function(t){return e.indexOfColumnName(t,!0)}),i=a.getMinMax(n);return[i.min,i.max]},setType:function(t){this.selectionType=l[t]||this.selectionType},getType:function(){return this.selectionType},getSelectionUnit:function(){return this.get("selectionUnit").toUpperCase()},enable:function(){this.enabled=!0},disable:function(){this.end(),this.enabled=!1},isEnabled:function(){return this.enabled},start:function(t,e,n){this.isEnabled()&&(this.setType(n),this.inputRange={row:[t,t],column:[e,e]},this._resetRangeAttribute())},update:function(t,e,n){var i;!this.enabled||n!==l.COLUMN&&t<0||n!==l.ROW&&e<0||(this.hasSelection()?this.setType(n):(i=this.focusModel.indexOf(),n===l.ROW?this.start(i.row,0,l.ROW):this.start(i.row,i.column,l.CELL)),this._updateInputRange(t,e),this._resetRangeAttribute())},_updateInputRange:function(t,e){var n=this.inputRange;this.selectionType===l.ROW?e=this.columnModel.getVisibleColumns().length-1:this.selectionType===l.COLUMN&&(t=this.dataModel.length-1),n.row[1]=t,n.column[1]=e},_extendColumnSelection:function(t,e,n){var i,o=this.minimumColumnRange,s=this.coordConverterModel.getIndexFromMousePosition(e,n),r={row:[0,this.dataModel.length-1],column:[]};t&&t.length||(t=[s.column]),this._setScrolling(e,n),o?i=a.getMinMax(t.concat(o)):(t.push(this.inputRange.column[0]),i=a.getMinMax(t)),r.column.push(i.min,i.max),this._resetRangeAttribute(r)},_setScrolling:function(t,e){var n=this.dimensionModel.getOverflowFromMousePosition(t,e);this.stopAutoScroll(),this._isAutoScrollable(n.x,n.y)&&(this.intervalIdForAutoScroll=setInterval(o.bind(this._adjustScroll,this,n.x,n.y)))},end:function(){this.inputRange=null,this.unset("range"),this.minimumColumnRange=null},stopAutoScroll:function(){o.isNull(this.intervalIdForAutoScroll)||(clearInterval(this.intervalIdForAutoScroll),this.intervalIdForAutoScroll=null)},selectRow:function(t){this.isEnabled()&&(this.focusModel.focusAt(t,0),this.start(t,0,l.ROW),this.update(t,this.columnModel.getVisibleColumns().length-1))},selectColumn:function(t){this.isEnabled()&&(this.focusModel.focusAt(0,t),this.start(0,t,l.COLUMN),this.update(this.dataModel.length-1,t))},selectAll:function(){this.isEnabled()&&(this.start(0,0,l.CELL),this.update(this.dataModel.length-1,this.columnModel.getVisibleColumns().length-1))},getStartIndex:function(){var t=this.get("range");return{row:t.row[0],column:t.column[0]}},getEndIndex:function(){var t=this.get("range");return{row:t.row[1],column:t.column[1]}},hasSelection:function(){return!!this.get("range")},_isSingleCell:function(t,e){var n=1===t.length,i=1===e.length,o=n&&!i&&e[0].getRowSpanData(t[0]).count===e.length;return n&&i||o},getValuesToString:function(){var t=this.renderModel,e=this.columnModel,n=this._getRangeRowList(),i=this._getRangeColumnNames(),s=o.map(n,function(n){return o.map(i,function(i){return e.getCopyOptions(i).useFormattedValue?t.getCellData(n.get("rowKey"),i).formattedValue:n.getValueString(i)}).join("\t")});return this._isSingleCell(i,n)?s[0]:s.join("\n")},_getRangeRowList:function(){var t=this.get("range").row;return this.dataModel.slice(t[0],t[1]+1)},_getRangeColumnNames:function(){var t=this.get("range").column,e=this.columnModel.getVisibleColumns().slice(t[0],t[1]+1);return o.pluck(e,"name")},_isAutoScrollable:function(t,e){return!(0===t&&0===e)},_adjustScroll:function(t,e){var n=this.renderModel;t&&this._adjustScrollLeft(t,n.get("scrollLeft"),n.get("maxScrollLeft")),e&&this._adjustScrollTop(e,n.get("scrollTop"),n.get("maxScrollTop"))},_adjustScrollLeft:function(t,e,n){var i=e,o=this.scrollPixelScale;t<0?i=Math.max(0,e-o):t>0&&(i=Math.min(n,e+o)),this.renderModel.set("scrollLeft",i)},_adjustScrollTop:function(t,e,n){var i=e,o=this.scrollPixelScale;t<0?i=Math.max(0,e-o):t>0&&(i=Math.min(n,e+o)),this.renderModel.set("scrollTop",i)},_resetRangeAttribute:function(t){var e,n,i,s=this.dataModel;if(t=t||this.inputRange,!t)return void this.set("range",null);if(n={row:o.sortBy(t.row),column:o.sortBy(t.column)},s.isRowSpanEnable()&&this.selectionType===l.CELL){do i=o.assign([],n.row),n=this._getRowSpannedIndex(n),e=n.row[0]!==i[0]||n.row[1]!==i[1];while(e);this._setRangeMinMax(n.row,n.column)}this.set("range",n)},_triggerSelectionEvent:function(){var t,e,n,i,o,s,a,l=this.get("range"),u=this.dataModel,d=this.columnModel;l&&(t=l.row,e=l.column,i=u.getRowDataAt(t[0]),s=d.at(e[0]),o=u.getRowDataAt(t[1]),a=d.at(e[1]),i&&o&&s&&a&&(n=new r(null,{range:{start:[i,s],end:[o,a]}}),this.trigger("selection",n)))},_setRangeMinMax:function(t,e){t&&(t[0]=Math.max(0,t[0]),t[1]=Math.min(this.dataModel.length-1,t[1])),e&&(e[0]=Math.max(0,e[0]),e[1]=Math.min(this.columnModel.getVisibleColumns().length-1,e[1]))},_concatRowSpanIndexFromStart:function(t){var e,n=t.startIndex,i=t.endIndex,o=t.columnName,s=t.startRowSpanDataMap&&t.startRowSpanDataMap[o],r=t.startIndexList,a=t.endIndexList;s&&(s.isMainRow?(e=n+s.count-1,e>i&&a.push(e)):(e=n+s.count,r.push(e)))},_concatRowSpanIndexFromEnd:function(t){var e,n,i=t.endIndex,o=t.columnName,s=t.endRowSpanDataMap&&t.endRowSpanDataMap[o],r=t.endIndexList,a=t.dataModel;s&&(s.isMainRow?(e=i+s.count-1,r.push(e)):(e=i+s.count,n=a.at(e).getRowSpanData(o),e+=n.count-1,e>i&&r.push(e)))},_getRowSpannedIndex:function(t){var e,n,s,r=this.columnModel.getVisibleColumns().slice(t.column[0],t.column[1]+1),a=this.dataModel,l=[t.row[0]],u=[t.row[1]],d=a.at(t.row[0]),h=a.at(t.row[1]),c=i.extend({},t);return d&&h?(e=a.at(t.row[0]).getRowSpanData(),n=a.at(t.row[1]).getRowSpanData(),o.each(r,function(i){s={columnName:i.name,startIndex:t.row[0],endIndex:t.row[1],endRowSpanDataMap:n,startRowSpanDataMap:e,startIndexList:l,endIndexList:u,dataModel:a},this._concatRowSpanIndexFromStart(s),this._concatRowSpanIndexFromEnd(s)},this),c.row=[Math.min.apply(null,l),Math.max.apply(null,u)],c):c}});t.exports=u},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(13),r=n(14).summaryType,a=s.extend({initialize:function(t,e){this.dataModel=e.dataModel,this.autoColumnNames=e.autoColumnNames,this.columnSummaryMap={},this.listenTo(this.dataModel,"add remove reset",this._resetSummaryMap),this.listenTo(this.dataModel,"change",this._onChangeData),this.listenTo(this.dataModel,"delRange",this._onDeleteRangeData),this._resetSummaryMap()},_calculate:function(t){var e,n,i=Number.MAX_VALUE,o=Number.MIN_VALUE,s=0,a=t.length,l={};for(e=0;en&&(i=n),o").addClass(a.BORDER_LINE).addClass(t)}var o,s=n(10),r=n(8),a=n(22),l=n(14).frame;o=r.extend({initialize:function(t){r.prototype.initialize.call(this),this.viewFactory=t.viewFactory,this.dimensionModel=t.dimensionModel,this._addFrameViews()},className:a.CONTENT_AREA,_addFrameViews:function(){var t=this.viewFactory;this._addChildren([t.createFrame(l.L),t.createFrame(l.R)])},render:function(){var t=this.dimensionModel,e=t.getScrollXHeight(),n=this._renderChildren().concat([i(a.BORDER_TOP),i(a.BORDER_LEFT),i(a.BORDER_RIGHT),i(a.BORDER_BOTTOM).css("bottom",e)]);return t.get("scrollX")||this.$el.addClass(a.NO_SCROLL_X),t.get("scrollY")||this.$el.addClass(a.NO_SCROLL_Y),this.$el.append(n),this}}),t.exports=o},function(t,e,n){"use strict";var i=n(6),o=n(40),s=n(8),r={totalItems:1,itemsPerPage:10,visiblePages:5,centerAlign:!0},a="tui-pagination",l=s.extend({initialize:function(t){this.dimensionModel=t.dimensionModel,this.componentHolder=t.componentHolder,this._stopEventPropagation(),this.on("appended",this._onAppended)},className:a,render:function(){return this._destroyChildren(),this.componentHolder.setInstance("pagination",this._createComponent()),this},_stopEventPropagation:function(){this.$el.mousedown(function(t){t.stopPropagation()})},_onAppended:function(){this.dimensionModel.set("paginationHeight",this.$el.outerHeight())},_createOptionObject:function(){var t=this.componentHolder.getOptions("pagination");return t===!0&&(t={}),i.assign({},r,t)},_createComponent:function(){var t=o;if(!t)throw new Error("Cannot find component 'tui.component.Pagination'");return new t(this.$el,this._createOptionObject())}});t.exports=l},function(t,e){t.exports=i},function(t,e,n){"use strict";var i=n(8),o=n(22),s=n(42),r=i.extend({initialize:function(t){this.dimensionModel=t.dimensionModel,this.domEventBus=t.domEventBus,this.dragEmitter=new s({type:"resizeHeight",cursor:"row-resize",domEventBus:this.domEventBus}),this.on("appended",this._onAppended)},className:o.HEIGHT_RESIZE_HANDLE,events:{mousedown:"_onMouseDown"},_onAppended:function(){this.dimensionModel.set("resizeHandleHeight",this.$el.outerHeight())},_onMouseDown:function(t){t.preventDefault(),this.dragEmitter.start(t,{mouseOffsetY:t.offsetY})},render:function(){return this.$el.html(""),this}});t.exports=r},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(19),a=s.defineClass({init:function(t){o.assign(this,{type:t.type,domEventBus:t.domEventBus,onDragMove:t.onDragMove,onDragEnd:t.onDragEnd,cursor:t.cursor,startData:null})},start:function(t,e){var n=new r(t,e);this.domEventBus.trigger("dragstart:"+this.type,n),n.isStopped()||this._startDrag(t.target,e)},_startDrag:function(t,e){this.startData=e,this._attachDragEvents(),this.cursor&&i("body").css("cursor",this.cursor),t.setCapture&&t.setCapture()},_endDrag:function(){this.startData=null,this._detachDragEvents(),this.cursor&&i("body").css("cursor","default"),document.releaseCapture&&document.releaseCapture()},_onMouseMove:function(t){var e=new r(t,{startData:this.startData,pageX:t.pageX,pageY:t.pageY});o.isFunction(this.onDragMove)&&this.onDragMove(e),e.isStopped()||this.domEventBus.trigger("dragmove:"+this.type,e)},_onMouseUp:function(t){var e=new r(t,{startData:this.startData});o.isFunction(this.onDragEnd)&&this.onDragEnd(e),e.isStopped()||(this.domEventBus.trigger("dragend:"+this.type,e),this._endDrag())},_onSelectStart:function(t){t.preventDefault()},_attachDragEvents:function(){i(document).on("mousemove.grid",o.bind(this._onMouseMove,this)).on("mouseup.grid",o.bind(this._onMouseUp,this)).on("selectstart.grid",o.bind(this._onSelectStart,this))},_detachDragEvents:function(){i(document).off(".grid")}});t.exports=a},function(t,e,n){"use strict";var i=n(6),o=n(8),s=n(14).renderState,r=n(22),a=n(44),l=n(14).dimension.TABLE_BORDER_WIDTH,u=o.extend({initialize:function(t){this.dimensionModel=t.dimensionModel,this.renderModel=t.renderModel,this.listenTo(this.dimensionModel,"change",this._refreshLayout),this.listenTo(this.renderModel,"change:state",this.render)},className:r.LAYER_STATE,template:i.template('

<%= text %>

<% if (isLoading) { %>
<% } %>
'),render:function(){var t=this.renderModel.get("state");return t===s.DONE?this.$el.hide():this._showLayer(t),this},_showLayer:function(t){var e=this.template({text:this._getMessage(t),isLoading:t===s.LOADING});this.$el.html(e).show(),this._refreshLayout()},_getMessage:function(t){switch(t){case s.LOADING:return a.get("onLoading");case s.EMPTY:return this.renderModel.get("emptyMessage")||a.get("noData");default:return null}},_refreshLayout:function(){var t=this.dimensionModel,e=t.get("headerHeight"),n=t.get("bodyHeight"),i=t.getScrollXHeight(),o=t.getScrollYWidth();this.$el.css({top:e-l,height:n-i-l,left:0,right:o})}});t.exports=u},function(t,e,n){"use strict";var i=n(20),o={en:{createAction:"create",updateAction:"update",deleteAction:"delete",modifyAction:"modify",requestConfirm:"Are you sure you want to {{actionName}} {{count}} data?",noDataResponse:"No data to {{actionName}}.",errorResponse:"An error occurred while requesting data.\n\nPlease try again.",noData:"No data.",onLoading:"Your request is being processed.",resizeHandleGuide:"You can change the width of the column by mouse drag, and initialize the width by double-clicking."},ko:{createAction:"입력",updateAction:"수정",deleteAction:"삭제",modifyAction:"반영",requestConfirm:"{{count}}건의 데이터를 {{actionName}}하시겠습니까?",noDataResponse:"{{actionName}}할 데이터가 없습니다.",errorResponse:"데이터 요청 중에 에러가 발생하였습니다.\n\n다시 시도하여 주시기 바랍니다.",noData:"데이터가 존재하지 않습니다.",onLoading:"요청을 처리 중입니다.",resizeHandleGuide:"마우스 드래그를 통해 컬럼의 넓이를 변경할 수 있고, 더블클릭을 통해 넓이를 초기화할 수 있습니다."}},s=o.en;t.exports={setLanguage:function(t){s=o[t]},get:function(t,e){var n=s[t];return e&&(n=i.replaceText(n,e)),n}}},function(t,e,n){"use strict";function i(t){return"key:clipboard"!==t.type}function o(t){return"key:clipboard"===t.type&&"paste"===t.command}var s,r=n(10),a=n(6),l=n(7),u=n(8),d=n(21),h=n(46),c=n(22),g=10,f=l.browser.edge,m=!!window.clipboardData;s=u.extend({initialize:function(t){a.assign(this,{focusModel:t.focusModel,clipboardModel:t.clipboardModel,domEventBus:t.domEventBus,isLocked:!1,lockTimerId:null}),this.listenTo(this.focusModel,"focusClipboard",this._onFocusClipboard),this.listenTo(this.clipboardModel,"change:text",this._onClipboardTextChange)},tagName:"div",className:c.CLIPBOARD,attributes:{contenteditable:!0},events:{keydown:"_onKeyDown",copy:"_onCopy",paste:"_onPaste",blur:"_onBlur"},render:function(){return this},_onBlur:function(){var t=this.focusModel;setTimeout(function(){t.refreshState()},0)},_onKeyDown:function(t){var e;return this.isLocked?void t.preventDefault():(e=h.generate(t),void(e&&(this._lock(),i(e)&&t.preventDefault(),o(e)||this.domEventBus.trigger(e.type,e))))},_onCopy:function(t){var e=this.clipboardModel.get("text");m||(t.originalEvent||t).clipboardData.setData("text/plain",e),t.preventDefault()},_onPaste:function(t){var e=(t.originalEvent||t).clipboardData||window.clipboardData;f||m?this._pasteInMSBrowsers(e):(t.preventDefault(),this._pasteInOtherBrowsers(e))},_onFocusClipboard:function(){try{this._hasFocus()||(this.$el.focus(),this._hasFocus()||this.$el.focus())}catch(t){}},_onClipboardTextChange:function(){var t=this.clipboardModel.get("text");m?window.clipboardData.setData("Text",t):this.$el.html(t).focus()},_pasteInOtherBrowsers:function(t){var e,n=this.clipboardModel,i=t.getData("text/html");i&&r(i).find("tbody").length>0?(this.$el.html(""+r(i).find("tbody").html()+"
"),e=this.$el.find("table")[0],i=d.convertTableToData(e),this.$el.html("")):(i=t.getData("text/plain"),i=d.convertTextToData(i)),n.pasteClipboardDataToGrid(i)},_pasteInMSBrowsers:function(t){var e,n=this,i=this.clipboardModel,o=t.getData("Text");o=d.convertTextToData(o),setTimeout(function(){n.$el.find("table").length>0&&(e=n.$el.find("table")[0],o=d.convertTableToData(e)),n.$el.html(""),i.pasteClipboardDataToGrid(o)},0)},_lock:function(){this.isLocked=!0,this.lockTimerId=setTimeout(a.bind(this._unlock,this),g)},_unlock:function(){this.isLocked=!1,this.lockTimerId=null},_hasFocus:function(){return this.$el.is(":focus")}}),s.KEYDOWN_LOCK_TIME=g,t.exports=s},function(t,e,n){"use strict";function i(t){var e=[];return(t.ctrlKey||t.metaKey)&&e.push("ctrl"),t.shiftKey&&e.push("shift"),e.push(a[t.keyCode]),e.join("-")}var o=n(6),s=n(19),r={tab:9,enter:13,ctrl:17,esc:27,left:37,up:38,right:39,down:40,a:65,c:67,v:86,space:32,pageUp:33,pageDown:34,home:36,end:35,del:46},a=o.invert(r),l={up:["move","up"],down:["move","down"],left:["move","left"],right:["move","right"],pageUp:["move","pageUp"],pageDown:["move","pageDown"],home:["move","firstColumn"],end:["move","lastColumn"],enter:["edit","currentCell"],space:["edit","currentCell"],tab:["edit","nextCell"],del:["delete"],"shift-tab":["edit","prevCell"],"shift-up":["select","up"],"shift-down":["select","down"],"shift-left":["select","left"],"shift-right":["select","right"],"shift-pageUp":["select","pageUp"],"shift-pageDown":["select","pageDown"],"shift-home":["select","firstColumn"],"shift-end":["select","lastColumn"],"ctrl-a":["select","all"],"ctrl-c":["clipboard","copy"],"ctrl-v":["clipboard","paste"],"ctrl-home":["move","firstCell"],"ctrl-end":["move","lastCell"],"ctrl-shift-home":["select","firstCell"],"ctrl-shift-end":["select","lastCell"]};t.exports={generate:function(t){var e,n=i(t),o=l[n];return o&&(e=new s(t,{type:"key:"+o[0],command:o[1]})),e}}},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(48),r=n(22),a=n(14).frame,l=s.extend({initialize:function(){s.prototype.initialize.apply(this,arguments),o.assign(this,{whichSide:a.L}),this.listenTo(this.dimensionModel,"change:lsideWidth",this._onFrameWidthChanged)},className:r.LSIDE_AREA,_onFrameWidthChanged:function(){this.$el.css({width:this.dimensionModel.get("lsideWidth")})},beforeRender:function(){this.$el.css({display:"block",width:this.dimensionModel.get("lsideWidth")})},afterRender:function(){this.dimensionModel.get("scrollX")&&this.$el.append(i("
").addClass(r.SCROLLBAR_LEFT_BOTTOM))}});t.exports=l},function(t,e,n){"use strict";var i=n(6),o=n(8),s=n(14).frame,r=o.extend({initialize:function(t){o.prototype.initialize.call(this),i.assign(this,{viewFactory:t.viewFactory,renderModel:t.renderModel,dimensionModel:t.dimensionModel,whichSide:t.whichSide||s.R}),this.listenTo(this.renderModel,"columnModelChanged",this.render)},render:function(){var t=this.viewFactory;return this.$el.empty(),this._destroyChildren(),this.beforeRender(),this._addChildren([t.createHeader(this.whichSide),t.createBody(this.whichSide),t.createFooter(this.whichSide)]),this.$el.append(this._renderChildren()),this.afterRender(),this},beforeRender:function(){},afterRender:function(){}});t.exports=r},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(48),r=n(22),a=n(14),l=a.frame,u=a.dimension.CELL_BORDER_WIDTH,d=s.extend({initialize:function(){s.prototype.initialize.apply(this,arguments),o.assign(this,{whichSide:l.R,$scrollBorder:null}),this.listenTo(this.dimensionModel,"change:lsideWidth change:rsideWidth",this._onFrameWidthChanged),this.listenTo(this.dimensionModel,"change:bodyHeight change:headerHeight",this._resetScrollBorderHeight)},className:r.RSIDE_AREA,_onFrameWidthChanged:function(){this._refreshLayout()},_refreshLayout:function(){var t=this.dimensionModel,e=t.get("rsideWidth"),n=t.get("lsideWidth");n>0&&!t.isDivisionBorderDoubled()&&(e+=u,n-=u),this.$el.css({width:e,marginLeft:n})},_resetScrollBorderHeight:function(){var t,e;this.$scrollBorder&&(t=this.dimensionModel,e=t.get("bodyHeight")-t.getScrollXHeight(),this.$scrollBorder.height(e))},beforeRender:function(){this.$el.css("display","block"),this._refreshLayout()},afterRender:function(){var t,e,n,o,s=this.dimensionModel;s.get("scrollY")&&(t=s.get("headerHeight"),e=s.get("footerHeight"),n=i("
").addClass(r.SCROLLBAR_HEAD),o=i("
").addClass(r.SCROLLBAR_BORDER),n.height(t-2),o.css("top",t+"px"),this.$el.append(n,o),s.get("scrollX")&&this.$el.append(i("
").addClass(r.SCROLLBAR_RIGHT_BOTTOM)),e&&s.get("scrollY")&&this.$el.append(i("
").addClass(r.FOOT_AREA_RIGHT).css("height",e-u)),this.$scrollBorder=o,this._resetScrollBorderHeight())}});t.exports=d},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(8),r=n(20),a=n(14),l=n(22),u=n(19),d=n(42),h=a.frame,c=10,g=a.keyCode,f=a.attrName.COLUMN_NAME,m=a.dimension.CELL_BORDER_WIDTH,p=a.dimension.TABLE_BORDER_WIDTH,_=200,M=s.extend({initialize:function(t){s.prototype.initialize.call(this),o.assign(this,{renderModel:t.renderModel,coordColumnModel:t.coordColumnModel,selectionModel:t.selectionModel,focusModel:t.focusModel,columnModel:t.columnModel,dataModel:t.dataModel,coordRowModel:t.coordRowModel,viewFactory:t.viewFactory,domEventBus:t.domEventBus,headerHeight:t.headerHeight,whichSide:t.whichSide||h.R}),this.dragEmitter=new d({type:"header",domEventBus:this.domEventBus,onDragMove:o.bind(this._onDragMove,this)}),this.listenTo(this.renderModel,"change:scrollLeft",this._onScrollLeftChange).listenTo(this.coordColumnModel,"columnWidthChanged",this._onColumnWidthChanged).listenTo(this.selectionModel,"change:range",this._refreshSelectedHeaders).listenTo(this.focusModel,"change:columnName",this._refreshSelectedHeaders).listenTo(this.dataModel,"sortChanged",this._updateBtnSortState),this.whichSide===h.L&&"checkbox"===this.columnModel.get("selectType")&&this.listenTo(this.dataModel,"change:_button disabledChanged extraDataChanged add remove reset",o.debounce(o.bind(this._syncCheckedState,this),c))},className:l.HEAD_AREA,events:{click:"_onClick","keydown input":"_onKeydown","mousedown th":"_onMouseDown"},template:o.template('<%=colGroup%><%=tBody%>
'),templateHeader:o.template('="<%=columnName%>" class="<%=className%>" height="<%=height%>" <%if(colspan > 0) {%>colspan=<%=colspan%> <%}%><%if(rowspan > 0) {%>rowspan=<%=rowspan%> <%}%>><%=title%><%=btnSort%>'),templateCol:o.template('="<%=columnName%>" style="width:<%=width%>px">'),markupBtnSort:'',_getColGroupMarkup:function(){var t=this._getColumnData(),e=t.widths,n=t.columns,i=[];return o.each(e,function(t,e){i.push(this.templateCol({attrColumnName:f,columnName:n[e].name,width:t+m}))},this),i.join("")},_getSelectedColumnNames:function(){var t=this.selectionModel.get("range").column,e=this.columnModel.getVisibleColumns(),n=e.slice(t[0],t[1]+1);return o.pluck(n,"name")},_onDragMove:function(t){var e=i(t.target);t.setData({columnName:e.closest("th").attr(f),isOnHeaderArea:i.contains(this.el,e[0])})},_getContainingMergedColumnNames:function(t){var e=this.columnModel,n=o.pluck(e.get("complexHeaderColumns"),"name");return o.filter(n,function(n){var i=e.getUnitColumnNamesIfMerged(n);return o.every(i,function(e){return o.contains(t,e)})})},_refreshSelectedHeaders:function(){var t,e,n=this.$el.find("th");this.selectionModel.hasSelection()?t=this._getSelectedColumnNames():this.focusModel.has(!0)&&(t=[this.focusModel.get("columnName")]),n.removeClass(l.CELL_SELECTED),t&&(e=this._getContainingMergedColumnNames(t),o.each(t.concat(e),function(t){n.filter("["+f+'="'+t+'"]').addClass(l.CELL_SELECTED)}))},_onKeydown:function(t){t.keyCode===g.TAB&&(t.preventDefault(),this.focusModel.focusClipboard())},_onMouseDown:function(t){var e,n=i(t.target);this._triggerPublicMousedown(t)&&(n.hasClass(l.BTN_SORT)||(e=n.closest("th").attr(f),e&&this.dragEmitter.start(t,{columnName:e})))},_triggerPublicMousedown:function(t){var e,n,o,s=new u(t,u.getTargetInfo(i(t.target)));return e=(new Date).getTime(),this.domEventBus.trigger("mousedown",s),n=(new Date).getTime(),o=n-e>_,!s.isStopped()&&!o},_getHeaderMainCheckbox:function(){return this.$el.find("th["+f+'="_button"] input')},_syncCheckedState:function(){var t,e,n=this.dataModel.getCheckedState();t=this._getHeaderMainCheckbox(),t.length&&(e=n.available?{checked:n.available===n.checked,disabled:!1}:{checked:!1,disabled:!0},t.prop(e))},_onColumnWidthChanged:function(){var t=this.coordColumnModel.getWidths(this.whichSide),e=this.$el.find("col"),n=this.coordRowModel;o.each(t,function(t,n){e.eq(n).css("width",t+m)}),this.whichSide===h.R&&o.defer(function(){n.syncWithDom()})},_onScrollLeftChange:function(t,e){this.whichSide===h.R&&(this.el.scrollLeft=e)},_onClick:function(t){var e=i(t.target),n=e.closest("th").attr(f),o=new u(t);"_button"===n&&e.is("input")?(o.setData({checked:e.prop("checked")}),this.domEventBus.trigger("click:headerCheck",o)):e.is("a."+l.BTN_SORT)&&(o.setData({columnName:n}),this.domEventBus.trigger("click:headerSort",o))},_updateBtnSortState:function(t){var e;this._$currentSortBtn&&this._$currentSortBtn.removeClass(l.BTN_SORT_DOWN+" "+l.BTN_SORT_UP),this._$currentSortBtn=this.$el.find("th["+f+'="'+t.columnName+'"] a.'+l.BTN_SORT),e=t.ascending?l.BTN_SORT_UP:l.BTN_SORT_DOWN,this._$currentSortBtn.addClass(e)},render:function(){return this._destroyChildren(),this.$el.css({height:this.headerHeight-p}).html(this.template({colGroup:this._getColGroupMarkup(),tBody:this._getTableBodyMarkup()})),this.coordColumnModel.get("resizable")&&(this._addChildren(this.viewFactory.createHeaderResizeHandle(this.whichSide)),this.$el.append(this._renderChildren())),this},_getColumnData:function(){var t=this.coordColumnModel.getWidths(this.whichSide),e=this.columnModel.getVisibleColumns(this.whichSide,!0);return{widths:t,columns:e}},_getTableBodyMarkup:function(){var t,e,n=this._getColumnHierarchyList(),i=this._getHierarchyMaxRowCount(n),s=this.headerHeight,a=new Array(i),u=new Array(i),d=[],h=r.getRowHeight(i,s)-1,c=1;return o.each(n,function(e,r){var g=n[r].length,m=0;o.each(e,function(e,n){var o=e.name,r=[l.CELL,l.CELL_HEAD];e.validation&&e.validation.required&&r.push(l.CELL_REQRUIRED),c=g-1===n&&i-g+1>1?i-g+1:1,t=h*c,n===g-1?t=s-m-2:m+=t+1,u[n]===o?(a[n].pop(),d[n]+=1):d[n]=1,u[n]=o,a[n]=a[n]||[],a[n].push(this.templateHeader({attrColumnName:f,columnName:o,className:r.join(" "),height:t,colspan:d[n],rowspan:c,title:e.title,btnSort:e.sortable?this.markupBtnSort:""}))},this)},this),e=o.map(a,function(t){return""+t.join("")+""}),e.join("")},_getHierarchyMaxRowCount:function(t){var e=[0];return o.each(t,function(t){e.push(t.length)},this),Math.max.apply(Math,e)},_getColumnHierarchyList:function(){var t,e=this._getColumnData().columns;return t=o.map(e,function(t){return this._getColumnHierarchy(t).reverse()},this)},_getColumnHierarchy:function(t,e){var n=this.columnModel.get("complexHeaderColumns");return e=e||[],t&&(e.push(t),n&&o.each(n,function(n){i.inArray(t.name,n.childNames)!==-1&&this._getColumnHierarchy(n,e)},this)),e}});M.DELAY_SYNC_CHECK=c,t.exports=M},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(8),a=n(14),l=n(22),u=n(42),d=n(44),h=a.attrName,c=a.frame,g=a.dimension.CELL_BORDER_WIDTH,f=a.dimension.RESIZE_HANDLE_WIDTH,m=r.extend({initialize:function(t){o.assign(this,{columnModel:t.columnModel,coordColumnModel:t.coordColumnModel,domEventBus:t.domEventBus,headerHeight:t.headerHeight,whichSide:t.whichSide||c.R}),this.dragEmitter=new u({type:"resizeColumn",cursor:"col-resize",domEventBus:this.domEventBus,onDragMove:o.bind(this._onDragMove,this)}),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._refreshHandlerPosition)},className:l.COLUMN_RESIZE_CONTAINER,events:function(){var t={};return t["mousedown ."+l.COLUMN_RESIZE_HANDLE]="_onMouseDown",t["dblclick ."+l.COLUMN_RESIZE_HANDLE]="_onDblClick",t},template:o.template("
'),_getColumnData:function(){var t=this.coordColumnModel.getWidths(this.whichSide),e=this.columnModel.getVisibleColumns(this.whichSide,!0);return{widths:t,columns:e}},_getResizeHandlerMarkup:function(){var t=this._getColumnData(),e=t.columns,n=e.length,i=o.map(e,function(t,e){return this.template({lastClass:e+1===n?l.COLUMN_RESIZE_HANDLE_LAST:"",columnIndex:e,columnName:t.name,height:this.headerHeight,title:d.get("resizeHandleGuide"),displayType:t.resizable===!1?"none":"block"})},this);return i.join("")},render:function(){var t=this.headerHeight,e=this._getResizeHandlerMarkup();return this.$el.empty().html(e).css({marginTop:-t,height:t,display:"block"}),this._refreshHandlerPosition(),this},_refreshHandlerPosition:function(){var t=this._getColumnData(),e=t.widths,n=this.$el.find("."+l.COLUMN_RESIZE_HANDLE),i=Math.floor(f/2),o=0;s.forEachArray(n,function(t,s){var r=n.eq(s);o+=e[s]+g,r.css("left",o-i)})},_onMouseDown:function(t){var e=i(t.target),n=this.coordColumnModel.getWidths(this.whichSide),o=parseInt(e.attr(h.COLUMN_INDEX),10);this.dragEmitter.start(t,{width:n[o],columnIndex:this._getHandlerColumnIndex(o),pageX:t.pageX})},_onDragMove:function(t){var e=t.startData,n=t.pageX-e.pageX;t.setData({columnIndex:e.columnIndex,width:e.width+n})},_onDblClick:function(t){var e=i(t.target),n=parseInt(e.attr(h.COLUMN_INDEX),10);this.domEventBus.trigger("dblclick:resizeColumn",{columnIndex:this._getHandlerColumnIndex(n)})},_getHandlerColumnIndex:function(t){return this.whichSide===c.R?t+this.columnModel.getVisibleFrozenCount(!0):t}});t.exports=m},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(8),r=n(42),a=n(19),l=n(14),u=n(22),d=l.frame,h=200,c=10,g=s.extend({initialize:function(t){s.prototype.initialize.call(this),o.assign(this,{dimensionModel:t.dimensionModel,renderModel:t.renderModel,viewFactory:t.viewFactory,domEventBus:t.domEventBus,$container:null,whichSide:t&&t.whichSide||d.R}),this.listenTo(this.dimensionModel,"change:bodyHeight",this._onBodyHeightChange).listenTo(this.dimensionModel,"change:totalRowHeight",this._resetContainerHeight).listenTo(this.renderModel,"change:scrollTop",this._onScrollTopChange).listenTo(this.renderModel,"change:scrollLeft",this._onScrollLeftChange),this.dragEmitter=new r({type:"body",domEventBus:this.domEventBus,onDragMove:o.bind(this._onDragMove,this)})},className:u.BODY_AREA,events:function(){var t={};return t.scroll="_onScroll",t["mousedown ."+u.BODY_CONTAINER]="_onMouseDown",t},_onBodyHeightChange:function(t,e){this.$el.css("height",e+"px")},_resetContainerHeight:function(){this.$container.css({height:this.dimensionModel.get("totalRowHeight")})},_onScroll:function(t){var e={scrollTop:t.target.scrollTop};this.whichSide===d.R&&(e.scrollLeft=t.target.scrollLeft),this.renderModel.set(e)},_onScrollLeftChange:function(t,e){this.whichSide===d.R&&(this.el.scrollLeft=e)},_onScrollTopChange:function(t,e){this.el.scrollTop=e},_onMouseDown:function(t){var e=i(t.target),n=e.is("input, teaxarea");this._triggerPublicMousedown(t)&&(this._triggerBodyMousedown(t),n&&t.shiftKey&&t.preventDefault(), -n&&!t.shiftKey||this.dragEmitter.start(t,{pageX:t.pageX,pageY:t.pageY}))},_triggerPublicMousedown:function(t){var e,n,o=new a(t,a.getTargetInfo(i(t.target))),s=!0;return o.targetType===a.targetTypeConst.DUMMY?s=!1:(e=(new Date).getTime(),this.domEventBus.trigger("mousedown",o),o.isStopped()?s=!1:(n=(new Date).getTime(),s=n-e<=h)),s},_triggerBodyMousedown:function(t){var e=new a(t,{pageX:t.pageX,pageY:t.pageY,shiftKey:t.shiftKey});this.domEventBus.trigger("mousedown:body",e)},_onDragMove:function(t){var e=t.startData,n={pageX:t.pageX,pageY:t.pageY};this._getMouseMoveDistance(e,n)").addClass(u.BODY_CONTAINER),this.$el.append(this.$container),this._addChildren([this.viewFactory.createBodyTable(t),this.viewFactory.createSelectionLayer(t),this.viewFactory.createFocusLayer(t)]),this.$container.append(this._renderChildren()),this._resetContainerHeight(),this}});t.exports=g},function(t,e,n){"use strict";var i=n(6),o=n(8),s=n(14),r=n(22),a=s.dimension.CELL_BORDER_WIDTH,l=s.attrName.COLUMN_NAME,u=o.extend({initialize:function(t){o.prototype.initialize.call(this),i.assign(this,{dimensionModel:t.dimensionModel,coordColumnModel:t.coordColumnModel,renderModel:t.renderModel,columnModel:t.columnModel,viewFactory:t.viewFactory,painterManager:t.painterManager,whichSide:t.whichSide||"R"}),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._onColumnWidthChanged),this.listenTo(this.renderModel,"change:dummyRowCount",this._onChangeDummyRowCount),this.listenTo(this.dimensionModel,"change:bodyHeight",this._resetHeight),this._attachAllTableEventHandlers()},className:r.BODY_TABLE_CONTAINER,template:i.template('<%=colGroup%><%=tbody%>
'),templateCol:i.template('="<%=columnName%>" style="width:<%=width%>px">'),_onColumnWidthChanged:function(){var t=this.coordColumnModel.getWidths(this.whichSide),e=this.$el.find("col");i.each(t,function(t,n){e.eq(n).css("width",t+a)},this)},_onChangeDummyRowCount:function(){this._resetOverflow(),this._resetHeight()},_resetOverflow:function(){var t="visible";this.renderModel.get("dummyRowCount")>0&&(t="hidden"),this.$el.css("overflow",t)},_resetHeight:function(){var t=this.dimensionModel;this.renderModel.get("dummyRowCount")>0?this.$el.height(t.get("bodyHeight")-t.getScrollXHeight()):this.$el.css("height","")},resetTablePosition:function(){this.$el.css("top",this.renderModel.get("top"))},render:function(){return this._destroyChildren(),this.$el.html(this.template({colGroup:this._getColGroupMarkup(),tbody:""})),this._addChildren(this.viewFactory.createRowList({bodyTableView:this,el:this.$el.find("tbody"),whichSide:this.whichSide})),this._renderChildren(),this._resetHeight(),this._resetOverflow(),this},_attachAllTableEventHandlers:function(){var t=this.painterManager.getCellPainters();i.each(t,function(t){t.attachEventHandlers(this.$el,"")},this)},redrawTable:function(t){return this.$el[0].innerHTML=this.template({colGroup:this._getColGroupMarkup(),tbody:t}),this.$el.find("tbody")},_getColGroupMarkup:function(){var t=this.whichSide,e=this.coordColumnModel.getWidths(t),n=this.columnModel.getVisibleColumns(t,!0),o="";return i.each(n,function(t,n){o+=this.templateCol({attrColumnName:l,columnName:t.name,width:e[n]+a})},this),o}});t.exports=u},function(t,e,n){"use strict";var i=n(6),o=n(8),s=n(22),r=n(14),a=r.frame,l=r.attrName.COLUMN_NAME,u=o.extend({initialize:function(t){this.columnTemplateMap=t.columnTemplateMap||{},this.whichSide=t.whichSide,this.columnModel=t.columnModel,this.dimensionModel=t.dimensionModel,this.coordColumnModel=t.coordColumnModel,this.renderModel=t.renderModel,this.summaryModel=t.summaryModel,this.listenTo(this.renderModel,"change:scrollLeft",this._onChangeScrollLeft),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._onChangeColumnWidth),this.listenTo(this.columnModel,"setFooterContent",this._setColumnContent),this.summaryModel&&this.listenTo(this.summaryModel,"change",this._onChangeSummaryValue)},className:s.FOOT_AREA,events:{scroll:"_onScrollView"},template:i.template('<%=tbody%>
'),templateHeader:i.template('="<%=columnName%>" class="<%=className%>" style="width:<%=width%>px"><%=value%>'),_onScrollView:function(t){this.whichSide===a.R&&this.renderModel.set("scrollLeft",t.target.scrollLeft)},_onChangeScrollLeft:function(t,e){this.whichSide===a.R&&(this.el.scrollLeft=e)},_onChangeColumnWidth:function(){var t=this.coordColumnModel.getWidths(this.whichSide),e=this.$el.find("th");i.each(t,function(t,n){e.eq(n).css("width",t)})},_setColumnContent:function(t,e){var n=this.$el.find("th["+l+'="'+t+'"]');n.html(e)},_onChangeSummaryValue:function(t,e){var n=this._generateValueHTML(t,e);this._setColumnContent(t,n)},_generateValueHTML:function(t,e){var n=this.columnTemplateMap[t],o="";return i.isFunction(n)&&(o=n(e)),o},_generateTbodyHTML:function(){var t=this.summaryModel,e=this.columnModel.getVisibleColumns(this.whichSide,!0),n=this.coordColumnModel.getWidths(this.whichSide);return i.reduce(e,function(e,i,o){var r,a=i.name;return t&&(r=t.getValue(i.name)),e+this.templateHeader({attrColumnName:l,columnName:a,className:s.CELL_HEAD+" "+s.CELL,width:n[o],value:this._generateValueHTML(a,r)})},"",this)},render:function(){var t=this.dimensionModel.get("footerHeight");return t&&this.$el.html(this.template({className:s.TABLE,height:t,tbody:this._generateTbodyHTML()})),this}});t.exports=u},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(8),a=n(14),l=n(22),u=a.attrName,d=a.frame,h=a.dimension.CELL_BORDER_WIDTH,c=r.extend({initialize:function(t){var e=t.focusModel,n=t.renderModel,i=t.selectionModel,s=t.coordRowModel,r=t.whichSide||"R";o.assign(this,{whichSide:r,bodyTableView:t.bodyTableView,focusModel:e,renderModel:n,selectionModel:i,coordRowModel:s,dataModel:t.dataModel,columnModel:t.columnModel,collection:n.getCollection(r),painterManager:t.painterManager,sortOptions:null,renderedRowKeys:null}),this.listenTo(this.collection,"change",this._onModelChange).listenTo(this.collection,"restore",this._onModelRestore).listenTo(e,"change:rowKey",this._refreshFocusedRow).listenTo(n,"rowListChanged",this.render),this.whichSide===d.L&&this.listenTo(e,"change:rowKey",this._refreshSelectedMetaColumns).listenTo(i,"change:range",this._refreshSelectedMetaColumns).listenTo(n,"rowListChanged",this._refreshSelectedMetaColumns)},_getColumns:function(){return this.columnModel.getVisibleColumns(this.whichSide,!0)},_removeOldRows:function(t){var e=o.indexOf(this.renderedRowKeys,t[0]),n=o.indexOf(this.renderedRowKeys,o.last(t)),i=this.$el.children("tr");i.slice(0,e).remove(),i.slice(n+1).remove()},_appendNewRows:function(t,e){var n=this.collection.slice(0,o.indexOf(t,e[0])),i=this.collection.slice(o.indexOf(t,o.last(e))+1);this.$el.prepend(this._getRowsHtml(n)),this.$el.append(this._getRowsHtml(i))},_resetRows:function(){var t,e=this._getRowsHtml(this.collection.models);if(c.isInnerHtmlOfTbodyReadOnly)t=this.bodyTableView.redrawTable(e),this.setElement(t,!1);else try{this.$el[0].innerHTML=e}catch(t){c.isInnerHtmlOfTbodyReadOnly=!0,this._resetRows()}},_getRowsHtml:function(t){var e=this.painterManager.getRowPainter(),n=o.pluck(this._getColumns(),"name");return o.map(t,function(t){return e.generateHtml(t,n)}).join("")},_getRowElement:function(t){return this.$el.find("tr["+u.ROW_KEY+"="+t+"]")},_refreshSelectedMetaColumns:function(){var t,e=this.$el.find("tr"),n="."+l.CELL_HEAD;t=this.selectionModel.hasSelection()?this._filterRowsByIndexRange(e,this.selectionModel.get("range").row):this._filterRowByKey(e,this.focusModel.get("rowKey")),e.find(n).removeClass(l.CELL_SELECTED),t.find(n).addClass(l.CELL_SELECTED)},_filterRowsByIndexRange:function(t,e){var n,o,s=this.renderModel,r=s.get("startIndex");return n=Math.max(e[0]-r,0),o=Math.max(e[1]-r+1,0),n||o?t.slice(n,o):i()},_filterRowByKey:function(t,e){var n=this.dataModel.indexOfRowKey(e),o=this.renderModel.get("startIndex");return o>n?i():t.eq(n-o)},_refreshFocusedRow:function(){var t=this.focusModel.get("rowKey"),e=this.focusModel.get("prevRowKey");this._setFocusedRowClass(e,!1),this._setFocusedRowClass(t,!0)},_setFocusedRowClass:function(t,e){var n=o.pluck(this._getColumns(),"name"),i={};o.each(n,function(n){var o,s=this.dataModel.getMainRowKey(t,n);i[s]||(i[s]=this._getRowElement(s)),o=i[s].find("td["+u.COLUMN_NAME+'="'+n+'"]'),o.toggleClass(l.CELL_CURRENT_ROW,e)},this)},render:function(t){var e,n=this.collection.pluck("rowKey");return this.bodyTableView.resetTablePosition(),t?this._resetRows():(e=o.intersection(n,this.renderedRowKeys),o.isEmpty(n)||o.isEmpty(e)||e.length/n.length<.7?this._resetRows():(this._removeOldRows(e),this._appendNewRows(n,e))),this.renderedRowKeys=n,this},_onModelChange:function(t){var e=t.get("rowKey"),n=this._getRowElement(e);"height"in t.changed?n.css("height",t.get("height")+h):(this.painterManager.getRowPainter().refresh(t.changed,n),this.coordRowModel.syncWithDom())},_onModelRestore:function(t){var e=this.dataModel.getElement(t.rowKey,t.columnName),n=this.columnModel.getEditType(t.columnName);this.painterManager.getCellPainter(n).refresh(t,e),this.coordRowModel.syncWithDom()}},{isInnerHtmlOfTbodyReadOnly:s.browser.msie&&s.browser.version<=9});t.exports=c},function(t,e,n){"use strict";var i=n(6),o=n(8),s=n(22),r=n(14).dimension.CELL_BORDER_WIDTH,a=n(14).frame,l=o.extend({initialize:function(t){i.assign(this,{whichSide:t.whichSide||a.R,dimensionModel:t.dimensionModel,coordRowModel:t.coordRowModel,coordColumnModel:t.coordColumnModel,columnModel:t.columnModel,selectionModel:t.selectionModel}),this._updateColumnWidths(),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._onChangeColumnWidth),this.listenTo(this.selectionModel,"change:range",this.render)},className:s.LAYER_SELECTION,_updateColumnWidths:function(){this.columnWidths=this.coordColumnModel.getWidths(this.whichSide)},_onChangeColumnWidth:function(){this._updateColumnWidths(),this.render()},_getOwnSideColumnRange:function(t){var e=this.columnModel.getVisibleFrozenCount(),n=null;return this.whichSide===a.L?t[0]=e&&(n=[Math.max(t[0],e)-e,t[1]-e]),n},_getVerticalStyles:function(t){var e=this.coordRowModel,n=e.getOffsetAt(t[0]),i=e.getOffsetAt(t[1])+e.getHeightAt(t[1]);return{top:n+"px",height:i-n+"px"}},_getHorizontalStyles:function(t){var e=this.columnWidths,n=this.columnModel.getVisibleMetaColumnCount(),i=t[0],o=t[1],s=0,l=0,u=0;for(this.whichSide===a.L&&(i+=n,o+=n),o=Math.min(o,e.length-1);u<=o;u+=1)ut&&this.$el.css("left",t-e)},_adjustCellOffsetValue:function(t){var e=o.browser,n=t;return e.msie&&(9===e.version?n=t-1:e.version>9&&(n=Math.floor(t))),n},_calculateLayoutStyle:function(t,e,n){var i=this.domState.getOffset(),o=this.domState.getElement(t,e),s=o.offset(),a=o.outerHeight()+r,l=o.outerWidth()+r;return{top:this._adjustCellOffsetValue(s.top)-i.top,left:this._adjustCellOffsetValue(s.left)-i.left,height:a,minWidth:n?l:"",width:n?"":l,lineHeight:a+"px"}},_onEditingStateChanged:function(t){t.editing?this._startEditing(t):this._finishEditing()},render:function(){return i.each(this.inputPainters,function(t){t.attachEventHandlers(this.$el,"")},this),this}});t.exports=u},function(t,e,n){"use strict";var i,o=n(6),s=n(36),r=n(8),a=n(22),l="yyyy-MM-dd",u=[[new Date(1900,0,1),new Date(2999,11,31)]];i=r.extend({initialize:function(t){this.focusModel=t.focusModel,this.textPainter=t.textPainter,this.columnModel=t.columnModel,this.domState=t.domState,this.datePickerMap=this._createDatePickers(),this.$focusedInput=null,this.listenTo(this.textPainter,"focusIn",this._onFocusInTextInput),this.listenTo(t.domEventBus,"windowResize",this._closeDatePickerLayer)},className:a.LAYER_DATE_PICKER,events:{click:"_onClick"},_onClick:function(t){t.stopPropagation()},_createDatePickers:function(){var t={},e=this.columnModel.get("columnModelMap");return o.each(e,function(e){var n,i=e.name,o=e.component;o&&"datePicker"===o.name&&(n=o.options||{},t[i]=new s(this.$el,n),this._bindEventOnDatePicker(t[i]))},this),t},_bindEventOnDatePicker:function(t){var e=this;t.on("open",function(){e.textPainter.blockFocusingOut()}),t.on("close",function(){var t=e.focusModel,n=t.which(),i=n.rowKey,o=n.columnName,s=e.$focusedInput.val();e.textPainter.unblockFocusingOut(),t.isEditingCell(i,o)&&t.dataModel.setValue(i,o,s),t.finishEditing()})},_resetDatePicker:function(t,e,n){var i=this.datePickerMap[n],o=t.format||l,s=t.date||new Date,r=t.selectableRanges;i.setInput(e,{format:o,syncFromInput:!0}),r?i.setRanges(r):i.setRanges(u),""===e.val()&&(i.setDate(s),e.val(""))},_calculatePosition:function(t){var e=t.offset(),n=t.outerHeight(),i=this.domState.getOffset();return{top:e.top-i.top+n,left:e.left-i.left}},_onFocusInTextInput:function(t,e){var n,i=e.columnName,o=this.columnModel.getColumnModel(i).component,s=this.columnModel.getEditType(i);"text"===s&&o&&"datePicker"===o.name&&(n=o.options||{},this.$focusedInput=t,this.$el.css(this._calculatePosition(t)).show(),this._resetDatePicker(n,t,i),this.datePickerMap[i].open())},_closeDatePickerLayer:function(){var t=this.focusModel.which().columnName,e=this.datePickerMap[t];e&&e.isOpened()&&e.close()},render:function(){return this.$el.hide(),this}}),t.exports=i},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(8),r=n(14),a=n(22),l=r.frame,u=r.dimension.CELL_BORDER_WIDTH,d='
',h=a.LAYER_FOCUS_DEACTIVE,c=s.extend({initialize:function(t){this.focusModel=t.focusModel,this.columnModel=t.columnModel,this.coordRowModel=t.coordRowModel,this.coordColumnModel=t.coordColumnModel,this.coordConverterModel=t.coordConverterModel,this.whichSide=t.whichSide,this.borderEl={$top:i(d),$left:i(d),$right:i(d),$bottom:i(d)},this.listenTo(this.coordColumnModel,"columnWidthChanged",this._refreshCurrentLayout),this.listenTo(this.coordRowModel,"reset",this._refreshCurrentLayout),this.listenTo(this.focusModel,"blur",this._onBlur),this.listenTo(this.focusModel,"focus",this._onFocus),this.listenTo(this.focusModel,"change:active",this._onChangeActiveState)},className:a.LAYER_FOCUS,_refreshCurrentLayout:function(){var t=this.focusModel;"none"!==this.$el.css("display")&&this._refreshBorderLayout(t.get("rowKey"),t.get("columnName"))},_onBlur:function(){this.$el.hide()},_onFocus:function(t,e){var n=this.columnModel.isLside(e)?l.L:l.R;n===this.whichSide&&(this._refreshBorderLayout(t,e),this.$el.show())},_onChangeActiveState:function(t){t.changed.active?this.$el.removeClass(h):this.$el.addClass(h)},_refreshBorderLayout:function(t,e){var n=this.coordConverterModel.getCellPosition(t,e),i=n.right-n.left,o=n.bottom-n.top;this.borderEl.$left.css({top:n.top,left:n.left,width:u,height:o+u}),this.borderEl.$top.css({top:0===n.top?u:n.top,left:n.left,width:i+u,height:u}),this.borderEl.$right.css({top:n.top,left:n.left+i,width:u,height:o+u}),this.borderEl.$bottom.css({top:n.top+o,left:n.left,width:i+u,height:u})},render:function(){var t=this.$el;return o.each(this.borderEl,function(e){t.append(e)}),t.hide(),this}});t.exports=c},function(t,e,n){"use strict";var i=n(6),o=n(9);t.exports={create:function(){return i.extend({},o.Events)}}},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(14).attrName,r=n(22),a=o.defineClass({init:function(t){this.$el=t},_getBodyTableRows:function(t){return this.$el.find("."+t).find("."+r.BODY_TABLE_CONTAINER).find("tr["+s.ROW_KEY+"]")},_getMaxCellHeight:function(t){var e=t.find("."+r.CELL_CONTENT).map(function(){return this.scrollHeight}).get();return i.max(e)},getElement:function(t,e){return this.$el.find("tr["+s.ROW_KEY+"="+t+"]").find("td["+s.COLUMN_NAME+'="'+e+'"]')},getRowHeights:function(){var t,e,n,i,o=this._getBodyTableRows(r.LSIDE_AREA),s=this._getBodyTableRows(r.RSIDE_AREA),a=[];for(n=0,i=o.length;n" class="<%=className%>" style="height: <%=height%>px;"><%=contents%>'),_getEditType:function(t,e){var n=o.pick(e.columnModel,"editOptions","type");return n||"normal"},_generateHtmlForDummyRow:function(t,e){var n=this.painterManager.getCellPainter("dummy"),o="";return i.each(e,function(e){o+=n.generateHtml(t,e)}),o},_generateHtmlForActualRow:function(t,e){var n="";return i.each(e,function(e){var i,o,s=t.get(e);s&&s.isMainRow&&(i=this._getEditType(e,s),o=this.painterManager.getCellPainter(i),n+=o.generateHtml(s))},this),n},generateHtml:function(t,e){var n,o=t.get("rowKey"),s=t.get("rowNum"),r=s%2?a.ROW_ODD:a.ROW_EVEN,d="";return i.isUndefined(o)?n=this._generateHtmlForDummyRow(s,e):(d=l.ROW_KEY+'="'+o+'"',n=this._generateHtmlForActualRow(t,e)),this.template({rowKeyAttr:d,height:t.get("height")+u,contents:n,className:r})},refresh:function(t,e){i.each(t,function(t,n){var i,o,s;"_extraData"!==n&&(s=e.find("td["+l.COLUMN_NAME+'="'+n+'"]'),i=this._getEditType(n,t),o=this.painterManager.getCellPainter(i),o.refresh(t,s))},this)}});t.exports=d},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(14).attrName,r=o.defineClass({init:function(t){this.controller=t.controller},events:{},selector:"",_getCellAddress:function(t){var e=t.closest("["+s.ROW_KEY+"]");return{rowKey:e.attr(s.ROW_KEY),columnName:e.attr(s.COLUMN_NAME)}},attachEventHandlers:function(t,e){i.each(this.events,function(n,o){var s=i.bind(this[n],this),r=e+" "+this.selector;t.on(o,r,s)},this)},generateHtml:function(){throw new Error("implement generateHtml() method")}});t.exports=r},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(65),r=n(20),a=n(14).attrName,l=n(22),u=o.defineClass(s,{init:function(t){s.apply(this,arguments),this.editType=t.editType,this.fixedRowHeight=t.fixedRowHeight,this.inputPainter=t.inputPainter,this.selector="td["+a.EDIT_TYPE+'="'+this.editType+'"]'},template:i.template(' style="<%=style%>"><%=contentHtml%>'),contentTemplate:i.template('
<%=content%>
'),_isEditableType:function(){return!i.contains(["normal","mainButton"],this.editType)},_getContentStyle:function(t){var e=t.columnModel.whiteSpace||"nowrap",n=[];return e&&n.push("white-space:"+e),this.fixedRowHeight&&n.push("max-height:"+t.height+"px"),n.join(";")},_getContentHtml:function(t){var e,n,o=t.columnModel.template,s=t.formattedValue,r=t.prefix,a=t.postfix;return this.inputPainter&&(s=this.inputPainter.generateHtml(t),this._shouldContentBeWrapped()&&!this._isUsingViewMode(t)&&(r=this._getSpanWrapContent(r,l.CELL_CONTENT_BEFORE),a=this._getSpanWrapContent(a,l.CELL_CONTENT_AFTER),s=this._getSpanWrapContent(s,l.CELL_CONTENT_INPUT),e=r+a+s)),e||(e=r+s+a),n="_number"===t.columnName&&i.isFunction(o)?o({content:e}):this.contentTemplate({content:e,className:l.CELL_CONTENT,style:this._getContentStyle(t)})},_isUsingViewMode:function(t){return o.pick(t,"columnModel","editOptions","useViewMode")!==!1},_shouldContentBeWrapped:function(){return i.contains(["text","password","select"],this.editType)},_getSpanWrapContent:function(t,e){return o.isFalsy(t)&&(t=""),''+t+""},_getAttributes:function(t){var e=[t.className,l.CELL],n={align:t.columnModel.align||"left"};return n.class=e.join(" "),n[a.EDIT_TYPE]=this.editType,n[a.ROW_KEY]=t.rowKey,n[a.COLUMN_NAME]=t.columnName,t.rowSpan&&(n.rowspan=t.rowSpan),n},attachEventHandlers:function(t,e){s.prototype.attachEventHandlers.call(this,t,e),this.inputPainter&&this.inputPainter.attachEventHandlers(t,e+" "+this.selector)},generateHtml:function(t){var e=r.getAttributesString(this._getAttributes(t)),n=this._getContentHtml(t),i=t.columnModel.valign,o=[];return i&&o.push("vertical-align:"+i),this.template({attributeString:e,style:o.join(";"),contentHtml:n})},refresh:function(t,e){var n=["value","editing","disabled","listItems"],o=i.contains(t.changed,"editing")&&t.editing,s=i.intersection(n,t.changed).length>0,r=this._getAttributes(t),a="mainButton"===this.editType;e.attr(r),o&&!this._isUsingViewMode(t)?this.inputPainter.focus(e):a?e.find(this.inputPainter.selector).prop({checked:t.value,disabled:t.disabled}):s&&(e.html(this._getContentHtml(t)),e.scrollLeft(0))}});t.exports=u},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(65),r=n(20),a=n(14).attrName,l=n(22),u=o.defineClass(s,{init:function(){s.apply(this,arguments)},selector:"td["+a.EDIT_TYPE+'="dummy"]',template:i.template("'),generateHtml:function(t,e){var n=[l.CELL,l.CELL_DUMMY];return r.isMetaColumn(e)&&n.push(l.CELL_HEAD),this.template({columnName:e,className:n.join(" ")})}});t.exports=u},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(69),r=n(20),a=n(22),l="."+a.CELL_CONTENT_TEXT,u="input[type=password]",d=o.defineClass(s,{init:function(t){s.apply(this,arguments),this.inputType=t.inputType,this.selector="text"===t.inputType?l:u,this._extendEvents({selectstart:"_onSelectStart"})},templateInput:i.template('/>'),templateTextArea:i.template(''),_onSelectStart:function(t){t.stopPropagation()},_convertStringToAsterisks:function(t){return Array(t.length+1).join("*")},_getDisplayValue:function(t){var e=t.formattedValue;return"password"===this.inputType&&(e=this._convertStringToAsterisks(t.value)),e},_generateInputHtml:function(t){var e=o.pick(t,"columnModel","editOptions","maxLength"),n={type:this.inputType,className:a.CELL_CONTENT_TEXT,value:t.value,name:r.getUniqueKey(),disabled:t.disabled?"disabled":"",maxLength:e};return"nowrap"!==t.whiteSpace?this.templateTextArea(n):this.templateInput(n)},focus:function(t){var e=t.find(this.selector);1!==e.length||e.is(":focus")||e.select()}});t.exports=d},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(9),r=n(7),a=n(65),l=n(14).keyName,u=r.defineClass(a,{init:function(){a.apply(this,arguments),this._finishedEditing=!1},events:{keydown:"_onKeyDown",focusin:"_onFocusIn",focusout:"_onFocusOut",change:"_onChange"},keyDownActions:{ESC:function(t){this.controller.finishEditing(t.address,!0)},ENTER:function(t){this.controller.finishEditing(t.address,!0,t.value)},TAB:function(t){this.controller.finishEditing(t.address,!0,t.value),this.controller.focusInToNextCell(t.shiftKey)}},_extendKeydownActions:function(t){this.keyDownActions=o.assign({},this.keyDownActions,t)},_extendEvents:function(t){this.events=o.assign({},this.events,t)},_executeCustomEventHandler:function(t,e){this.controller.executeCustomInputEventHandler(t,e)},_onChange:function(){},_onFocusIn:function(t){var e=i(t.target),n=this._getCellAddress(e),s=this;o.defer(function(){s._executeCustomEventHandler(t,n),s.trigger("focusIn",e,n),s.controller.startEditing(n)})},_onFocusOut:function(t){var e=i(t.target),n=this._getCellAddress(e);this._finishedEditing||(this._executeCustomEventHandler(t,n),this.trigger("focusOut",e,n),this.controller.finishEditing(n,!1,e.val()))},_onKeyDown:function(t){var e=t.keyCode||t.which,n=l[e],o=this.keyDownActions[n],s=i(t.target),r={$target:s,address:this._getCellAddress(s),shiftKey:t.shiftKey,value:s.val()};this._executeCustomEventHandler(t,r.address),o&&!t.shiftKey&&(o.call(this,r),t.preventDefault())},_getDisplayValue:function(){throw new Error("implement _getDisplayValue() method")},_generateInputHtml:function(){throw new Error("implement _generateInputHtml() method")},_isUsingViewMode:function(t){return r.pick(t,"columnModel","editOptions","useViewMode")!==!1},generateHtml:function(t){var e;return e=o.isNull(t.convertedHTML)?!this._isUsingViewMode(t)||t.editing?this._generateInputHtml(t):this._getDisplayValue(t):t.convertedHTML},focus:function(t){var e=t.find(this.selector);e.is(":focus")||e.eq(0).focus()},blockFocusingOut:function(){this._finishedEditing=!0},unblockFocusingOut:function(){this._finishedEditing=!1}});o.assign(u.prototype,s.Events),t.exports=u},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(69),a=n(20),l=s.defineClass(r,{init:function(){r.apply(this,arguments),this.selector="select"},template:o.template(''),optionTemplate:o.template(''),_onChange:function(t){var e=i(t.target),n=this._getCellAddress(e);this.controller.setValueIfNotUsingViewMode(n,e.val())},_getDisplayValue:function(t){var e=o.find(t.listItems,function(e){return String(e.value)===String(t.value)});return e?e.text:""},_generateInputHtml:function(t){var e=o.reduce(t.listItems,function(e,n){return e+this.optionTemplate({value:n.value,text:n.text,selected:String(t.value)===String(n.value)?"selected":""})},"",this);return this.template({name:a.getUniqueKey(),disabled:t.disabled?"disabled":"",options:e})}});t.exports=l},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(69),a=n(20),l=s.defineClass(r,{init:function(t){r.apply(this,arguments),this.inputType=t.inputType,this.selector="fieldset[data-type="+this.inputType+"]",this._extendEvents({mousedown:"_onMouseDown"}),this._extendKeydownActions({TAB:function(t){var e;this._focusNextInput(t.$target,t.shiftKey)||(e=this._getCheckedValueString(t.$target),this.controller.finishEditing(t.address,!0,e),this.controller.focusInToNextCell(t.shiftKey))},ENTER:function(t){var e=this._getCheckedValueString(t.$target);this.controller.finishEditing(t.address,!0,e)},LEFT_ARROW:function(t){this._focusNextInput(t.$target,!0)},RIGHT_ARROW:function(t){this._focusNextInput(t.$target)},UP_ARROW:function(){},DOWN_ARROW:function(){}})},template:o.template('
<%=content%>
'),inputTemplate:o.template(' <%=disabled%> />'),labelTemplate:o.template(''),_onChange:function(t){var e=i(t.target),n=this._getCellAddress(e),o=this._getCheckedValueString(e);this.controller.setValueIfNotUsingViewMode(n,o)},_onFocusOut:function(t){var e=i(t.target),n=this;o.defer(function(){var t,i;e.siblings("input:focus").length||(t=n._getCellAddress(e),i=n._getCheckedValueString(e),n.controller.finishEditing(t,!1,i))})},_onMouseDown:function(t){var e=i(t.target),n=e.closest("fieldset").find("input:focus").length>0;!e.is("input")&&n&&(t.stopPropagation(),t.preventDefault())},_focusNextInput:function(t,e){var n=e?"prevAll":"nextAll",i=t[n]("input");return!!i.length&&(i.first().focus(),!0)},_getCheckedValueString:function(t){var e,n=t.parent().find("input:checked"),o=[];return n.each(function(){var t=i(this),e=t.attr("data-value-type"),n=a.convertValueType(t.val(),e);o.push(n)}),e=1===o.length?o[0]:o.join(",")},_getCheckedValueSet:function(t){var e={};return o.each(String(t).split(","),function(t){e[t]=!0}),e},_getDisplayValue:function(t){var e=this._getCheckedValueSet(t.value),n=[];return o.each(t.listItems,function(t){e[t.value]&&n.push(t.text)}),n.join(",")},_generateInputHtml:function(t){var e=this._getCheckedValueSet(t.value),n=a.getUniqueKey(),i="";return o.each(t.listItems,function(o){var s=n+"_"+o.value;i+=this.inputTemplate({type:this.inputType,id:s,name:n,value:o.value,valueType:typeof o.value,checked:e[o.value]?"checked":"",disabled:t.isDisabled?"disabled":""}),o.text&&(i+=this.labelTemplate({id:s,labelText:o.text}))},this),this.template({type:this.inputType,content:i})},focus:function(t){ -var e=t.find("input");e.is(":focus")||e.eq(0).focus()}});t.exports=l},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(65),a=n(22),l=n(14).keyCode,u=a.CELL_MAIN_BUTTON,d=s.defineClass(r,{init:function(t){r.apply(this,arguments),this.selector="input."+u,this.inputType=t.inputType,this.gridId=t.gridId},events:{change:"_onChange",keydown:"_onKeydown"},template:o.template(' <%=disabled%> />'),_onChange:function(t){var e=i(t.target),n=this._getCellAddress(e);this.controller.setValue(n,e.is(":checked"))},_onKeydown:function(t){var e;t.keyCode===l.TAB&&(t.preventDefault(),e=this._getCellAddress(i(t.target)),this.controller.focusInToRow(e.rowKey))},generateHtml:function(t){var e=t.columnModel.template,n=null,i={type:this.inputType,name:this.gridId,className:u};return n=o.isFunction(e)?e(o.extend(i,{checked:t.value,disabled:t.disabled})):this.template(o.extend(i,{checked:t.value?"checked":"",disabled:t.disabled?"disabled":""}))}});t.exports=d},function(t,e,n){"use strict";function i(t){return r.isString(t)&&(t=t.replace(/,/g,"")),r.isNumber(t)||isNaN(t)||l.isBlank(t)?t:Number(t)}function o(t){switch(t){case"focusin":return"onFocus";case"focusout":return"onBlur";case"keydown":return"onKeyDown";default:return""}}var s=n(10),r=n(6),a=n(7),l=n(20),u=a.defineClass({init:function(t){this.focusModel=t.focusModel,this.dataModel=t.dataModel,this.columnModel=t.columnModel,this.selectionModel=t.selectionModel},startEditing:function(t,e){var n;return e&&this.focusModel.finishEditing(),n=this.focusModel.startEditing(t.rowKey,t.columnName),n&&this.selectionModel.end(),n},_checkMaxLength:function(t,e){var n=this.columnModel.getColumnModel(t),i=a.pick(n,"editOptions","maxLength");return i>0&&e.length>i?e.substring(0,i):e},finishEditing:function(t,e,n){var i,o,s=this.focusModel;return!!s.isEditingCell(t.rowKey,t.columnName)&&(this.selectionModel.enable(),r.isUndefined(n)||(i=this.dataModel.get(t.rowKey),o=i.get(t.columnName),l.isBlank(n)&&l.isBlank(o)||this.setValue(t,this._checkMaxLength(t.columnName,n))),s.finishEditing(),e?s.focusClipboard():r.defer(function(){s.refreshState()}),!0)},focusInToNextCell:function(t){var e=this.focusModel,n=t?e.prevAddress():e.nextAddress();e.focusIn(n.rowKey,n.columnName,!0)},focusInToRow:function(t){var e=this.focusModel;e.focusIn(t,e.firstColumnName(),!0)},executeCustomInputEventHandler:function(t,e){var n,i,s,a=this.columnModel.getColumnModel(e.columnName);a&&(n=t.type,i=a.editOptions||{},s=i[o(n)],r.isFunction(s)&&s.call(t.target,t,e))},setValue:function(t,e){var n=this.columnModel.getColumnModel(t.columnName);r.isString(e)&&(e=s.trim(e)),"number"===n.dataType&&(e=i(e)),"_button"===n.name?e?this.dataModel.check(t.rowKey):this.dataModel.uncheck(t.rowKey):this.dataModel.setValue(t.rowKey,t.columnName,e)},setValueIfNotUsingViewMode:function(t,e){var n=this.columnModel.getColumnModel(t.columnName);a.pick(n,"editOptions","useViewMode")||this.setValue(t,e)}});t.exports=u},function(t,e,n){"use strict";var i=n(10),o=n(9),s=n(6),r=n(8),a=n(75),l=n(20),u=n(76),d=n(44),h=n(19),c=n(14).renderState,g=200,f=r.extend({initialize:function(t){var e={initialRequest:!0,perPage:500,enableAjaxHistory:!0},n={readData:"",createData:"",updateData:"",deleteData:"",modifyData:"",downloadExcel:"",downloadExcelAll:""};t=s.assign(e,t),t.api=s.assign(n,t.api),s.assign(this,{dataModel:t.dataModel,renderModel:t.renderModel,router:null,domEventBus:t.domEventBus,pagination:t.pagination,api:t.api,enableAjaxHistory:t.enableAjaxHistory,readDataMethod:t.readDataMethod||"POST",perPage:t.perPage,curPage:1,timeoutIdForDelay:null,requestedFormData:null,isLocked:!1,lastRequestedReadData:null}),this._initializeDataModelNetwork(),this._initializeRouter(),this._initializePagination(),this.listenTo(this.dataModel,"sortChanged",this._onSortChanged),this.listenTo(this.domEventBus,"click:excel",this._onClickExcel),t.initialRequest&&(this.lastRequestedReadData||this._readDataAt(1,!1))},tagName:"form",events:{submit:"_onSubmit"},_initializePagination:function(){var t=this.pagination;t&&(t.setItemsPerPage(this.perPage),t.setTotalItems(1),t.on("beforeMove",i.proxy(this._onPageBeforeMove,this)))},_onRouterRead:function(t){var e=l.toQueryObject(t);this._requestReadData(e)},_onClickExcel:function(t){var e="all"===t.type?"excelAll":"excel";this.download(e)},_initializeDataModelNetwork:function(){this.dataModel.url=this.api.readData,this.dataModel.sync=i.proxy(this._sync,this)},_initializeRouter:function(){this.enableAjaxHistory&&(this.router=new a({net:this}),this.listenTo(this.router,"route:read",this._onRouterRead),o.History.started||o.history.start())},_onPageBeforeMove:function(t){var e=t.page;this.curPage!==e&&this._readDataAt(e,!0)},_onSubmit:function(t){t.preventDefault(),this._readDataAt(1,!1)},_setFormData:function(t){var e=s.clone(t);s.each(this.lastRequestedReadData,function(t,n){(s.isUndefined(e[n])||s.isNull(e[n]))&&t&&(e[n]="")}),u.setFormData(this.$el,e)},_sync:function(t,e,n){var r;"read"===t?(n=n||{},r=i.extend({},n),n.url||(r.url=s.result(e,"url")),this._ajax(r)):o.sync(o,t,e,n)},_lock:function(){var t=this.renderModel;this.timeoutIdForDelay=setTimeout(function(){t.set("state",c.LOADING)},g),this.isLocked=!0},_unlock:function(){null!==this.timeoutIdForDelay&&(clearTimeout(this.timeoutIdForDelay),this.timeoutIdForDelay=null),this.isLocked=!1},_getFormData:function(){return u.getFormData(this.$el)},_onReadSuccess:function(t,e){var n,i,o=this.pagination;t.setOriginalRowList(),o&&e.pagination&&(n=e.pagination.page,i=e.pagination.totalCount,o.setItemsPerPage(this.perPage),o.setTotalItems(i),o.movePageTo(n),this.curPage=n)},_onReadError:function(t,e,n){},reloadData:function(){this._requestReadData(this.lastRequestedReadData)},readData:function(t,e,n){n?(e||(e={}),e.perPage=this.perPage,this._changeSortOptions(e,this.dataModel.sortOptions)):e=s.assign({},this.lastRequestedReadData,e),e.page=t,this._requestReadData(e)},_requestReadData:function(t){var e=1;this._setFormData(t),this.isLocked||(this.renderModel.initializeVariables(),this._lock(),this.requestedFormData=s.clone(t),this.curPage=t.page||this.curPage,e=(this.curPage-1)*this.perPage+1,this.renderModel.set({startNumber:e}),this.lastRequestedReadData=s.clone(t),this.dataModel.fetch({requestType:"readData",data:t,type:this.readDataMethod,success:i.proxy(this._onReadSuccess,this),error:i.proxy(this._onReadError,this),reset:!0}),this.dataModel.setSortOptionValues(t.sortColumn,t.sortAscending)),this.router&&this.router.navigate("read/"+l.toQueryString(t),{trigger:!1})},_onSortChanged:function(t){t.requireFetch&&this._readDataAt(1,!0,t)},_changeSortOptions:function(t,e){e&&("rowKey"===e.columnName?(delete t.sortColumn,delete t.sortAscending):(t.sortColumn=e.columnName,t.sortAscending=e.ascending))},_readDataAt:function(t,e,n){var i;e=!!s.isUndefined(e)||e,i=e?this.requestedFormData:this._getFormData(),i.page=t,i.perPage=this.perPage,this._changeSortOptions(i,n),this._requestReadData(i)},request:function(t,e){var n=s.extend({url:this.api[t],type:null,hasDataParam:!0,checkedOnly:!0,modifiedOnly:!0,showConfirm:!0,updateOriginal:!1},e),i=this._getRequestParam(t,n);return i&&(n.updateOriginal&&this.dataModel.setOriginalRowList(),this._ajax(i)),!!i},download:function(t){var e,n="download"+l.toUpperCaseFirstLetter(t),o=this.requestedFormData,r=this.api[n];"excel"===t?(o.page=this.curPage,o.perPage=this.perPage):o=s.omit(o,"page","perPage"),e=i.param(o),window.location=r+"?"+e},setPerPage:function(t){this.perPage=t,this._readDataAt(1)},_getDataParam:function(t,e){var n,i=this.dataModel,o={createData:["createdRows"],updateData:["updatedRows"],deleteData:["deletedRows"],modifyData:["createdRows","updatedRows","deletedRows"]},r=o[t],a={},l=0;return e=s.defaults(e||{},{hasDataParam:!0,modifiedOnly:!0,checkedOnly:!0}),e.hasDataParam&&(e.modifiedOnly?(n=i.getModifiedRows({checkedOnly:e.checkedOnly}),s.each(n,function(t,e){s.contains(r,e)&&t.length&&(l+=t.length,a[e]=JSON.stringify(t))},this)):(a.rows=i.getRows(e.checkedOnly),l=a.rows.length)),{data:a,count:l}},_getRequestParam:function(t,e){var n={url:this.api[t],type:null,hasDataParam:!0,modifiedOnly:!0,checkedOnly:!0},o=i.extend(n,e),s=this._getDataParam(t,o),r=null;return o.showConfirm&&!this._isConfirmed(t,s.count)||(r={requestType:t,url:o.url,data:s.data,type:o.type}),r},_isConfirmed:function(t,e){var n=!1;return e>0?n=confirm(this._getConfirmMessage(t,e)):alert(this._getConfirmMessage(t,e)),n},_getConfirmMessage:function(t,e){var n=t.replace("Data","Action"),i=d.get(n),o={count:e,actionName:i},s=e>0?"requestConfirm":"noDataResponse";return d.get(s,o)},_ajax:function(t){var e,n=new h(null,t.data);this.trigger("beforeRequest",n),n.isStopped()||(t=i.extend({requestType:""},t),e={url:t.url,data:t.data||{},type:t.type||"POST",dataType:t.dataType||"json",complete:i.proxy(this._onComplete,this,t.complete,t),success:i.proxy(this._onSuccess,this,t.success,t),error:i.proxy(this._onError,this,t.error,t)},t.url&&i.ajax(e))},_onComplete:function(t,e,n){this._unlock()},_onSuccess:function(t,e,n,i,o){var r=n&&n.message,a=new h(null,{httpStatus:i,requestType:e.requestType,requestParameter:e.data,responseData:n});if(this.trigger("response",a),!a.isStopped())if(n&&n.result){if(this.trigger("successResponse",a),a.isStopped())return;s.isFunction(t)&&t(n.data||{},i,o)}else{if(this.trigger("failResponse",a),a.isStopped())return;r&&alert(r)}},_onError:function(t,e,n,i){var o=new h(null,{httpStatus:i,requestType:e.requestType,requestParameter:e.data,responseData:null});this.renderModel.set("state",c.DONE),this.trigger("response",o),o.isStopped()||(this.trigger("errorResponse",o),o.isStopped()||n.readyState>1&&alert(d.get("errorResponse")))}});t.exports=f},function(t,e,n){"use strict";var i=n(9),o=i.Router.extend({initialize:function(t){this.net=t.net},routes:{"read/:queryStr":"read"}});t.exports=o},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r={setInput:{_changeToStringInArray:function(t){return o.each(t,function(e,n){t[n]=String(e)}),t},radio:function(t,e){t.checked=t.value===e},checkbox:function(t,e){o.isArray(e)?t.checked=i.inArray(t.value,this._changeToStringInArray(e))!==-1:t.checked=t.value===e},"select-one":function(t,e){var n=s.toArray(t.options);t.selectedIndex=o.findIndex(n,function(t){return t.value===e||t.text===e})},"select-multiple":function(t,e){var n=s.toArray(t.options);o.isArray(e)?(e=this._changeToStringInArray(e),o.each(n,function(t){t.selected=i.inArray(t.value,e)!==-1||i.inArray(t.text,e)!==-1})):this["select-one"].apply(this,arguments)},defaultAction:function(t,e){t.value=e}},getFormData:function(t){var e={},n=t.serializeArray(),i=s.isExisty;return o.each(n,function(t){var n=t.value||"",o=t.name;i(e[o])?e[o]=[].concat(e[o],n):e[o]=n}),e},getFormElement:function(t,e){var n;return t&&t.length&&(n=e?t.prop("elements")[String(e)]:t.prop("elements")),i(n)},setFormData:function(t,e){o.each(e,function(e,n){this.setFormElementValue(t,n,e)},this)},setFormElementValue:function(t,e,n){var i,r=this.getFormElement(t,e);r.length&&(o.isArray(n)||(n=String(n)),r=s.isHTMLTag(r)?[r]:r,r=s.toArray(r),o.each(r,function(t){i=this.setInput[t.type]?t.type:"defaultAction",this.setInput[i](t,n)},this))},setCursorToEnd:function(t){var e,n=t.value.length;if(t.focus(),t.setSelectionRange)try{t.setSelectionRange(n,n)}catch(t){}else if(t.createTextRange){e=t.createTextRange(),e.collapse(!0),e.moveEnd("character",n),e.moveStart("character",n);try{e.select()}catch(t){}}}};t.exports=r},function(t,e,n){"use strict";var i=n(10),o=n(7),s={pagination:null},r=o.defineClass({init:function(t){this.optionsMap=i.extend(!0,s,t),this.instanceMap={}},getInstance:function(t){return this.instanceMap[t]},setInstance:function(t,e){this.instanceMap[t]=e},getOptions:function(t){return this.optionsMap[t]}});t.exports=r},function(t,e,n){"use strict";function i(t){var e=[a.grid(t.grid),a.scrollbar(t.scrollbar),a.heightResizeHandle(t.heightResizeHandle),a.pagination(t.pagination),a.selection(t.selection)],n=t.cell;return n&&(e=e.concat([a.cell(n.normal),a.cellDummy(n.dummy),a.cellEditable(n.editable),a.cellHead(n.head),a.cellOddRow(n.oddRow),a.cellEvenRow(n.evenRow),a.cellRequired(n.required),a.cellDisabled(n.disabled),a.cellInvalid(n.invalid),a.cellCurrentRow(n.currentRow),a.cellSelectedHead(n.selectedHead),a.cellFocused(n.focused),a.cellFocusedInactive(n.focusedInactive)])),e.join("")}function o(t){var e=i(t);s("#"+u).remove(),r.appendStyleElement(u,e)}var s=n(10),r=n(20),a=n(79),l=n(14).themeName,u="tui-grid-theme-style",d={};d[l.DEFAULT]=n(81),d[l.STRIPED]=n(82),d[l.CLEAN]=n(83),t.exports={apply:function(t,e){var n=d[t];n||(n=d[l.DEFAULT]),n=s.extend(!0,{},n,e),o(n)},isApplied:function(){return 1===s("#"+u).length}}},function(t,e,n){"use strict";function i(t,e){return l(t).bg(e.background).text(e.text).build()}function o(t,e){return l(t).bg(e.background).border(e.border).build()}var s=n(6),r=n(80),a=n(22),l=s.bind(r.createClassRule,r);t.exports={grid:function(t){var e=l(a.CONTAINER).bg(t.background).text(t.text),n=l(a.CONTENT_AREA).border(t.border),i=l(a.TABLE).border(t.border),o=l(a.HEAD_AREA).border(t.border),s=l(a.FOOT_AREA).border(t.border),u=l(a.BORDER_LINE).bg(t.border),d=l(a.SCROLLBAR_HEAD).border(t.border),h=l(a.SCROLLBAR_BORDER).bg(t.border),c=l(a.FOOT_AREA_RIGHT).border(t.border);return r.buildAll([e,n,i,o,s,u,d,h,c])},scrollbar:function(t){var e=r.createWebkitScrollbarRules("."+a.CONTAINER,t),n=r.createIEScrollbarRule("."+a.CONTAINER,t),i=l(a.SCROLLBAR_RIGHT_BOTTOM).bg(t.background),o=l(a.SCROLLBAR_LEFT_BOTTOM).bg(t.background),s=l(a.SCROLLBAR_HEAD).bg(t.background),u=l(a.FOOT_AREA_RIGHT).bg(t.background),d=l(a.BODY_AREA).bg(t.background);return r.buildAll(e.concat([n,i,o,s,u,d]))},heightResizeHandle:function(t){return o(a.HEIGHT_RESIZE_HANDLE,t)},pagination:function(t){return o(a.PAGINATION,t)},selection:function(t){return o(a.LAYER_SELECTION,t)},cell:function(t){var e=l(a.CELL).bg(t.background).border(t.border).borderWidth(t).text(t.text);return e.build()},cellHead:function(t){var e=l(a.CELL_HEAD).bg(t.background).border(t.border).borderWidth(t).text(t.text),n=l(a.HEAD_AREA).bg(t.background),i=l(a.FOOT_AREA).bg(t.background);return r.buildAll([e,n,i])},cellEvenRow:function(t){return l(a.ROW_EVEN+">td").bg(t.background).build()},cellOddRow:function(t){return l(a.ROW_ODD+">td").bg(t.background).build()},cellSelectedHead:function(t){return r.create("."+a.CELL_HEAD+"."+a.CELL_SELECTED).bg(t.background).text(t.text).build()},cellFocused:function(t){var e=l(a.LAYER_FOCUS_BORDER).bg(t.border),n=l(a.LAYER_EDITING).border(t.border);return r.buildAll([e,n])},cellFocusedInactive:function(t){return r.create("."+a.LAYER_FOCUS_DEACTIVE+" ."+a.LAYER_FOCUS_BORDER).bg(t.border).build()},cellEditable:function(t){return i(a.CELL_EDITABLE,t)},cellRequired:function(t){return i(a.CELL_REQUIRED,t)},cellDisabled:function(t){return i(a.CELL_DISABLED,t)},cellDummy:function(t){return i(a.CELL_DUMMY,t)},cellInvalid:function(t){return i(a.CELL_INVALID,t)},cellCurrentRow:function(t){return i(a.CELL_CURRENT_ROW,t)}}},function(t,e,n){"use strict";var i=n(6),o=n(7),s=o.defineClass({init:function(t){if(!i.isString(t)||!t)throw new Error("The Selector must be a string and not be empty.");this._selector=t,this._propValues=[]},add:function(t,e){return e&&this._propValues.push(t+":"+e),this},border:function(t){return this.add("border-color",t)},borderWidth:function(t){var e,n=t.showVerticalBorder,o=t.showHorizontalBorder;return i.isBoolean(n)&&(e=n?"1px":"0",this.add("border-left-width",e).add("border-right-width",e)),i.isBoolean(o)&&(e=o?"1px":"0",this.add("border-top-width",e).add("border-bottom-width",e)),this},bg:function(t){return this.add("background-color",t)},text:function(t){return this.add("color",t)},build:function(){var t="";return this._propValues.length&&(t=this._selector+"{"+this._propValues.join(";")+"}"),t}});t.exports={create:function(t){return new s(t)},createClassRule:function(t){return this.create("."+t)},createWebkitScrollbarRules:function(t,e){return[this.create(t+" ::-webkit-scrollbar").bg(e.background),this.create(t+" ::-webkit-scrollbar-thumb").bg(e.thumb),this.create(t+" ::-webkit-scrollbar-thumb:hover").bg(e.active)]},createIEScrollbarRule:function(t,e){var n=["scrollbar-3dlight-color","scrollbar-darkshadow-color","scrollbar-track-color","scrollbar-shadow-color"],o=["scrollbar-face-color","scrollbar-highlight-color"],s=this.create(t);return i.each(n,function(t){s.add(t,e.background)}),i.each(o,function(t){s.add(t,e.thumb)}),s.add("scrollbar-arrow-color",e.active),s},buildAll:function(t){return i.map(t,function(t){return t.build()}).join("")}}},function(t,e){"use strict";t.exports={grid:{background:"#fff",border:"#ccc",text:"#444"},selection:{background:"#4daaf9",border:"#004082"},heightResizeHandle:{border:"#ccc",background:"#fff"},pagination:{border:"transparent",background:"transparent"},scrollbar:{background:"#f5f5f5",thumb:"#d9d9d9",active:"#c1c1c1"},cell:{normal:{background:"#fbfbfb",border:"#e0e0e0",showVerticalBorder:!0,showHorizontalBorder:!0},head:{background:"#eee",border:"#ccc",showVerticalBorder:!0,showHorizontalBorder:!0},selectedHead:{background:"#d8d8d8"},focused:{border:"#418ed4"},focusedInactive:{border:"#aaa"},required:{background:"#fffdeb"},editable:{background:"#fff"},disabled:{text:"#b0b0b0"},dummy:{background:"#fff"},invalid:{background:"#ff8080"},evenRow:{},oddRow:{},currentRow:{}}}},function(t,e,n){"use strict";var i=n(10),o=n(81);t.exports=i.extend(!0,{},o,{cell:{normal:{background:"#fff",border:"#e8e8e8",showVerticalBorder:!1,showHorizontalBorder:!1},oddRow:{background:"#f3f3f3"},evenRow:{background:"#fff"},head:{background:"#fff",showVerticalBorder:!1,showHorizontalBorder:!1}}})},function(t,e,n){"use strict";var i=n(10),o=n(81);t.exports=i.extend(!0,{},o,{grid:{border:"#c0c0c0"},cell:{normal:{background:"#fff",border:"#e0e0e0",showVerticalBorder:!1,showHorizontalBorder:!0},head:{background:"#fff",border:"#e0e0e0",showVerticalBorder:!1,showHorizontalBorder:!0},selectedHead:{background:"#e0e0e0"}}})}])}); \ No newline at end of file +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("tui-code-snippet"),require("jquery"),require("tui-date-picker"),require("tui-pagination")):"function"==typeof define&&define.amd?define(["tui-code-snippet","jquery","tui-date-picker","tui-pagination"],e):"object"==typeof exports?exports.Grid=e(require("tui-code-snippet"),require("jquery"),require("tui-date-picker"),require("tui-pagination")):(t.tui=t.tui||{},t.tui.Grid=e(t.tui&&t.tui.util,t.$,t.tui&&t.tui.DatePicker,t.tui&&t.tui.Pagination))}(this,function(t,e,n,i){return function(t){function e(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return t[i].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";n(1),t.exports=n(5)},function(t,e){},,,,function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(8),r=n(11),a=n(35),l=n(60),u=n(61),d=n(62),h=n(63),c=n(73),g=n(74),m=n(77),f=n(20),p=n(44),M=n(78),_=n(14).themeName,v={},w=s.extend({initialize:function(t){t.footer&&(f.warning('The "footer" option is deprecated since 2.5.0 and replaced by "summary" option.'),t.summary=t.footer),this.id=f.getUniqueKey(),this.domState=new u(this.$el),this.domEventBus=l.create(),this.modelManager=this._createModelManager(t),this.painterManager=this._createPainterManager(),this.componentHolder=this._createComponentHolder(t.pagination),this.viewFactory=this._createViewFactory(t),this.container=this.viewFactory.createContainer(),this.publicEventEmitter=this._createPublicEventEmitter(),this.container.render(),this.refreshLayout(),M.isApplied()||M.apply(_.DEFAULT),this.addOn={},v[this.id]=this,t.data&&this.setData(t.data)},_createModelManager:function(t){var e=i.assign({},t,{gridId:this.id,publicObject:this});return i.omit(e,"el"),new r(e,this.domState,this.domEventBus)},_createPainterManager:function(){var t=new c({focusModel:this.modelManager.focusModel,dataModel:this.modelManager.dataModel,columnModel:this.modelManager.columnModel,selectionModel:this.modelManager.selectionModel});return new h({gridId:this.id,selectType:this.modelManager.columnModel.get("selectType"),fixedRowHeight:this.modelManager.dimensionModel.get("fixedRowHeight"),domEventBus:this.domEventBus,controller:t})},_createViewFactory:function(t){var e=i.pick(t,["heightResizable","summary"]),n={modelManager:this.modelManager,painterManager:this.painterManager,componentHolder:this.componentHolder,domEventBus:this.domEventBus,domState:this.domState};return new a(i.assign(n,e))},_createComponentHolder:function(t){return new m({pagination:t})},_createPublicEventEmitter:function(){var t=new d(this);return t.listenToFocusModel(this.modelManager.focusModel),t.listenToDomEventBus(this.domEventBus),t.listenToDataModel(this.modelManager.dataModel),t.listenToSelectionModel(this.modelManager.selectionModel),t},disable:function(){this.modelManager.dataModel.setDisabled(!0)},enable:function(){this.modelManager.dataModel.setDisabled(!1)},disableRow:function(t){this.modelManager.dataModel.disableRow(t)},enableRow:function(t){this.modelManager.dataModel.enableRow(t)},getValue:function(t,e,n){return this.modelManager.dataModel.getValue(t,e,n)},getColumnValues:function(t,e){return this.modelManager.dataModel.getColumnValues(t,e)},getRow:function(t,e){return this.modelManager.dataModel.getRowData(t,e)},getRowAt:function(t,e){return this.modelManager.dataModel.getRowDataAt(t,e)},getRowCount:function(){return this.modelManager.dataModel.length},getFocusedCell:function(){var t=this.modelManager.focusModel.which(),e=this.getValue(t.rowKey,t.columnName);return{rowKey:t.rowKey,columnName:t.columnName,value:e}},getElement:function(t,e){return this.modelManager.dataModel.getElement(t,e)},setValue:function(t,e,n){this.modelManager.dataModel.setValue(t,e,n)},setColumnValues:function(t,e,n){this.modelManager.dataModel.setColumnValues(t,e,n)},resetData:function(t){this.modelManager.dataModel.resetData(t)},setData:function(t,e){this.modelManager.dataModel.setData(t,!0,e)},setBodyHeight:function(t){this.modelManager.dimensionModel.set("bodyHeight",t)},focus:function(t,e,n){this.modelManager.focusModel.focusClipboard(),this.modelManager.focusModel.focus(t,e,n)},focusAt:function(t,e,n){this.modelManager.focusModel.focusAt(t,e,n)},focusIn:function(t,e,n){this.modelManager.focusModel.focusIn(t,e,n)},focusInAt:function(t,e,n){this.modelManager.focusModel.focusInAt(t,e,n)},activateFocus:function(){this.modelManager.focusModel.focusClipboard()},blur:function(){this.modelManager.focusModel.blur()},checkAll:function(){this.modelManager.dataModel.checkAll()},check:function(t){this.modelManager.dataModel.check(t)},uncheckAll:function(){this.modelManager.dataModel.uncheckAll()},uncheck:function(t){this.modelManager.dataModel.uncheck(t)},clear:function(){this.modelManager.dataModel.setData([])},removeRow:function(t,e){o.isBoolean(e)&&e&&(e={removeOriginalData:!0}),this.modelManager.dataModel.removeRow(t,e)},removeCheckedRows:function(t){var e=this.getCheckedRowKeys(),n=p.get("requestConfirm",{count:e.length,actionName:"deleteAction"});return!(!(e.length>0)||t&&!confirm(n))&&(i.each(e,function(t){this.modelManager.dataModel.removeRow(t)},this),!0)},enableCheck:function(t){this.modelManager.dataModel.enableCheck(t)},disableCheck:function(t){this.modelManager.dataModel.disableCheck(t)},getCheckedRowKeys:function(t){var e=this.modelManager.dataModel.getRows(!0),n=i.pluck(e,"rowKey");return t?JSON.stringify(n):n},getCheckedRows:function(t){var e=this.modelManager.dataModel.getRows(!0);return t?JSON.stringify(e):e},getColumns:function(){return this.modelManager.columnModel.get("dataColumns")},getModifiedRows:function(t){return this.modelManager.dataModel.getModifiedRows(t)},appendRow:function(t,e){this.modelManager.dataModel.append(t,e)},prependRow:function(t,e){this.modelManager.dataModel.prepend(t,e)},isModified:function(){return this.modelManager.dataModel.isModified()},getAddOn:function(t){return t?this.addOn[t]:this.addOn},restore:function(){this.modelManager.dataModel.restore()},setFrozenColumnCount:function(t){this.modelManager.columnModel.set("frozenCount",t)},setColumns:function(t){this.modelManager.columnModel.set("columns",t)},use:function(t,e){return"Net"===t&&(e=i.assign({domEventBus:this.domEventBus,renderModel:this.modelManager.renderModel,dataModel:this.modelManager.dataModel,pagination:this.componentHolder.getInstance("pagination")},e),this.addOn.Net=new g(e),this.publicEventEmitter.listenToNetAddon(this.addOn.Net)),this},getRows:function(){return this.modelManager.dataModel.getRows()},sort:function(t,e){this.modelManager.dataModel.sortByField(t,e)},unSort:function(){this.sort("rowKey")},getSortState:function(){return this.modelManager.dataModel.sortOptions},addCellClassName:function(t,e,n){this.modelManager.dataModel.get(t).addCellClassName(e,n)},addRowClassName:function(t,e){this.modelManager.dataModel.get(t).addClassName(e)},removeCellClassName:function(t,e,n){this.modelManager.dataModel.get(t).removeCellClassName(e,n)},removeRowClassName:function(t,e){this.modelManager.dataModel.get(t).removeClassName(e)},getRowSpanData:function(t,e){return this.modelManager.dataModel.getRowSpanData(t,e)},getIndexOfRow:function(t){return this.modelManager.dataModel.indexOfRowKey(t)},getIndexOfColumn:function(t){return this.modelManager.columnModel.indexOfColumnName(t)},getPagination:function(){return this.componentHolder.getInstance("pagination")},setWidth:function(t){this.modelManager.dimensionModel.setWidth(t)},setHeight:function(t){this.modelManager.dimensionModel.setHeight(t)},refreshLayout:function(){this.modelManager.dimensionModel.refreshLayout()},resetColumnWidths:function(){this.modelManager.coordColumnModel.resetColumnWidths()},showColumn:function(){var t=o.toArray(arguments);this.modelManager.columnModel.setHidden(t,!1)},hideColumn:function(){var t=o.toArray(arguments);this.modelManager.columnModel.setHidden(t,!0)},setSummaryColumnContent:function(t,e){this.modelManager.columnModel.setSummaryContent(t,e)},setFooterColumnContent:function(t,e){this.modelManager.columnModel.setSummaryContent(t,e)},validate:function(){return this.modelManager.dataModel.validate()},findRows:function(t){var e=this.modelManager.dataModel.getRows();return i.where(e,t)},copyToClipboard:function(){this.modelManager.clipboardModel.setClipboardText(),window.clipboardData||document.execCommand("copy")},selection:function(t){var e=this.modelManager.selectionModel,n=t.start,i=t.end,o=e.getSelectionUnit();e.start(n[0],n[1],o),e.update(i[0],i[1],o)},destroy:function(){this.modelManager.destroy(),this.container.destroy(),this.modelManager=this.container=null}});w.getInstanceById=function(t){return v[t]},w.applyTheme=function(t,e){M.apply(t,e)},w.setLanguage=function(t){p.setLanguage(t)},t.exports=w},function(t,e,n){var i,o;(function(){function n(t){function e(e,n,i,o,s,r){for(;s>=0&&s0?0:a-1;return arguments.length<3&&(o=n[r?r[l]:l],l+=t),e(n,i,o,r,l,a)}}function s(t){return function(e,n,i){n=b(n,i);for(var o=D(e),s=t>0?0:o-1;s>=0&&s0?r=s>=0?s:Math.max(s+a,r):a=s>=0?Math.min(s+1,a):s+a+1;else if(n&&s&&a)return s=n(i,o),i[s]===o?s:-1;if(o!==o)return s=e(m.call(i,r,a),C.isNaN),s>=0?s+r:-1;for(s=t>0?r:a-1;s>=0&&s=0&&e<=T};C.each=C.forEach=function(t,e,n){e=R(e,n);var i,o;if(N(t))for(i=0,o=t.length;i=0},C.invoke=function(t,e){var n=m.call(arguments,2),i=C.isFunction(e);return C.map(t,function(t){var o=i?e:t[e];return null==o?o:o.apply(t,n)})},C.pluck=function(t,e){return C.map(t,C.property(e))},C.where=function(t,e){return C.filter(t,C.matcher(e))},C.findWhere=function(t,e){return C.find(t,C.matcher(e))},C.max=function(t,e,n){var i,o,s=-(1/0),r=-(1/0);if(null==e&&null!=t){t=N(t)?t:C.values(t);for(var a=0,l=t.length;as&&(s=i)}else e=b(e,n),C.each(t,function(t,n,i){o=e(t,n,i),(o>r||o===-(1/0)&&s===-(1/0))&&(s=t,r=o)});return s},C.min=function(t,e,n){var i,o,s=1/0,r=1/0;if(null==e&&null!=t){t=N(t)?t:C.values(t);for(var a=0,l=t.length;ai||void 0===n)return 1;if(ne?(r&&(clearTimeout(r),r=null),a=u,s=t.apply(i,o),r||(i=o=null)):r||n.trailing===!1||(r=setTimeout(l,d)),s}},C.debounce=function(t,e,n){var i,o,s,r,a,l=function(){var u=C.now()-r;u=0?i=setTimeout(l,e-u):(i=null,n||(a=t.apply(s,o),i||(s=o=null)))};return function(){s=this,o=arguments,r=C.now();var u=n&&!i;return i||(i=setTimeout(l,e)),u&&(a=t.apply(s,o),s=o=null),a}},C.wrap=function(t,e){return C.partial(e,t)},C.negate=function(t){return function(){return!t.apply(this,arguments)}},C.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,i=t[e].apply(this,arguments);n--;)i=t[n].call(this,i);return i}},C.after=function(t,e){return function(){if(--t<1)return e.apply(this,arguments)}},C.before=function(t,e){var n;return function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=null),n}},C.once=C.partial(C.before,2);var H=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];C.keys=function(t){if(!C.isObject(t))return[];if(_)return _(t);var e=[];for(var n in t)C.has(t,n)&&e.push(n);return H&&a(t,e),e},C.allKeys=function(t){if(!C.isObject(t))return[];var e=[];for(var n in t)e.push(n);return H&&a(t,e),e},C.values=function(t){for(var e=C.keys(t),n=e.length,i=Array(n),o=0;o":">",'"':""","'":"'","`":"`"},P=C.invert(B),F=function(t){var e=function(e){return t[e]},n="(?:"+C.keys(t).join("|")+")",i=RegExp(n),o=RegExp(n,"g");return function(t){return t=null==t?"":""+t,i.test(t)?t.replace(o,e):t}};C.escape=F(B),C.unescape=F(P),C.result=function(t,e,n){var i=null==t?void 0:t[e];return void 0===i&&(i=n),C.isFunction(i)?i.call(t):i};var W=0;C.uniqueId=function(t){var e=++W+"";return t?t+e:e},C.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,V={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},U=/\\|'|\r|\n|\u2028|\u2029/g,z=function(t){return"\\"+V[t]};C.template=function(t,e,n){!e&&n&&(e=n),e=C.defaults({},e,C.templateSettings);var i=RegExp([(e.escape||K).source,(e.interpolate||K).source,(e.evaluate||K).source].join("|")+"|$","g"),o=0,s="__p+='";t.replace(i,function(e,n,i,r,a){return s+=t.slice(o,a).replace(U,z),o=a+e.length,n?s+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":i?s+="'+\n((__t=("+i+"))==null?'':__t)+\n'":r&&(s+="';\n"+r+"\n__p+='"),e}),s+="';\n",e.variable||(s="with(obj||{}){\n"+s+"}\n"),s="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+s+"return __p;\n";try{var r=new Function(e.variable||"obj","_",s)}catch(t){throw t.source=s,t}var a=function(t){return r.call(this,t,C)},l=e.variable||"obj";return a.source="function("+l+"){\n"+s+"}",a},C.chain=function(t){var e=C(t);return e._chain=!0,e};var $=function(t,e){return t._chain?C(e).chain():e};C.mixin=function(t){C.each(C.functions(t),function(e){var n=C[e]=t[e];C.prototype[e]=function(){var t=[this._wrapped];return g.apply(t,arguments),$(this,n.apply(C,t))}})},C.mixin(C),C.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=d[t];C.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],$(this,n)}}),C.each(["concat","join","slice"],function(t){var e=d[t];C.prototype[t]=function(){return $(this,e.apply(this._wrapped,arguments))}}),C.prototype.value=function(){return this._wrapped},C.prototype.valueOf=C.prototype.toJSON=C.prototype.value,C.prototype.toString=function(){return""+this._wrapped},i=[],o=function(){return C}.apply(e,i),!(void 0!==o&&(t.exports=o))}).call(this)},function(e,n){e.exports=t},function(t,e,n){"use strict";var i=n(6),o=n(9),s=o.View.extend({initialize:function(){this._children=[]},_addChildren:function(t){i.isArray(t)||(t=[t]),[].push.apply(this._children,i.compact(t))},_renderChildren:function(){var t=i.map(this._children,function(t){return t.render().el});return t},_triggerChildrenAppended:function(){i.each(this._children,function(t){t.trigger("appended")})},destroy:function(){this.stopListening(),this._destroyChildren(),this.remove()},_destroyChildren:function(){if(this._children)for(;this._children.length>0;)this._children.pop().destroy()}});t.exports=s},function(t,e,n){var i,o;(function(s){!function(r){var a="object"==typeof self&&self.self===self&&self||"object"==typeof s&&s.global===s&&s;i=[n(6),n(10),e],o=function(t,e,n){a.Backbone=r(a,n,t,e)}.apply(e,i),!(void 0!==o&&(t.exports=o))}(function(t,e,n,i){var o=t.Backbone,s=Array.prototype.slice;e.VERSION="1.3.3",e.$=i,e.noConflict=function(){return t.Backbone=o,this},e.emulateHTTP=!1,e.emulateJSON=!1;var r=function(t,e,i){switch(t){case 1:return function(){return n[e](this[i])};case 2:return function(t){return n[e](this[i],t)};case 3:return function(t,o){return n[e](this[i],l(t,this),o)};case 4:return function(t,o,s){return n[e](this[i],l(t,this),o,s)};default:return function(){var t=s.call(arguments);return t.unshift(this[i]),n[e].apply(n,t)}}},a=function(t,e,i){n.each(e,function(e,o){n[o]&&(t.prototype[o]=r(e,o,i))})},l=function(t,e){return n.isFunction(t)?t:n.isObject(t)&&!e._isModel(t)?u(t):n.isString(t)?function(e){return e.get(t)}:t},u=function(t){var e=n.matches(t);return function(t){return e(t.attributes)}},d=e.Events={},h=/\s+/,c=function(t,e,i,o,s){var r,a=0;if(i&&"object"==typeof i){void 0!==o&&"context"in s&&void 0===s.context&&(s.context=o);for(r=n.keys(i);athis.length&&(o=this.length),o<0&&(o+=this.length+1);var s,r,a=[],l=[],u=[],d=[],h={},c=e.add,g=e.merge,m=e.remove,f=!1,p=this.comparator&&null==o&&e.sort!==!1,M=n.isString(this.comparator)?this.comparator:null;for(r=0;r7),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(B,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var i=document.body,o=i.insertBefore(this.iframe,i.firstChild).contentWindow;o.document.open(),o.document.close(),o.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),I.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();return e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e!==this.fragment&&(this.iframe&&this.navigate(e),void this.loadUrl())},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),n.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!I.started)return!1;e&&e!==!0||(e={trigger:!!e}),t=this.getFragment(t||"");var n=this.root;""!==t&&"?"!==t.charAt(0)||(n=n.slice(0,-1)||"/");var i=n+t;if(t=this.decodeFragment(t.replace(P,"")),this.fragment!==t){if(this.fragment=t,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,i);else{if(!this._wantsHashChange)return this.location.assign(i);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var o=this.iframe.contentWindow;e.replace||(o.document.open(),o.document.close()),this._updateHash(o.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,n){if(n){var i=t.href.replace(/(javascript:|#).*$/,"");t.replace(i+"#"+e)}else t.hash="#"+e}}),e.history=new I;var F=function(t,e){var i,o=this;return i=t&&n.has(t,"constructor")?t.constructor:function(){return o.apply(this,arguments)},n.extend(i,o,e),i.prototype=n.create(o.prototype,t),i.prototype.constructor=i,i.__super__=o.prototype,i};v.extend=y.extend=N.extend=x.extend=I.extend=F;var W=function(){throw new Error('A "url" property or function must be specified')},K=function(t,e){var n=e.error;e.error=function(i){n&&n.call(e.context,t,i,e),t.trigger("error",t,i,e)}};return e})}).call(e,function(){return this}())},function(t,n){t.exports=e},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(12),a=n(15),l=n(23),u=n(24),d=n(25),h=n(26),c=n(27),g=n(28),m=n(31),f=n(32),p=n(33),M=n(34),_=n(20),v={data:[],columns:[],keyColumnName:null,selectType:"",autoNumbering:!0,header:{height:35,complexColumns:[]},columnOptions:{minWidth:50,resizable:!0,frozenCount:0},fitToParentHeight:!1,fixedRowHeight:!1,fixedHeight:!1,showDummyRows:!1,virtualScrolling:!1,copyOptions:null,scrollX:!0,scrollY:!0,useClientSort:!0,editingEvent:"dblclick",rowHeight:"auto",bodyHeight:"auto",minRowHeight:27,minBodyHeight:130,selectionUnit:"cell"},w=s.defineClass({init:function(t,e,n){t=i.extend(!0,{},v,t),this.gridId=t.gridId,this.columnModel=this._createColumnModel(t),this.dataModel=this._createDataModel(t,e,n),this.dimensionModel=this._createDimensionModel(t,e,n),this.coordRowModel=this._createCoordRowModel(e),this.focusModel=this._createFocusModel(t,e,n),this.coordColumnModel=this._createCoordColumnModel(t.columnOptions,n),this.renderModel=this._createRenderModel(t),this.coordConverterModel=this._createCoordConverterModel(),this.selectionModel=this._createSelectionModel(t,n),this.summaryModel=this._createSummaryModel(t.summary),this.clipboardModel=this._createClipboardModel(t,n)},_createColumnModel:function(t){return new r({keyColumnName:t.keyColumnName,frozenCount:t.columnOptions.frozenCount,complexHeaderColumns:t.header.complexColumns,copyOptions:t.copyOptions,columns:t.columns,rowHeaders:t.rowHeaders})},_createDataModel:function(t,e,n){return new a([],{gridId:this.gridId,domState:e,domEventBus:n,columnModel:this.columnModel,useClientSort:t.useClientSort,publicObject:t.publicObject})},_createDimensionModel:function(t,e,n){var i,o=!isNaN(t.rowHeight),s="auto"!==t.bodyHeight,r=t.minRowHeight,a=t.minBodyHeight,u=o?Math.max(r,t.rowHeight):r,d=s?Math.max(a,t.bodyHeight):a,h={headerHeight:t.header.height,bodyHeight:d,summaryHeight:t.summary?t.summary.height:0,summaryPosition:t.summary?t.summary.position||"bottom":null,rowHeight:u,fitToParentHeight:"fitToParent"===t.bodyHeight,scrollX:!!t.scrollX,scrollY:!!t.scrollY,minimumColumnWidth:t.columnOptions.minWidth,fixedRowHeight:o,fixedHeight:s,minRowHeight:r,minBodyHeight:a||u};return o===!1&&t.virtualScrolling&&(_.warning("If the virtualScrolling is set to true, the rowHeight must be set to number type."),h.fixedRowHeight=!0),i=new l(h,{columnModel:this.columnModel,dataModel:this.dataModel,domState:e,domEventBus:n})},_createCoordRowModel:function(t){return new u(null,{dataModel:this.dataModel,dimensionModel:this.dimensionModel,domState:t})},_createCoordColumnModel:function(t,e){var n={resizable:t.resizable};return new d(n,{columnModel:this.columnModel,dimensionModel:this.dimensionModel,domEventBus:e})},_createCoordConverterModel:function(){return new h(null,{columnModel:this.columnModel,dataModel:this.dataModel,dimensionModel:this.dimensionModel,focusModel:this.focusModel,coordRowModel:this.coordRowModel,renderModel:this.renderModel,coordColumnModel:this.coordColumnModel})},_createFocusModel:function(t,e,n){return new c(null,{columnModel:this.columnModel,dataModel:this.dataModel,coordRowModel:this.coordRowModel,domEventBus:n,domState:e,editingEvent:t.editingEvent})},_createSelectionModel:function(t,e){return new f({selectionUnit:t.selectionUnit},{columnModel:this.columnModel,dataModel:this.dataModel,dimensionModel:this.dimensionModel,coordConverterModel:this.coordConverterModel,coordRowModel:this.coordRowModel,renderModel:this.renderModel,focusModel:this.focusModel,domEventBus:e})},_createRenderModel:function(t){var e,n,i;return e={emptyMessage:t.emptyMessage,showDummyRows:t.showDummyRows},n={columnModel:this.columnModel,dataModel:this.dataModel,dimensionModel:this.dimensionModel,focusModel:this.focusModel,coordRowModel:this.coordRowModel,coordColumnModel:this.coordColumnModel},new(i=t.virtualScrolling?m:g)(e,n)},_createSummaryModel:function(t){var e=[];return t&&t.columnContent?(o.each(t.columnContent,function(t,n){o.isFunction(t.template)&&t.useAutoSummary!==!1&&e.push(n)}),new p(null,{dataModel:this.dataModel,autoColumnNames:e})):null},_createClipboardModel:function(t,e){return new M(null,{columnModel:this.columnModel,dataModel:this.dataModel,selectionModel:this.selectionModel,renderModel:this.renderModel,focusModel:this.focusModel,copyOptions:t.copyOptions,domEventBus:e})},destroy:function(){o.each(this,function(t,e){t&&s.isFunction(t._destroy)&&t._destroy(),t&&s.isFunction(t.stopListening)&&t.stopListening(),this[e]=null},this)}});t.exports=w},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(13),a=n(14).frame,l={rowNum:{type:"rowNum",title:"No.",name:"_number",align:"center",fixedWidth:!0,width:60,hidden:!1},checkbox:{type:"checkbox",title:'',name:"_button",align:"center",fixedWidth:!0,width:40,hidden:!1,editOptions:{type:"mainButton"}},radio:{type:"radio",title:"select",name:"_button",align:"center",fixedWidth:!0,width:40,hidden:!1,editOptions:{type:"mainButton"}}},u=r.extend({initialize:function(){r.prototype.initialize.apply(this,arguments),this.textType={normal:!0,text:!0,password:!0},this._setColumns(this.get("rowHeaders"),this.get("columns")),this.on("change",this._onChange,this)},defaults:{keyColumnName:null,frozenCount:0,rowHeaders:[],dataColumns:[],visibleColumns:[],selectType:"",columnModelMap:{},relationsMap:{},complexHeaderColumns:[],copyOptions:{useFormattedValue:!1}},at:function(t,e){var n=e?this.getVisibleColumns():this.get("dataColumns");return n[t]},indexOfColumnName:function(t,e){var n;return n=e?this.getVisibleColumns():this.get("dataColumns"),o.findIndex(n,{name:t})},isLside:function(t){var e=this.indexOfColumnName(t,!0),n=this.getVisibleFrozenCount(!1);return e>-1&&er&&(u=1),i||(u=-u),u},_removePrivateProp:function(t){return o.map(t,function(t){return o.omit(t,r.privateProperties)})},removeRow:function(t,e){var n,i,s,r,a=this.get(t);a&&(e&&e.keepRowSpanData&&(s=o.clone(a.attributes)),r=this.indexOf(a),n=o.clone(a.getRowSpanData()),i=this.at(r+1),this.remove(a,{silent:!0}),this._syncRowSpanDataForRemove(n,i,s),e&&e.removeOriginalData&&this.setOriginalRowList(),this.trigger("remove",t,r))},_syncRowSpanDataForRemove:function(t,e,n){t&&o.each(t,function(t,i){var o,s,r,a={};if(t.isMainRow){if(1===t.count)return;o=e,r=t.count-1,s=1,r>1&&(a.mainRowKey=o.get("rowKey"),a.isMainRow=!0),o.set(i,n?n[i]:"",{silent:!0})}else o=this.get(t.mainRowKey),r=o.getRowSpanData(i).count-1,s=-t.count;r>1?(a.count=r,o.setRowSpanData(i,a),this._updateSubRowSpanData(o,i,s,r)):o.setRowSpanData(i,null)},this)},_createDummyRow:function(){var t=this.columnModel.get("dataColumns"),e={};return o.each(t,function(t){e[t.name]=""},this),e},append:function(t,e){var n,i=this._createModelList(t);return e=o.extend({at:this.length},e),n={at:e.at,add:!0,silent:!0},this.add(i,n),this._syncRowSpanDataForAppend(e.at,i.length,e.extendPrevRowSpan),this.trigger("add",i,e),i},prepend:function(t,e){return e=e||{},e.at=0,this.append(t,e)},getRowData:function(t,e){var n=this.get(t),i=n?n.toJSON():null;return e?JSON.stringify(i):i},getRowDataAt:function(t,e){var n=this.at(t),i=n?n.toJSON():null;return e?JSON.stringify(n):i},getValue:function(t,e,n){var i,o;return n?i=this.getOriginal(t,e):(o=this.get(t),i=o&&o.get(e)),i},setValue:function(t,e,n,i){var o=this.get(t);return!!o&&(o.set(e,n,{silent:i}),!0)},getColumnValues:function(t,e){var n=this.pluck(t);return e?JSON.stringify(n):n},setColumnValues:function(t,e,n,i){var s={},r={disabled:!1,editable:!0};s[t]=e,n=!!o.isUndefined(n)||n,this.forEach(function(e){n&&(r=e.getCellState(t)),!r.disabled&&r.editable&&e.set(s,{silent:i})},this)},getRowSpanData:function(t,e){var n=this.get(t);return n?n.getRowSpanData(e):null},isModified:function(){var t=o.values(this.getModifiedRows());return o.some(t,function(t){return t.length>0})},setDisabled:function(t){this.disabled!==t&&(this.disabled=t,this.trigger("disabledChanged"))},enableRow:function(t){this.get(t).setRowState("")},disableRow:function(t){this.get(t).setRowState("DISABLED")},enableCheck:function(t){this.get(t).setRowState("")},disableCheck:function(t){this.get(t).setRowState("DISABLED_CHECK")},check:function(t,e){var n=this.get(t).getRowState().isDisabledCheck,i=this.columnModel.get("selectType");!n&&i&&("radio"===i&&this.uncheckAll(),this.setValue(t,"_button",!0,e)); +},uncheck:function(t,e){this.setValue(t,"_button",!1,e)},checkAll:function(){this.setColumnValues("_button",!0)},uncheckAll:function(){this.setColumnValues("_button",!1)},_createModelList:function(t){var e,n=[];return t=t||this._createDummyRow(),o.isArray(t)||(t=[t]),e=this._formatData(t),o.each(e,function(t){var e=new r(t,{collection:this,parse:!0});n.push(e)},this),n},_syncRowSpanDataForAppend:function(t,e,n){var i=this.at(t-1);i&&o.each(i.getRowSpanData(),function(t,o){var s,r,a,l;0!==t.count&&(t.isMainRow?(s=i,r=t,a=1):(s=this.get(t.mainRowKey),r=s.getRowSpanData()[o],a=-t.count+1),(r.count>a||n)&&(r.count+=e,l=r.count,this._updateSubRowSpanData(s,o,a,l)))},this)},_updateSubRowSpanData:function(t,e,n,i){var o,s,r=this.indexOf(t),a=t.get("rowKey");for(s=n;s=0)&&(d[s]=t[o-n]);l.set(d)},getElement:function(t,e){var n=this.getMainRowKey(t,e);return this.domState.getElement(n,e)},getCheckedState:function(){var t=0,e=0;return this.forEach(function(n){var i=n.getCellState("_button");!i.disabled&&i.editable&&(t+=1,n.get("_button")&&(e+=1))}),{available:t,checked:e}}});t.exports=a},function(t,e,n){"use strict";var i=n(9),o=i.Collection.extend({clear:function(){return this.each(function(t){t.stopListening(),t=null}),this.reset([],{silent:!0}),this}});t.exports=o},function(t,e,n){"use strict";var i=n(6),o=n(9),s=n(7),r=n(13),a=n(18),l=n(19),u=n(20),d=n(21),h=n(22),c=["_button","_number","_extraData"],g="REQUIRED",m="TYPE_NUMBER",f=r.extend({initialize:function(){r.prototype.initialize.apply(this,arguments),this.extraDataManager=new a(this.get("_extraData")),this.columnModel=this.collection.columnModel,this.validateMap={},this.on("change",this._onChange,this)},idAttribute:"rowKey",set:function(t,e,n){var s,r=i.isObject(t);r&&(n=e),!this.columnModel||n&&n.silent?o.Model.prototype.set.apply(this,arguments):(r?s=t:(s={},s[t]=e),i.each(s,function(t,e){this._executeOnBeforeChange(e,t)||delete s[e]},this),o.Model.prototype.set.call(this,s,n))},parse:function(t){return t._extraData||(t._extraData={}),t},_triggerExtraDataChangeEvent:function(){this.trigger("extraDataChanged",this.get("_extraData"))},_triggerCheckboxChangeEvent:function(t){var e={rowKey:this.get("rowKey")};t?this.trigger("check",e):this.trigger("uncheck",e)},_onChange:function(){var t=i.omit(this.changed,c);i.has(this.changed,"_button")&&this._triggerCheckboxChangeEvent(this.changed._button),this.isDuplicatedPublicChanged(t)||i.each(t,function(t,e){var n=this.columnModel.getColumnModel(e);n&&(this.collection.syncRowSpannedData(this,e,t),this._executeOnAfterChange(e),this.validateCell(e,!0))},this)},_validateCellData:function(t){var e,n=this.columnModel.getColumnModel(t).validation,o="";return n&&(e=this.get(t),n.required&&u.isBlank(e)?o=g:"number"!==n.dataType||i.isNumber(e)||(o=m)),o},validateCell:function(t,e){var n;return!e&&t in this.validateMap?this.validateMap[t]:(n=this._validateCellData(t),n?this.addCellClassName(t,h.CELL_INVALID):this.removeCellClassName(t,h.CELL_INVALID),this.validateMap[t]=n,n)},_createChangeCallbackEvent:function(t,e){return new l(null,{rowKey:this.get("rowKey"),columnName:t,value:e,instance:this.collection.publicObject})},_executeOnBeforeChange:function(t,e){var n,i=this.columnModel.getColumnModel(t),o=this.get(t)!==e;return!(o&&i&&i.onBeforeChange)||(n=this._createChangeCallbackEvent(t,e),i.onBeforeChange(n),!n.isStopped())},_executeOnAfterChange:function(t){var e,n=this.columnModel.getColumnModel(t),i=this.get(t);return!n.onAfterChange||(e=this._createChangeCallbackEvent(t,i),n.onAfterChange(e),!e.isStopped())},getPrivateProperties:function(){return c},getRowState:function(){return this.extraDataManager.getRowState()},getClassNameList:function(t){var e=this.columnModel.getColumnModel(t),n=u.isMetaColumn(t),i=this.extraDataManager.getClassNameList(t),o=this.getCellState(t);return e.className&&i.push(e.className),e.ellipsis&&i.push(h.CELL_ELLIPSIS),e.validation&&e.validation.required&&i.push(h.CELL_REQUIRED),n?i.push(h.CELL_HEAD):o.editable&&i.push(h.CELL_EDITABLE),o.disabled&&i.push(h.CELL_DISABLED),this._makeUniqueStringArray(i)},_makeUniqueStringArray:function(t){var e=i.uniq(t.join(" ").split(" "));return i.without(e,"")},getCellState:function(t){var e,n,o=["_number","normal"],s=this.columnModel,r=this.collection.disabled,a=!0,l=s.getEditType(t);return n=this.executeRelationCallbacksAll(["disabled","editable"])[t],e=this.getRowState(),r||(r="_button"===t?e.disabledCheck:e.disabled,r=r||!(!n||!n.disabled)),a=!i.contains(o,l)&&!(n&&n.editable===!1),{editable:a,disabled:r}},isEditable:function(t){var e=this.getCellState(t);return!e.disabled&&e.editable},isDisabled:function(t){var e=this.getCellState(t);return e.disabled},getRowSpanData:function(t){var e=this.collection.isRowSpanEnable(),n=this.get("rowKey");return this.extraDataManager.getRowSpanData(t,n,e)},getHeight:function(){return this.extraDataManager.getHeight()},setHeight:function(t){this.extraDataManager.setHeight(t),this._triggerExtraDataChangeEvent()},setRowSpanData:function(t,e){this.extraDataManager.setRowSpanData(t,e),this._triggerExtraDataChangeEvent()},setRowState:function(t,e){this.extraDataManager.setRowState(t),e||this._triggerExtraDataChangeEvent()},addCellClassName:function(t,e){this.extraDataManager.addCellClassName(t,e),this._triggerExtraDataChangeEvent()},addClassName:function(t){this.extraDataManager.addClassName(t),this._triggerExtraDataChangeEvent()},removeCellClassName:function(t,e){this.extraDataManager.removeCellClassName(t,e),this._triggerExtraDataChangeEvent()},removeClassName:function(t){this.extraDataManager.removeClassName(t),this._triggerExtraDataChangeEvent()},_getStringOfListItems:function(t,e){var n,o,r,a,l,d=this.get(t),h=this.columnModel.getColumnModel(t);return s.isExisty(s.pick(h,"editOptions","listItems"))?(n=this.executeRelationCallbacksAll(["listItems"])[t],l=n&&n.listItems,o=l?n.listItems:h.editOptions.listItems,r=typeof o[0].value,a=u.toString(d).split(","),r!==typeof a[0]&&(a=i.map(a,function(t){return u.convertValueType(t,r)})),i.each(a,function(t,n){var s=i.findWhere(o,{value:t}),r=s&&(e?s.text:s.value)||"";a[n]=r},this),a.join(",")):""},_isListType:function(t){return i.contains(["select","radio","checkbox"],t)},isDuplicatedPublicChanged:function(t){return!(!this._timeoutIdForChanged||!i.isEqual(this._lastPublicChanged,t))||(clearTimeout(this._timeoutIdForChanged),this._timeoutIdForChanged=setTimeout(i.bind(function(){this._timeoutIdForChanged=null},this),10),this._lastPublicChanged=t,!1)},getValueString:function(t){var e=this.columnModel,n=e.copyVisibleTextOfEditingColumn(t),i=e.getEditType(t),o=e.getColumnModel(t),r=this.get(t);if(this._isListType(i)){if(!s.isExisty(s.pick(o,"editOptions","listItems",0,"value")))throw new Error('Check "'+t+"\"'s editOptions.listItems property out in your ColumnModel.");r=this._getStringOfListItems(t,n)}else"password"===i&&(r="");return r=u.toString(r),r=d.addDoubleQuotes(r)},executeRelationCallbacksAll:function(t){var e=this.attributes,n=this.columnModel.get("relationsMap"),o={};return i.isEmpty(t)&&(t=["listItems","disabled","editable"]),i.each(n,function(n,s){var r=e[s];i.each(n,function(n){this._executeRelationCallback(n,t,r,e,o)},this)},this),o},_executeRelationCallback:function(t,e,n,o,s){var r=this.getRowState(),a=t.targetNames;i.each(e,function(e){var l;r.disabled&&"disabled"===e||(l=t[e],"function"==typeof l&&i.each(a,function(t){s[t]=s[t]||{},s[t][e]=l(n,o)},this))},this)}},{privateProperties:c});t.exports=f},function(t,e,n){"use strict";var i=n(6),o=n(7),s=o.defineClass({init:function(t){this.data=t||{}},getRowSpanData:function(t,e,n){var i=null;return n&&(i=this.data.rowSpanData,t&&i&&(i=i[t])),!i&&t&&(i={count:0,isMainRow:!0,mainRowKey:e}),i},getRowState:function(){var t={disabledCheck:!1,disabled:!1,checked:!1};switch(this.data.rowState){case"DISABLED":t.disabled=!0;case"DISABLED_CHECK":t.disabledCheck=!0;break;case"CHECKED":t.checked=!0}return t},setRowState:function(t){this.data.rowState=t},setRowSpanData:function(t,e){var n=i.assign({},this.data.rowSpanData);t&&(e?n[t]=e:n[t]&&delete n[t],this.data.rowSpanData=n)},addCellClassName:function(t,e){var n,o;n=this.data.className||{},n.column=n.column||{},o=n.column[t]||[],i.contains(o,e)||(o.push(e),n.column[t]=o,this.data.className=n)},addClassName:function(t){var e,n;e=this.data.className||{},n=e.row||[],o.inArray(t,n)===-1&&(n.push(t),e.row=n,this.data.className=e)},getClassNameList:function(t){var e=this.data.className,n=Array.prototype.push,i=[];return e&&(e.row&&n.apply(i,e.row),t&&e.column&&e.column[t]&&n.apply(i,e.column[t])),i},_removeClassNameFromArray:function(t,e){var n=t.join(" ").split(" ");return i.without(n,e)},removeCellClassName:function(t,e){var n=this.data.className;o.pick(n,"column",t)&&(n.column[t]=this._removeClassNameFromArray(n.column[t],e),this.data.className=n)},removeClassName:function(t){var e=this.data.className;e&&e.row&&(e.row=this._removeClassNameFromArray(e.row,t),this.className=e)},setHeight:function(t){this.data.height=t},getHeight:function(){return this.data.height}});t.exports=s},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(20),r=n(14).attrName,a={ROW_HEAD:"rowHead",COLUMN_HEAD:"columnHead",DUMMY:"dummy",CELL:"cell",ETC:"etc"},l=o.defineClass({init:function(t,e){this._stopped=!1,t&&(this.nativeEvent=t),e&&this.setData(e)},setData:function(t){i.extend(this,t)},stop:function(){this._stopped=!0},isStopped:function(){return this._stopped}});l.getTargetInfo=function(t){var e,n,i=t.closest("td"),o=a.ETC;return 1===i.length?(e=i.attr(r.ROW_KEY),n=i.attr(r.COLUMN_NAME),o=e&&n?s.isMetaColumn(n)?a.ROW_HEAD:a.CELL:a.DUMMY):(i=t.closest("th"),1===i.length&&(n=i.attr(r.COLUMN_NAME),o=a.COLUMN_HEAD)),s.pruneObject({targetType:o,rowKey:s.strToNumber(e),columnName:n})},l.targetTypeConst=a,t.exports=l},function(t,e,n){"use strict";function i(t,e){var n,i,o,s="",r=0;for(e=!!e,i=t.split(/(%(?:d0|d1)%.{2})/),n=i.length;r]*\ssrc=["']?([^>"']+)["']?[^>]*>/i),t=e?e[1]:""):t=t.replace(//gi,""),t=s.trim(a.decodeHTMLEntity(t.replace(/<\/?(?:h[1-5]|[a-z]+(?::[a-z]+)?)[^>]*>/gi,"")))),t},toString:function(t){return r.isUndefined(t)||r.isNull(t)?"":String(t)},getUniqueKey:function(){return this.uniqueId+=1,this.uniqueId},toQueryString:function(t){var e=[];return r.each(t,function(t,n){r.isString(t)||r.isNumber(t)||(t=JSON.stringify(t)),t=encodeURIComponent(unescape(t)),t&&e.push(n+"="+t)}),e.join("&")},toQueryObject:function(t){var e=t.split("&"),n={};return r.each(e,function(t){var e,o,s=t.split("=");e=s[0],o=i(s[1]);try{o=JSON.parse(o)}catch(t){}r.isNull(o)||(n[e]=o)}),n},convertValueType:function(t,e){return"string"===e?String(t):"number"===e?Number(t):"boolean"===e?Boolean(t):t},toUpperCaseFirstLetter:function(t){return t.charAt(0).toUpperCase()+t.slice(1)},clamp:function(t,e,n){var i;return e>n&&(i=e,e=n,n=i),Math.max(e,Math.min(t,n))},isOptionEnabled:function(t){return r.isObject(t)||t===!0},appendStyleElement:function(t,e){var n=document.createElement("style");n.type="text/css",n.id=t,n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e)),document.getElementsByTagName("head")[0].appendChild(n)},warning:function(t){console&&console.warn&&console.warn(t)},replaceText:function(t,e){return t.replace(/\{\{(\w*)\}\}/g,function(t,n){return e.hasOwnProperty(n)?e[n]:""})}},t.exports=o},function(t,e,n){"use strict";function i(t,e,n,i){var o,s,r=n[0],a=n[1],l=i[0],u=i[1];for(s=l;s0},getAvailableTotalWidth:function(t){var e=this.get("width"),n=t+1+(this.isDivisionBorderDoubled()?1:0),i=n*u,o=e-this.getScrollYWidth()-i;return o},getBodySize:function(){var t=this.get("lsideWidth"),e=this.get("rsideWidth")-this.getScrollYWidth(),n=this.get("bodyHeight")-this.getScrollXHeight();return{height:n,rsideWidth:e,totalWidth:t+e}},getOverflowFromMousePosition:function(t,e){var n=this.getPositionFromBodyArea(t,e),i=this.getBodySize();return this._judgeOverflow(n,i)},_judgeOverflow:function(t,e){var n=t.x,i=t.y,o=0,s=0;return i<0?o=-1:i>e.height&&(o=1),n<0?s=-1:n>e.totalWidth&&(s=1),{x:s,y:o}},getScrollXHeight:function(){return this.get("scrollX")?this.get("scrollBarSize"):0},getScrollYWidth:function(){return this.get("scrollY")?this.get("scrollBarSize"):0},_calcRealBodyHeight:function(t){var e=this.get("headerHeight")+this.get("summaryHeight")+l;return t-e},_getMinBodyHeight:function(){return this.get("minBodyHeight")+2*u+this.getScrollXHeight()},_getMinLeftSideWidth:function(){var t,e=this.get("minimumColumnWidth"),n=this.columnModel.getVisibleFrozenCount(!0),i=0;return n&&(t=(n+1)*u,i=t+e*n),i},getMaxLeftSideWidth:function(){var t=Math.ceil(.9*this.get("width"));return t&&(t=Math.max(t,this._getMinLeftSideWidth())),t},setWidth:function(t){t>0&&(this.set("width",t),this.trigger("setWidth",t))},setHeight:function(t){t>0&&this.set("bodyHeight",Math.max(this._calcRealBodyHeight(t),this._getMinBodyHeight()))},getHeight:function(){return this.get("bodyHeight")+this.get("headerHeight")},refreshLayout:function(){var t=this.domState,e=t.getOffset();this.set({offsetTop:e.top,offsetLeft:e.left,width:t.getWidth()}),this.get("fitToParentHeight")&&this.setHeight(t.getParentHeight())},getBodyOffsetTop:function(){var t=this.domState.getOffset().top,e=this.get("summaryPosition")===a.TOP?this.get("summaryHeight"):0;return t+this.get("headerHeight")+e+u+l},getPositionFromBodyArea:function(t,e){var n=this.domState.getOffset().left,i=this.getBodyOffsetTop();return{x:t-n,y:e-i}}});t.exports=d},function(t,e,n){"use strict";var i=n(6),o=n(20),s=n(13),r=n(14).dimension.CELL_BORDER_WIDTH,a=s.extend({initialize:function(t,e){this.dataModel=e.dataModel,this.dimensionModel=e.dimensionModel,this.domState=e.domState,this.rowHeights=[],this.rowOffsets=[],this.dimensionModel.get("fixedRowHeight")&&this.listenTo(this.dataModel,"add remove reset sort",this.syncWithDataModel)},syncWithDom:function(){var t,e,n,i,o;if(!this.dimensionModel.get("fixedRowHeight")){for(t=this.domState.getRowHeights(),e=this._getHeightFromData(),n=[],i=0,o=e.length;i0)for(;i>=0&&r>0;)n=Math.max(o,t[i]-r),r-=t[i]-n,t[i]=n,i-=1;else r<0&&(t[i]+=Math.abs(r));return t},_calculateColumnWidth:function(t){return t=this._fillEmptyWidth(t),t=this._applyMinimumWidth(t),t=this._adjustWidths(t)},_fillEmptyWidth:function(t){var e=this.dimensionModel.getAvailableTotalWidth(t.length),n=e-r.sum(t),o=[];return i.each(t,function(t,e){t||o.push(e)}),this._distributeExtraWidthEqually(t,n,o)},_getFrameWidth:function(t){var e=0;return t.length&&(e=r.sum(t)+(t.length+1)*d),e},_addExtraColumnWidth:function(t,e){var n=this._fixedWidthFlags,o=[];return i.each(n,function(t,e){t||o.push(e)}),this._distributeExtraWidthEqually(t,e,o)},_reduceExcessColumnWidth:function(t,e){var n=this._minWidths,o=this._fixedWidthFlags,s=[];return i.each(t,function(t,e){o[e]||s.push({index:e,width:t-n[e]})}),this._reduceExcessColumnWidthSub(i.clone(t),e,s)},_reduceExcessColumnWidthSub:function(t,e,n){var o,s=Math.round(e/n.length),r=[];return i.each(n,function(n){n.widthr.length?this._reduceExcessColumnWidthSub(t,e,r):(o=i.pluck(n,"index"),this._distributeExtraWidthEqually(t,e,o))},_distributeExtraWidthEqually:function(t,e,n){var o=n.length,s=Math.round(e/o),r=s*o-e,a=i.clone(t);return i.each(n,function(t){a[t]+=s}),n.length&&(a[i.last(n)]-=r),a},_applyMinimumWidth:function(t){var e=this._minWidths,n=i.clone(t);return i.each(n,function(t,i){var o=e[i];t0&&o>l?this._addExtraColumnWidth(t,a):e&&a<0?this._reduceExcessColumnWidth(t,a):t},_onDimensionWidthChange:function(){var t=this.get("widths");this._isModified||(t=this._adjustWidths(t,!0)),this._setColumnWidthVariables(t)},getWidths:function(t){var e=this.columnModel.getVisibleFrozenCount(!0),n=[];switch(t){case u.L:n=this.get("widths").slice(0,e);break;case u.R:n=this.get("widths").slice(e);break;default:n=this.get("widths")}return n},getFrameWidth:function(t){var e=this.columnModel.getVisibleFrozenCount(!0),n=this.getWidths(t),o=this._getFrameWidth(n);return i.isUndefined(t)&&e>0&&(o+=d),o},setColumnWidth:function(t,e){var n=this.get("widths"),i=this._minWidths[t];n[t]&&(n[t]=Math.max(e,i),this._setColumnWidthVariables(n),this._isModified=!0)},indexOf:function(t,e){var n=this.getWidths(),i=this.getFrameWidth(),s=e?0:this.columnModel.getVisibleMetaColumnCount(),r=0;return t>=i?r=n.length-1:o.forEachArray(n,function(e,n){return e+=d,r=n,t>e&&void(t-=e)}),Math.max(0,r-s)},restoreColumnWidth:function(t){var e=this.get("originalWidths")[t];this.setColumnWidth(t,e)}});t.exports=h},function(t,e,n){"use strict";var i=n(7),o=n(13),s=n(14).dimension,r=s.TABLE_BORDER_WIDTH,a=s.CELL_BORDER_WIDTH,l=o.extend({initialize:function(t,e){this.dataModel=e.dataModel,this.columnModel=e.columnModel,this.focusModel=e.focusModel,this.dimensionModel=e.dimensionModel,this.renderModel=e.renderModel,this.coordRowModel=e.coordRowModel,this.coordColumnModel=e.coordColumnModel,this.listenTo(this.focusModel,"focus",this._onFocus)},getIndexFromMousePosition:function(t,e,n){var i=this.dimensionModel.getPositionFromBodyArea(t,e),o=this._getScrolledPosition(i);return{row:this.coordRowModel.indexOf(o.y),column:this.coordColumnModel.indexOf(o.x,n)}},_getScrolledPosition:function(t){var e=this.renderModel,n=t.x>this.dimensionModel.get("lsideWidth"),i=n?e.get("scrollLeft"):0,o=e.get("scrollTop");return{x:t.x+i,y:t.y+o}},_getRowSpanCount:function(t,e){var n=this.dataModel.get(t).getRowSpanData(e);return n.isMainRow||(t=n.mainRowKey,n=this.dataModel.get(t).getRowSpanData(e)),n.count||1},_getCellVerticalPosition:function(t,e){var n,i,o,s,r=this.coordRowModel;return n=this.dataModel.indexOfRowKey(t),i=n+e-1,o=r.getOffsetAt(n),s=r.getOffsetAt(i)+r.getHeightAt(i)+a,{top:o,bottom:s}},_getCellHorizontalPosition:function(t){for(var e=this.columnModel,n=e.getVisibleMetaColumnCount(),i=this.coordColumnModel.get("widths"),o=e.getVisibleFrozenCount()+n,s=e.indexOfColumnName(t,!0)+n,r=o>s?0:o,l=0;rl+n.height,e?(s=t.leftu+n.rsideWidth-1):s=r=!1,{isUp:i,isDown:o,isLeft:s,isRight:r}},_onFocus:function(t,e,n){var o;n&&(o=this.getScrollPosition(t,e),i.isEmpty(o)||this.renderModel.set(o))},_makeScrollPosition:function(t,e,n){var i={};return t.isUp?i.scrollTop=e.top:t.isDown&&(i.scrollTop=e.bottom-n.height),t.isLeft?i.scrollLeft=e.left:t.isRight&&(i.scrollLeft=e.right-n.rsideWidth+r),i},getScrollPosition:function(t,e){var n=!this.columnModel.isLside(e),i=this.getCellPosition(t,e),o=this.dimensionModel.getBodySize(),s=this._judgeScrollDirection(i,n,o);return this._makeScrollPosition(s,i,o)}});t.exports=l},function(t,e,n){"use strict";var i=n(6),o=n(13),s=n(20),r=n(19),a=o.extend({initialize:function(t,e){var n,s=e.editingEvent+":cell";o.prototype.initialize.apply(this,arguments),i.assign(this,{dataModel:e.dataModel,columnModel:e.columnModel,coordRowModel:e.coordRowModel,domEventBus:e.domEventBus,domState:e.domState}),this.listenTo(this.dataModel,"reset",this._onResetData),this.listenTo(this.dataModel,"add",this._onAddDataModel), +this.domEventBus&&(n=this.domEventBus,this.listenTo(n,s,this._onMouseClickEdit),this.listenTo(n,"mousedown:focus",this._onMouseDownFocus),this.listenTo(n,"key:move",this._onKeyMove),this.listenTo(n,"key:edit",this._onKeyEdit))},defaults:{rowKey:null,columnName:null,prevRowKey:null,prevColumnName:"",editingAddress:null,active:!1},_onResetData:function(){this.blur()},_onAddDataModel:function(t,e){e.focus&&this.focusAt(e.at,0)},_onMouseClickEdit:function(t){this.focusIn(t.rowKey,t.columnName)},_onKeyMove:function(t){var e,n;switch(t.command){case"up":e=this.prevRowKey();break;case"down":e=this.nextRowKey();break;case"left":n=this.prevColumnName();break;case"right":n=this.nextColumnName();break;case"pageUp":e=this._getPageMovedRowKey(!1);break;case"pageDown":e=this._getPageMovedRowKey(!0);break;case"firstColumn":n=this.firstColumnName();break;case"lastColumn":n=this.lastColumnName();break;case"firstCell":e=this.firstRowKey(),n=this.firstColumnName();break;case"lastCell":e=this.lastRowKey(),n=this.lastColumnName()}e=i.isUndefined(e)?this.get("rowKey"):e,n=n||this.get("columnName"),this.focus(e,n,!0)},_onKeyEdit:function(t){var e;switch(t.command){case"currentCell":e=this.which();break;case"nextCell":e=this.nextAddress();break;case"prevCell":e=this.prevAddress()}e&&this.focusIn(e.rowKey,e.columnName,!0)},_getPageMovedRowKey:function(t){var e,n=this.dataModel.indexOfRowKey(this.get("rowKey")),i=this.coordRowModel.getPageMovedIndex(n,t);return e=t?this.nextRowKey(i-n):this.prevRowKey(n-i)},_onMouseDownFocus:function(){this.focusClipboard()},_savePrevious:function(){null!==this.get("rowKey")&&this.set("prevRowKey",this.get("rowKey")),this.get("columnName")&&this.set("prevColumnName",this.get("columnName"))},isCurrentCell:function(t,e,n){var i=this.get("columnName"),o=this.get("rowKey");return n&&(o=this.dataModel.getMainRowKey(o,i)),String(o)===String(t)&&i===e},focus:function(t,e,n){return this.get("active")||this.set("active",!0),!(this._isValidCell(t,e)&&!s.isMetaColumn(e)&&!this.isCurrentCell(t,e))||!!this._triggerFocusChangeEvent(t,e)&&(this.blur(),this.set({rowKey:t,columnName:e}),this.trigger("focus",t,e,n),"radio"===this.columnModel.get("selectType")&&this.dataModel.check(t),!0)},_triggerFocusChangeEvent:function(t,e){var n=new r(null,{rowKey:t,prevRowKey:this.get("rowKey"),columnName:e,prevColumnName:this.get("columnName")});return this.trigger("focusChange",n),!n.isStopped()},focusAt:function(t,e,n){var i=this.dataModel.at(t),o=this.columnModel.at(e,!0),s=!1;return i&&o&&(s=this.focus(i.get("rowKey"),o.name,n)),s},focusIn:function(t,e,n){var i=this.focus(t,e,n);return i&&(t=this.dataModel.getMainRowKey(t,e),this.dataModel.get(t).isEditable(e)?(this.finishEditing(),this.startEditing(t,e)):this.focusClipboard()),i},focusInAt:function(t,e,n){var i=this.dataModel.at(t),o=this.columnModel.at(e,!0),s=!1;return i&&o&&(s=this.focusIn(i.get("rowKey"),o.name,n)),s},focusClipboard:function(){this.trigger("focusClipboard")},refreshState:function(){var t;this.domState.hasFocusedElement()?this.has()||(t=this.restore(),t||this.focusAt(0,0)):this.set("active",!1)},blur:function(){return this.has()?(this.has(!0)&&this._savePrevious(),this.trigger("blur",this.get("rowKey"),this.get("columnName")),this.set({rowKey:null,columnName:null}),this):this},which:function(){return{rowKey:this.get("rowKey"),columnName:this.get("columnName")}},indexOf:function(t){var e=t?this.get("prevRowKey"):this.get("rowKey"),n=t?this.get("prevColumnName"):this.get("columnName");return{row:this.dataModel.indexOfRowKey(e),column:this.columnModel.indexOfColumnName(n,!0)}},has:function(t){var e=this.get("rowKey"),n=this.get("columnName");return t?this._isValidCell(e,n):!s.isBlank(e)&&!s.isBlank(n)},restore:function(){var t=this.get("prevRowKey"),e=this.get("prevColumnName"),n=!1;return this._isValidCell(t,e)&&(this.focus(t,e),this.set({prevRowKey:null,prevColumnName:null}),n=!0),n},isEditingCell:function(t,e){var n=this.get("editingAddress");return n&&String(n.rowKey)===String(t)&&n.columnName===e},startEditing:function(t,e){if(this.get("editingAddress"))return!1;if(i.isUndefined(t)&&i.isUndefined(e))t=this.get("rowKey"),e=this.get("columnName");else if(!this.isCurrentCell(t,e,!0))return!1;return t=this.dataModel.getMainRowKey(t,e),!!this.dataModel.get(t).isEditable(e)&&(this.set("editingAddress",{rowKey:t,columnName:e}),!0)},finishEditing:function(){return!!this.get("editingAddress")&&(this.set("editingAddress",null),!0)},_isValidCell:function(t,e){var n=!s.isBlank(t)&&!!this.dataModel.get(t),i=!s.isBlank(e)&&!!this.columnModel.getColumnModel(e);return n&&i},_findRowKey:function(t){var e,n,i=this.dataModel,o=null;return this.has(!0)&&(e=Math.max(Math.min(i.indexOfRowKey(this.get("rowKey"))+t,this.dataModel.length-1),0),n=i.at(e),n&&(o=n.get("rowKey"))),o},_findColumnName:function(t){var e,n=this.columnModel,i=n.getVisibleColumns(),o=n.indexOfColumnName(this.get("columnName"),!0),s=null;return this.has(!0)&&(e=Math.max(Math.min(o+t,i.length-1),0),s=i[e]&&i[e].name),s},_getRowSpanData:function(t,e){return this.dataModel.get(t).getRowSpanData(e)},nextRowIndex:function(t){var e=this.nextRowKey(t);return this.dataModel.indexOfRowKey(e)},prevRowIndex:function(t){var e=this.prevRowKey(t);return this.dataModel.indexOfRowKey(e)},nextColumnIndex:function(){var t=this.nextColumnName();return this.columnModel.indexOfColumnName(t,!0)},prevColumnIndex:function(){var t=this.prevColumnName();return this.columnModel.indexOfColumnName(t,!0)},nextRowKey:function(t){var e,n,i=this.which(),o=i.rowKey;return t="number"==typeof t?t:1,t>1?(o=this._findRowKey(t),n=this._getRowSpanData(o,i.columnName),n.isMainRow||(o=this._findRowKey(n.count+t))):(n=this._getRowSpanData(o,i.columnName),n.isMainRow&&n.count>0?o=this._findRowKey(n.count):n.isMainRow?o=this._findRowKey(1):(e=n.count,n=this._getRowSpanData(n.mainRowKey,i.columnName),o=this._findRowKey(n.count+e))),o},prevRowKey:function(t){var e,n=this.which(),i=n.rowKey;return t="number"==typeof t?t:1,t*=-1,t<-1?(i=this._findRowKey(t),e=this._getRowSpanData(i,n.columnName),e.isMainRow||(i=this._findRowKey(e.count+t))):(e=this._getRowSpanData(i,n.columnName),i=e.isMainRow?this._findRowKey(-1):this._findRowKey(e.count-1)),i},nextColumnName:function(){return this._findColumnName(1)},prevColumnName:function(){return this._findColumnName(-1)},firstRowKey:function(){return this.dataModel.at(0).get("rowKey")},lastRowKey:function(){return this.dataModel.at(this.dataModel.length-1).get("rowKey")},firstColumnName:function(){var t=this.columnModel.getVisibleColumns();return t[0].name},lastColumnName:function(){var t=this.columnModel.getVisibleColumns(),e=t.length-1;return t[e].name},prevAddress:function(){var t,e,n=this.get("rowKey"),i=this.get("columnName"),o=i===this.firstColumnName(),s=n===this.firstRowKey();return s&&o?(t=n,e=i):o?(t=this.prevRowKey(),e=this.lastColumnName()):(t=n,e=this.prevColumnName()),{rowKey:t,columnName:e}},nextAddress:function(){var t,e,n=this.get("rowKey"),i=this.get("columnName"),o=i===this.lastColumnName(),s=n===this.lastRowKey();return s&&o?(t=n,e=i):o?(t=this.nextRowKey(),e=this.firstColumnName()):(t=n,e=this.nextColumnName()),{rowKey:t,columnName:e}}});t.exports=a},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(13),r=n(29),a=n(30),l=n(14).renderState,u=n(14).dimension.CELL_BORDER_WIDTH,d=1e3,h=s.extend({initialize:function(t,e){var n,o,s;i.assign(this,{dataModel:e.dataModel,columnModel:e.columnModel,focusModel:e.focusModel,dimensionModel:e.dimensionModel,coordRowModel:e.coordRowModel,coordColumnModel:e.coordColumnModel}),n={dataModel:this.dataModel,columnModel:this.columnModel,focusModel:this.focusModel},o=new a([],n),s=new a([],n),this.set({lside:[],rside:[],partialLside:o,partialRside:s}),this.listenTo(this.columnModel,"columnModelChange change",this._onColumnModelChange).listenTo(this.dataModel,"sort reset",this._onDataModelChange).listenTo(this.dataModel,"delRange",this._onRangeDataModelChange).listenTo(this.dataModel,"add",this._onAddDataModelChange).listenTo(this.dataModel,"remove",this._onRemoveDataModelChange).listenTo(this.dataModel,"beforeReset",this._onBeforeResetData).listenTo(this.focusModel,"change:editingAddress",this._onEditingAddressChange).listenTo(o,"valueChange",this._executeRelation).listenTo(s,"valueChange",this._executeRelation).listenTo(this.coordRowModel,"reset",this._onChangeRowHeights).listenTo(this.dimensionModel,"columnWidthChanged",this.finishEditing).listenTo(this.dimensionModel,"change:width",this._updateMaxScrollLeft).listenTo(this.dimensionModel,"change:totalRowHeight change:scrollBarSize change:bodyHeight",this._updateMaxScrollTop),this.get("showDummyRows")&&(this.listenTo(this.dimensionModel,"change:bodyHeight change:totalRowHeight",this._resetDummyRowCount),this.on("change:dummyRowCount",this._resetDummyRows)),this.on("change",this._onChangeIndex,this),this._onChangeLayoutBound=i.bind(this._onChangeLayout,this),this._updateMaxScrollLeft()},defaults:{top:0,bottom:0,scrollTop:0,scrollLeft:0,maxScrollLeft:0,maxScrollTop:0,startIndex:-1,endIndex:-1,startNumber:1,lside:null,rside:null,partialLside:null,partialRside:null,showDummyRows:!1,dummyRowCount:0,emptyMessage:null,state:l.DONE},_onChangeLayout:function(){this.focusModel.finishEditing(),this.focusModel.focusClipboard()},_onChangeIndex:function(t){var e=t.changed,n=i.has(e,"startIndex"),o=i.has(e,"endIndex");(n||o)&&this.refresh()},_onChangeRowHeights:function(){for(var t,e=this.coordRowModel,n=this.get("partialLside"),i=this.get("partialRside"),o=0,s=n.length;od&&this.set("state",l.LOADING)},_onEditingAddressChange:function(t,e){var n=e,o=!0,s=this;e||(n=t.previous("editingAddress"),o=!1),this._updateCellData(n.rowKey,n.columnName,{editing:o}),this._triggerEditingStateChanged(n.rowKey,n.columnName),i.defer(function(){s._toggleChangeLayoutEventHandlers(o)})},_toggleChangeLayoutEventHandlers:function(t){var e="change:scrollTop change:scrollLeft",n="columnWidthChanged";t?(this.listenToOnce(this.dimensionModel,n,this._onChangeLayoutBound),this.once(e,this._onChangeLayoutBound)):(this.stopListening(this.dimensionModel,n,this._onChangeLayoutBound),this.off(e,this._onChangeLayoutBound))},_triggerEditingStateChanged:function(t,e){var n=this.getCellData(t,e);o.pick(n,"columnModel","editOptions","useViewMode")!==!1&&null===n.convertedHTML&&this.trigger("editingStateChanged",n)},_updateCellData:function(t,e,n){var i=this._getRowModel(t,e);i&&i.setCell(e,n)},initializeVariables:function(){this.set({top:0,scrollTop:0,scrollLeft:0,startNumber:1})},getCollection:function(t){var e=this._getPartialWhichSideType(t);return this.get(e)},_getPartialWhichSideType:function(t){return o.isString(t)?"partial"+t+"side":"partialRside"},_onColumnModelChange:function(){this.set({scrollTop:0},{silent:!0}),this._resetViewModelList(),this._setRenderingRange(!0),this.refresh({change:!1,columnModelChanged:!0})},_onDataModelChange:function(){this._resetViewModelList(),this._setRenderingRange(!0),this.refresh({type:"reset",dataListChanged:!0})},_onAddDataModelChange:function(t,e){var n,o,s,r,a=this._getColumnNamesOfEachSide(),l=e.at;this._setRenderingRange(!0),t=i.isArray(t)?t:t.models,i.each(t,function(t,e){n=this.coordRowModel.getHeightAt(e),i.each(["lside","rside"],function(i){s=l+e+1,o=this._createViewDataFromDataModel(t,a[i],n,s),r=this._createRowModel(o,!0),this.get(i).splice(l+e,0,r)},this)},this),this.refresh({type:"add",dataListChanged:!0}),e.focus&&this.focusModel.focusAt(e.at,0)},_onRemoveDataModelChange:function(t,e){i.each(["lside","rside"],function(t){this.get(t).splice(e,1)},this),this._setRenderingRange(!0),this.refresh({dataListChanged:!0})},_onRangeDataModelChange:function(t,e){var n=this.columnModel;this._setRenderingRange(!0),i.each(["partialLside","partialRside"],function(o){i.each(this.get(o).models,function(o){var s=o.get("rowKey"),r=i.contains(t,s);r&&i.each(e,function(t){n.getColumnModel(t).editOptions&&this._updateCellData(s,t,{value:"",formattedValue:""})},this)},this)},this),this.refresh({type:"delRange",dataListChanged:!0})},_resetDummyRows:function(){this._clearDummyRows(),this._fillDummyRows(),this.trigger("rowListChanged")},_setRenderingRange:function(t){var e=this.dataModel.length;this.set({startIndex:e?0:-1,endIndex:e-1},{silent:t})},_createViewDataFromDataModel:function(t,e,n,o){var s={rowNum:o,height:n,rowKey:t.get("rowKey"),_extraData:t.get("_extraData")};return i.each(e,function(e){var n=t.get(e);"_number"!==e||i.isNumber(n)||(n=o),s[e]=n}),s},_getColumnNamesOfEachSide:function(){var t=this.columnModel.getVisibleFrozenCount(!0),e=this.columnModel.getVisibleColumns(null,!0),n=i.pluck(e,"name"),o={lside:n.slice(0,t),rside:n.slice(t)};return o},_addViewModelListWithRange:function(t,e){var n,i,o,s=this._getColumnNamesOfEachSide();if(t>=0&&e>=0)for(o=t;o<=e;o+=1)n=this.dataModel.at(o),i=this.coordRowModel.getHeightAt(o),this._addViewModelList(n,s,i,o)},_addViewModelList:function(t,e,n,o){i.each(["lside","rside"],function(i){var s;this.get(i)[o]||(s=this._createViewDataFromDataModel(t,e[i],n,o+1),this.get(i)[o]=this._createRowModel(s,!0))},this)},_updateRowNumber:function(t,e){for(var n,i,o,s=this.get("lside"),r=t;r<=e;r+=1)n=s[r],o=r+1,n&&(i=n.get("rowNum"),o=r+1,i!==o&&(n.set({rowNum:o},{silent:!0}),n.setCell("_number",{formattedValue:o,value:o})))},_resetPartialViewModelList:function(t,e){var n,o,s,r;i.each(["L","R"],function(i){n=i.toLowerCase()+"side",o=this._getPartialWhichSideType(i),s=this.get(n),r=s.slice(t,e+1),this.get(o).reset(r)},this)},_getActualRowCount:function(){return this.get("endIndex")-this.get("startIndex")+1},_clearDummyRows:function(){var t=this.get("endIndex")-this.get("startIndex")+1;i.each(["lside","rside"],function(e){for(var n=this.get(e);n.length>t;)n.pop()},this)},_resetDummyRowCount:function(){var t=this.dimensionModel,e=t.get("totalRowHeight"),n=t.get("rowHeight")+u,i=t.get("bodyHeight")-t.getScrollXHeight(),o=0;e=0&&n>=0)for(i=e;i<=n;i+=1)this._executeRelation(i);o?this.trigger("columnModelChanged"):(this.trigger("rowListChanged",s),s&&this.coordRowModel.syncWithDom()),this._refreshState()},_refreshState:function(){this.dataModel.length?this.set("state",l.DONE):this.set("state",l.EMPTY)},_getCollectionByColumnName:function(t){var e,n=this.get("partialLside");return e=n.at(0)&&n.at(0).get(t)?n:this.get("partialRside")},_getRowModel:function(t,e){var n=this._getCollectionByColumnName(e);return n.get(t)},getCellData:function(t,e){var n=this._getRowModel(t,e),i=null;return n&&(i=n.get(e)),i},_executeRelation:function(t){var e,n,o=this.dataModel.at(t),s=t-this.get("startIndex");n=o.executeRelationCallbacksAll(),i.each(n,function(t,n){e=this._getCollectionByColumnName(n).at(s),e&&e.setCell(n,t)},this)},_createRowModel:function(t,e){return new r(t,{parse:e,dataModel:this.dataModel,columnModel:this.columnModel,focusModel:this.focusModel})},_resetViewModelList:function(){i.each(["lside","rside"],function(t){this.set(t,new Array(this.dataModel.length))},this)}});t.exports=h},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(13),r=n(20),a=s.extend({initialize:function(t,e){var n=t&&t.rowKey,i=e.dataModel,o=i.get(n);this.dataModel=i,this.columnModel=e.columnModel,this.focusModel=e.focusModel,o&&(this.listenTo(o,"change",this._onDataModelChange),this.listenTo(o,"restore",this._onDataModelRestore),this.listenTo(o,"extraDataChanged",this._setRowExtraData),this.listenTo(i,"disabledChanged",this._onDataModelDisabledChanged),this.rowData=o)},idAttribute:"rowKey",_onDataModelChange:function(t){i.each(t.changed,function(e,n){var i,o;this.has(n)&&(i=this.columnModel.getColumnModel(n),o=this.columnModel.isTextType(n),this.setCell(n,this._getValueAttrs(e,t,i,o)))},this)},_onDataModelRestore:function(t){var e=this.get(t);e&&this.trigger("restore",e)},_getColumnNameList:function(){var t=this.columnModel.getVisibleColumns(null,!0);return i.pluck(t,"name")},_onDataModelDisabledChanged:function(){var t=this._getColumnNameList();i.each(t,function(t){this.setCell(t,{disabled:this.rowData.isDisabled(t),className:this._getClassNameString(t)})},this)},_setRowExtraData:function(){i.each(this._getColumnNameList(),function(t){var e,n=this.get(t);!o.isUndefined(n)&&n.isMainRow&&(e=this.rowData.getCellState(t),this.setCell(t,{disabled:e.disabled,editable:e.editable,className:this._getClassNameString(t)}))},this)},parse:function(t,e){return this._formatData(t,e.dataModel,e.columnModel,e.focusModel)},_formatData:function(t,e,n,s){var r,a,l=t.rowKey,u=t.height;return i.isUndefined(l)?t:(a=e.get(l),r=i.omit(t,"rowKey","_extraData","height","rowNum"),i.each(r,function(r,d){var h=this._getRowSpanData(d,t,e.isRowSpanEnable()),c=a.getCellState(d),g=n.isTextType(d),m=n.getColumnModel(d);t[d]={rowKey:l,height:u,columnName:d,rowSpan:h.count,isMainRow:h.isMainRow,mainRowKey:h.mainRowKey,editable:c.editable,disabled:c.disabled,editing:s.isEditingCell(l,d),whiteSpace:m.whiteSpace||"nowrap",valign:m.valign,listItems:o.pick(m,"editOptions","listItems"),className:this._getClassNameString(d,a,s),columnModel:m,changed:[]},i.assign(t[d],this._getValueAttrs(r,a,m,g))},this),t)},_getClassNameString:function(t,e,n){var i;return e||(e=this.dataModel.get(this.get("rowKey")))?(n||(n=this.focusModel),i=e.getClassNameList(t),i.join(" ")):""},_getValueAttrs:function(t,e,n,i){var s=o.pick(n,"editOptions","prefix"),r=o.pick(n,"editOptions","postfix"),a=o.pick(n,"editOptions","converter"),l=e.toJSON();return{value:this._getValueToDisplay(t,n,i),formattedValue:this._getFormattedValue(t,l,n),prefix:this._getExtraContent(s,t,l),postfix:this._getExtraContent(r,t,l),convertedHTML:this._getConvertedHTML(a,t,l)}},_getFormattedValue:function(t,e,n){var o;return o=i.isFunction(n.formatter)?n.formatter(t,e,n):t,i.isNumber(o)?o=String(o):o||(o=""),o},_getExtraContent:function(t,e,n){var s="";return i.isFunction(t)?s=t(e,n):o.isExisty(t)&&(s=t),s},_getConvertedHTML:function(t,e,n){var o=null;return i.isFunction(t)&&(o=t(e,n)),o===!1&&(o=null),o},_getValueToDisplay:function(t,e,n){var i=o.isExisty,s=e.useHtmlEntity,r=e.defaultValue;return i(t)||(t=i(r)?r:""),n&&s&&o.hasEncodableString(t)&&(t=o.encodeHTMLEntity(t)),t},_getRowSpanData:function(t,e,n){var i=o.pick(e,"_extraData","rowSpanData",t);return n&&i||(i={mainRowKey:e.rowKey,count:0,isMainRow:!0}),i},updateClassName:function(t){this.setCell(t,{className:this._getClassNameString(t)})},setCell:function(t,e){var n,o,s,a=!1,l=[];this.has(t)&&(o=this.get("rowKey"),s=i.clone(this.get(t)),i.each(e,function(t,e){r.isEqual(s[e],t)||(a="value"===e||a,s[e]=t,l.push(e))},this),l.length&&(s.changed=l,this.set(t,s,{silent:this._shouldSetSilently(s,a)}),a&&(n=this.dataModel.indexOfRowKey(o),this.trigger("valueChange",n))))},_shouldSetSilently:function(t,e){var n=t.editing&&e,s=o.pick(t,"columnModel","editOptions","useViewMode")!==!1,r=i.contains(t.changed,"editing")&&t.editing;return n||s&&r}});t.exports=a},function(t,e,n){"use strict";var i=n(6),o=n(16),s=n(29),r=o.extend({initialize:function(t,e){i.assign(this,{dataModel:e.dataModel,columnModel:e.columnModel,focusModel:e.focusModel})},model:s});t.exports=r},function(t,e,n){"use strict";var i=n(6),o=n(28),s=n(14).dimension,r=s.CELL_BORDER_WIDTH,a=.3,l=.1,u=o.extend({initialize:function(){o.prototype.initialize.apply(this,arguments),this.on("change:scrollTop",this._onChangeScrollTop,this),this.listenTo(this.dimensionModel,"change:bodyHeight",this._onChangeBodyHeight)},_onChangeScrollTop:function(){this._shouldRefresh(this.get("scrollTop"))&&this._setRenderingRange()},_onChangeBodyHeight:function(){this._setRenderingRange()},_setRenderingRange:function(t){var e,n,i=this.get("scrollTop"),o=this.dimensionModel,s=this.dataModel,l=this.coordRowModel,u=o.get("bodyHeight"),d=parseInt(u*a,10),h=Math.max(l.indexOf(i-d),0),c=Math.min(l.indexOf(i+u+d),s.length-1);s.isRowSpanEnable()&&(h+=this._getStartRowSpanMinCount(h),c+=this._getEndRowSpanMaxCount(c)),e=l.getOffsetAt(h),n=l.getOffsetAt(c)+l.getHeightAt(c)+r,this.set({top:e,bottom:n,startIndex:h,endIndex:c},{silent:t})},_getStartRowSpanMinCount:function(t){var e,n=this.dataModel.at(t),o=0;return n&&(e=i.pluck(n.getRowSpanData(),"count"),e.push(0),o=i.min(e)),o},_getEndRowSpanMaxCount:function(t){var e,n=this.dataModel.at(t),o=0;return n&&(e=i.pluck(n.getRowSpanData(),"count"),e.push(0),o=i.max(e)),o>0&&(o-=1),o},_shouldRefresh:function(t){var e=this.dimensionModel.get("bodyHeight"),n=t+e,i=this.dimensionModel.get("totalRowHeight"),o=this.get("top"),s=this.get("bottom"),r=parseInt(e*l,10),a=t-o0||u&&sn.row&&(s.row=t[1]),e[1]>n.column&&(s.column=e[1])),s},_isValidAddress:function(t){return!!this.dataModel.at(t.row)&&!!this.columnModel.at(t.colummn)},_scrollTo:function(t,e){var n,i,o,s,r=this.dataModel.at(t),a=this.columnModel.at(e);r&&a&&(n=r.get("rowKey"),i=a.name,s=this.coordConverterModel.getScrollPosition(n,i),s&&(o=this.getType(),o===l.COLUMN?delete s.scrollTop:o===l.ROW&&delete s.scrollLeft,this.renderModel.set(s)))},_getTypeByColumnIndex:function(t){var e=this.columnModel.getVisibleColumns(null,!0),n=e[t].name;switch(n){case"_button":return null;case"_number":return l.ROW;default:return l.CELL}},_onMouseDownBody:function(t){var e,n,i=this.coordConverterModel.getIndexFromMousePosition(t.pageX,t.pageY,!0),o=this._getTypeByColumnIndex(i.column);o&&(e=i.row,n=i.column-this.columnModel.getVisibleMetaColumnCount(),t.shiftKey?this.update(e,Math.max(n,0)):o===l.ROW?this.selectRow(e):(this.focusModel.focusAt(e,n),this.end()))},_onDragMoveBody:function(t){var e=this.coordConverterModel.getIndexFromMousePosition(t.pageX,t.pageY);this.update(e.row,e.column,this.getSelectionUnit()),this._setScrolling(t.pageX,t.pageY)},_onDragEndBody:function(){this.stopAutoScroll()},_onPasteData:function(t){this.start(t.startIdx.row,t.startIdx.column),this.update(t.endIdx.row,t.endIdx.column)},_getColumnRangeWithNames:function(t){var e=this.columnModel,n=o.map(t,function(t){return e.indexOfColumnName(t,!0)}),i=a.getMinMax(n);return[i.min,i.max]},setType:function(t){this.selectionType=l[t]||this.selectionType},getType:function(){return this.selectionType},getSelectionUnit:function(){return this.get("selectionUnit").toUpperCase()},enable:function(){this.enabled=!0},disable:function(){this.end(),this.enabled=!1},isEnabled:function(){return this.enabled},start:function(t,e,n){this.isEnabled()&&(this.setType(n),this.inputRange={row:[t,t],column:[e,e]},this._resetRangeAttribute())},update:function(t,e,n){var i;!this.enabled||n!==l.COLUMN&&t<0||n!==l.ROW&&e<0||(this.hasSelection()?this.setType(n):(i=this.focusModel.indexOf(),n===l.ROW?this.start(i.row,0,l.ROW):this.start(i.row,i.column,l.CELL)),this._updateInputRange(t,e),this._resetRangeAttribute())},_updateInputRange:function(t,e){var n=this.inputRange;this.selectionType===l.ROW?e=this.columnModel.getVisibleColumns().length-1:this.selectionType===l.COLUMN&&(t=this.dataModel.length-1),n.row[1]=t,n.column[1]=e},_extendColumnSelection:function(t,e,n){var i,o=this.minimumColumnRange,s=this.coordConverterModel.getIndexFromMousePosition(e,n),r={row:[0,this.dataModel.length-1],column:[]};t&&t.length||(t=[s.column]),this._setScrolling(e,n),o?i=a.getMinMax(t.concat(o)):(t.push(this.inputRange.column[0]),i=a.getMinMax(t)),r.column.push(i.min,i.max),this._resetRangeAttribute(r)},_setScrolling:function(t,e){var n=this.dimensionModel.getOverflowFromMousePosition(t,e);this.stopAutoScroll(),this._isAutoScrollable(n.x,n.y)&&(this.intervalIdForAutoScroll=setInterval(o.bind(this._adjustScroll,this,n.x,n.y)))},end:function(){this.inputRange=null,this.unset("range"),this.minimumColumnRange=null},stopAutoScroll:function(){o.isNull(this.intervalIdForAutoScroll)||(clearInterval(this.intervalIdForAutoScroll),this.intervalIdForAutoScroll=null)},selectRow:function(t){this.isEnabled()&&(this.focusModel.focusAt(t,0),this.start(t,0,l.ROW),this.update(t,this.columnModel.getVisibleColumns().length-1))},selectColumn:function(t){this.isEnabled()&&(this.focusModel.focusAt(0,t),this.start(0,t,l.COLUMN),this.update(this.dataModel.length-1,t))},selectAll:function(){this.isEnabled()&&(this.start(0,0,l.CELL),this.update(this.dataModel.length-1,this.columnModel.getVisibleColumns().length-1))},getStartIndex:function(){var t=this.get("range");return{row:t.row[0],column:t.column[0]}},getEndIndex:function(){var t=this.get("range");return{row:t.row[1],column:t.column[1]}},hasSelection:function(){return!!this.get("range")},_isSingleCell:function(t,e){var n=1===t.length,i=1===e.length,o=n&&!i&&e[0].getRowSpanData(t[0]).count===e.length;return n&&i||o},getValuesToString:function(){var t=this.renderModel,e=this.columnModel,n=this._getRangeRowList(),i=this._getRangeColumnNames(),s=o.map(n,function(n){return o.map(i,function(i){return e.getCopyOptions(i).useFormattedValue?t.getCellData(n.get("rowKey"),i).formattedValue:n.getValueString(i)}).join("\t")});return this._isSingleCell(i,n)?s[0]:s.join("\n")},_getRangeRowList:function(){var t=this.get("range").row;return this.dataModel.slice(t[0],t[1]+1)},_getRangeColumnNames:function(){var t=this.get("range").column,e=this.columnModel.getVisibleColumns().slice(t[0],t[1]+1);return o.pluck(e,"name")},_isAutoScrollable:function(t,e){return!(0===t&&0===e)},_adjustScroll:function(t,e){var n=this.renderModel;t&&this._adjustScrollLeft(t,n.get("scrollLeft"),n.get("maxScrollLeft")),e&&this._adjustScrollTop(e,n.get("scrollTop"),n.get("maxScrollTop"))},_adjustScrollLeft:function(t,e,n){var i=e,o=this.scrollPixelScale;t<0?i=Math.max(0,e-o):t>0&&(i=Math.min(n,e+o)),this.renderModel.set("scrollLeft",i)},_adjustScrollTop:function(t,e,n){var i=e,o=this.scrollPixelScale;t<0?i=Math.max(0,e-o):t>0&&(i=Math.min(n,e+o)),this.renderModel.set("scrollTop",i)},_resetRangeAttribute:function(t){var e,n,i,s=this.dataModel;if(t=t||this.inputRange,!t)return void this.set("range",null);if(n={row:o.sortBy(t.row),column:o.sortBy(t.column)},s.isRowSpanEnable()&&this.selectionType===l.CELL){do i=o.assign([],n.row),n=this._getRowSpannedIndex(n),e=n.row[0]!==i[0]||n.row[1]!==i[1];while(e);this._setRangeMinMax(n.row,n.column)}this.set("range",n)},_triggerSelectionEvent:function(){var t,e,n,i,o,s,a,l=this.get("range"),u=this.dataModel,d=this.columnModel;l&&(t=l.row,e=l.column,i=u.getRowDataAt(t[0]),s=d.at(e[0]),o=u.getRowDataAt(t[1]),a=d.at(e[1]),i&&o&&s&&a&&(n=new r(null,{range:{start:[i,s],end:[o,a]}}),this.trigger("selection",n)))},_setRangeMinMax:function(t,e){t&&(t[0]=Math.max(0,t[0]),t[1]=Math.min(this.dataModel.length-1,t[1])),e&&(e[0]=Math.max(0,e[0]),e[1]=Math.min(this.columnModel.getVisibleColumns().length-1,e[1]))},_concatRowSpanIndexFromStart:function(t){var e,n=t.startIndex,i=t.endIndex,o=t.columnName,s=t.startRowSpanDataMap&&t.startRowSpanDataMap[o],r=t.startIndexList,a=t.endIndexList;s&&(s.isMainRow?(e=n+s.count-1,e>i&&a.push(e)):(e=n+s.count,r.push(e)))},_concatRowSpanIndexFromEnd:function(t){var e,n,i=t.endIndex,o=t.columnName,s=t.endRowSpanDataMap&&t.endRowSpanDataMap[o],r=t.endIndexList,a=t.dataModel;s&&(s.isMainRow?(e=i+s.count-1,r.push(e)):(e=i+s.count,n=a.at(e).getRowSpanData(o),e+=n.count-1,e>i&&r.push(e)))},_getRowSpannedIndex:function(t){var e,n,s,r=this.columnModel.getVisibleColumns().slice(t.column[0],t.column[1]+1),a=this.dataModel,l=[t.row[0]],u=[t.row[1]],d=a.at(t.row[0]),h=a.at(t.row[1]),c=i.extend({},t);return d&&h?(e=a.at(t.row[0]).getRowSpanData(),n=a.at(t.row[1]).getRowSpanData(),o.each(r,function(i){s={columnName:i.name,startIndex:t.row[0],endIndex:t.row[1],endRowSpanDataMap:n,startRowSpanDataMap:e,startIndexList:l,endIndexList:u,dataModel:a},this._concatRowSpanIndexFromStart(s),this._concatRowSpanIndexFromEnd(s)},this),c.row=[Math.min.apply(null,l),Math.max.apply(null,u)],c):c}});t.exports=u},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(13),r=n(14).summaryType,a=s.extend({initialize:function(t,e){this.dataModel=e.dataModel,this.autoColumnNames=e.autoColumnNames,this.columnSummaryMap={},this.listenTo(this.dataModel,"add remove reset",this._resetSummaryMap),this.listenTo(this.dataModel,"change",this._onChangeData), +this.listenTo(this.dataModel,"delRange",this._onDeleteRangeData),this._resetSummaryMap()},_calculate:function(t){var e,n,i=Number.MAX_VALUE,o=Number.MIN_VALUE,s=0,a=t.length,l={};for(e=0;en&&(i=n),o").addClass(a.BORDER_LINE).addClass(t)}var o,s=n(10),r=n(8),a=n(22),l=n(14).frame;o=r.extend({initialize:function(t){r.prototype.initialize.call(this),this.viewFactory=t.viewFactory,this.dimensionModel=t.dimensionModel,this._addFrameViews()},className:a.CONTENT_AREA,_addFrameViews:function(){var t=this.viewFactory;this._addChildren([t.createFrame(l.L),t.createFrame(l.R)])},render:function(){var t=this.dimensionModel,e=t.getScrollXHeight(),n=this._renderChildren().concat([i(a.BORDER_TOP),i(a.BORDER_LEFT),i(a.BORDER_RIGHT),i(a.BORDER_BOTTOM).css("bottom",e)]);return t.get("scrollX")||this.$el.addClass(a.NO_SCROLL_X),t.get("scrollY")||this.$el.addClass(a.NO_SCROLL_Y),this.$el.append(n),this}}),t.exports=o},function(t,e,n){"use strict";var i=n(6),o=n(40),s=n(8),r={totalItems:1,itemsPerPage:10,visiblePages:5,centerAlign:!0},a="tui-pagination",l=s.extend({initialize:function(t){this.dimensionModel=t.dimensionModel,this.componentHolder=t.componentHolder,this._stopEventPropagation(),this.on("appended",this._onAppended)},className:a,render:function(){return this._destroyChildren(),this.componentHolder.setInstance("pagination",this._createComponent()),this},_stopEventPropagation:function(){this.$el.mousedown(function(t){t.stopPropagation()})},_onAppended:function(){this.dimensionModel.set("paginationHeight",this.$el.outerHeight())},_createOptionObject:function(){var t=this.componentHolder.getOptions("pagination");return t===!0&&(t={}),i.assign({},r,t)},_createComponent:function(){var t=o;if(!t)throw new Error("Cannot find component 'tui.component.Pagination'");return new t(this.$el,this._createOptionObject())}});t.exports=l},function(t,e){t.exports=i},function(t,e,n){"use strict";var i=n(8),o=n(22),s=n(42),r=i.extend({initialize:function(t){this.dimensionModel=t.dimensionModel,this.domEventBus=t.domEventBus,this.dragEmitter=new s({type:"resizeHeight",cursor:"row-resize",domEventBus:this.domEventBus}),this.on("appended",this._onAppended)},className:o.HEIGHT_RESIZE_HANDLE,events:{mousedown:"_onMouseDown"},_onAppended:function(){this.dimensionModel.set("resizeHandleHeight",this.$el.outerHeight())},_onMouseDown:function(t){t.preventDefault(),this.dragEmitter.start(t,{mouseOffsetY:t.offsetY})},render:function(){return this.$el.html(""),this}});t.exports=r},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(19),a=s.defineClass({init:function(t){o.assign(this,{type:t.type,domEventBus:t.domEventBus,onDragMove:t.onDragMove,onDragEnd:t.onDragEnd,cursor:t.cursor,startData:null})},start:function(t,e){var n=new r(t,e);this.domEventBus.trigger("dragstart:"+this.type,n),n.isStopped()||this._startDrag(t.target,e)},_startDrag:function(t,e){this.startData=e,this._attachDragEvents(),this.cursor&&i("body").css("cursor",this.cursor),t.setCapture&&t.setCapture()},_endDrag:function(){this.startData=null,this._detachDragEvents(),this.cursor&&i("body").css("cursor","default"),document.releaseCapture&&document.releaseCapture()},_onMouseMove:function(t){var e=new r(t,{startData:this.startData,pageX:t.pageX,pageY:t.pageY});o.isFunction(this.onDragMove)&&this.onDragMove(e),e.isStopped()||this.domEventBus.trigger("dragmove:"+this.type,e)},_onMouseUp:function(t){var e=new r(t,{startData:this.startData});o.isFunction(this.onDragEnd)&&this.onDragEnd(e),e.isStopped()||(this.domEventBus.trigger("dragend:"+this.type,e),this._endDrag())},_onSelectStart:function(t){t.preventDefault()},_attachDragEvents:function(){i(document).on("mousemove.grid",o.bind(this._onMouseMove,this)).on("mouseup.grid",o.bind(this._onMouseUp,this)).on("selectstart.grid",o.bind(this._onSelectStart,this))},_detachDragEvents:function(){i(document).off(".grid")}});t.exports=a},function(t,e,n){"use strict";var i=n(6),o=n(8),s=n(14).renderState,r=n(22),a=n(44),l=n(14).dimension.TABLE_BORDER_WIDTH,u=o.extend({initialize:function(t){this.dimensionModel=t.dimensionModel,this.renderModel=t.renderModel,this.listenTo(this.dimensionModel,"change",this._refreshLayout),this.listenTo(this.renderModel,"change:state",this.render)},className:r.LAYER_STATE,template:i.template('

<%= text %>

<% if (isLoading) { %>
<% } %>
'),render:function(){var t=this.renderModel.get("state");return t===s.DONE?this.$el.hide():this._showLayer(t),this},_showLayer:function(t){var e=this.template({text:this._getMessage(t),isLoading:t===s.LOADING});this.$el.html(e).show(),this._refreshLayout()},_getMessage:function(t){switch(t){case s.LOADING:return a.get("onLoading");case s.EMPTY:return this.renderModel.get("emptyMessage")||a.get("noData");default:return null}},_refreshLayout:function(){var t=this.dimensionModel,e=t.get("headerHeight"),n=t.get("bodyHeight"),i=t.getScrollXHeight(),o=t.getScrollYWidth();this.$el.css({top:e-l,height:n-i-l,left:0,right:o})}});t.exports=u},function(t,e,n){"use strict";var i=n(20),o={en:{createAction:"create",updateAction:"update",deleteAction:"delete",modifyAction:"modify",requestConfirm:"Are you sure you want to {{actionName}} {{count}} data?",noDataResponse:"No data to {{actionName}}.",errorResponse:"An error occurred while requesting data.\n\nPlease try again.",noData:"No data.",onLoading:"Your request is being processed.",resizeHandleGuide:"You can change the width of the column by mouse drag, and initialize the width by double-clicking."},ko:{createAction:"입력",updateAction:"수정",deleteAction:"삭제",modifyAction:"반영",requestConfirm:"{{count}}건의 데이터를 {{actionName}}하시겠습니까?",noDataResponse:"{{actionName}}할 데이터가 없습니다.",errorResponse:"데이터 요청 중에 에러가 발생하였습니다.\n\n다시 시도하여 주시기 바랍니다.",noData:"데이터가 존재하지 않습니다.",onLoading:"요청을 처리 중입니다.",resizeHandleGuide:"마우스 드래그를 통해 컬럼의 넓이를 변경할 수 있고, 더블클릭을 통해 넓이를 초기화할 수 있습니다."}},s=o.en;t.exports={setLanguage:function(t){s=o[t]},get:function(t,e){var n=s[t];return e&&(n=i.replaceText(n,e)),n}}},function(t,e,n){"use strict";function i(t){return"key:clipboard"!==t.type}function o(t){return"key:clipboard"===t.type&&"paste"===t.command}var s,r=n(10),a=n(6),l=n(7),u=n(8),d=n(21),h=n(46),c=n(22),g=10,m=l.browser.edge,f=!!window.clipboardData;s=u.extend({initialize:function(t){a.assign(this,{focusModel:t.focusModel,clipboardModel:t.clipboardModel,domEventBus:t.domEventBus,isLocked:!1,lockTimerId:null}),this.listenTo(this.focusModel,"focusClipboard",this._onFocusClipboard),this.listenTo(this.clipboardModel,"change:text",this._onClipboardTextChange)},tagName:"div",className:c.CLIPBOARD,attributes:{contenteditable:!0},events:{keydown:"_onKeyDown",copy:"_onCopy",paste:"_onPaste",blur:"_onBlur"},render:function(){return this},_onBlur:function(){var t=this.focusModel;setTimeout(function(){t.refreshState()},0)},_onKeyDown:function(t){var e;return this.isLocked?void t.preventDefault():(e=h.generate(t),void(e&&(this._lock(),i(e)&&t.preventDefault(),o(e)||this.domEventBus.trigger(e.type,e))))},_onCopy:function(t){var e=this.clipboardModel.get("text");f||(t.originalEvent||t).clipboardData.setData("text/plain",e),t.preventDefault()},_onPaste:function(t){var e=(t.originalEvent||t).clipboardData||window.clipboardData;m||f?this._pasteInMSBrowsers(e):(t.preventDefault(),this._pasteInOtherBrowsers(e))},_onFocusClipboard:function(){try{this._hasFocus()||(this.$el.focus(),this._hasFocus()||this.$el.focus())}catch(t){}},_onClipboardTextChange:function(){var t=this.clipboardModel.get("text");f?window.clipboardData.setData("Text",t):this.$el.html(t).focus()},_pasteInOtherBrowsers:function(t){var e,n=this.clipboardModel,i=t.getData("text/html");i&&r(i).find("tbody").length>0?(this.$el.html(""+r(i).find("tbody").html()+"
"),e=this.$el.find("table")[0],i=d.convertTableToData(e),this.$el.html("")):(i=t.getData("text/plain"),i=d.convertTextToData(i)),n.pasteClipboardDataToGrid(i)},_pasteInMSBrowsers:function(t){var e,n=this,i=this.clipboardModel,o=t.getData("Text");o=d.convertTextToData(o),setTimeout(function(){n.$el.find("table").length>0&&(e=n.$el.find("table")[0],o=d.convertTableToData(e)),n.$el.html(""),i.pasteClipboardDataToGrid(o)},0)},_lock:function(){this.isLocked=!0,this.lockTimerId=setTimeout(a.bind(this._unlock,this),g)},_unlock:function(){this.isLocked=!1,this.lockTimerId=null},_hasFocus:function(){return this.$el.is(":focus")}}),s.KEYDOWN_LOCK_TIME=g,t.exports=s},function(t,e,n){"use strict";function i(t){var e=[];return(t.ctrlKey||t.metaKey)&&e.push("ctrl"),t.shiftKey&&e.push("shift"),e.push(a[t.keyCode]),e.join("-")}var o=n(6),s=n(19),r={tab:9,enter:13,ctrl:17,esc:27,left:37,up:38,right:39,down:40,a:65,c:67,v:86,space:32,pageUp:33,pageDown:34,home:36,end:35,del:46},a=o.invert(r),l={up:["move","up"],down:["move","down"],left:["move","left"],right:["move","right"],pageUp:["move","pageUp"],pageDown:["move","pageDown"],home:["move","firstColumn"],end:["move","lastColumn"],enter:["edit","currentCell"],space:["edit","currentCell"],tab:["edit","nextCell"],del:["delete"],"shift-tab":["edit","prevCell"],"shift-up":["select","up"],"shift-down":["select","down"],"shift-left":["select","left"],"shift-right":["select","right"],"shift-pageUp":["select","pageUp"],"shift-pageDown":["select","pageDown"],"shift-home":["select","firstColumn"],"shift-end":["select","lastColumn"],"ctrl-a":["select","all"],"ctrl-c":["clipboard","copy"],"ctrl-v":["clipboard","paste"],"ctrl-home":["move","firstCell"],"ctrl-end":["move","lastCell"],"ctrl-shift-home":["select","firstCell"],"ctrl-shift-end":["select","lastCell"]};t.exports={generate:function(t){var e,n=i(t),o=l[n];return o&&(e=new s(t,{type:"key:"+o[0],command:o[1]})),e}}},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(48),r=n(22),a=n(14).frame,l=s.extend({initialize:function(){s.prototype.initialize.apply(this,arguments),o.assign(this,{whichSide:a.L}),this.listenTo(this.dimensionModel,"change:lsideWidth",this._onFrameWidthChanged)},className:r.LSIDE_AREA,_onFrameWidthChanged:function(){this.$el.css({width:this.dimensionModel.get("lsideWidth")})},beforeRender:function(){this.$el.css({display:"block",width:this.dimensionModel.get("lsideWidth")})},afterRender:function(){this.dimensionModel.get("scrollX")&&this.$el.append(i("
").addClass(r.SCROLLBAR_LEFT_BOTTOM))}});t.exports=l},function(t,e,n){"use strict";var i=n(6),o=n(8),s=n(14),r=s.frame,a=s.summaryPosition,l=o.extend({initialize:function(t){o.prototype.initialize.call(this),i.assign(this,{viewFactory:t.viewFactory,renderModel:t.renderModel,dimensionModel:t.dimensionModel,whichSide:t.whichSide||r.R}),this.listenTo(this.renderModel,"columnModelChanged",this.render)},render:function(){return this.$el.empty(),this._destroyChildren(),this.beforeRender(),this._addChildren(this._createChildren()),this.$el.append(this._renderChildren()),this.afterRender(),this},beforeRender:function(){},afterRender:function(){},_createChildren:function(){var t,e=this.viewFactory,n=this.dimensionModel.get("summaryPosition"),i=e.createHeader(this.whichSide),o=e.createBody(this.whichSide),s=e.createSummary(this.whichSide,n);return t=n===a.TOP?[i,s,o]:n===a.BOTTOM?[i,o,s]:[i,o]}});t.exports=l},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(48),r=n(22),a=n(14),l=a.frame,u=a.summaryPosition,d=a.dimension.CELL_BORDER_WIDTH,h=s.extend({initialize:function(){s.prototype.initialize.apply(this,arguments),o.assign(this,{whichSide:l.R,$scrollBorder:null}),this.listenTo(this.dimensionModel,"change:lsideWidth change:rsideWidth",this._onFrameWidthChanged),this.listenTo(this.dimensionModel,"change:bodyHeight change:headerHeight",this._resetScrollBorderHeight)},className:r.RSIDE_AREA,_onFrameWidthChanged:function(){this._refreshLayout()},_refreshLayout:function(){var t=this.dimensionModel,e=t.get("rsideWidth"),n=t.get("lsideWidth");n>0&&!t.isDivisionBorderDoubled()&&(e+=d,n-=d),this.$el.css({width:e,marginLeft:n})},_resetScrollBorderHeight:function(){var t,e;this.$scrollBorder&&(t=this.dimensionModel,e=t.get("bodyHeight")-t.getScrollXHeight(),this.$scrollBorder.height(e))},beforeRender:function(){this.$el.css("display","block"),this._refreshLayout()},afterRender:function(){var t,e,n,o,s=this.dimensionModel;s.get("scrollY")&&(t=s.get("headerHeight"),e=s.get("summaryHeight"),n=i("
").addClass(r.SCROLLBAR_HEAD),o=i("
").addClass(r.SCROLLBAR_BORDER),n.height(t-2),o.css("top",t+"px"),this.$el.append(n,o),s.get("scrollX")&&this.$el.append(i("
").addClass(r.SCROLLBAR_RIGHT_BOTTOM)),e&&s.get("scrollY")&&this._applyStyleToSummary(t,e,s.get("summaryPosition")),this.$scrollBorder=o,this._resetScrollBorderHeight())},_applyStyleToSummary:function(t,e,n){var o,s={};n===u.TOP?(s.top=t,o=r.SUMMARY_AREA_RIGHT_TOP):(s.bottom=0,o=r.SUMMARY_AREA_RIGHT_BOTTOM),s.height=e-d,this.$el.append(i("
").addClass(r.SUMMARY_AREA_RIGHT).addClass(o).css(s))}});t.exports=h},function(t,e,n){"use strict";function i(t,e){for(var n=0,i=Math.min(t.length,e.length);n<%=colGroup%><%=tBody%>'),templateHeader:r.template('="<%=columnName%>" class="<%=className%>" height="<%=height%>" <%if(colspan > 0) {%>colspan=<%=colspan%> <%}%><%if(rowspan > 0) {%>rowspan=<%=rowspan%> <%}%>><%=title%><%=btnSort%>'),templateCol:r.template('="<%=columnName%>" style="width:<%=width%>px">'),markupBtnSort:'',_getColGroupMarkup:function(){var t=this._getColumnData(),e=t.widths,n=t.columns,i=[];return r.each(e,function(t,e){i.push(this.templateCol({attrColumnName:p,columnName:n[e].name,width:t+M}))},this),i.join("")},_getSelectedColumnNames:function(){var t=this.selectionModel.get("range").column,e=this.columnModel.getVisibleColumns(),n=e.slice(t[0],t[1]+1);return r.pluck(n,"name")},_onDragMove:function(t){var e=s(t.target);t.setData({columnName:e.closest("th").attr(p),isOnHeaderArea:s.contains(this.el,e[0])})},_getContainingMergedColumnNames:function(t){var e=this.columnModel,n=r.pluck(e.get("complexHeaderColumns"),"name");return r.filter(n,function(n){var i=e.getUnitColumnNamesIfMerged(n);return r.every(i,function(e){return r.contains(t,e)})})},_refreshSelectedHeaders:function(){var t,e,n=this.$el.find("th");this.selectionModel.hasSelection()?t=this._getSelectedColumnNames():this.focusModel.has(!0)&&(t=[this.focusModel.get("columnName")]),n.removeClass(d.CELL_SELECTED),t&&(e=this._getContainingMergedColumnNames(t),r.each(t.concat(e),function(t){n.filter("["+p+'="'+t+'"]').addClass(d.CELL_SELECTED)}))},_onKeydown:function(t){t.keyCode===f.TAB&&(t.preventDefault(),this.focusModel.focusClipboard())},_onMouseDown:function(t){var e,n=s(t.target);this._triggerPublicMousedown(t)&&(n.hasClass(d.BTN_SORT)||(e=n.closest("th").attr(p),e&&this.dragEmitter.start(t,{columnName:e})))},_triggerPublicMousedown:function(t){var e,n,i,o=new h(t,h.getTargetInfo(s(t.target)));return e=(new Date).getTime(),this.domEventBus.trigger("mousedown",o),n=(new Date).getTime(),i=n-e>v,!o.isStopped()&&!i},_getHeaderMainCheckbox:function(){return this.$el.find("th["+p+'="_button"] input')},_syncCheckedState:function(){var t,e,n=this.dataModel.getCheckedState();t=this._getHeaderMainCheckbox(),t.length&&(e=n.available?{checked:n.available===n.checked,disabled:!1}:{checked:!1,disabled:!0},t.prop(e))},_onColumnWidthChanged:function(){var t=this.coordColumnModel.getWidths(this.whichSide),e=this.$el.find("col"),n=this.coordRowModel;r.each(t,function(t,n){e.eq(n).css("width",t+M)}),this.whichSide===g.R&&r.defer(function(){n.syncWithDom()})},_onScrollLeftChange:function(t,e){this.whichSide===g.R&&(this.el.scrollLeft=e)},_onClick:function(t){var e=s(t.target),n=e.closest("th").attr(p),i=new h(t);"_button"===n&&e.is("input")?(i.setData({checked:e.prop("checked")}),this.domEventBus.trigger("click:headerCheck",i)):e.is("a."+d.BTN_SORT)&&(i.setData({columnName:n}),this.domEventBus.trigger("click:headerSort",i))},_updateBtnSortState:function(t){var e;this._$currentSortBtn&&this._$currentSortBtn.removeClass(d.BTN_SORT_DOWN+" "+d.BTN_SORT_UP),this._$currentSortBtn=this.$el.find("th["+p+'="'+t.columnName+'"] a.'+d.BTN_SORT),e=t.ascending?d.BTN_SORT_UP:d.BTN_SORT_DOWN,this._$currentSortBtn.addClass(e)},render:function(){var t;return this._destroyChildren(),this.$el.css({height:this.headerHeight-_}).html(this.template({colGroup:this._getColGroupMarkup(),tBody:this._getTableBodyMarkup()})),this.coordColumnModel.get("resizable")&&(t=this._getResizeHandleHeights(),this._addChildren(this.viewFactory.createHeaderResizeHandle(this.whichSide,t)),this.$el.append(this._renderChildren())),this},_getColumnData:function(){var t=this.coordColumnModel.getWidths(this.whichSide),e=this.columnModel.getVisibleColumns(this.whichSide,!0);return{widths:t,columns:e}},_getTableBodyMarkup:function(){var t,e,n=this._getColumnHierarchyList(),i=this._getHierarchyMaxRowCount(n),o=this.headerHeight,s=new Array(i),a=new Array(i),u=[],h=l.getRowHeight(i,o)-1,c=1;return r.each(n,function(e,l){var g=n[l].length,m=0;r.each(e,function(e,n){var r=e.name,l=[d.CELL,d.CELL_HEAD];e.validation&&e.validation.required&&l.push(d.CELL_REQRUIRED),c=g-1===n&&i-g+1>1?i-g+1:1,t=h*c,n===g-1?t=o-m-2:m+=t+1,a[n]===r?(s[n].pop(),u[n]+=1):u[n]=1,a[n]=r,s[n]=s[n]||[],s[n].push(this.templateHeader({attrColumnName:p,columnName:r,className:l.join(" "),height:t,colspan:u[n],rowspan:c,title:e.title,btnSort:e.sortable?this.markupBtnSort:""}))},this)},this),e=r.map(s,function(t){return""+t.join("")+""}),e.join("")},_getHierarchyMaxRowCount:function(t){var e=[0];return r.each(t,function(t){e.push(t.length)},this),Math.max.apply(Math,e)},_getColumnHierarchyList:function(){var t,e=this._getColumnData().columns;return t=r.map(e,function(t){return this._getColumnHierarchy(t).reverse()},this)},_getColumnHierarchy:function(t,e){var n=this.columnModel.get("complexHeaderColumns");return e=e||[],t&&(e.push(t),n&&r.each(n,function(n){s.inArray(t.name,n.childNames)!==-1&&this._getColumnHierarchy(n,e)},this)),e},_getResizeHandleHeights:function(){for(var t,e,n=this._getColumnHierarchyList(),o=this._getHierarchyMaxRowCount(n),s=l.getRowHeight(o,this.headerHeight)-1,r=[],a=1,u=n.length;a
'),_getColumnData:function(){var t=this.coordColumnModel.getWidths(this.whichSide),e=this.columnModel.getVisibleColumns(this.whichSide,!0);return{widths:t,columns:e}},_getResizeHandlerMarkup:function(){var t=this._getColumnData(),e=t.columns,n=e.length,i=o.map(e,function(t,e){return this.template({lastClass:e+1===n?l.COLUMN_RESIZE_HANDLE_LAST:"",columnIndex:e,columnName:t.name,height:this.handleHeights[e]+"px",title:d.get("resizeHandleGuide"),displayType:t.resizable===!1?"none":"block"})},this);return i.join("")},render:function(){var t=this.headerHeight,e=this._getResizeHandlerMarkup();return this.$el.empty().html(e).css({marginTop:-t,height:t,display:"block"}),this._refreshHandlerPosition(),this},_refreshHandlerPosition:function(){var t=this._getColumnData(),e=t.widths,n=this.$el.find("."+l.COLUMN_RESIZE_HANDLE),i=Math.floor(m/2),o=0;s.forEachArray(n,function(t,s){var r=n.eq(s);o+=e[s]+g,r.css("left",o-i)},this)},_onMouseDown:function(t){var e=i(t.target),n=this.coordColumnModel.getWidths(this.whichSide),o=parseInt(e.attr(h.COLUMN_INDEX),10);this.dragEmitter.start(t,{width:n[o],columnIndex:this._getHandlerColumnIndex(o),pageX:t.pageX})},_onDragMove:function(t){var e=t.startData,n=t.pageX-e.pageX;t.setData({columnIndex:e.columnIndex,width:e.width+n})},_onDblClick:function(t){var e=i(t.target),n=parseInt(e.attr(h.COLUMN_INDEX),10);this.domEventBus.trigger("dblclick:resizeColumn",{columnIndex:this._getHandlerColumnIndex(n)})},_getHandlerColumnIndex:function(t){return this.whichSide===c.R?t+this.columnModel.getVisibleFrozenCount(!0):t}});t.exports=f; +},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(8),r=n(42),a=n(19),l=n(14),u=n(22),d=l.frame,h=200,c=10,g=s.extend({initialize:function(t){s.prototype.initialize.call(this),o.assign(this,{dimensionModel:t.dimensionModel,renderModel:t.renderModel,viewFactory:t.viewFactory,domEventBus:t.domEventBus,$container:null,whichSide:t&&t.whichSide||d.R}),this.listenTo(this.dimensionModel,"change:bodyHeight",this._onBodyHeightChange).listenTo(this.dimensionModel,"change:totalRowHeight",this._resetContainerHeight).listenTo(this.renderModel,"change:scrollTop",this._onScrollTopChange).listenTo(this.renderModel,"change:scrollLeft",this._onScrollLeftChange),this.dragEmitter=new r({type:"body",domEventBus:this.domEventBus,onDragMove:o.bind(this._onDragMove,this)})},className:u.BODY_AREA,events:function(){var t={};return t.scroll="_onScroll",t["mousedown ."+u.BODY_CONTAINER]="_onMouseDown",t},_onBodyHeightChange:function(t,e){this.$el.css("height",e+"px")},_resetContainerHeight:function(){this.$container.css({height:this.dimensionModel.get("totalRowHeight")})},_onScroll:function(t){var e={scrollTop:t.target.scrollTop};this.whichSide===d.R&&(e.scrollLeft=t.target.scrollLeft),this.renderModel.set(e)},_onScrollLeftChange:function(t,e){this.whichSide===d.R&&(this.el.scrollLeft=e)},_onScrollTopChange:function(t,e){this.el.scrollTop=e},_onMouseDown:function(t){var e=i(t.target),n=e.is("input, teaxarea");this._triggerPublicMousedown(t)&&(this._triggerBodyMousedown(t),n&&t.shiftKey&&t.preventDefault(),n&&!t.shiftKey||this.dragEmitter.start(t,{pageX:t.pageX,pageY:t.pageY}))},_triggerPublicMousedown:function(t){var e,n,o=new a(t,a.getTargetInfo(i(t.target))),s=!0;return o.targetType===a.targetTypeConst.DUMMY?s=!1:(e=(new Date).getTime(),this.domEventBus.trigger("mousedown",o),o.isStopped()?s=!1:(n=(new Date).getTime(),s=n-e<=h)),s},_triggerBodyMousedown:function(t){var e=new a(t,{pageX:t.pageX,pageY:t.pageY,shiftKey:t.shiftKey});this.domEventBus.trigger("mousedown:body",e)},_onDragMove:function(t){var e=t.startData,n={pageX:t.pageX,pageY:t.pageY};this._getMouseMoveDistance(e,n)").addClass(u.BODY_CONTAINER),this.$el.append(this.$container),this._addChildren([this.viewFactory.createBodyTable(t),this.viewFactory.createSelectionLayer(t),this.viewFactory.createFocusLayer(t)]),this.$container.append(this._renderChildren()),this._resetContainerHeight(),this}});t.exports=g},function(t,e,n){"use strict";var i=n(6),o=n(8),s=n(14),r=n(22),a=s.dimension.CELL_BORDER_WIDTH,l=s.attrName.COLUMN_NAME,u=o.extend({initialize:function(t){o.prototype.initialize.call(this),i.assign(this,{dimensionModel:t.dimensionModel,coordColumnModel:t.coordColumnModel,renderModel:t.renderModel,columnModel:t.columnModel,viewFactory:t.viewFactory,painterManager:t.painterManager,whichSide:t.whichSide||"R"}),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._onColumnWidthChanged),this.listenTo(this.renderModel,"change:dummyRowCount",this._onChangeDummyRowCount),this.listenTo(this.dimensionModel,"change:bodyHeight",this._resetHeight),this._attachAllTableEventHandlers()},className:r.BODY_TABLE_CONTAINER,template:i.template('<%=colGroup%><%=tbody%>
'),templateCol:i.template('="<%=columnName%>" style="width:<%=width%>px">'),_onColumnWidthChanged:function(){var t=this.coordColumnModel.getWidths(this.whichSide),e=this.$el.find("col");i.each(t,function(t,n){e.eq(n).css("width",t+a)},this)},_onChangeDummyRowCount:function(){this._resetOverflow(),this._resetHeight()},_resetOverflow:function(){var t="visible";this.renderModel.get("dummyRowCount")>0&&(t="hidden"),this.$el.css("overflow",t)},_resetHeight:function(){var t=this.dimensionModel;this.renderModel.get("dummyRowCount")>0?this.$el.height(t.get("bodyHeight")-t.getScrollXHeight()):this.$el.css("height","")},resetTablePosition:function(){this.$el.css("top",this.renderModel.get("top"))},render:function(){return this._destroyChildren(),this.$el.html(this.template({colGroup:this._getColGroupMarkup(),tbody:""})),this._addChildren(this.viewFactory.createRowList({bodyTableView:this,el:this.$el.find("tbody"),whichSide:this.whichSide})),this._renderChildren(),this._resetHeight(),this._resetOverflow(),this},_attachAllTableEventHandlers:function(){var t=this.painterManager.getCellPainters();i.each(t,function(t){t.attachEventHandlers(this.$el,"")},this)},redrawTable:function(t){return this.$el[0].innerHTML=this.template({colGroup:this._getColGroupMarkup(),tbody:t}),this.$el.find("tbody")},_getColGroupMarkup:function(){var t=this.whichSide,e=this.coordColumnModel.getWidths(t),n=this.columnModel.getVisibleColumns(t,!0),o="";return i.each(n,function(t,n){o+=this.templateCol({attrColumnName:l,columnName:t.name,width:e[n]+a})},this),o}});t.exports=u},function(t,e,n){"use strict";var i=n(6),o=n(8),s=n(22),r=n(14),a=r.frame,l=r.attrName.COLUMN_NAME,u=o.extend({initialize:function(t){this.columnTemplateMap=t.columnTemplateMap||{},this.whichSide=t.whichSide,this.columnModel=t.columnModel,this.dimensionModel=t.dimensionModel,this.coordColumnModel=t.coordColumnModel,this.renderModel=t.renderModel,this.summaryModel=t.summaryModel,this.listenTo(this.renderModel,"change:scrollLeft",this._onChangeScrollLeft),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._onChangeColumnWidth),this.listenTo(this.columnModel,"setSummaryContent",this._setColumnContent),this.summaryModel&&this.listenTo(this.summaryModel,"change",this._onChangeSummaryValue)},className:s.SUMMARY_AREA,events:{scroll:"_onScrollView"},template:i.template('<%=tbody%>
'),templateHeader:i.template('="<%=columnName%>" class="<%=className%>" style="width:<%=width%>px"><%=value%>'),_onScrollView:function(t){this.whichSide===a.R&&this.renderModel.set("scrollLeft",t.target.scrollLeft)},_onChangeScrollLeft:function(t,e){this.whichSide===a.R&&(this.el.scrollLeft=e)},_onChangeColumnWidth:function(){var t=this.coordColumnModel.getWidths(this.whichSide),e=this.$el.find("th");i.each(t,function(t,n){e.eq(n).css("width",t)})},_setColumnContent:function(t,e){var n=this.$el.find("th["+l+'="'+t+'"]');n.html(e)},_onChangeSummaryValue:function(t,e){var n=this._generateValueHTML(t,e);this._setColumnContent(t,n)},_generateValueHTML:function(t,e){var n=this.columnTemplateMap[t],o="";return i.isFunction(n)&&(o=n(e)),o},_generateTbodyHTML:function(){var t=this.summaryModel,e=this.columnModel.getVisibleColumns(this.whichSide,!0),n=this.coordColumnModel.getWidths(this.whichSide);return i.reduce(e,function(e,i,o){var r,a=i.name;return t&&(r=t.getValue(i.name)),e+this.templateHeader({attrColumnName:l,columnName:a,className:s.CELL_HEAD+" "+s.CELL,width:n[o],value:this._generateValueHTML(a,r)})},"",this)},render:function(){var t=this.dimensionModel.get("summaryHeight"),e=this.dimensionModel.get("summaryPosition"),n="top"===e?s.SUMMARY_AREA_TOP:s.SUMMARY_AREA_BOTTOM;return this.$el.addClass(n),t&&this.$el.html(this.template({className:s.TABLE,height:t,tbody:this._generateTbodyHTML()})),this}});t.exports=u},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(8),a=n(14),l=n(22),u=a.attrName,d=a.frame,h=a.dimension.CELL_BORDER_WIDTH,c=r.extend({initialize:function(t){var e=t.focusModel,n=t.renderModel,i=t.selectionModel,s=t.coordRowModel,r=t.whichSide||"R";o.assign(this,{whichSide:r,bodyTableView:t.bodyTableView,focusModel:e,renderModel:n,selectionModel:i,coordRowModel:s,dataModel:t.dataModel,columnModel:t.columnModel,collection:n.getCollection(r),painterManager:t.painterManager,sortOptions:null,renderedRowKeys:null}),this.listenTo(this.collection,"change",this._onModelChange).listenTo(this.collection,"restore",this._onModelRestore).listenTo(e,"change:rowKey",this._refreshFocusedRow).listenTo(n,"rowListChanged",this.render),this.whichSide===d.L&&this.listenTo(e,"change:rowKey",this._refreshSelectedMetaColumns).listenTo(i,"change:range",this._refreshSelectedMetaColumns).listenTo(n,"rowListChanged",this._refreshSelectedMetaColumns)},_getColumns:function(){return this.columnModel.getVisibleColumns(this.whichSide,!0)},_removeOldRows:function(t){var e=o.indexOf(this.renderedRowKeys,t[0]),n=o.indexOf(this.renderedRowKeys,o.last(t)),i=this.$el.children("tr");i.slice(0,e).remove(),i.slice(n+1).remove()},_appendNewRows:function(t,e){var n=this.collection.slice(0,o.indexOf(t,e[0])),i=this.collection.slice(o.indexOf(t,o.last(e))+1);this.$el.prepend(this._getRowsHtml(n)),this.$el.append(this._getRowsHtml(i))},_resetRows:function(){var t,e=this._getRowsHtml(this.collection.models);if(c.isInnerHtmlOfTbodyReadOnly)t=this.bodyTableView.redrawTable(e),this.setElement(t,!1);else try{this.$el[0].innerHTML=e}catch(t){c.isInnerHtmlOfTbodyReadOnly=!0,this._resetRows()}},_getRowsHtml:function(t){var e=this.painterManager.getRowPainter(),n=o.pluck(this._getColumns(),"name");return o.map(t,function(t){return e.generateHtml(t,n)}).join("")},_getRowElement:function(t){return this.$el.find("tr["+u.ROW_KEY+"="+t+"]")},_refreshSelectedMetaColumns:function(){var t,e=this.$el.find("tr"),n="."+l.CELL_HEAD;t=this.selectionModel.hasSelection()?this._filterRowsByIndexRange(e,this.selectionModel.get("range").row):this._filterRowByKey(e,this.focusModel.get("rowKey")),e.find(n).removeClass(l.CELL_SELECTED),t.find(n).addClass(l.CELL_SELECTED)},_filterRowsByIndexRange:function(t,e){var n,o,s=this.renderModel,r=s.get("startIndex");return n=Math.max(e[0]-r,0),o=Math.max(e[1]-r+1,0),n||o?t.slice(n,o):i()},_filterRowByKey:function(t,e){var n=this.dataModel.indexOfRowKey(e),o=this.renderModel.get("startIndex");return o>n?i():t.eq(n-o)},_refreshFocusedRow:function(){var t=this.focusModel.get("rowKey"),e=this.focusModel.get("prevRowKey");this._setFocusedRowClass(e,!1),this._setFocusedRowClass(t,!0)},_setFocusedRowClass:function(t,e){var n=o.pluck(this._getColumns(),"name"),i={};o.each(n,function(n){var o,s=this.dataModel.getMainRowKey(t,n);i[s]||(i[s]=this._getRowElement(s)),o=i[s].find("td["+u.COLUMN_NAME+'="'+n+'"]'),o.toggleClass(l.CELL_CURRENT_ROW,e)},this)},render:function(t){var e,n=this.collection.pluck("rowKey");return this.bodyTableView.resetTablePosition(),t?this._resetRows():(e=o.intersection(n,this.renderedRowKeys),o.isEmpty(n)||o.isEmpty(e)||e.length/n.length<.7?this._resetRows():(this._removeOldRows(e),this._appendNewRows(n,e))),this.renderedRowKeys=n,this},_onModelChange:function(t){var e=t.get("rowKey"),n=this._getRowElement(e);"height"in t.changed?n.css("height",t.get("height")+h):(this.painterManager.getRowPainter().refresh(t.changed,n),this.coordRowModel.syncWithDom())},_onModelRestore:function(t){var e=this.dataModel.getElement(t.rowKey,t.columnName),n=this.columnModel.getEditType(t.columnName);this.painterManager.getCellPainter(n).refresh(t,e),this.coordRowModel.syncWithDom()}},{isInnerHtmlOfTbodyReadOnly:s.browser.msie&&s.browser.version<=9});t.exports=c},function(t,e,n){"use strict";var i=n(6),o=n(8),s=n(22),r=n(14).dimension.CELL_BORDER_WIDTH,a=n(14).frame,l=o.extend({initialize:function(t){i.assign(this,{whichSide:t.whichSide||a.R,dimensionModel:t.dimensionModel,coordRowModel:t.coordRowModel,coordColumnModel:t.coordColumnModel,columnModel:t.columnModel,selectionModel:t.selectionModel}),this._updateColumnWidths(),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._onChangeColumnWidth),this.listenTo(this.selectionModel,"change:range",this.render)},className:s.LAYER_SELECTION,_updateColumnWidths:function(){this.columnWidths=this.coordColumnModel.getWidths(this.whichSide)},_onChangeColumnWidth:function(){this._updateColumnWidths(),this.render()},_getOwnSideColumnRange:function(t){var e=this.columnModel.getVisibleFrozenCount(),n=null;return this.whichSide===a.L?t[0]=e&&(n=[Math.max(t[0],e)-e,t[1]-e]),n},_getVerticalStyles:function(t){var e=this.coordRowModel,n=e.getOffsetAt(t[0]),i=e.getOffsetAt(t[1])+e.getHeightAt(t[1]);return{top:n+"px",height:i-n+"px"}},_getHorizontalStyles:function(t){var e=this.columnWidths,n=this.columnModel.getVisibleMetaColumnCount(),i=t[0],o=t[1],s=0,l=0,u=0;for(this.whichSide===a.L&&(i+=n,o+=n),o=Math.min(o,e.length-1);u<=o;u+=1)ut&&this.$el.css("left",t-e)},_adjustCellOffsetValue:function(t){var e=o.browser,n=t;return e.msie&&(9===e.version?n=t-1:e.version>9&&(n=Math.floor(t))),n},_calculateLayoutStyle:function(t,e,n){var i=this.domState.getOffset(),o=this.domState.getElement(t,e),s=o.offset(),a=o.outerHeight()+r,l=o.outerWidth()+r;return{top:this._adjustCellOffsetValue(s.top)-i.top,left:this._adjustCellOffsetValue(s.left)-i.left,height:a,minWidth:n?l:"",width:n?"":l,lineHeight:a+"px"}},_onEditingStateChanged:function(t){t.editing?this._startEditing(t):this._finishEditing()},render:function(){return i.each(this.inputPainters,function(t){t.attachEventHandlers(this.$el,"")},this),this}});t.exports=u},function(t,e,n){"use strict";var i,o=n(6),s=n(36),r=n(8),a=n(22),l="yyyy-MM-dd",u=[[new Date(1900,0,1),new Date(2999,11,31)]];i=r.extend({initialize:function(t){this.focusModel=t.focusModel,this.textPainter=t.textPainter,this.columnModel=t.columnModel,this.domState=t.domState,this.datePickerMap=this._createDatePickers(),this.$focusedInput=null,this.listenTo(this.textPainter,"focusIn",this._onFocusInTextInput),this.listenTo(t.domEventBus,"windowResize",this._closeDatePickerLayer)},className:a.LAYER_DATE_PICKER,events:{click:"_onClick"},_onClick:function(t){t.stopPropagation()},_createDatePickers:function(){var t={},e=this.columnModel.get("columnModelMap");return o.each(e,function(e){var n,i=e.name,o=e.component;o&&"datePicker"===o.name&&(n=o.options||{},t[i]=new s(this.$el,n),this._bindEventOnDatePicker(t[i]))},this),t},_bindEventOnDatePicker:function(t){var e=this;t.on("open",function(){e.textPainter.blockFocusingOut()}),t.on("close",function(){var t=e.focusModel,n=t.which(),i=n.rowKey,o=n.columnName,s=e.$focusedInput.val();e.textPainter.unblockFocusingOut(),t.isEditingCell(i,o)&&t.dataModel.setValue(i,o,s),t.finishEditing()})},_resetDatePicker:function(t,e,n){var i=this.datePickerMap[n],o=t.format||l,s=t.date||new Date,r=t.selectableRanges;i.setInput(e,{format:o,syncFromInput:!0}),r?i.setRanges(r):i.setRanges(u),""===e.val()&&(i.setDate(s),e.val(""))},_calculatePosition:function(t){var e=t.offset(),n=t.outerHeight(),i=this.domState.getOffset();return{top:e.top-i.top+n,left:e.left-i.left}},_onFocusInTextInput:function(t,e){var n,i=e.columnName,o=this.columnModel.getColumnModel(i).component,s=this.columnModel.getEditType(i);"text"===s&&o&&"datePicker"===o.name&&(n=o.options||{},this.$focusedInput=t,this.$el.css(this._calculatePosition(t)).show(),this._resetDatePicker(n,t,i),this.datePickerMap[i].open())},_closeDatePickerLayer:function(){var t=this.focusModel.which().columnName,e=this.datePickerMap[t];e&&e.isOpened()&&e.close()},render:function(){return this.$el.hide(),this}}),t.exports=i},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(8),r=n(14),a=n(22),l=r.frame,u=r.dimension.CELL_BORDER_WIDTH,d='
',h=a.LAYER_FOCUS_DEACTIVE,c=s.extend({initialize:function(t){this.focusModel=t.focusModel,this.columnModel=t.columnModel,this.coordRowModel=t.coordRowModel,this.coordColumnModel=t.coordColumnModel,this.coordConverterModel=t.coordConverterModel,this.whichSide=t.whichSide,this.borderEl={$top:i(d),$left:i(d),$right:i(d),$bottom:i(d)},this.listenTo(this.coordColumnModel,"columnWidthChanged",this._refreshCurrentLayout),this.listenTo(this.coordRowModel,"reset",this._refreshCurrentLayout),this.listenTo(this.focusModel,"blur",this._onBlur),this.listenTo(this.focusModel,"focus",this._onFocus),this.listenTo(this.focusModel,"change:active",this._onChangeActiveState)},className:a.LAYER_FOCUS,_refreshCurrentLayout:function(){var t=this.focusModel;"none"!==this.$el.css("display")&&this._refreshBorderLayout(t.get("rowKey"),t.get("columnName"))},_onBlur:function(){this.$el.hide()},_onFocus:function(t,e){var n=this.columnModel.isLside(e)?l.L:l.R;n===this.whichSide&&(this._refreshBorderLayout(t,e),this.$el.show())},_onChangeActiveState:function(t){t.changed.active?this.$el.removeClass(h):this.$el.addClass(h)},_refreshBorderLayout:function(t,e){var n=this.coordConverterModel.getCellPosition(t,e),i=n.right-n.left,o=n.bottom-n.top;this.borderEl.$left.css({top:n.top,left:n.left,width:u,height:o+u}),this.borderEl.$top.css({top:0===n.top?u:n.top,left:n.left,width:i+u,height:u}),this.borderEl.$right.css({top:n.top,left:n.left+i,width:u,height:o+u}),this.borderEl.$bottom.css({top:n.top+o,left:n.left,width:i+u,height:u})},render:function(){var t=this.$el;return o.each(this.borderEl,function(e){t.append(e)}),t.hide(),this}});t.exports=c},function(t,e,n){"use strict";var i=n(6),o=n(9);t.exports={create:function(){return i.extend({},o.Events)}}},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(14).attrName,r=n(22),a=o.defineClass({init:function(t){this.$el=t},_getBodyTableRows:function(t){return this.$el.find("."+t).find("."+r.BODY_TABLE_CONTAINER).find("tr["+s.ROW_KEY+"]")},_getMaxCellHeight:function(t){var e=t.find("."+r.CELL_CONTENT).map(function(){return this.scrollHeight}).get();return i.max(e)},getElement:function(t,e){return this.$el.find("tr["+s.ROW_KEY+"="+t+"]").find("td["+s.COLUMN_NAME+'="'+e+'"]')},getRowHeights:function(){var t,e,n,i,o=this._getBodyTableRows(r.LSIDE_AREA),s=this._getBodyTableRows(r.RSIDE_AREA),a=[];for(n=0,i=o.length;n" class="<%=className%>" style="height: <%=height%>px;"><%=contents%>'),_getEditType:function(t,e){var n=o.pick(e.columnModel,"editOptions","type");return n||"normal"},_generateHtmlForDummyRow:function(t,e){var n=this.painterManager.getCellPainter("dummy"),o="";return i.each(e,function(e){o+=n.generateHtml(t,e)}),o},_generateHtmlForActualRow:function(t,e){var n="";return i.each(e,function(e){var i,o,s=t.get(e);s&&s.isMainRow&&(i=this._getEditType(e,s),o=this.painterManager.getCellPainter(i),n+=o.generateHtml(s))},this),n},generateHtml:function(t,e){var n,o=t.get("rowKey"),s=t.get("rowNum"),r=s%2?a.ROW_ODD:a.ROW_EVEN,d="";return i.isUndefined(o)?n=this._generateHtmlForDummyRow(s,e):(d=l.ROW_KEY+'="'+o+'"',n=this._generateHtmlForActualRow(t,e)),this.template({rowKeyAttr:d,height:t.get("height")+u,contents:n,className:r})},refresh:function(t,e){i.each(t,function(t,n){var i,o,s;"_extraData"!==n&&(s=e.find("td["+l.COLUMN_NAME+'="'+n+'"]'),i=this._getEditType(n,t),o=this.painterManager.getCellPainter(i),o.refresh(t,s))},this)}});t.exports=d},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(14).attrName,r=o.defineClass({init:function(t){this.controller=t.controller},events:{},selector:"",_getCellAddress:function(t){var e=t.closest("["+s.ROW_KEY+"]");return{rowKey:e.attr(s.ROW_KEY),columnName:e.attr(s.COLUMN_NAME)}},attachEventHandlers:function(t,e){i.each(this.events,function(n,o){var s=i.bind(this[n],this),r=e+" "+this.selector;t.on(o,r,s)},this)},generateHtml:function(){throw new Error("implement generateHtml() method")}});t.exports=r},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(65),r=n(20),a=n(14).attrName,l=n(22),u=o.defineClass(s,{init:function(t){s.apply(this,arguments),this.editType=t.editType,this.fixedRowHeight=t.fixedRowHeight,this.inputPainter=t.inputPainter,this.selector="td["+a.EDIT_TYPE+'="'+this.editType+'"]'},template:i.template(' style="<%=style%>"><%=contentHtml%>'),contentTemplate:i.template('
<%=content%>
'),_isEditableType:function(){return!i.contains(["normal","mainButton"],this.editType)},_getContentStyle:function(t){var e=t.columnModel.whiteSpace||"nowrap",n=[];return e&&n.push("white-space:"+e),this.fixedRowHeight&&n.push("max-height:"+t.height+"px"),n.join(";")},_getContentHtml:function(t){var e,n,o=t.columnModel.template,s=t.formattedValue,r=t.prefix,a=t.postfix;return this.inputPainter&&(s=this.inputPainter.generateHtml(t),this._shouldContentBeWrapped()&&!this._isUsingViewMode(t)&&(r=this._getSpanWrapContent(r,l.CELL_CONTENT_BEFORE),a=this._getSpanWrapContent(a,l.CELL_CONTENT_AFTER),s=this._getSpanWrapContent(s,l.CELL_CONTENT_INPUT),e=r+a+s)),e||(e=r+s+a),n="_number"===t.columnName&&i.isFunction(o)?o({content:e}):this.contentTemplate({content:e,className:l.CELL_CONTENT,style:this._getContentStyle(t)})},_isUsingViewMode:function(t){return o.pick(t,"columnModel","editOptions","useViewMode")!==!1},_shouldContentBeWrapped:function(){return i.contains(["text","password","select"],this.editType)},_getSpanWrapContent:function(t,e){return o.isFalsy(t)&&(t=""),''+t+""},_getAttributes:function(t){var e=[t.className,l.CELL],n={align:t.columnModel.align||"left"};return n.class=e.join(" "),n[a.EDIT_TYPE]=this.editType,n[a.ROW_KEY]=t.rowKey,n[a.COLUMN_NAME]=t.columnName,t.rowSpan&&(n.rowspan=t.rowSpan),n},attachEventHandlers:function(t,e){s.prototype.attachEventHandlers.call(this,t,e),this.inputPainter&&this.inputPainter.attachEventHandlers(t,e+" "+this.selector)},generateHtml:function(t){var e=r.getAttributesString(this._getAttributes(t)),n=this._getContentHtml(t),i=t.columnModel.valign,o=[];return i&&o.push("vertical-align:"+i),this.template({attributeString:e,style:o.join(";"),contentHtml:n})},refresh:function(t,e){var n=["value","editing","disabled","listItems"],o=i.contains(t.changed,"editing")&&t.editing,s=i.intersection(n,t.changed).length>0,r=this._getAttributes(t),a="mainButton"===this.editType;e.attr(r),o&&!this._isUsingViewMode(t)?this.inputPainter.focus(e):a?e.find(this.inputPainter.selector).prop({checked:t.value,disabled:t.disabled}):s&&(e.html(this._getContentHtml(t)),e.scrollLeft(0))}});t.exports=u},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(65),r=n(20),a=n(14).attrName,l=n(22),u=o.defineClass(s,{init:function(){s.apply(this,arguments)},selector:"td["+a.EDIT_TYPE+'="dummy"]',template:i.template("'),generateHtml:function(t,e){var n=[l.CELL,l.CELL_DUMMY];return r.isMetaColumn(e)&&n.push(l.CELL_HEAD),this.template({columnName:e,className:n.join(" ")})}});t.exports=u},function(t,e,n){"use strict";var i=n(6),o=n(7),s=n(69),r=n(20),a=n(22),l="."+a.CELL_CONTENT_TEXT,u="input[type=password]",d=o.defineClass(s,{init:function(t){s.apply(this,arguments),this.inputType=t.inputType,this.selector="text"===t.inputType?l:u,this._extendEvents({selectstart:"_onSelectStart"})},templateInput:i.template('/>'),templateTextArea:i.template(''),_onSelectStart:function(t){t.stopPropagation()},_convertStringToAsterisks:function(t){return Array(t.length+1).join("*")},_getDisplayValue:function(t){var e=t.formattedValue;return"password"===this.inputType&&(e=this._convertStringToAsterisks(t.value)),e},_generateInputHtml:function(t){var e=o.pick(t,"columnModel","editOptions","maxLength"),n={type:this.inputType,className:a.CELL_CONTENT_TEXT,value:t.value,name:r.getUniqueKey(),disabled:t.disabled?"disabled":"",maxLength:e};return"nowrap"!==t.whiteSpace?this.templateTextArea(n):this.templateInput(n)},focus:function(t){var e=t.find(this.selector);1!==e.length||e.is(":focus")||e.select()}});t.exports=d},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(9),r=n(7),a=n(65),l=n(14).keyName,u=r.defineClass(a,{init:function(){a.apply(this,arguments),this._finishedEditing=!1},events:{keydown:"_onKeyDown",focusin:"_onFocusIn",focusout:"_onFocusOut",change:"_onChange"},keyDownActions:{ESC:function(t){this.controller.finishEditing(t.address,!0)},ENTER:function(t){this.controller.finishEditing(t.address,!0,t.value)},TAB:function(t){this.controller.finishEditing(t.address,!0,t.value),this.controller.focusInToNextCell(t.shiftKey)}},_extendKeydownActions:function(t){this.keyDownActions=o.assign({},this.keyDownActions,t)},_extendEvents:function(t){this.events=o.assign({},this.events,t)},_executeCustomEventHandler:function(t,e){this.controller.executeCustomInputEventHandler(t,e)},_onChange:function(){},_onFocusIn:function(t){var e=i(t.target),n=this._getCellAddress(e),s=this;o.defer(function(){s._executeCustomEventHandler(t,n),s.trigger("focusIn",e,n),s.controller.startEditing(n)})},_onFocusOut:function(t){var e=i(t.target),n=this._getCellAddress(e);this._finishedEditing||(this._executeCustomEventHandler(t,n),this.trigger("focusOut",e,n),this.controller.finishEditing(n,!1,e.val()))},_onKeyDown:function(t){var e=t.keyCode||t.which,n=l[e],o=this.keyDownActions[n],s=i(t.target),r={$target:s,address:this._getCellAddress(s),shiftKey:t.shiftKey,value:s.val()};this._executeCustomEventHandler(t,r.address),o&&!t.shiftKey&&(o.call(this,r),t.preventDefault())},_getDisplayValue:function(){throw new Error("implement _getDisplayValue() method")},_generateInputHtml:function(){throw new Error("implement _generateInputHtml() method")},_isUsingViewMode:function(t){return r.pick(t,"columnModel","editOptions","useViewMode")!==!1},generateHtml:function(t){var e;return e=o.isNull(t.convertedHTML)?!this._isUsingViewMode(t)||t.editing?this._generateInputHtml(t):this._getDisplayValue(t):t.convertedHTML},focus:function(t){var e=t.find(this.selector);e.is(":focus")||e.eq(0).focus()},blockFocusingOut:function(){this._finishedEditing=!0},unblockFocusingOut:function(){this._finishedEditing=!1}});o.assign(u.prototype,s.Events),t.exports=u},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(69),a=n(20),l=s.defineClass(r,{init:function(){r.apply(this,arguments),this.selector="select"},template:o.template(''),optionTemplate:o.template(''),_onChange:function(t){var e=i(t.target),n=this._getCellAddress(e);this.controller.setValueIfNotUsingViewMode(n,e.val())},_getDisplayValue:function(t){var e=o.find(t.listItems,function(e){return String(e.value)===String(t.value)});return e?e.text:""},_generateInputHtml:function(t){var e=o.reduce(t.listItems,function(e,n){return e+this.optionTemplate({value:n.value,text:n.text,selected:String(t.value)===String(n.value)?"selected":""})},"",this);return this.template({name:a.getUniqueKey(),disabled:t.disabled?"disabled":"",options:e})}});t.exports=l},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(69),a=n(20),l=s.defineClass(r,{init:function(t){r.apply(this,arguments),this.inputType=t.inputType,this.selector="fieldset[data-type="+this.inputType+"]",this._extendEvents({mousedown:"_onMouseDown"}),this._extendKeydownActions({TAB:function(t){var e;this._focusNextInput(t.$target,t.shiftKey)||(e=this._getCheckedValueString(t.$target),this.controller.finishEditing(t.address,!0,e),this.controller.focusInToNextCell(t.shiftKey))},ENTER:function(t){var e=this._getCheckedValueString(t.$target);this.controller.finishEditing(t.address,!0,e)},LEFT_ARROW:function(t){this._focusNextInput(t.$target,!0)},RIGHT_ARROW:function(t){this._focusNextInput(t.$target)},UP_ARROW:function(){},DOWN_ARROW:function(){}})},template:o.template('
<%=content%>
'),inputTemplate:o.template(' <%=disabled%> />'), +labelTemplate:o.template(''),_onChange:function(t){var e=i(t.target),n=this._getCellAddress(e),o=this._getCheckedValueString(e);this.controller.setValueIfNotUsingViewMode(n,o)},_onFocusOut:function(t){var e=i(t.target),n=this;o.defer(function(){var t,i;e.siblings("input:focus").length||(t=n._getCellAddress(e),i=n._getCheckedValueString(e),n.controller.finishEditing(t,!1,i))})},_onMouseDown:function(t){var e=i(t.target),n=e.closest("fieldset").find("input:focus").length>0;!e.is("input")&&n&&(t.stopPropagation(),t.preventDefault())},_focusNextInput:function(t,e){var n=e?"prevAll":"nextAll",i=t[n]("input");return!!i.length&&(i.first().focus(),!0)},_getCheckedValueString:function(t){var e,n=t.parent().find("input:checked"),o=[];return n.each(function(){var t=i(this),e=t.attr("data-value-type"),n=a.convertValueType(t.val(),e);o.push(n)}),e=1===o.length?o[0]:o.join(",")},_getCheckedValueSet:function(t){var e={};return o.each(String(t).split(","),function(t){e[t]=!0}),e},_getDisplayValue:function(t){var e=this._getCheckedValueSet(t.value),n=[];return o.each(t.listItems,function(t){e[t.value]&&n.push(t.text)}),n.join(",")},_generateInputHtml:function(t){var e=this._getCheckedValueSet(t.value),n=a.getUniqueKey(),i="";return o.each(t.listItems,function(o){var s=n+"_"+o.value;i+=this.inputTemplate({type:this.inputType,id:s,name:n,value:o.value,valueType:typeof o.value,checked:e[o.value]?"checked":"",disabled:t.isDisabled?"disabled":""}),o.text&&(i+=this.labelTemplate({id:s,labelText:o.text}))},this),this.template({type:this.inputType,content:i})},focus:function(t){var e=t.find("input");e.is(":focus")||e.eq(0).focus()}});t.exports=l},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r=n(65),a=n(22),l=n(14).keyCode,u=a.CELL_MAIN_BUTTON,d=s.defineClass(r,{init:function(t){r.apply(this,arguments),this.selector="input."+u,this.inputType=t.inputType,this.gridId=t.gridId},events:{change:"_onChange",keydown:"_onKeydown"},template:o.template(' <%=disabled%> />'),_onChange:function(t){var e=i(t.target),n=this._getCellAddress(e);this.controller.setValue(n,e.is(":checked"))},_onKeydown:function(t){var e;t.keyCode===l.TAB&&(t.preventDefault(),e=this._getCellAddress(i(t.target)),this.controller.focusInToRow(e.rowKey))},generateHtml:function(t){var e=t.columnModel.template,n=null,i={type:this.inputType,name:this.gridId,className:u};return n=o.isFunction(e)?e(o.extend(i,{checked:t.value,disabled:t.disabled})):this.template(o.extend(i,{checked:t.value?"checked":"",disabled:t.disabled?"disabled":""}))}});t.exports=d},function(t,e,n){"use strict";function i(t){return r.isString(t)&&(t=t.replace(/,/g,"")),r.isNumber(t)||isNaN(t)||l.isBlank(t)?t:Number(t)}function o(t){switch(t){case"focusin":return"onFocus";case"focusout":return"onBlur";case"keydown":return"onKeyDown";default:return""}}var s=n(10),r=n(6),a=n(7),l=n(20),u=a.defineClass({init:function(t){this.focusModel=t.focusModel,this.dataModel=t.dataModel,this.columnModel=t.columnModel,this.selectionModel=t.selectionModel},startEditing:function(t,e){var n;return e&&this.focusModel.finishEditing(),n=this.focusModel.startEditing(t.rowKey,t.columnName),n&&this.selectionModel.end(),n},_checkMaxLength:function(t,e){var n=this.columnModel.getColumnModel(t),i=a.pick(n,"editOptions","maxLength");return i>0&&e.length>i?e.substring(0,i):e},finishEditing:function(t,e,n){var i,o,s=this.focusModel;return!!s.isEditingCell(t.rowKey,t.columnName)&&(this.selectionModel.enable(),r.isUndefined(n)||(i=this.dataModel.get(t.rowKey),o=i.get(t.columnName),l.isBlank(n)&&l.isBlank(o)||this.setValue(t,this._checkMaxLength(t.columnName,n))),s.finishEditing(),e?s.focusClipboard():r.defer(function(){s.refreshState()}),!0)},focusInToNextCell:function(t){var e=this.focusModel,n=t?e.prevAddress():e.nextAddress();e.focusIn(n.rowKey,n.columnName,!0)},focusInToRow:function(t){var e=this.focusModel;e.focusIn(t,e.firstColumnName(),!0)},executeCustomInputEventHandler:function(t,e){var n,i,s,a=this.columnModel.getColumnModel(e.columnName);a&&(n=t.type,i=a.editOptions||{},s=i[o(n)],r.isFunction(s)&&s.call(t.target,t,e))},setValue:function(t,e){var n=this.columnModel.getColumnModel(t.columnName);r.isString(e)&&(e=s.trim(e)),"number"===n.dataType&&(e=i(e)),"_button"===n.name?e?this.dataModel.check(t.rowKey):this.dataModel.uncheck(t.rowKey):this.dataModel.setValue(t.rowKey,t.columnName,e)},setValueIfNotUsingViewMode:function(t,e){var n=this.columnModel.getColumnModel(t.columnName);a.pick(n,"editOptions","useViewMode")||this.setValue(t,e)}});t.exports=u},function(t,e,n){"use strict";var i=n(10),o=n(9),s=n(6),r=n(8),a=n(75),l=n(20),u=n(76),d=n(44),h=n(19),c=n(14).renderState,g=200,m=r.extend({initialize:function(t){var e={initialRequest:!0,perPage:500,enableAjaxHistory:!0},n={readData:"",createData:"",updateData:"",deleteData:"",modifyData:"",downloadExcel:"",downloadExcelAll:""};t=s.assign(e,t),t.api=s.assign(n,t.api),s.assign(this,{dataModel:t.dataModel,renderModel:t.renderModel,router:null,domEventBus:t.domEventBus,pagination:t.pagination,api:t.api,enableAjaxHistory:t.enableAjaxHistory,readDataMethod:t.readDataMethod||"POST",perPage:t.perPage,curPage:1,timeoutIdForDelay:null,requestedFormData:null,isLocked:!1,lastRequestedReadData:null}),this._initializeDataModelNetwork(),this._initializeRouter(),this._initializePagination(),this.listenTo(this.dataModel,"sortChanged",this._onSortChanged),this.listenTo(this.domEventBus,"click:excel",this._onClickExcel),t.initialRequest&&(this.lastRequestedReadData||this._readDataAt(1,!1))},tagName:"form",events:{submit:"_onSubmit"},_initializePagination:function(){var t=this.pagination;t&&(t.setItemsPerPage(this.perPage),t.setTotalItems(1),t.on("beforeMove",i.proxy(this._onPageBeforeMove,this)))},_onRouterRead:function(t){var e=l.toQueryObject(t);this._requestReadData(e)},_onClickExcel:function(t){var e="all"===t.type?"excelAll":"excel";this.download(e)},_initializeDataModelNetwork:function(){this.dataModel.url=this.api.readData,this.dataModel.sync=i.proxy(this._sync,this)},_initializeRouter:function(){this.enableAjaxHistory&&(this.router=new a({net:this}),this.listenTo(this.router,"route:read",this._onRouterRead),o.History.started||o.history.start())},_onPageBeforeMove:function(t){var e=t.page;this.curPage!==e&&this._readDataAt(e,!0)},_onSubmit:function(t){t.preventDefault(),this._readDataAt(1,!1)},_setFormData:function(t){var e=s.clone(t);s.each(this.lastRequestedReadData,function(t,n){(s.isUndefined(e[n])||s.isNull(e[n]))&&t&&(e[n]="")}),u.setFormData(this.$el,e)},_sync:function(t,e,n){var r;"read"===t?(n=n||{},r=i.extend({},n),n.url||(r.url=s.result(e,"url")),this._ajax(r)):o.sync(o,t,e,n)},_lock:function(){var t=this.renderModel;this.timeoutIdForDelay=setTimeout(function(){t.set("state",c.LOADING)},g),this.isLocked=!0},_unlock:function(){null!==this.timeoutIdForDelay&&(clearTimeout(this.timeoutIdForDelay),this.timeoutIdForDelay=null),this.isLocked=!1},_getFormData:function(){return u.getFormData(this.$el)},_onReadSuccess:function(t,e){var n,i,o=this.pagination;t.setOriginalRowList(),o&&e.pagination&&(n=e.pagination.page,i=e.pagination.totalCount,o.setItemsPerPage(this.perPage),o.setTotalItems(i),o.movePageTo(n),this.curPage=n)},_onReadError:function(t,e,n){},reloadData:function(){this._requestReadData(this.lastRequestedReadData)},readData:function(t,e,n){n?(e||(e={}),e.perPage=this.perPage,this._changeSortOptions(e,this.dataModel.sortOptions)):e=s.assign({},this.lastRequestedReadData,e),e.page=t,this._requestReadData(e)},_requestReadData:function(t){var e=1;this._setFormData(t),this.isLocked||(this.renderModel.initializeVariables(),this._lock(),this.requestedFormData=s.clone(t),this.curPage=t.page||this.curPage,e=(this.curPage-1)*this.perPage+1,this.renderModel.set({startNumber:e}),this.lastRequestedReadData=s.clone(t),this.dataModel.fetch({requestType:"readData",data:t,type:this.readDataMethod,success:i.proxy(this._onReadSuccess,this),error:i.proxy(this._onReadError,this),reset:!0}),this.dataModel.setSortOptionValues(t.sortColumn,t.sortAscending)),this.router&&this.router.navigate("read/"+l.toQueryString(t),{trigger:!1})},_onSortChanged:function(t){t.requireFetch&&this._readDataAt(1,!0,t)},_changeSortOptions:function(t,e){e&&("rowKey"===e.columnName?(delete t.sortColumn,delete t.sortAscending):(t.sortColumn=e.columnName,t.sortAscending=e.ascending))},_readDataAt:function(t,e,n){var i;e=!!s.isUndefined(e)||e,i=e?this.requestedFormData:this._getFormData(),i.page=t,i.perPage=this.perPage,this._changeSortOptions(i,n),this._requestReadData(i)},request:function(t,e){var n=s.extend({url:this.api[t],type:null,hasDataParam:!0,checkedOnly:!0,modifiedOnly:!0,showConfirm:!0,updateOriginal:!1},e),i=this._getRequestParam(t,n);return i&&(n.updateOriginal&&this.dataModel.setOriginalRowList(),this._ajax(i)),!!i},download:function(t){var e,n="download"+l.toUpperCaseFirstLetter(t),o=this.requestedFormData,r=this.api[n];"excel"===t?(o.page=this.curPage,o.perPage=this.perPage):o=s.omit(o,"page","perPage"),e=i.param(o),window.location=r+"?"+e},setPerPage:function(t){this.perPage=t,this._readDataAt(1)},_getDataParam:function(t,e){var n,i=this.dataModel,o={createData:["createdRows"],updateData:["updatedRows"],deleteData:["deletedRows"],modifyData:["createdRows","updatedRows","deletedRows"]},r=o[t],a={},l=0;return e=s.defaults(e||{},{hasDataParam:!0,modifiedOnly:!0,checkedOnly:!0}),e.hasDataParam&&(e.modifiedOnly?(n=i.getModifiedRows({checkedOnly:e.checkedOnly}),s.each(n,function(t,e){s.contains(r,e)&&t.length&&(l+=t.length,a[e]=JSON.stringify(t))},this)):(a.rows=i.getRows(e.checkedOnly),l=a.rows.length)),{data:a,count:l}},_getRequestParam:function(t,e){var n={url:this.api[t],type:null,hasDataParam:!0,modifiedOnly:!0,checkedOnly:!0},o=i.extend(n,e),s=this._getDataParam(t,o),r=null;return o.showConfirm&&!this._isConfirmed(t,s.count)||(r={requestType:t,url:o.url,data:s.data,type:o.type}),r},_isConfirmed:function(t,e){var n=!1;return e>0?n=confirm(this._getConfirmMessage(t,e)):alert(this._getConfirmMessage(t,e)),n},_getConfirmMessage:function(t,e){var n=t.replace("Data","Action"),i=d.get(n),o={count:e,actionName:i},s=e>0?"requestConfirm":"noDataResponse";return d.get(s,o)},_ajax:function(t){var e,n=new h(null,t.data);this.trigger("beforeRequest",n),n.isStopped()||(t=i.extend({requestType:""},t),e={url:t.url,data:t.data||{},type:t.type||"POST",dataType:t.dataType||"json",complete:i.proxy(this._onComplete,this,t.complete,t),success:i.proxy(this._onSuccess,this,t.success,t),error:i.proxy(this._onError,this,t.error,t)},t.url&&i.ajax(e))},_onComplete:function(t,e,n){this._unlock()},_onSuccess:function(t,e,n,i,o){var r=n&&n.message,a=new h(null,{httpStatus:i,requestType:e.requestType,requestParameter:e.data,responseData:n});if(this.trigger("response",a),!a.isStopped())if(n&&n.result){if(this.trigger("successResponse",a),a.isStopped())return;s.isFunction(t)&&t(n.data||{},i,o)}else{if(this.trigger("failResponse",a),a.isStopped())return;r&&alert(r)}},_onError:function(t,e,n,i){var o=new h(null,{httpStatus:i,requestType:e.requestType,requestParameter:e.data,responseData:null});this.renderModel.set("state",c.DONE),this.trigger("response",o),o.isStopped()||(this.trigger("errorResponse",o),o.isStopped()||n.readyState>1&&alert(d.get("errorResponse")))}});t.exports=m},function(t,e,n){"use strict";var i=n(9),o=i.Router.extend({initialize:function(t){this.net=t.net},routes:{"read/:queryStr":"read"}});t.exports=o},function(t,e,n){"use strict";var i=n(10),o=n(6),s=n(7),r={setInput:{_changeToStringInArray:function(t){return o.each(t,function(e,n){t[n]=String(e)}),t},radio:function(t,e){t.checked=t.value===e},checkbox:function(t,e){o.isArray(e)?t.checked=i.inArray(t.value,this._changeToStringInArray(e))!==-1:t.checked=t.value===e},"select-one":function(t,e){var n=s.toArray(t.options);t.selectedIndex=o.findIndex(n,function(t){return t.value===e||t.text===e})},"select-multiple":function(t,e){var n=s.toArray(t.options);o.isArray(e)?(e=this._changeToStringInArray(e),o.each(n,function(t){t.selected=i.inArray(t.value,e)!==-1||i.inArray(t.text,e)!==-1})):this["select-one"].apply(this,arguments)},defaultAction:function(t,e){t.value=e}},getFormData:function(t){var e={},n=t.serializeArray(),i=s.isExisty;return o.each(n,function(t){var n=t.value||"",o=t.name;i(e[o])?e[o]=[].concat(e[o],n):e[o]=n}),e},getFormElement:function(t,e){var n;return t&&t.length&&(n=e?t.prop("elements")[String(e)]:t.prop("elements")),i(n)},setFormData:function(t,e){o.each(e,function(e,n){this.setFormElementValue(t,n,e)},this)},setFormElementValue:function(t,e,n){var i,r=this.getFormElement(t,e);r.length&&(o.isArray(n)||(n=String(n)),r=s.isHTMLTag(r)?[r]:r,r=s.toArray(r),o.each(r,function(t){i=this.setInput[t.type]?t.type:"defaultAction",this.setInput[i](t,n)},this))},setCursorToEnd:function(t){var e,n=t.value.length;if(t.focus(),t.setSelectionRange)try{t.setSelectionRange(n,n)}catch(t){}else if(t.createTextRange){e=t.createTextRange(),e.collapse(!0),e.moveEnd("character",n),e.moveStart("character",n);try{e.select()}catch(t){}}}};t.exports=r},function(t,e,n){"use strict";var i=n(10),o=n(7),s={pagination:null},r=o.defineClass({init:function(t){this.optionsMap=i.extend(!0,s,t),this.instanceMap={}},getInstance:function(t){return this.instanceMap[t]},setInstance:function(t,e){this.instanceMap[t]=e},getOptions:function(t){return this.optionsMap[t]}});t.exports=r},function(t,e,n){"use strict";function i(t){var e=[a.grid(t.grid),a.scrollbar(t.scrollbar),a.heightResizeHandle(t.heightResizeHandle),a.pagination(t.pagination),a.selection(t.selection)],n=t.cell;return n&&(e=e.concat([a.cell(n.normal),a.cellDummy(n.dummy),a.cellEditable(n.editable),a.cellHead(n.head),a.cellOddRow(n.oddRow),a.cellEvenRow(n.evenRow),a.cellRequired(n.required),a.cellDisabled(n.disabled),a.cellInvalid(n.invalid),a.cellCurrentRow(n.currentRow),a.cellSelectedHead(n.selectedHead),a.cellFocused(n.focused),a.cellFocusedInactive(n.focusedInactive)])),e.join("")}function o(t){var e=i(t);s("#"+u).remove(),r.appendStyleElement(u,e)}var s=n(10),r=n(20),a=n(79),l=n(14).themeName,u="tui-grid-theme-style",d={};d[l.DEFAULT]=n(81),d[l.STRIPED]=n(82),d[l.CLEAN]=n(83),t.exports={apply:function(t,e){var n=d[t];n||(n=d[l.DEFAULT]),n=s.extend(!0,{},n,e),o(n)},isApplied:function(){return 1===s("#"+u).length}}},function(t,e,n){"use strict";function i(t,e){return l(t).bg(e.background).text(e.text).build()}function o(t,e){return l(t).bg(e.background).border(e.border).build()}var s=n(6),r=n(80),a=n(22),l=s.bind(r.createClassRule,r);t.exports={grid:function(t){var e=l(a.CONTAINER).bg(t.background).text(t.text),n=l(a.CONTENT_AREA).border(t.border),i=l(a.TABLE).border(t.border),o=l(a.HEAD_AREA).border(t.border),s=l(a.SUMMARY_AREA).border(t.border),u=l(a.BORDER_LINE).bg(t.border),d=l(a.SCROLLBAR_HEAD).border(t.border),h=l(a.SCROLLBAR_BORDER).bg(t.border),c=l(a.SUMMARY_AREA_RIGHT).border(t.border);return r.buildAll([e,n,i,o,s,u,d,h,c])},scrollbar:function(t){var e=r.createWebkitScrollbarRules("."+a.CONTAINER,t),n=r.createIEScrollbarRule("."+a.CONTAINER,t),i=l(a.SCROLLBAR_RIGHT_BOTTOM).bg(t.background),o=l(a.SCROLLBAR_LEFT_BOTTOM).bg(t.background),s=l(a.SCROLLBAR_HEAD).bg(t.background),u=l(a.SUMMARY_AREA_RIGHT).bg(t.background),d=l(a.BODY_AREA).bg(t.background);return r.buildAll(e.concat([n,i,o,s,u,d]))},heightResizeHandle:function(t){return o(a.HEIGHT_RESIZE_HANDLE,t)},pagination:function(t){return o(a.PAGINATION,t)},selection:function(t){return o(a.LAYER_SELECTION,t)},cell:function(t){var e=l(a.CELL).bg(t.background).border(t.border).borderWidth(t).text(t.text);return e.build()},cellHead:function(t){var e=l(a.CELL_HEAD).bg(t.background).border(t.border).borderWidth(t).text(t.text),n=l(a.HEAD_AREA).bg(t.background),i=l(a.SUMMARY_AREA).bg(t.background);return r.buildAll([e,n,i])},cellEvenRow:function(t){return l(a.ROW_EVEN+">td").bg(t.background).build()},cellOddRow:function(t){return l(a.ROW_ODD+">td").bg(t.background).build()},cellSelectedHead:function(t){return r.create("."+a.CELL_HEAD+"."+a.CELL_SELECTED).bg(t.background).text(t.text).build()},cellFocused:function(t){var e=l(a.LAYER_FOCUS_BORDER).bg(t.border),n=l(a.LAYER_EDITING).border(t.border);return r.buildAll([e,n])},cellFocusedInactive:function(t){return r.create("."+a.LAYER_FOCUS_DEACTIVE+" ."+a.LAYER_FOCUS_BORDER).bg(t.border).build()},cellEditable:function(t){return i(a.CELL_EDITABLE,t)},cellRequired:function(t){return i(a.CELL_REQUIRED,t)},cellDisabled:function(t){return i(a.CELL_DISABLED,t)},cellDummy:function(t){return i(a.CELL_DUMMY,t)},cellInvalid:function(t){return i(a.CELL_INVALID,t)},cellCurrentRow:function(t){return i(a.CELL_CURRENT_ROW,t)}}},function(t,e,n){"use strict";var i=n(6),o=n(7),s=o.defineClass({init:function(t){if(!i.isString(t)||!t)throw new Error("The Selector must be a string and not be empty.");this._selector=t,this._propValues=[]},add:function(t,e){return e&&this._propValues.push(t+":"+e),this},border:function(t){return this.add("border-color",t)},borderWidth:function(t){var e,n=t.showVerticalBorder,o=t.showHorizontalBorder;return i.isBoolean(n)&&(e=n?"1px":"0",this.add("border-left-width",e).add("border-right-width",e)),i.isBoolean(o)&&(e=o?"1px":"0",this.add("border-top-width",e).add("border-bottom-width",e)),this},bg:function(t){return this.add("background-color",t)},text:function(t){return this.add("color",t)},build:function(){var t="";return this._propValues.length&&(t=this._selector+"{"+this._propValues.join(";")+"}"),t}});t.exports={create:function(t){return new s(t)},createClassRule:function(t){return this.create("."+t)},createWebkitScrollbarRules:function(t,e){return[this.create(t+" ::-webkit-scrollbar").bg(e.background),this.create(t+" ::-webkit-scrollbar-thumb").bg(e.thumb),this.create(t+" ::-webkit-scrollbar-thumb:hover").bg(e.active)]},createIEScrollbarRule:function(t,e){var n=["scrollbar-3dlight-color","scrollbar-darkshadow-color","scrollbar-track-color","scrollbar-shadow-color"],o=["scrollbar-face-color","scrollbar-highlight-color"],s=this.create(t);return i.each(n,function(t){s.add(t,e.background)}),i.each(o,function(t){s.add(t,e.thumb)}),s.add("scrollbar-arrow-color",e.active),s},buildAll:function(t){return i.map(t,function(t){return t.build()}).join("")}}},function(t,e){"use strict";t.exports={grid:{background:"#fff",border:"#ccc",text:"#444"},selection:{background:"#4daaf9",border:"#004082"},heightResizeHandle:{border:"#ccc",background:"#fff"},pagination:{border:"transparent",background:"transparent"},scrollbar:{background:"#f5f5f5",thumb:"#d9d9d9",active:"#c1c1c1"},cell:{normal:{background:"#fbfbfb",border:"#e0e0e0",showVerticalBorder:!0,showHorizontalBorder:!0},head:{background:"#eee",border:"#ccc",showVerticalBorder:!0,showHorizontalBorder:!0},selectedHead:{background:"#d8d8d8"},focused:{border:"#418ed4"},focusedInactive:{border:"#aaa"},required:{background:"#fffdeb"},editable:{background:"#fff"},disabled:{text:"#b0b0b0"},dummy:{background:"#fff"},invalid:{background:"#ff8080"},evenRow:{},oddRow:{},currentRow:{}}}},function(t,e,n){"use strict";var i=n(10),o=n(81);t.exports=i.extend(!0,{},o,{cell:{normal:{background:"#fff",border:"#e8e8e8",showVerticalBorder:!1,showHorizontalBorder:!1},oddRow:{background:"#f3f3f3"},evenRow:{background:"#fff"},head:{background:"#fff",showVerticalBorder:!1,showHorizontalBorder:!1}}})},function(t,e,n){"use strict";var i=n(10),o=n(81);t.exports=i.extend(!0,{},o,{grid:{border:"#c0c0c0"},cell:{normal:{background:"#fff",border:"#e0e0e0",showVerticalBorder:!1,showHorizontalBorder:!0},head:{background:"#fff",border:"#e0e0e0",showVerticalBorder:!1,showHorizontalBorder:!0},selectedHead:{background:"#e0e0e0"}}})}])}); \ No newline at end of file diff --git a/dist/tui-grid.css b/dist/tui-grid.css index 1d47f4454..f39a62a9a 100644 --- a/dist/tui-grid.css +++ b/dist/tui-grid.css @@ -1,6 +1,6 @@ /*! - * bundle created at "Thu Sep 28 2017 10:34:09 GMT+0900 (KST)" - * version: 2.4.1 + * bundle created at "Thu Oct 26 2017 11:04:11 GMT+0900 (KST)" + * version: 2.5.0 */ .tui-grid-container { width: 100%; @@ -204,10 +204,10 @@ width: 100%; border-right-width: 0; } -.tui-grid-foot-area .tui-grid-table { +.tui-grid-summary-area .tui-grid-table { border-width: 0 0 1px; } -.tui-grid-foot-area .tui-grid-cell { +.tui-grid-summary-area .tui-grid-cell { border-width: 0 1px; } .tui-grid-cell { @@ -273,10 +273,9 @@ .tui-grid-column-resize-handle { float: left; position: absolute; - top: -1px; + bottom: 1px; left: -99px; width: 7px; - height: 100%; background: #000; opacity: 0; filter: alpha(opacity=0); @@ -339,14 +338,19 @@ position: relative; overflow: scroll; } -.tui-grid-foot-area { +.tui-grid-summary-area { position: relative; - border-width: 1px 0 0; border-style: solid; margin-top: -18px; overflow-y: hidden; overflow-x: scroll; } +.tui-grid-summary-area-top { + border-width: 0; +} +.tui-grid-summary-area-bottom { + border-width: 1px 0 0; +} .tui-grid-lside-area { display: none; position: absolute; @@ -366,26 +370,30 @@ overflow: hidden; } .tui-grid-rside-area .tui-grid-head-area, -.tui-grid-rside-area .tui-grid-foot-area { +.tui-grid-rside-area .tui-grid-summary-area { margin-right: 17px; } .tui-grid-no-scroll-y .tui-grid-rside-area .tui-grid-head-area, -.tui-grid-no-scroll-y .tui-grid-rside-area .tui-grid-foot-area { +.tui-grid-no-scroll-y .tui-grid-rside-area .tui-grid-summary-area { margin-right: 0; } -.tui-grid-no-scroll-x .tui-grid-foot-area { +.tui-grid-no-scroll-x .tui-grid-summary-area { margin-top: 0; overflow-x: hidden; } -.tui-grid-no-scroll-x .tui-grid-foot-area-right { +.tui-grid-no-scroll-x .tui-grid-summary-area-right { bottom: 0; } -.tui-grid-foot-area-right { +.tui-grid-summary-area-right { position: absolute; right: 0; - bottom: 17px; width: 17px; border-style: solid; +} +.tui-grid-summary-area-right-top { + border-width: 0 0 1px 1px; +} +.tui-grid-summary-area-right-bottom { border-width: 1px 0 1px 1px; } .tui-grid-body-container { @@ -540,100 +548,3 @@ .tui-grid-pagination .tui-grid-next-end-off { background-position: -75px -30px; } -.tui-grid-calendar-btn-prev-year, -.tui-grid-calendar-btn-prev-month, -.tui-grid-calendar-btn-next-month, -.tui-grid-calendar-btn-next-year { - position: absolute; - top: 4px; - padding: 3px 6px 2px; - border: 1px solid transparent; -} -.tui-grid-calendar-btn-prev-year:hover, -.tui-grid-calendar-btn-prev-month:hover, -.tui-grid-calendar-btn-next-month:hover, -.tui-grid-calendar-btn-next-year:hover { - border-color: #ccc; -} -.tui-grid-calendar { - position: absolute; - width: 190px; - background: #fff; - border: 1px solid #ccc; - font-size: 11px; - color: #444; - font-family: arial; -} -.tui-grid-calendar table { - margin: 0 auto; - table-layout: fixed; - text-align: center; -} -.tui-grid-calendar table tr { - height: 20px; -} -.tui-grid-calendar table th { - width: 20px; -} -.tui-grid-calendar table th.tui-grid-calendar-sat { - color: #00f; -} -.tui-grid-calendar table th.tui-grid-calendar-sun { - color: #e82828; -} -.tui-grid-calendar table td { - background: #eee; - color: #ccc; -} -.tui-grid-calendar table td.tui-grid-calendar-selectable { - cursor: pointer; - background: #fff; - color: #444; -} -.tui-grid-calendar table td.tui-grid-calendar-selectable.tui-grid-calendar-selected { - background: #c3ebff; - font-weight: bold; -} -.tui-grid-calendar table td.tui-grid-calendar-selectable.tui-grid-calendar-sat { - color: #00f; -} -.tui-grid-calendar table td.tui-grid-calendar-selectable.tui-grid-calendar-sun { - color: #e82828; -} -.tui-grid-calendar table td.tui-grid-calendar-selectable:hover { - background: #c3ebff; -} -.tui-grid-calendar-header { - padding: 6px 0 5px; - text-align: center; - border-bottom: 1px solid #ddd; -} -.tui-grid-calendar-title { - font-size: 14px; -} -.tui-grid-calendar-body { - padding: 5px 7px; -} -.tui-grid-calendar-btn-prev-year { - left: 18px; -} -.tui-grid-calendar-btn-prev-month { - left: 42px; -} -.tui-grid-calendar-btn-next-month { - right: 42px; -} -.tui-grid-calendar-btn-next-year { - right: 20px; -} -.tui-grid-calendar-today { - text-decoration: underline; -} -.tui-grid-calendar-prev-month, -.tui-grid-calendar-next-month { - opacity: 0.4; - filter: alpha(opacity=40); -} -.tui-grid-calendar-footer { - display: none; -} diff --git a/dist/tui-grid.js b/dist/tui-grid.js index 56bd65aa9..f8309b4a8 100644 --- a/dist/tui-grid.js +++ b/dist/tui-grid.js @@ -1,6 +1,6 @@ /*! - * bundle created at "Thu Sep 28 2017 10:34:09 GMT+0900 (KST)" - * version: 2.4.1 + * bundle created at "Thu Oct 26 2017 11:04:11 GMT+0900 (KST)" + * version: 2.5.0 */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') @@ -248,20 +248,36 @@ return /******/ (function(modules) { // webpackBootstrap * for this column * @param {Object} [options.columns.component.options] - The options object to be used for * creating the component - * @param {Object} [options.footer] - The object for configuring footer area. - * @param {number} [options.footer.height] - The height of the footer area. - * @param {Object.} [options.footer.columnContent] - * The object for configuring each column in the footer. + * @param {Object} [options.summary] - The object for configuring summary area. + * @param {number} [options.summary.height] - The height of the summary area. + * @param {Object.} [options.summary.columnContent] + * The object for configuring each column in the summary. * Sub options below are keyed by each column name. - * @param {boolean} [options.footer.columnContent.useAutoSummary=true] + * @param {boolean} [options.summary.columnContent.useAutoSummary=true] * If set to true, the summary value of each column is served as a paramater to the template * function whenever data is changed. - * @param {function} [options.footer.columnContent.template] - Template function which returns the - * content(HTML) of the column of the footer. This function takes an K-V object as a parameter + * @param {function} [options.summary.columnContent.template] - Template function which returns the + * content(HTML) of the column of the summary. This function takes an K-V object as a parameter + * which contains a summary values keyed by 'sum', 'avg', 'min', 'max' and 'cnt'. + * @param {Object} [options.footer] - Deprecated: The object for configuring summary area. This option is replaced by "summary" option. + * @param {number} [options.footer.height] - Deprecated: The height of the summary area. + * @param {Object.} [options.footer.columnContent] + * Deprecated: The object for configuring each column in the summary. + * Sub options below are keyed by each column name. + * @param {boolean} [options.footer.columnContent.useAutoSummary=true] + * Deprecated: If set to true, the summary value of each column is served as a paramater to the template + * function whenever data is changed. + * @param {function} [options.footer.columnContent.template] - Deprecated: Template function which returns the + * content(HTML) of the column of the summary. This function takes an K-V object as a parameter * which contains a summary values keyed by 'sum', 'avg', 'min', 'max' and 'cnt'. */ var Grid = View.extend(/** @lends Grid.prototype */{ initialize: function(options) { + if (options.footer) { + util.warning('The "footer" option is deprecated since 2.5.0 and replaced by "summary" option.'); + options.summary = options.footer; + } + this.id = util.getUniqueKey(); this.domState = new DomState(this.$el); this.domEventBus = DomEventBus.create(); @@ -335,7 +351,7 @@ return /******/ (function(modules) { // webpackBootstrap */ _createViewFactory: function(options) { var viewOptions = _.pick(options, [ - 'heightResizable', 'footer' + 'heightResizable', 'summary' ]); var dependencies = { modelManager: this.modelManager, @@ -965,12 +981,22 @@ return /******/ (function(modules) { // webpackBootstrap }, /** - * Sets the HTML string of given column footer. + * Sets the HTML string of given column summary. + * @param {string} columnName - column name + * @param {string} contents - HTML string + */ + setSummaryColumnContent: function(columnName, contents) { + this.modelManager.columnModel.setSummaryContent(columnName, contents); + }, + + /** + * Sets the HTML string of given column summary. + * @deprecated since version 2.5.0 and is replaced by "setSummaryColumnContent" API * @param {string} columnName - column name * @param {string} contents - HTML string */ setFooterColumnContent: function(columnName, contents) { - this.modelManager.columnModel.setFooterContent(columnName, contents); + this.modelManager.columnModel.setSummaryContent(columnName, contents); }, /** @@ -1349,7 +1375,7 @@ return /******/ (function(modules) { // webpackBootstrap this.renderModel = this._createRenderModel(options); this.coordConverterModel = this._createCoordConverterModel(); this.selectionModel = this._createSelectionModel(options, domEventBus); - this.summaryModel = this._createSummaryModel(options.footer); + this.summaryModel = this._createSummaryModel(options.summary); this.clipboardModel = this._createClipboardModel(options, domEventBus); }, @@ -1389,6 +1415,7 @@ return /******/ (function(modules) { // webpackBootstrap }); }, + /* eslint-disable complexity */ /** * Creates an instance of dimension model and returns it. * @param {Object} options - Options @@ -1408,7 +1435,8 @@ return /******/ (function(modules) { // webpackBootstrap var attrs = { headerHeight: options.header.height, bodyHeight: bodyHeight, - footerHeight: options.footer ? options.footer.height : 0, + summaryHeight: options.summary ? options.summary.height : 0, + summaryPosition: options.summary ? (options.summary.position || 'bottom') : null, rowHeight: rowHeight, fitToParentHeight: (options.bodyHeight === 'fitToParent'), scrollX: !!options.scrollX, @@ -1434,6 +1462,7 @@ return /******/ (function(modules) { // webpackBootstrap return dimensionModel; }, + /* eslint-enable complexity */ /** * Creates an instance of coordRow model and returns it @@ -1554,18 +1583,18 @@ return /******/ (function(modules) { // webpackBootstrap /** * Creates an instance of summary model and returns it. - * @param {Object} footerOptions - footer options + * @param {Object} summaryOptions - summary options * @returns {module:model/summary} - A new instance * @private */ - _createSummaryModel: function(footerOptions) { + _createSummaryModel: function(summaryOptions) { var autoColumnNames = []; - if (!footerOptions || !footerOptions.columnContent) { + if (!summaryOptions || !summaryOptions.columnContent) { return null; } - _.each(footerOptions.columnContent, function(options, columnName) { + _.each(summaryOptions.columnContent, function(options, columnName) { if (_.isFunction(options.template) && options.useAutoSummary !== false) { autoColumnNames.push(columnName); } @@ -1739,14 +1768,15 @@ return /******/ (function(modules) { // webpackBootstrap }, /** - * columnName 이 열고정 영역에 있는 column 인지 반환한다. - * @param {String} columnName 컬럼명 - * @returns {Boolean} 열고정 영역에 존재하는 컬럼인지 여부 + * Returns state that the column is included in left side by column name + * @param {String} columnName - Column name + * @returns {Boolean} Whether the column is included in left side or not */ isLside: function(columnName) { var index = this.indexOfColumnName(columnName, true); + var frozenCount = this.getVisibleFrozenCount(false); - return (index > -1) && (index < this.get('frozenCount')); + return (index > -1) && (index < frozenCount); }, /** @@ -2091,13 +2121,13 @@ return /******/ (function(modules) { // webpackBootstrap }, /** - * Set footer contents. - * (Just trigger 'setFooterContent') + * Set summary contents. + * (Just trigger 'setSummaryContent') * @param {string} columnName - columnName * @param {string} contents - HTML string */ - setFooterContent: function(columnName, contents) { - this.trigger('setFooterContent', columnName, contents); + setSummaryContent: function(columnName, contents) { + this.trigger('setSummaryContent', columnName, contents); } }); @@ -2208,6 +2238,10 @@ return /******/ (function(modules) { // webpackBootstrap CNT: 'cnt', MAX: 'max', MIN: 'min' + }, + summaryPosition: { + TOP: 'top', + BOTTOM: 'bottom' } }; @@ -5109,8 +5143,12 @@ return /******/ (function(modules) { // webpackBootstrap RSIDE_AREA: 'rside-area', HEAD_AREA: 'head-area', BODY_AREA: 'body-area', - FOOT_AREA: 'foot-area', - FOOT_AREA_RIGHT: 'foot-area-right', + SUMMARY_AREA: 'summary-area', + SUMMARY_AREA_TOP: 'summary-area-top', + SUMMARY_AREA_BOTTOM: 'summary-area-bottom', + SUMMARY_AREA_RIGHT: 'summary-area-right', + SUMMARY_AREA_RIGHT_TOP: 'summary-area-right-top', + SUMMARY_AREA_RIGHT_BOTTOM: 'summary-area-right-bottom', // header COLUMN_RESIZE_CONTAINER: 'column-resize-container', @@ -5213,7 +5251,9 @@ return /******/ (function(modules) { // webpackBootstrap var _ = __webpack_require__(6); var Model = __webpack_require__(13); - var dimensionConstMap = __webpack_require__(14).dimension; + var constMap = __webpack_require__(14); + var dimensionConstMap = constMap.dimension; + var summaryPositionConst = constMap.summaryPosition; var TABLE_BORDER_WIDTH = dimensionConstMap.TABLE_BORDER_WIDTH; var CELL_BORDER_WIDTH = dimensionConstMap.CELL_BORDER_WIDTH; @@ -5253,7 +5293,9 @@ return /******/ (function(modules) { // webpackBootstrap headerHeight: 0, bodyHeight: 0, - footerHeight: 0, + + summaryHeight: 0, + summaryPosition: null, resizeHandleHeight: 0, paginationHeight: 0, @@ -5428,7 +5470,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ _calcRealBodyHeight: function(height) { - var extraHeight = this.get('headerHeight') + this.get('footerHeight') + TABLE_BORDER_WIDTH; + var extraHeight = this.get('headerHeight') + this.get('summaryHeight') + TABLE_BORDER_WIDTH; return height - extraHeight; }, @@ -5527,12 +5569,13 @@ return /******/ (function(modules) { // webpackBootstrap /** * Returns the offset.top of body - * @returns {number} + * @returns {number} */ getBodyOffsetTop: function() { var offsetTop = this.domState.getOffset().top; + var summaryHeight = this.get('summaryPosition') === summaryPositionConst.TOP ? this.get('summaryHeight') : 0; - return offsetTop + this.get('headerHeight') + return offsetTop + this.get('headerHeight') + summaryHeight + CELL_BORDER_WIDTH + TABLE_BORDER_WIDTH; }, @@ -9899,7 +9942,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ _resetSummaryMap: function() { - this._resetFooterSummaryValue(); + this._resetSummarySummaryValue(); }, /** @@ -9907,7 +9950,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {Array.} columnNames - An array of column names * @private */ - _resetFooterSummaryValue: function(columnNames) { + _resetSummarySummaryValue: function(columnNames) { var targetColumnNames = this.autoColumnNames; if (columnNames) { @@ -9928,7 +9971,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ _onChangeData: function(model) { - this._resetFooterSummaryValue(_.keys(model.changed)); + this._resetSummarySummaryValue(_.keys(model.changed)); }, /** @@ -9938,7 +9981,7 @@ return /******/ (function(modules) { // webpackBootstrap * @private */ _onDeleteRangeData: function(rowKeys, columnNames) { - this._resetFooterSummaryValue(columnNames); + this._resetSummarySummaryValue(columnNames); }, /** @@ -10153,7 +10196,7 @@ return /******/ (function(modules) { // webpackBootstrap var HeaderResizeHandleView = __webpack_require__(51); var BodyView = __webpack_require__(52); var BodyTableView = __webpack_require__(53); - var FooterView = __webpack_require__(54); + var SummaryView = __webpack_require__(54); var RowListView = __webpack_require__(55); var SelectionLayerView = __webpack_require__(56); var EditingLayerView = __webpack_require__(57); @@ -10177,7 +10220,7 @@ return /******/ (function(modules) { // webpackBootstrap this.componentHolder = options.componentHolder; // view options - this.footerOptions = options.footer; + this.summaryOptions = options.summary; this.heightResizable = options.heightResizable; }, @@ -10299,24 +10342,24 @@ return /******/ (function(modules) { // webpackBootstrap }, /** - * Creates footer view and returns it. + * Creates summary view and returns it. * @param {string} whichSide - 'L'(left) or 'R'(right) * @returns {object} */ - createFooter: function(whichSide) { + createSummary: function(whichSide) { var templateMap = {}; - if (!this.footerOptions) { + if (!this.summaryOptions) { return null; } - _.each(this.footerOptions.columnContent, function(options, columnName) { + _.each(this.summaryOptions.columnContent, function(options, columnName) { if (_.isFunction(options.template)) { templateMap[columnName] = options.template; } }); - return new FooterView({ + return new SummaryView({ whichSide: whichSide, columnModel: this.modelManager.columnModel, renderModel: this.modelManager.renderModel, @@ -10329,12 +10372,14 @@ return /******/ (function(modules) { // webpackBootstrap /** * Creates resize handler of header view and returns it. - * @param {String} whichSide - 'L'(left) or 'R'(right) + * @param {string} whichSide - 'L'(left) or 'R'(right) + * @param {array} handleHeights - Height values of each resize handle * @returns {module:view/layout/header} New resize handler view instance */ - createHeaderResizeHandle: function(whichSide) { + createHeaderResizeHandle: function(whichSide, handleHeights) { return new HeaderResizeHandleView({ whichSide: whichSide, + handleHeights: handleHeights, headerHeight: this.modelManager.dimensionModel.get('headerHeight'), columnModel: this.modelManager.columnModel, coordColumnModel: this.modelManager.coordColumnModel, @@ -11857,7 +11902,9 @@ return /******/ (function(modules) { // webpackBootstrap var _ = __webpack_require__(6); var View = __webpack_require__(8); - var frameConst = __webpack_require__(14).frame; + var constMap = __webpack_require__(14); + var frameConst = constMap.frame; + var summaryPositionConst = constMap.summaryPosition; /** * Base class for frame view. @@ -11886,17 +11933,12 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {module:view/layout/frame} This object */ render: function() { - var factory = this.viewFactory; - this.$el.empty(); this._destroyChildren(); this.beforeRender(); - this._addChildren([ - factory.createHeader(this.whichSide), - factory.createBody(this.whichSide), - factory.createFooter(this.whichSide) - ]); + + this._addChildren(this._createChildren()); this.$el.append(this._renderChildren()); this.afterRender(); @@ -11913,7 +11955,31 @@ return /******/ (function(modules) { // webpackBootstrap * To be called at the end of the 'render' method. * @abstract */ - afterRender: function() {} + afterRender: function() {}, + + /** + * Create children view to append on frame element + * @returns {array} View elements + * @private + */ + _createChildren: function() { + var factory = this.viewFactory; + var summaryPosition = this.dimensionModel.get('summaryPosition'); + var header = factory.createHeader(this.whichSide); + var body = factory.createBody(this.whichSide); + var summary = factory.createSummary(this.whichSide, summaryPosition); + var children; + + if (summaryPosition === summaryPositionConst.TOP) { + children = [header, summary, body]; + } else if (summaryPosition === summaryPositionConst.BOTTOM) { + children = [header, body, summary]; + } else { + children = [header, body]; + } + + return children; + } }); module.exports = Frame; @@ -11937,6 +12003,8 @@ return /******/ (function(modules) { // webpackBootstrap var classNameConst = __webpack_require__(22); var constMap = __webpack_require__(14); var frameConst = constMap.frame; + var summaryPositionConst = constMap.summaryPosition; + var CELL_BORDER_WIDTH = constMap.dimension.CELL_BORDER_WIDTH; /** @@ -12020,14 +12088,14 @@ return /******/ (function(modules) { // webpackBootstrap */ afterRender: function() { var dimensionModel = this.dimensionModel; - var headerHeight, footerHeight; + var headerHeight, summaryHeight; var $space, $scrollBorder; if (!dimensionModel.get('scrollY')) { return; } headerHeight = dimensionModel.get('headerHeight'); - footerHeight = dimensionModel.get('footerHeight'); + summaryHeight = dimensionModel.get('summaryHeight'); // Empty DIV for hiding scrollbar in the header area $space = $('
').addClass(classNameConst.SCROLLBAR_HEAD); @@ -12047,16 +12115,40 @@ return /******/ (function(modules) { // webpackBootstrap this.$el.append($('
').addClass(classNameConst.SCROLLBAR_RIGHT_BOTTOM)); } - // Empty DIV for filling gray color in the right side of the footer. - if (footerHeight && dimensionModel.get('scrollY')) { - this.$el.append($('
') - .addClass(classNameConst.FOOT_AREA_RIGHT) - .css('height', footerHeight - CELL_BORDER_WIDTH) - ); + // Empty DIV for filling gray color in the right side of the summary. + if (summaryHeight && dimensionModel.get('scrollY')) { + this._applyStyleToSummary(headerHeight, summaryHeight, dimensionModel.get('summaryPosition')); } this.$scrollBorder = $scrollBorder; this._resetScrollBorderHeight(); + }, + + /** + * Apply style to summary area on right-side frame + * @param {number} headerHeight - Height of header area + * @param {number} summaryHeight - Height of summary area by setting "summary" option + * @param {string} summaryPosition - Position of summary area ('top' or 'bottom') + */ + _applyStyleToSummary: function(headerHeight, summaryHeight, summaryPosition) { + var styles = {}; + var subClassName; + + if (summaryPosition === summaryPositionConst.TOP) { + styles.top = headerHeight; + subClassName = classNameConst.SUMMARY_AREA_RIGHT_TOP; + } else { + styles.bottom = 0; + subClassName = classNameConst.SUMMARY_AREA_RIGHT_BOTTOM; + } + + styles.height = summaryHeight - CELL_BORDER_WIDTH; + + this.$el.append($('
') + .addClass(classNameConst.SUMMARY_AREA_RIGHT) + .addClass(subClassName) + .css(styles) + ); } }); @@ -12094,6 +12186,28 @@ return /******/ (function(modules) { // webpackBootstrap // Minimum time (ms) to detect if an alert or confirm dialog has been displayed. var MIN_INTERVAL_FOR_PAUSED = 200; + var Header; + + /** + * Get count of same columns in complex columns + * @param {array} currentColumn - Current column's model + * @param {array} prevColumn - Previous column's model + * @returns {number} Count of same columns + * @ignore + */ + function getSameColumnCount(currentColumn, prevColumn) { + var index = 0; + var len = Math.min(currentColumn.length, prevColumn.length); + + for (; index < len; index += 1) { + if (currentColumn[index].name !== prevColumn[index].name) { + break; + } + } + + return index; + } + /** * Header Layout View * @module view/layout/header @@ -12102,7 +12216,7 @@ return /******/ (function(modules) { // webpackBootstrap * @param {String} [options.whichSide=R] R: Right, L: Left * @ignore */ - var Header = View.extend(/** @lends module:view/layout/header.prototype */{ + Header = View.extend(/** @lends module:view/layout/header.prototype */{ initialize: function(options) { View.prototype.initialize.call(this); @@ -12456,6 +12570,8 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {View.Layout.Header} this */ render: function() { + var resizeHandleHeights; + this._destroyChildren(); this.$el.css({ @@ -12466,7 +12582,8 @@ return /******/ (function(modules) { // webpackBootstrap })); if (this.coordColumnModel.get('resizable')) { - this._addChildren(this.viewFactory.createHeaderResizeHandle(this.whichSide)); + resizeHandleHeights = this._getResizeHandleHeights(); + this._addChildren(this.viewFactory.createHeaderResizeHandle(this.whichSide, resizeHandleHeights)); this.$el.append(this._renderChildren()); } @@ -12612,6 +12729,31 @@ return /******/ (function(modules) { // webpackBootstrap } return results; + }, + + /** + * Get height values of resize handlers + * @returns {array} Height values of resize handles + */ + _getResizeHandleHeights: function() { + var hierarchyList = this._getColumnHierarchyList(); + var maxRowCount = this._getHierarchyMaxRowCount(hierarchyList); + var rowHeight = util.getRowHeight(maxRowCount, this.headerHeight) - 1; + var handleHeights = []; + var index = 1; + var coulmnLen = hierarchyList.length; + var sameColumnCount, handleHeight; + + for (; index < coulmnLen; index += 1) { + sameColumnCount = getSameColumnCount(hierarchyList[index], hierarchyList[index - 1]); + handleHeight = rowHeight * (maxRowCount - sameColumnCount); + + handleHeights.push(handleHeight); + } + + handleHeights.push(rowHeight * maxRowCount); // last resize handle + + return handleHeights; } }); @@ -12659,6 +12801,7 @@ return /******/ (function(modules) { // webpackBootstrap coordColumnModel: options.coordColumnModel, domEventBus: options.domEventBus, headerHeight: options.headerHeight, + handleHeights: options.handleHeights, whichSide: options.whichSide || frameConst.R }); @@ -12688,9 +12831,8 @@ return /******/ (function(modules) { // webpackBootstrap attrNameConst.COLUMN_INDEX + '="<%=columnIndex%>" ' + attrNameConst.COLUMN_NAME + '="<%=columnName%>" ' + 'class="' + classNameConst.COLUMN_RESIZE_HANDLE + ' <%=lastClass%>" ' + - 'height="<%=height%>" ' + 'title="<%=title%>"' + - 'style="display:<%=displayType%>">' + + 'style="height:<%=height%>;display:<%=displayType%>">' + '
' ), @@ -12723,7 +12865,7 @@ return /******/ (function(modules) { // webpackBootstrap lastClass: (index + 1 === length) ? classNameConst.COLUMN_RESIZE_HANDLE_LAST : '', columnIndex: index, columnName: columnModel.name, - height: this.headerHeight, + height: this.handleHeights[index] + 'px', title: message.get('resizeHandleGuide'), displayType: (columnModel.resizable === false) ? 'none' : 'block' }); @@ -12765,7 +12907,7 @@ return /******/ (function(modules) { // webpackBootstrap var $handler = $resizeHandleList.eq(index); curPos += columnWidths[index] + CELL_BORDER_WIDTH; $handler.css('left', curPos - handlerWidthHalf); - }); + }, this); }, /** @@ -13297,7 +13439,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ (function(module, exports, __webpack_require__) { /** - * @fileoverview Footer + * @fileoverview Summary * @author NHN Ent. FE Development Team */ @@ -13312,13 +13454,13 @@ return /******/ (function(modules) { // webpackBootstrap var ATTR_COLUMN_NAME = constMap.attrName.COLUMN_NAME; /** - * Footer area - * @module view/layout/footer + * Summary area + * @module view/layout/summary * @extends module:base/view * @param {Object} options - Options * @ignore */ - var Footer = View.extend(/** @lends module:view/layout/footer.prototype */{ + var Summary = View.extend(/** @lends module:view/layout/summary.prototype */{ initialize: function(options) { /** * Store template functions of each column @@ -13349,13 +13491,13 @@ return /******/ (function(modules) { // webpackBootstrap // events this.listenTo(this.renderModel, 'change:scrollLeft', this._onChangeScrollLeft); this.listenTo(this.coordColumnModel, 'columnWidthChanged', this._onChangeColumnWidth); - this.listenTo(this.columnModel, 'setFooterContent', this._setColumnContent); + this.listenTo(this.columnModel, 'setSummaryContent', this._setColumnContent); if (this.summaryModel) { this.listenTo(this.summaryModel, 'change', this._onChangeSummaryValue); } }, - className: classNameConst.FOOT_AREA, + className: classNameConst.SUMMARY_AREA, events: { scroll: '_onScrollView' @@ -13489,12 +13631,16 @@ return /******/ (function(modules) { // webpackBootstrap * @returns {object} */ render: function() { - var footerHeight = this.dimensionModel.get('footerHeight'); + var summaryHeight = this.dimensionModel.get('summaryHeight'); + var summaryPosition = this.dimensionModel.get('summaryPosition'); + var className = summaryPosition === 'top' ? classNameConst.SUMMARY_AREA_TOP : classNameConst.SUMMARY_AREA_BOTTOM; - if (footerHeight) { + this.$el.addClass(className); + + if (summaryHeight) { this.$el.html(this.template({ className: classNameConst.TABLE, - height: footerHeight, + height: summaryHeight, tbody: this._generateTbodyHTML() })); } @@ -13503,7 +13649,7 @@ return /******/ (function(modules) { // webpackBootstrap } }); - module.exports = Footer; + module.exports = Summary; /***/ }), @@ -17945,22 +18091,22 @@ return /******/ (function(modules) { // webpackBootstrap var contentAreaRule = classRule(classNameConst.CONTENT_AREA).border(options.border); var tableRule = classRule(classNameConst.TABLE).border(options.border); var headerRule = classRule(classNameConst.HEAD_AREA).border(options.border); - var footerRule = classRule(classNameConst.FOOT_AREA).border(options.border); + var summaryRule = classRule(classNameConst.SUMMARY_AREA).border(options.border); var borderLineRule = classRule(classNameConst.BORDER_LINE).bg(options.border); var scrollHeadRule = classRule(classNameConst.SCROLLBAR_HEAD).border(options.border); var scrollBorderRule = classRule(classNameConst.SCROLLBAR_BORDER).bg(options.border); - var footerRightRule = classRule(classNameConst.FOOT_AREA_RIGHT).border(options.border); + var summaryRightRule = classRule(classNameConst.SUMMARY_AREA_RIGHT).border(options.border); return builder.buildAll([ containerRule, contentAreaRule, tableRule, headerRule, - footerRule, + summaryRule, borderLineRule, scrollHeadRule, scrollBorderRule, - footerRightRule + summaryRightRule ]); }, @@ -17975,7 +18121,7 @@ return /******/ (function(modules) { // webpackBootstrap var rightBottomRule = classRule(classNameConst.SCROLLBAR_RIGHT_BOTTOM).bg(options.background); var leftBottomRule = classRule(classNameConst.SCROLLBAR_LEFT_BOTTOM).bg(options.background); var scrollHeadRule = classRule(classNameConst.SCROLLBAR_HEAD).bg(options.background); - var footerRightRule = classRule(classNameConst.FOOT_AREA_RIGHT).bg(options.background); + var summaryRightRule = classRule(classNameConst.SUMMARY_AREA_RIGHT).bg(options.background); var bodyAreaRule = classRule(classNameConst.BODY_AREA).bg(options.background); return builder.buildAll(webkitScrollbarRules.concat([ @@ -17983,7 +18129,7 @@ return /******/ (function(modules) { // webpackBootstrap rightBottomRule, leftBottomRule, scrollHeadRule, - footerRightRule, + summaryRightRule, bodyAreaRule ])); }, @@ -18045,10 +18191,10 @@ return /******/ (function(modules) { // webpackBootstrap var headAreaRule = classRule(classNameConst.HEAD_AREA) .bg(options.background); - var footerAreaRule = classRule(classNameConst.FOOT_AREA) + var summaryAreaRule = classRule(classNameConst.SUMMARY_AREA) .bg(options.background); - return builder.buildAll([headRule, headAreaRule, footerAreaRule]); + return builder.buildAll([headRule, headAreaRule, summaryAreaRule]); }, /** diff --git a/dist/tui-grid.min.css b/dist/tui-grid.min.css index 5b15fcbd0..676b89d72 100644 --- a/dist/tui-grid.min.css +++ b/dist/tui-grid.min.css @@ -1,5 +1,5 @@ /*! - * bundle created at "Thu Sep 28 2017 10:34:09 GMT+0900 (KST)" - * version: 2.4.1 + * bundle created at "Thu Oct 26 2017 11:04:11 GMT+0900 (KST)" + * version: 2.5.0 */ -.tui-grid-container{width:100%;position:relative;border-width:0;clear:both;font-size:12px;font-family:\\B3CB\C6C0,Dotum,Helvetica,Apple SD Gothic Neo,Sans-serif}.tui-grid-container ::-webkit-scrollbar{-webkit-appearance:none;width:17px;height:17px}.tui-grid-container ::-webkit-scrollbar-thumb{border:5px solid transparent;border-radius:7px;background-clip:content-box}.tui-grid-container *{box-sizing:content-box}.tui-grid-container input,.tui-grid-container p,.tui-grid-container textarea{margin:0;padding:0;font-size:12px;font-family:\\B3CB\C6C0,Dotum,Helvetica,Apple SD Gothic Neo,Sans-serif}.tui-grid-container fieldset{margin:0;padding:0;border:0;display:inline;white-space:nowrap}.tui-grid-container input[type=password],.tui-grid-container input[type=text]{outline:none;box-sizing:border-box;line-height:normal}.tui-grid-container li,.tui-grid-container ul{list-style:none;padding:0;margin:0}.tui-grid-container em,.tui-grid-container strong{font-style:normal}.tui-grid-clipboard{position:fixed;top:0;left:-9999px;width:100px;height:100px}.tui-grid-btn-text{display:inline-block;text-decoration:none}.tui-grid-btn-text span{display:inline-block;position:relative;font-size:11px;color:#333;padding-left:17px;letter-spacing:-1px;line-height:23px;white-space:nowrap;cursor:pointer;margin-left:8px;padding-right:7px}.tui-grid-btn-text em{position:absolute;left:0;top:5px;width:17px;height:12px;background:url(images/icons.gif) no-repeat}.tui-grid-btn-text em.tui-grid-btn-excel-icon{background-position:-30px -60px}.tui-grid-btn-sorting{display:inline-block;overflow:hidden;margin-left:6px;height:15px;width:8px;background:url(images/icons.gif) -20px -60px no-repeat;vertical-align:middle;cursor:pointer}.tui-grid-btn-sorting-down{background-position:0 -60px}.tui-grid-btn-sorting-up{background-position:-10px -60px}.tui-grid-icon-arrow{display:inline-block;width:0;height:0;border:4px solid #a0a0a0}.tui-grid-icon-arrow-left{border-left-width:0}.tui-grid-icon-arrow-left,.tui-grid-icon-arrow-right{border-top-color:transparent;border-bottom-color:transparent}.tui-grid-icon-arrow-right{border-right-width:0}.tui-grid-layer-state{position:absolute;border:1px solid #ccc;background:#fff;font-weight:700;text-align:center;z-index:13}.tui-grid-layer-state-content{padding-top:50px}.tui-grid-layer-state-loading{display:block;margin:10px auto 0;background:url(images/ani_loading.gif);border:0;width:150px;height:13px}.tui-grid-layer-editing{position:absolute;display:none;background:#fff;z-index:15;padding:0 10px;border-style:solid;border-width:1px;white-space:nowrap;box-sizing:border-box}.tui-grid-layer-editing textarea{position:absolute;left:0;top:0;width:100%;height:100%;padding:3px 10px;box-sizing:border-box;white-space:normal;word-break:break-all;overflow:hidden}.tui-grid-layer-focus-border{position:absolute;overflow:hidden;z-index:14}.tui-grid-layer-selection{position:absolute;display:none;top:0;width:0;height:0;border-style:solid;border-width:1px;opacity:.2;filter:alpha(opacity=20)}.tui-grid-layer-datepicker{position:absolute;z-index:100;box-sizing:border-box}.tui-grid-layer-datepicker *,.tui-grid-table{box-sizing:border-box}.tui-grid-table{border-width:1px;width:1px;border-style:solid;table-layout:fixed;border-collapse:collapse;margin:0}.tui-grid-lside-area .tui-grid-table{width:100%;border-right-width:0}.tui-grid-foot-area .tui-grid-table{border-width:0 0 1px}.tui-grid-foot-area .tui-grid-cell{border-width:0 1px}.tui-grid-cell{overflow:hidden;border-width:1px;border-style:solid;white-space:nowrap;padding:0}.tui-grid-cell .tui-grid-cell-content{padding:3px 10px;overflow:hidden;box-sizing:border-box;word-break:break-all}.tui-grid-cell img{vertical-align:middle}.tui-grid-cell-head{padding:0;text-align:center}.tui-grid-cell-ellipsis .tui-grid-cell-content{text-overflow:ellipsis}.tui-grid-cell-content .tui-grid-content-before{float:left;margin-right:2px;line-height:1.5}.tui-grid-cell-content .tui-grid-content-after{float:right;margin-left:2px;line-height:1.5}.tui-grid-cell-content .tui-grid-content-input{display:block;overflow:hidden;line-height:1.5;*margin-left:-2px;*padding-left:2px}.tui-grid-cell-content input[type=password],.tui-grid-cell-content input[type=text]{width:100%;padding:2px 0;border:1px solid #e2e3ea;border-top:1px solid #abadb3;border-bottom:1px solid #e3e9ef}.tui-grid-cell-content label+input{margin-left:10px}.tui-grid-cell-content select{box-sizing:border-box;width:100%}.tui-grid-column-resize-container{display:none;position:relative;width:0}.tui-grid-column-resize-handle{float:left;position:absolute;top:-1px;left:-99px;width:7px;height:100%;background:#000;opacity:0;filter:alpha(opacity=0);cursor:col-resize}.tui-grid-column-resize-handle-last{width:3px}.tui-grid-border-line{position:absolute;z-index:13}.tui-grid-border-line-top{top:0;left:0;right:0;height:1px}.tui-grid-border-line-left{top:0;bottom:0;left:0;width:1px}.tui-grid-border-line-right{top:0;bottom:0;right:0;width:1px}.tui-grid-border-line-bottom{bottom:0;left:0;right:17px;height:1px}.tui-grid-no-scroll-x .tui-grid-border-line-bottom,.tui-grid-no-scroll-y .tui-grid-border-line-bottom{right:0}.tui-grid-content-area{position:relative;border-style:solid;border-width:0 0 1px}.tui-grid-content-area.tui-grid-no-scroll-x{border-bottom-width:0}.tui-grid-head-area{border-style:solid;border-width:0 0 1px;position:relative;overflow:hidden}.tui-grid-head-area .tui-grid-cell-head{border-top-width:1px;border-bottom-width:1px}.tui-grid-body-area{position:relative;overflow:scroll}.tui-grid-foot-area{position:relative;border-width:1px 0 0;border-style:solid;margin-top:-18px;overflow-y:hidden;overflow-x:scroll}.tui-grid-lside-area{display:none;position:absolute;top:0;left:0;overflow:hidden;z-index:10}.tui-grid-lside-area .tui-grid-body-area{margin-right:-17px}.tui-grid-lside-area .tui-grid-body-area .tui-grid-selection-layer{left:1px}.tui-grid-rside-area{display:none;overflow:hidden}.tui-grid-rside-area .tui-grid-foot-area,.tui-grid-rside-area .tui-grid-head-area{margin-right:17px}.tui-grid-no-scroll-y .tui-grid-rside-area .tui-grid-foot-area,.tui-grid-no-scroll-y .tui-grid-rside-area .tui-grid-head-area{margin-right:0}.tui-grid-no-scroll-x .tui-grid-foot-area{margin-top:0;overflow-x:hidden}.tui-grid-no-scroll-x .tui-grid-foot-area-right{bottom:0}.tui-grid-foot-area-right{position:absolute;right:0;bottom:17px;width:17px;border-style:solid;border-width:1px 0 1px 1px}.tui-grid-body-container{position:relative;margin-top:-1px}.tui-grid-table-container{position:absolute}.tui-grid-scrollbar-head{display:block;position:absolute;top:0;right:0;width:16px;border-style:solid;border-width:1px}.tui-grid-scrollbar-left-bottom{position:absolute;bottom:0;left:0;right:0;height:17px}.tui-grid-scrollbar-right-bottom{position:absolute;bottom:0;right:0;width:17px;height:17px}.tui-grid-scrollbar-border{display:block;position:absolute;right:17px;width:1px}.tui-grid-height-resize-handle{overflow:hidden;background-color:#f5f5f5;cursor:row-resize;height:11px;border-style:solid;border-width:0 1px 1px;font-size:0;text-align:center}.tui-grid-height-resize-handle button{display:block;width:100%;cursor:row-resize;padding:0;margin:0;outline:0;border:0;background-color:#f5f5f5}.tui-grid-height-resize-handle button span{background:url(images/icons.gif) no-repeat -70px -60px;display:inline-block;width:17px;height:9px;margin-top:3px}.tui-grid-pagination{height:34px;padding-top:8px;line-height:normal;text-align:center;border-style:solid;border-color:#ccc;border-width:0 1px 1px}.tui-grid-pagination a,.tui-grid-pagination span,.tui-grid-pagination strong{display:inline-block;position:relative;padding:4px 8px;min-width:13px;color:#333;font-size:12px;font-weight:700;line-height:normal;text-decoration:none;vertical-align:middle}.tui-grid-pagination strong{padding:4px 6px;color:#ff1313;border:1px solid #d4d4d4;background:#e7e7e7}.tui-grid-pagination .tui-grid-next,.tui-grid-pagination .tui-grid-next-end,.tui-grid-pagination .tui-grid-next-end-off,.tui-grid-pagination .tui-grid-next-off,.tui-grid-pagination .tui-grid-pre,.tui-grid-pagination .tui-grid-pre-end,.tui-grid-pagination .tui-grid-pre-end-off,.tui-grid-pagination .tui-grid-pre-off{width:25px;height:24px;padding:0;border:0;background:url(images/icons.gif) no-repeat;font-size:0;line-height:999;overflow:hidden;white-space:nowrap}.tui-grid-pagination .tui-grid-next-end,.tui-grid-pagination .tui-grid-next-end-off,.tui-grid-pagination .tui-grid-pre-end,.tui-grid-pagination .tui-grid-pre-end-off{width:24px}.tui-grid-pagination .tui-grid-pre,.tui-grid-pagination .tui-grid-pre-off{margin-right:12px}.tui-grid-pagination .tui-grid-next,.tui-grid-pagination .tui-grid-next-off{margin-left:12px}.tui-grid-pagination .tui-grid-pre-end{background-position:0 0}.tui-grid-pagination .tui-grid-pre-end-off{background-position:0 -30px}.tui-grid-pagination .tui-grid-pre{background-position:-24px 0}.tui-grid-pagination .tui-grid-pre-off{background-position:-24px -30px}.tui-grid-pagination .tui-grid-next{background-position:-50px 0}.tui-grid-pagination .tui-grid-next-off{background-position:-50px -30px}.tui-grid-pagination .tui-grid-next-end{background-position:-75px 0}.tui-grid-pagination .tui-grid-next-end-off{background-position:-75px -30px}.tui-grid-calendar-btn-next-month,.tui-grid-calendar-btn-next-year,.tui-grid-calendar-btn-prev-month,.tui-grid-calendar-btn-prev-year{position:absolute;top:4px;padding:3px 6px 2px;border:1px solid transparent}.tui-grid-calendar-btn-next-month:hover,.tui-grid-calendar-btn-next-year:hover,.tui-grid-calendar-btn-prev-month:hover,.tui-grid-calendar-btn-prev-year:hover{border-color:#ccc}.tui-grid-calendar{position:absolute;width:190px;background:#fff;border:1px solid #ccc;font-size:11px;color:#444;font-family:arial}.tui-grid-calendar table{margin:0 auto;table-layout:fixed;text-align:center}.tui-grid-calendar table tr{height:20px}.tui-grid-calendar table th{width:20px}.tui-grid-calendar table th.tui-grid-calendar-sat{color:#00f}.tui-grid-calendar table th.tui-grid-calendar-sun{color:#e82828}.tui-grid-calendar table td{background:#eee;color:#ccc}.tui-grid-calendar table td.tui-grid-calendar-selectable{cursor:pointer;background:#fff;color:#444}.tui-grid-calendar table td.tui-grid-calendar-selectable.tui-grid-calendar-selected{background:#c3ebff;font-weight:700}.tui-grid-calendar table td.tui-grid-calendar-selectable.tui-grid-calendar-sat{color:#00f}.tui-grid-calendar table td.tui-grid-calendar-selectable.tui-grid-calendar-sun{color:#e82828}.tui-grid-calendar table td.tui-grid-calendar-selectable:hover{background:#c3ebff}.tui-grid-calendar-header{padding:6px 0 5px;text-align:center;border-bottom:1px solid #ddd}.tui-grid-calendar-title{font-size:14px}.tui-grid-calendar-body{padding:5px 7px}.tui-grid-calendar-btn-prev-year{left:18px}.tui-grid-calendar-btn-prev-month{left:42px}.tui-grid-calendar-btn-next-month{right:42px}.tui-grid-calendar-btn-next-year{right:20px}.tui-grid-calendar-today{text-decoration:underline}.tui-grid-calendar-next-month,.tui-grid-calendar-prev-month{opacity:.4;filter:alpha(opacity=40)}.tui-grid-calendar-footer{display:none} \ No newline at end of file +.tui-grid-container{width:100%;position:relative;border-width:0;clear:both;font-size:12px;font-family:\\B3CB\C6C0,Dotum,Helvetica,Apple SD Gothic Neo,Sans-serif}.tui-grid-container ::-webkit-scrollbar{-webkit-appearance:none;width:17px;height:17px}.tui-grid-container ::-webkit-scrollbar-thumb{border:5px solid transparent;border-radius:7px;background-clip:content-box}.tui-grid-container *{box-sizing:content-box}.tui-grid-container input,.tui-grid-container p,.tui-grid-container textarea{margin:0;padding:0;font-size:12px;font-family:\\B3CB\C6C0,Dotum,Helvetica,Apple SD Gothic Neo,Sans-serif}.tui-grid-container fieldset{margin:0;padding:0;border:0;display:inline;white-space:nowrap}.tui-grid-container input[type=password],.tui-grid-container input[type=text]{outline:none;box-sizing:border-box;line-height:normal}.tui-grid-container li,.tui-grid-container ul{list-style:none;padding:0;margin:0}.tui-grid-container em,.tui-grid-container strong{font-style:normal}.tui-grid-clipboard{position:fixed;top:0;left:-9999px;width:100px;height:100px}.tui-grid-btn-text{display:inline-block;text-decoration:none}.tui-grid-btn-text span{display:inline-block;position:relative;font-size:11px;color:#333;padding-left:17px;letter-spacing:-1px;line-height:23px;white-space:nowrap;cursor:pointer;margin-left:8px;padding-right:7px}.tui-grid-btn-text em{position:absolute;left:0;top:5px;width:17px;height:12px;background:url(images/icons.gif) no-repeat}.tui-grid-btn-text em.tui-grid-btn-excel-icon{background-position:-30px -60px}.tui-grid-btn-sorting{display:inline-block;overflow:hidden;margin-left:6px;height:15px;width:8px;background:url(images/icons.gif) -20px -60px no-repeat;vertical-align:middle;cursor:pointer}.tui-grid-btn-sorting-down{background-position:0 -60px}.tui-grid-btn-sorting-up{background-position:-10px -60px}.tui-grid-icon-arrow{display:inline-block;width:0;height:0;border:4px solid #a0a0a0}.tui-grid-icon-arrow-left{border-left-width:0}.tui-grid-icon-arrow-left,.tui-grid-icon-arrow-right{border-top-color:transparent;border-bottom-color:transparent}.tui-grid-icon-arrow-right{border-right-width:0}.tui-grid-layer-state{position:absolute;border:1px solid #ccc;background:#fff;font-weight:700;text-align:center;z-index:13}.tui-grid-layer-state-content{padding-top:50px}.tui-grid-layer-state-loading{display:block;margin:10px auto 0;background:url(images/ani_loading.gif);border:0;width:150px;height:13px}.tui-grid-layer-editing{position:absolute;display:none;background:#fff;z-index:15;padding:0 10px;border-style:solid;border-width:1px;white-space:nowrap;box-sizing:border-box}.tui-grid-layer-editing textarea{position:absolute;left:0;top:0;width:100%;height:100%;padding:3px 10px;box-sizing:border-box;white-space:normal;word-break:break-all;overflow:hidden}.tui-grid-layer-focus-border{position:absolute;overflow:hidden;z-index:14}.tui-grid-layer-selection{position:absolute;display:none;top:0;width:0;height:0;border-style:solid;border-width:1px;opacity:.2;filter:alpha(opacity=20)}.tui-grid-layer-datepicker{position:absolute;z-index:100;box-sizing:border-box}.tui-grid-layer-datepicker *,.tui-grid-table{box-sizing:border-box}.tui-grid-table{border-width:1px;width:1px;border-style:solid;table-layout:fixed;border-collapse:collapse;margin:0}.tui-grid-lside-area .tui-grid-table{width:100%;border-right-width:0}.tui-grid-summary-area .tui-grid-table{border-width:0 0 1px}.tui-grid-summary-area .tui-grid-cell{border-width:0 1px}.tui-grid-cell{overflow:hidden;border-width:1px;border-style:solid;white-space:nowrap;padding:0}.tui-grid-cell .tui-grid-cell-content{padding:3px 10px;overflow:hidden;box-sizing:border-box;word-break:break-all}.tui-grid-cell img{vertical-align:middle}.tui-grid-cell-head{padding:0;text-align:center}.tui-grid-cell-ellipsis .tui-grid-cell-content{text-overflow:ellipsis}.tui-grid-cell-content .tui-grid-content-before{float:left;margin-right:2px;line-height:1.5}.tui-grid-cell-content .tui-grid-content-after{float:right;margin-left:2px;line-height:1.5}.tui-grid-cell-content .tui-grid-content-input{display:block;overflow:hidden;line-height:1.5;*margin-left:-2px;*padding-left:2px}.tui-grid-cell-content input[type=password],.tui-grid-cell-content input[type=text]{width:100%;padding:2px 0;border:1px solid #e2e3ea;border-top:1px solid #abadb3;border-bottom:1px solid #e3e9ef}.tui-grid-cell-content label+input{margin-left:10px}.tui-grid-cell-content select{box-sizing:border-box;width:100%}.tui-grid-column-resize-container{display:none;position:relative;width:0}.tui-grid-column-resize-handle{float:left;position:absolute;bottom:1px;left:-99px;width:7px;background:#000;opacity:0;filter:alpha(opacity=0);cursor:col-resize}.tui-grid-column-resize-handle-last{width:3px}.tui-grid-border-line{position:absolute;z-index:13}.tui-grid-border-line-top{top:0;left:0;right:0;height:1px}.tui-grid-border-line-left{top:0;bottom:0;left:0;width:1px}.tui-grid-border-line-right{top:0;bottom:0;right:0;width:1px}.tui-grid-border-line-bottom{bottom:0;left:0;right:17px;height:1px}.tui-grid-no-scroll-x .tui-grid-border-line-bottom,.tui-grid-no-scroll-y .tui-grid-border-line-bottom{right:0}.tui-grid-content-area{position:relative;border-style:solid;border-width:0 0 1px}.tui-grid-content-area.tui-grid-no-scroll-x{border-bottom-width:0}.tui-grid-head-area{border-style:solid;border-width:0 0 1px;position:relative;overflow:hidden}.tui-grid-head-area .tui-grid-cell-head{border-top-width:1px;border-bottom-width:1px}.tui-grid-body-area{position:relative;overflow:scroll}.tui-grid-summary-area{position:relative;border-style:solid;margin-top:-18px;overflow-y:hidden;overflow-x:scroll}.tui-grid-summary-area-top{border-width:0}.tui-grid-summary-area-bottom{border-width:1px 0 0}.tui-grid-lside-area{display:none;position:absolute;top:0;left:0;overflow:hidden;z-index:10}.tui-grid-lside-area .tui-grid-body-area{margin-right:-17px}.tui-grid-lside-area .tui-grid-body-area .tui-grid-selection-layer{left:1px}.tui-grid-rside-area{display:none;overflow:hidden}.tui-grid-rside-area .tui-grid-head-area,.tui-grid-rside-area .tui-grid-summary-area{margin-right:17px}.tui-grid-no-scroll-y .tui-grid-rside-area .tui-grid-head-area,.tui-grid-no-scroll-y .tui-grid-rside-area .tui-grid-summary-area{margin-right:0}.tui-grid-no-scroll-x .tui-grid-summary-area{margin-top:0;overflow-x:hidden}.tui-grid-no-scroll-x .tui-grid-summary-area-right{bottom:0}.tui-grid-summary-area-right{position:absolute;right:0;width:17px;border-style:solid}.tui-grid-summary-area-right-top{border-width:0 0 1px 1px}.tui-grid-summary-area-right-bottom{border-width:1px 0 1px 1px}.tui-grid-body-container{position:relative;margin-top:-1px}.tui-grid-table-container{position:absolute}.tui-grid-scrollbar-head{display:block;position:absolute;top:0;right:0;width:16px;border-style:solid;border-width:1px}.tui-grid-scrollbar-left-bottom{position:absolute;bottom:0;left:0;right:0;height:17px}.tui-grid-scrollbar-right-bottom{position:absolute;bottom:0;right:0;width:17px;height:17px}.tui-grid-scrollbar-border{display:block;position:absolute;right:17px;width:1px}.tui-grid-height-resize-handle{overflow:hidden;background-color:#f5f5f5;cursor:row-resize;height:11px;border-style:solid;border-width:0 1px 1px;font-size:0;text-align:center}.tui-grid-height-resize-handle button{display:block;width:100%;cursor:row-resize;padding:0;margin:0;outline:0;border:0;background-color:#f5f5f5}.tui-grid-height-resize-handle button span{background:url(images/icons.gif) no-repeat -70px -60px;display:inline-block;width:17px;height:9px;margin-top:3px}.tui-grid-pagination{height:34px;padding-top:8px;line-height:normal;text-align:center;border-style:solid;border-color:#ccc;border-width:0 1px 1px}.tui-grid-pagination a,.tui-grid-pagination span,.tui-grid-pagination strong{display:inline-block;position:relative;padding:4px 8px;min-width:13px;color:#333;font-size:12px;font-weight:700;line-height:normal;text-decoration:none;vertical-align:middle}.tui-grid-pagination strong{padding:4px 6px;color:#ff1313;border:1px solid #d4d4d4;background:#e7e7e7}.tui-grid-pagination .tui-grid-next,.tui-grid-pagination .tui-grid-next-end,.tui-grid-pagination .tui-grid-next-end-off,.tui-grid-pagination .tui-grid-next-off,.tui-grid-pagination .tui-grid-pre,.tui-grid-pagination .tui-grid-pre-end,.tui-grid-pagination .tui-grid-pre-end-off,.tui-grid-pagination .tui-grid-pre-off{width:25px;height:24px;padding:0;border:0;background:url(images/icons.gif) no-repeat;font-size:0;line-height:999;overflow:hidden;white-space:nowrap}.tui-grid-pagination .tui-grid-next-end,.tui-grid-pagination .tui-grid-next-end-off,.tui-grid-pagination .tui-grid-pre-end,.tui-grid-pagination .tui-grid-pre-end-off{width:24px}.tui-grid-pagination .tui-grid-pre,.tui-grid-pagination .tui-grid-pre-off{margin-right:12px}.tui-grid-pagination .tui-grid-next,.tui-grid-pagination .tui-grid-next-off{margin-left:12px}.tui-grid-pagination .tui-grid-pre-end{background-position:0 0}.tui-grid-pagination .tui-grid-pre-end-off{background-position:0 -30px}.tui-grid-pagination .tui-grid-pre{background-position:-24px 0}.tui-grid-pagination .tui-grid-pre-off{background-position:-24px -30px}.tui-grid-pagination .tui-grid-next{background-position:-50px 0}.tui-grid-pagination .tui-grid-next-off{background-position:-50px -30px}.tui-grid-pagination .tui-grid-next-end{background-position:-75px 0}.tui-grid-pagination .tui-grid-next-end-off{background-position:-75px -30px} \ No newline at end of file diff --git a/dist/tui-grid.min.js b/dist/tui-grid.min.js index 78b1fa7f1..b6d6ec99d 100644 --- a/dist/tui-grid.min.js +++ b/dist/tui-grid.min.js @@ -1,10 +1,10 @@ /*! - * bundle created at "Thu Sep 28 2017 10:34:09 GMT+0900 (KST)" - * version: 2.4.1 + * bundle created at "Thu Oct 26 2017 11:04:11 GMT+0900 (KST)" + * version: 2.5.0 */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("underscore"),require("tui-code-snippet"),require("backbone"),require("jquery"),require("tui-date-picker"),require("tui-pagination")):"function"==typeof define&&define.amd?define(["underscore","tui-code-snippet","backbone","jquery","tui-date-picker","tui-pagination"],t):"object"==typeof exports?exports.Grid=t(require("underscore"),require("tui-code-snippet"),require("backbone"),require("jquery"),require("tui-date-picker"),require("tui-pagination")):(e.tui=e.tui||{},e.tui.Grid=t(e._,e.tui&&e.tui.util,e.Backbone,e.$,e.tui&&e.tui.DatePicker,e.tui&&e.tui.Pagination))}(this,function(e,t,n,i,o,s){return function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return e[i].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";n(1),e.exports=n(5)},function(e,t){},,,,function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(8),a=n(10),r=n(35),l=n(60),d=n(61),h=n(62),u=n(63),c=n(73),g=n(74),m=n(77),f=n(20),p=n(44),M=n(78),_=n(14).themeName,C={},w=s.extend({initialize:function(e){this.id=f.getUniqueKey(),this.domState=new d(this.$el),this.domEventBus=l.create(),this.modelManager=this._createModelManager(e),this.painterManager=this._createPainterManager(),this.componentHolder=this._createComponentHolder(e.pagination),this.viewFactory=this._createViewFactory(e),this.container=this.viewFactory.createContainer(),this.publicEventEmitter=this._createPublicEventEmitter(),this.container.render(),this.refreshLayout(),M.isApplied()||M.apply(_.DEFAULT),this.addOn={},C[this.id]=this,e.data&&this.setData(e.data)},_createModelManager:function(e){var t=i.assign({},e,{gridId:this.id,publicObject:this});return i.omit(t,"el"),new a(t,this.domState,this.domEventBus)},_createPainterManager:function(){var e=new c({focusModel:this.modelManager.focusModel,dataModel:this.modelManager.dataModel,columnModel:this.modelManager.columnModel,selectionModel:this.modelManager.selectionModel});return new u({gridId:this.id,selectType:this.modelManager.columnModel.get("selectType"),fixedRowHeight:this.modelManager.dimensionModel.get("fixedRowHeight"),domEventBus:this.domEventBus,controller:e})},_createViewFactory:function(e){var t=i.pick(e,["heightResizable","footer"]),n={modelManager:this.modelManager,painterManager:this.painterManager,componentHolder:this.componentHolder,domEventBus:this.domEventBus,domState:this.domState};return new r(i.assign(n,t))},_createComponentHolder:function(e){return new m({pagination:e})},_createPublicEventEmitter:function(){var e=new h(this);return e.listenToFocusModel(this.modelManager.focusModel),e.listenToDomEventBus(this.domEventBus),e.listenToDataModel(this.modelManager.dataModel),e.listenToSelectionModel(this.modelManager.selectionModel),e},disable:function(){this.modelManager.dataModel.setDisabled(!0)},enable:function(){this.modelManager.dataModel.setDisabled(!1)},disableRow:function(e){this.modelManager.dataModel.disableRow(e)},enableRow:function(e){this.modelManager.dataModel.enableRow(e)},getValue:function(e,t,n){return this.modelManager.dataModel.getValue(e,t,n)},getColumnValues:function(e,t){return this.modelManager.dataModel.getColumnValues(e,t)},getRow:function(e,t){return this.modelManager.dataModel.getRowData(e,t)},getRowAt:function(e,t){return this.modelManager.dataModel.getRowDataAt(e,t)},getRowCount:function(){return this.modelManager.dataModel.length},getFocusedCell:function(){var e=this.modelManager.focusModel.which(),t=this.getValue(e.rowKey,e.columnName);return{rowKey:e.rowKey,columnName:e.columnName,value:t}},getElement:function(e,t){return this.modelManager.dataModel.getElement(e,t)},setValue:function(e,t,n){this.modelManager.dataModel.setValue(e,t,n)},setColumnValues:function(e,t,n){this.modelManager.dataModel.setColumnValues(e,t,n)},resetData:function(e){this.modelManager.dataModel.resetData(e)},setData:function(e,t){this.modelManager.dataModel.setData(e,!0,t)},setBodyHeight:function(e){this.modelManager.dimensionModel.set("bodyHeight",e)},focus:function(e,t,n){this.modelManager.focusModel.focusClipboard(),this.modelManager.focusModel.focus(e,t,n)},focusAt:function(e,t,n){this.modelManager.focusModel.focusAt(e,t,n)},focusIn:function(e,t,n){this.modelManager.focusModel.focusIn(e,t,n)},focusInAt:function(e,t,n){this.modelManager.focusModel.focusInAt(e,t,n)},activateFocus:function(){this.modelManager.focusModel.focusClipboard()},blur:function(){this.modelManager.focusModel.blur()},checkAll:function(){this.modelManager.dataModel.checkAll()},check:function(e){this.modelManager.dataModel.check(e)},uncheckAll:function(){this.modelManager.dataModel.uncheckAll()},uncheck:function(e){this.modelManager.dataModel.uncheck(e)},clear:function(){this.modelManager.dataModel.setData([])},removeRow:function(e,t){o.isBoolean(t)&&t&&(t={removeOriginalData:!0}),this.modelManager.dataModel.removeRow(e,t)},removeCheckedRows:function(e){var t=this.getCheckedRowKeys(),n=p.get("requestConfirm",{count:t.length,actionName:"deleteAction"});return!(!(t.length>0)||e&&!confirm(n))&&(i.each(t,function(e){this.modelManager.dataModel.removeRow(e)},this),!0)},enableCheck:function(e){this.modelManager.dataModel.enableCheck(e)},disableCheck:function(e){this.modelManager.dataModel.disableCheck(e)},getCheckedRowKeys:function(e){var t=this.modelManager.dataModel.getRows(!0),n=i.pluck(t,"rowKey");return e?JSON.stringify(n):n},getCheckedRows:function(e){var t=this.modelManager.dataModel.getRows(!0);return e?JSON.stringify(t):t},getColumns:function(){return this.modelManager.columnModel.get("dataColumns")},getModifiedRows:function(e){return this.modelManager.dataModel.getModifiedRows(e)},appendRow:function(e,t){this.modelManager.dataModel.append(e,t)},prependRow:function(e,t){this.modelManager.dataModel.prepend(e,t)},isModified:function(){return this.modelManager.dataModel.isModified()},getAddOn:function(e){return e?this.addOn[e]:this.addOn},restore:function(){this.modelManager.dataModel.restore()},setFrozenColumnCount:function(e){this.modelManager.columnModel.set("frozenCount",e)},setColumns:function(e){this.modelManager.columnModel.set("columns",e)},use:function(e,t){return"Net"===e&&(t=i.assign({domEventBus:this.domEventBus,renderModel:this.modelManager.renderModel,dataModel:this.modelManager.dataModel,pagination:this.componentHolder.getInstance("pagination")},t),this.addOn.Net=new g(t),this.publicEventEmitter.listenToNetAddon(this.addOn.Net)),this},getRows:function(){return this.modelManager.dataModel.getRows()},sort:function(e,t){this.modelManager.dataModel.sortByField(e,t)},unSort:function(){this.sort("rowKey")},getSortState:function(){return this.modelManager.dataModel.sortOptions},addCellClassName:function(e,t,n){this.modelManager.dataModel.get(e).addCellClassName(t,n)},addRowClassName:function(e,t){this.modelManager.dataModel.get(e).addClassName(t)},removeCellClassName:function(e,t,n){this.modelManager.dataModel.get(e).removeCellClassName(t,n)},removeRowClassName:function(e,t){this.modelManager.dataModel.get(e).removeClassName(t)},getRowSpanData:function(e,t){return this.modelManager.dataModel.getRowSpanData(e,t)},getIndexOfRow:function(e){return this.modelManager.dataModel.indexOfRowKey(e)},getIndexOfColumn:function(e){return this.modelManager.columnModel.indexOfColumnName(e)},getPagination:function(){return this.componentHolder.getInstance("pagination")},setWidth:function(e){this.modelManager.dimensionModel.setWidth(e)},setHeight:function(e){this.modelManager.dimensionModel.setHeight(e)},refreshLayout:function(){this.modelManager.dimensionModel.refreshLayout()},resetColumnWidths:function(){this.modelManager.coordColumnModel.resetColumnWidths()},showColumn:function(){var e=o.toArray(arguments);this.modelManager.columnModel.setHidden(e,!1)},hideColumn:function(){var e=o.toArray(arguments);this.modelManager.columnModel.setHidden(e,!0)},setFooterColumnContent:function(e,t){this.modelManager.columnModel.setFooterContent(e,t)},validate:function(){return this.modelManager.dataModel.validate()},findRows:function(e){var t=this.modelManager.dataModel.getRows();return i.where(t,e)},copyToClipboard:function(){this.modelManager.clipboardModel.setClipboardText(),window.clipboardData||document.execCommand("copy")},selection:function(e){var t=this.modelManager.selectionModel,n=e.start,i=e.end,o=t.getSelectionUnit();t.start(n[0],n[1],o),t.update(i[0],i[1],o)},destroy:function(){this.modelManager.destroy(),this.container.destroy(),this.modelManager=this.container=null}});w.getInstanceById=function(e){return C[e]},w.applyTheme=function(e,t){M.apply(e,t)},w.setLanguage=function(e){p.setLanguage(e)},e.exports=w},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";var i=n(6),o=n(9),s=o.View.extend({initialize:function(){this._children=[]},_addChildren:function(e){i.isArray(e)||(e=[e]),[].push.apply(this._children,i.compact(e))},_renderChildren:function(){var e=i.map(this._children,function(e){return e.render().el});return e},_triggerChildrenAppended:function(){i.each(this._children,function(e){e.trigger("appended")})},destroy:function(){this.stopListening(),this._destroyChildren(),this.remove()},_destroyChildren:function(){if(this._children)for(;this._children.length>0;)this._children.pop().destroy()}});e.exports=s},function(e,t){e.exports=n},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(12),r=n(15),l=n(23),d=n(24),h=n(25),u=n(26),c=n(27),g=n(28),m=n(31),f=n(32),p=n(33),M=n(34),_=n(20),C={data:[],columns:[],keyColumnName:null,selectType:"",autoNumbering:!0,header:{height:35,complexColumns:[]},columnOptions:{minWidth:50,resizable:!0,frozenCount:0},fitToParentHeight:!1,fixedRowHeight:!1,fixedHeight:!1,showDummyRows:!1,virtualScrolling:!1,copyOptions:null,scrollX:!0,scrollY:!0,useClientSort:!0,editingEvent:"dblclick",rowHeight:"auto",bodyHeight:"auto",minRowHeight:27,minBodyHeight:130,selectionUnit:"cell"},w=s.defineClass({init:function(e,t,n){e=i.extend(!0,{},C,e),this.gridId=e.gridId,this.columnModel=this._createColumnModel(e),this.dataModel=this._createDataModel(e,t,n),this.dimensionModel=this._createDimensionModel(e,t,n),this.coordRowModel=this._createCoordRowModel(t),this.focusModel=this._createFocusModel(e,t,n),this.coordColumnModel=this._createCoordColumnModel(e.columnOptions,n),this.renderModel=this._createRenderModel(e),this.coordConverterModel=this._createCoordConverterModel(),this.selectionModel=this._createSelectionModel(e,n),this.summaryModel=this._createSummaryModel(e.footer),this.clipboardModel=this._createClipboardModel(e,n)},_createColumnModel:function(e){return new a({keyColumnName:e.keyColumnName,frozenCount:e.columnOptions.frozenCount,complexHeaderColumns:e.header.complexColumns,copyOptions:e.copyOptions,columns:e.columns,rowHeaders:e.rowHeaders})},_createDataModel:function(e,t,n){return new r([],{gridId:this.gridId,domState:t,domEventBus:n,columnModel:this.columnModel,useClientSort:e.useClientSort,publicObject:e.publicObject})},_createDimensionModel:function(e,t,n){var i,o=!isNaN(e.rowHeight),s="auto"!==e.bodyHeight,a=e.minRowHeight,r=e.minBodyHeight,d=o?Math.max(a,e.rowHeight):a,h=s?Math.max(r,e.bodyHeight):r,u={headerHeight:e.header.height,bodyHeight:h,footerHeight:e.footer?e.footer.height:0,rowHeight:d,fitToParentHeight:"fitToParent"===e.bodyHeight,scrollX:!!e.scrollX,scrollY:!!e.scrollY,minimumColumnWidth:e.columnOptions.minWidth,fixedRowHeight:o,fixedHeight:s,minRowHeight:a,minBodyHeight:r||d};return o===!1&&e.virtualScrolling&&(_.warning("If the virtualScrolling is set to true, the rowHeight must be set to number type."),u.fixedRowHeight=!0),i=new l(u,{columnModel:this.columnModel,dataModel:this.dataModel,domState:t,domEventBus:n})},_createCoordRowModel:function(e){return new d(null,{dataModel:this.dataModel,dimensionModel:this.dimensionModel,domState:e})},_createCoordColumnModel:function(e,t){var n={resizable:e.resizable};return new h(n,{columnModel:this.columnModel,dimensionModel:this.dimensionModel,domEventBus:t})},_createCoordConverterModel:function(){return new u(null,{columnModel:this.columnModel,dataModel:this.dataModel,dimensionModel:this.dimensionModel,focusModel:this.focusModel,coordRowModel:this.coordRowModel,renderModel:this.renderModel,coordColumnModel:this.coordColumnModel})},_createFocusModel:function(e,t,n){return new c(null,{columnModel:this.columnModel,dataModel:this.dataModel,coordRowModel:this.coordRowModel,domEventBus:n,domState:t,editingEvent:e.editingEvent})},_createSelectionModel:function(e,t){return new f({selectionUnit:e.selectionUnit},{columnModel:this.columnModel,dataModel:this.dataModel,dimensionModel:this.dimensionModel,coordConverterModel:this.coordConverterModel,coordRowModel:this.coordRowModel,renderModel:this.renderModel,focusModel:this.focusModel,domEventBus:t})},_createRenderModel:function(e){var t,n,i;return t={emptyMessage:e.emptyMessage,showDummyRows:e.showDummyRows},n={columnModel:this.columnModel,dataModel:this.dataModel,dimensionModel:this.dimensionModel,focusModel:this.focusModel,coordRowModel:this.coordRowModel,coordColumnModel:this.coordColumnModel},new(i=e.virtualScrolling?m:g)(t,n)},_createSummaryModel:function(e){var t=[];return e&&e.columnContent?(o.each(e.columnContent,function(e,n){o.isFunction(e.template)&&e.useAutoSummary!==!1&&t.push(n)}),new p(null,{dataModel:this.dataModel,autoColumnNames:t})):null},_createClipboardModel:function(e,t){return new M(null,{columnModel:this.columnModel,dataModel:this.dataModel,selectionModel:this.selectionModel,renderModel:this.renderModel,focusModel:this.focusModel,copyOptions:e.copyOptions,domEventBus:t})},destroy:function(){o.each(this,function(e,t){e&&s.isFunction(e._destroy)&&e._destroy(),e&&s.isFunction(e.stopListening)&&e.stopListening(),this[t]=null},this)}});e.exports=w},function(e,t){e.exports=i},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(13),r=n(14).frame,l={rowNum:{type:"rowNum",title:"No.",name:"_number",align:"center",fixedWidth:!0,width:60,hidden:!1},checkbox:{type:"checkbox",title:'',name:"_button",align:"center",fixedWidth:!0,width:40,hidden:!1,editOptions:{type:"mainButton"}},radio:{type:"radio",title:"select",name:"_button",align:"center",fixedWidth:!0,width:40,hidden:!1,editOptions:{type:"mainButton"}}},d=a.extend({initialize:function(){a.prototype.initialize.apply(this,arguments),this.textType={normal:!0,text:!0,password:!0},this._setColumns(this.get("rowHeaders"),this.get("columns")),this.on("change",this._onChange,this)},defaults:{keyColumnName:null,frozenCount:0,rowHeaders:[],dataColumns:[],visibleColumns:[],selectType:"",columnModelMap:{},relationsMap:{},complexHeaderColumns:[],copyOptions:{useFormattedValue:!1}},at:function(e,t){var n=t?this.getVisibleColumns():this.get("dataColumns");return n[e]},indexOfColumnName:function(e,t){var n;return n=t?this.getVisibleColumns():this.get("dataColumns"),o.findIndex(n,{name:e})},isLside:function(e){var t=this.indexOfColumnName(e,!0);return t>-1&&ta&&(d=1),i||(d=-d),d},_removePrivateProp:function(e){return o.map(e,function(e){return o.omit(e,a.privateProperties)})},removeRow:function(e,t){var n,i,s,a,r=this.get(e);r&&(t&&t.keepRowSpanData&&(s=o.clone(r.attributes)),a=this.indexOf(r),n=o.clone(r.getRowSpanData()),i=this.at(a+1),this.remove(r,{silent:!0}),this._syncRowSpanDataForRemove(n,i,s),t&&t.removeOriginalData&&this.setOriginalRowList(),this.trigger("remove",e,a))},_syncRowSpanDataForRemove:function(e,t,n){e&&o.each(e,function(e,i){var o,s,a,r={};if(e.isMainRow){if(1===e.count)return;o=t,a=e.count-1,s=1,a>1&&(r.mainRowKey=o.get("rowKey"),r.isMainRow=!0),o.set(i,n?n[i]:"",{silent:!0})}else o=this.get(e.mainRowKey),a=o.getRowSpanData(i).count-1,s=-e.count;a>1?(r.count=a,o.setRowSpanData(i,r),this._updateSubRowSpanData(o,i,s,a)):o.setRowSpanData(i,null)},this)},_createDummyRow:function(){var e=this.columnModel.get("dataColumns"),t={};return o.each(e,function(e){t[e.name]=""},this),t},append:function(e,t){var n,i=this._createModelList(e);return t=o.extend({at:this.length},t),n={at:t.at,add:!0,silent:!0},this.add(i,n),this._syncRowSpanDataForAppend(t.at,i.length,t.extendPrevRowSpan),this.trigger("add",i,t),i},prepend:function(e,t){return t=t||{},t.at=0,this.append(e,t)},getRowData:function(e,t){var n=this.get(e),i=n?n.toJSON():null;return t?JSON.stringify(i):i},getRowDataAt:function(e,t){var n=this.at(e),i=n?n.toJSON():null;return t?JSON.stringify(n):i},getValue:function(e,t,n){var i,o;return n?i=this.getOriginal(e,t):(o=this.get(e),i=o&&o.get(t)),i},setValue:function(e,t,n,i){var o=this.get(e);return!!o&&(o.set(t,n,{silent:i}),!0)},getColumnValues:function(e,t){var n=this.pluck(e);return t?JSON.stringify(n):n},setColumnValues:function(e,t,n,i){var s={},a={disabled:!1,editable:!0};s[e]=t,n=!!o.isUndefined(n)||n,this.forEach(function(t){n&&(a=t.getCellState(e)),!a.disabled&&a.editable&&t.set(s,{silent:i})},this)},getRowSpanData:function(e,t){var n=this.get(e);return n?n.getRowSpanData(t):null},isModified:function(){var e=o.values(this.getModifiedRows());return o.some(e,function(e){return e.length>0})},setDisabled:function(e){this.disabled!==e&&(this.disabled=e,this.trigger("disabledChanged"))},enableRow:function(e){this.get(e).setRowState("")},disableRow:function(e){this.get(e).setRowState("DISABLED")},enableCheck:function(e){this.get(e).setRowState("")},disableCheck:function(e){this.get(e).setRowState("DISABLED_CHECK")},check:function(e,t){var n=this.get(e).getRowState().isDisabledCheck,i=this.columnModel.get("selectType");!n&&i&&("radio"===i&&this.uncheckAll(),this.setValue(e,"_button",!0,t))},uncheck:function(e,t){this.setValue(e,"_button",!1,t)},checkAll:function(){this.setColumnValues("_button",!0)},uncheckAll:function(){this.setColumnValues("_button",!1)},_createModelList:function(e){var t,n=[];return e=e||this._createDummyRow(),o.isArray(e)||(e=[e]),t=this._formatData(e),o.each(t,function(e){var t=new a(e,{collection:this,parse:!0});n.push(t)},this),n},_syncRowSpanDataForAppend:function(e,t,n){var i=this.at(e-1);i&&o.each(i.getRowSpanData(),function(e,o){var s,a,r,l;0!==e.count&&(e.isMainRow?(s=i,a=e,r=1):(s=this.get(e.mainRowKey),a=s.getRowSpanData()[o],r=-e.count+1),(a.count>r||n)&&(a.count+=t,l=a.count,this._updateSubRowSpanData(s,o,r,l)))},this)},_updateSubRowSpanData:function(e,t,n,i){var o,s,a=this.indexOf(e),r=e.get("rowKey");for(s=n;s=0)&&(h[s]=e[o-n]);l.set(h)},getElement:function(e,t){var n=this.getMainRowKey(e,t);return this.domState.getElement(n,t)},getCheckedState:function(){var e=0,t=0;return this.forEach(function(n){var i=n.getCellState("_button");!i.disabled&&i.editable&&(e+=1,n.get("_button")&&(t+=1))}),{available:e,checked:t}}});e.exports=r},function(e,t,n){"use strict";var i=n(9),o=i.Collection.extend({clear:function(){return this.each(function(e){e.stopListening(),e=null}),this.reset([],{silent:!0}),this}});e.exports=o},function(e,t,n){"use strict";var i=n(6),o=n(9),s=n(7),a=n(13),r=n(18),l=n(19),d=n(20),h=n(21),u=n(22),c=["_button","_number","_extraData"],g="REQUIRED",m="TYPE_NUMBER",f=a.extend({initialize:function(){a.prototype.initialize.apply(this,arguments),this.extraDataManager=new r(this.get("_extraData")),this.columnModel=this.collection.columnModel,this.validateMap={},this.on("change",this._onChange,this)},idAttribute:"rowKey",set:function(e,t,n){var s,a=i.isObject(e);a&&(n=t),!this.columnModel||n&&n.silent?o.Model.prototype.set.apply(this,arguments):(a?s=e:(s={},s[e]=t),i.each(s,function(e,t){this._executeOnBeforeChange(t,e)||delete s[t]},this),o.Model.prototype.set.call(this,s,n))},parse:function(e){return e._extraData||(e._extraData={}),e},_triggerExtraDataChangeEvent:function(){this.trigger("extraDataChanged",this.get("_extraData"))},_triggerCheckboxChangeEvent:function(e){var t={rowKey:this.get("rowKey")};e?this.trigger("check",t):this.trigger("uncheck",t)},_onChange:function(){var e=i.omit(this.changed,c);i.has(this.changed,"_button")&&this._triggerCheckboxChangeEvent(this.changed._button),this.isDuplicatedPublicChanged(e)||i.each(e,function(e,t){var n=this.columnModel.getColumnModel(t);n&&(this.collection.syncRowSpannedData(this,t,e),this._executeOnAfterChange(t),this.validateCell(t,!0))},this)},_validateCellData:function(e){var t,n=this.columnModel.getColumnModel(e).validation,o="";return n&&(t=this.get(e),n.required&&d.isBlank(t)?o=g:"number"!==n.dataType||i.isNumber(t)||(o=m)),o},validateCell:function(e,t){var n;return!t&&e in this.validateMap?this.validateMap[e]:(n=this._validateCellData(e),n?this.addCellClassName(e,u.CELL_INVALID):this.removeCellClassName(e,u.CELL_INVALID),this.validateMap[e]=n,n)},_createChangeCallbackEvent:function(e,t){return new l(null,{rowKey:this.get("rowKey"),columnName:e,value:t,instance:this.collection.publicObject})},_executeOnBeforeChange:function(e,t){var n,i=this.columnModel.getColumnModel(e),o=this.get(e)!==t;return!(o&&i&&i.onBeforeChange)||(n=this._createChangeCallbackEvent(e,t),i.onBeforeChange(n),!n.isStopped())},_executeOnAfterChange:function(e){var t,n=this.columnModel.getColumnModel(e),i=this.get(e);return!n.onAfterChange||(t=this._createChangeCallbackEvent(e,i),n.onAfterChange(t),!t.isStopped())},getPrivateProperties:function(){return c},getRowState:function(){return this.extraDataManager.getRowState()},getClassNameList:function(e){var t=this.columnModel.getColumnModel(e),n=d.isMetaColumn(e),i=this.extraDataManager.getClassNameList(e),o=this.getCellState(e); -return t.className&&i.push(t.className),t.ellipsis&&i.push(u.CELL_ELLIPSIS),t.validation&&t.validation.required&&i.push(u.CELL_REQUIRED),n?i.push(u.CELL_HEAD):o.editable&&i.push(u.CELL_EDITABLE),o.disabled&&i.push(u.CELL_DISABLED),this._makeUniqueStringArray(i)},_makeUniqueStringArray:function(e){var t=i.uniq(e.join(" ").split(" "));return i.without(t,"")},getCellState:function(e){var t,n,o=["_number","normal"],s=this.columnModel,a=this.collection.disabled,r=!0,l=s.getEditType(e);return n=this.executeRelationCallbacksAll(["disabled","editable"])[e],t=this.getRowState(),a||(a="_button"===e?t.disabledCheck:t.disabled,a=a||!(!n||!n.disabled)),r=!i.contains(o,l)&&!(n&&n.editable===!1),{editable:r,disabled:a}},isEditable:function(e){var t=this.getCellState(e);return!t.disabled&&t.editable},isDisabled:function(e){var t=this.getCellState(e);return t.disabled},getRowSpanData:function(e){var t=this.collection.isRowSpanEnable(),n=this.get("rowKey");return this.extraDataManager.getRowSpanData(e,n,t)},getHeight:function(){return this.extraDataManager.getHeight()},setHeight:function(e){this.extraDataManager.setHeight(e),this._triggerExtraDataChangeEvent()},setRowSpanData:function(e,t){this.extraDataManager.setRowSpanData(e,t),this._triggerExtraDataChangeEvent()},setRowState:function(e,t){this.extraDataManager.setRowState(e),t||this._triggerExtraDataChangeEvent()},addCellClassName:function(e,t){this.extraDataManager.addCellClassName(e,t),this._triggerExtraDataChangeEvent()},addClassName:function(e){this.extraDataManager.addClassName(e),this._triggerExtraDataChangeEvent()},removeCellClassName:function(e,t){this.extraDataManager.removeCellClassName(e,t),this._triggerExtraDataChangeEvent()},removeClassName:function(e){this.extraDataManager.removeClassName(e),this._triggerExtraDataChangeEvent()},_getStringOfListItems:function(e,t){var n,o,a,r,l,h=this.get(e),u=this.columnModel.getColumnModel(e);return s.isExisty(s.pick(u,"editOptions","listItems"))?(n=this.executeRelationCallbacksAll(["listItems"])[e],l=n&&n.listItems,o=l?n.listItems:u.editOptions.listItems,a=typeof o[0].value,r=d.toString(h).split(","),a!==typeof r[0]&&(r=i.map(r,function(e){return d.convertValueType(e,a)})),i.each(r,function(e,n){var s=i.findWhere(o,{value:e}),a=s&&(t?s.text:s.value)||"";r[n]=a},this),r.join(",")):""},_isListType:function(e){return i.contains(["select","radio","checkbox"],e)},isDuplicatedPublicChanged:function(e){return!(!this._timeoutIdForChanged||!i.isEqual(this._lastPublicChanged,e))||(clearTimeout(this._timeoutIdForChanged),this._timeoutIdForChanged=setTimeout(i.bind(function(){this._timeoutIdForChanged=null},this),10),this._lastPublicChanged=e,!1)},getValueString:function(e){var t=this.columnModel,n=t.copyVisibleTextOfEditingColumn(e),i=t.getEditType(e),o=t.getColumnModel(e),a=this.get(e);if(this._isListType(i)){if(!s.isExisty(s.pick(o,"editOptions","listItems",0,"value")))throw new Error('Check "'+e+"\"'s editOptions.listItems property out in your ColumnModel.");a=this._getStringOfListItems(e,n)}else"password"===i&&(a="");return a=d.toString(a),a=h.addDoubleQuotes(a)},executeRelationCallbacksAll:function(e){var t=this.attributes,n=this.columnModel.get("relationsMap"),o={};return i.isEmpty(e)&&(e=["listItems","disabled","editable"]),i.each(n,function(n,s){var a=t[s];i.each(n,function(n){this._executeRelationCallback(n,e,a,t,o)},this)},this),o},_executeRelationCallback:function(e,t,n,o,s){var a=this.getRowState(),r=e.targetNames;i.each(t,function(t){var l;a.disabled&&"disabled"===t||(l=e[t],"function"==typeof l&&i.each(r,function(e){s[e]=s[e]||{},s[e][t]=l(n,o)},this))},this)}},{privateProperties:c});e.exports=f},function(e,t,n){"use strict";var i=n(6),o=n(7),s=o.defineClass({init:function(e){this.data=e||{}},getRowSpanData:function(e,t,n){var i=null;return n&&(i=this.data.rowSpanData,e&&i&&(i=i[e])),!i&&e&&(i={count:0,isMainRow:!0,mainRowKey:t}),i},getRowState:function(){var e={disabledCheck:!1,disabled:!1,checked:!1};switch(this.data.rowState){case"DISABLED":e.disabled=!0;case"DISABLED_CHECK":e.disabledCheck=!0;break;case"CHECKED":e.checked=!0}return e},setRowState:function(e){this.data.rowState=e},setRowSpanData:function(e,t){var n=i.assign({},this.data.rowSpanData);e&&(t?n[e]=t:n[e]&&delete n[e],this.data.rowSpanData=n)},addCellClassName:function(e,t){var n,o;n=this.data.className||{},n.column=n.column||{},o=n.column[e]||[],i.contains(o,t)||(o.push(t),n.column[e]=o,this.data.className=n)},addClassName:function(e){var t,n;t=this.data.className||{},n=t.row||[],o.inArray(e,n)===-1&&(n.push(e),t.row=n,this.data.className=t)},getClassNameList:function(e){var t=this.data.className,n=Array.prototype.push,i=[];return t&&(t.row&&n.apply(i,t.row),e&&t.column&&t.column[e]&&n.apply(i,t.column[e])),i},_removeClassNameFromArray:function(e,t){var n=e.join(" ").split(" ");return i.without(n,t)},removeCellClassName:function(e,t){var n=this.data.className;o.pick(n,"column",e)&&(n.column[e]=this._removeClassNameFromArray(n.column[e],t),this.data.className=n)},removeClassName:function(e){var t=this.data.className;t&&t.row&&(t.row=this._removeClassNameFromArray(t.row,e),this.className=t)},setHeight:function(e){this.data.height=e},getHeight:function(){return this.data.height}});e.exports=s},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(20),a=n(14).attrName,r={ROW_HEAD:"rowHead",COLUMN_HEAD:"columnHead",DUMMY:"dummy",CELL:"cell",ETC:"etc"},l=o.defineClass({init:function(e,t){this._stopped=!1,e&&(this.nativeEvent=e),t&&this.setData(t)},setData:function(e){i.extend(this,e)},stop:function(){this._stopped=!0},isStopped:function(){return this._stopped}});l.getTargetInfo=function(e){var t,n,i=e.closest("td"),o=r.ETC;return 1===i.length?(t=i.attr(a.ROW_KEY),n=i.attr(a.COLUMN_NAME),o=t&&n?s.isMetaColumn(n)?r.ROW_HEAD:r.CELL:r.DUMMY):(i=e.closest("th"),1===i.length&&(n=i.attr(a.COLUMN_NAME),o=r.COLUMN_HEAD)),s.pruneObject({targetType:o,rowKey:s.strToNumber(t),columnName:n})},l.targetTypeConst=r,e.exports=l},function(e,t,n){"use strict";function i(e,t){var n,i,o,s="",a=0;for(t=!!t,i=e.split(/(%(?:d0|d1)%.{2})/),n=i.length;a]*\ssrc=["']?([^>"']+)["']?[^>]*>/i),e=t?t[1]:""):e=e.replace(//gi,""),e=s.trim(r.decodeHTMLEntity(e.replace(/<\/?(?:h[1-5]|[a-z]+(?::[a-z]+)?)[^>]*>/gi,"")))),e},toString:function(e){return a.isUndefined(e)||a.isNull(e)?"":String(e)},getUniqueKey:function(){return this.uniqueId+=1,this.uniqueId},toQueryString:function(e){var t=[];return a.each(e,function(e,n){a.isString(e)||a.isNumber(e)||(e=JSON.stringify(e)),e=encodeURIComponent(unescape(e)),e&&t.push(n+"="+e)}),t.join("&")},toQueryObject:function(e){var t=e.split("&"),n={};return a.each(t,function(e){var t,o,s=e.split("=");t=s[0],o=i(s[1]);try{o=JSON.parse(o)}catch(e){}a.isNull(o)||(n[t]=o)}),n},convertValueType:function(e,t){return"string"===t?String(e):"number"===t?Number(e):"boolean"===t?Boolean(e):e},toUpperCaseFirstLetter:function(e){return e.charAt(0).toUpperCase()+e.slice(1)},clamp:function(e,t,n){var i;return t>n&&(i=t,t=n,n=i),Math.max(t,Math.min(e,n))},isOptionEnabled:function(e){return a.isObject(e)||e===!0},appendStyleElement:function(e,t){var n=document.createElement("style");n.type="text/css",n.id=e,n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t)),document.getElementsByTagName("head")[0].appendChild(n)},warning:function(e){console&&console.warn&&console.warn(e)},replaceText:function(e,t){return e.replace(/\{\{(\w*)\}\}/g,function(e,n){return t.hasOwnProperty(n)?t[n]:""})}},e.exports=o},function(e,t,n){"use strict";function i(e,t,n,i){var o,s,a=n[0],r=n[1],l=i[0],d=i[1];for(s=l;s0},getAvailableTotalWidth:function(e){var t=this.get("width"),n=e+1+(this.isDivisionBorderDoubled()?1:0),i=n*r,o=t-this.getScrollYWidth()-i;return o},getBodySize:function(){var e=this.get("lsideWidth"),t=this.get("rsideWidth")-this.getScrollYWidth(),n=this.get("bodyHeight")-this.getScrollXHeight();return{height:n,rsideWidth:t,totalWidth:e+t}},getOverflowFromMousePosition:function(e,t){var n=this.getPositionFromBodyArea(e,t),i=this.getBodySize();return this._judgeOverflow(n,i)},_judgeOverflow:function(e,t){var n=e.x,i=e.y,o=0,s=0;return i<0?o=-1:i>t.height&&(o=1),n<0?s=-1:n>t.totalWidth&&(s=1),{x:s,y:o}},getScrollXHeight:function(){return this.get("scrollX")?this.get("scrollBarSize"):0},getScrollYWidth:function(){return this.get("scrollY")?this.get("scrollBarSize"):0},_calcRealBodyHeight:function(e){var t=this.get("headerHeight")+this.get("footerHeight")+a;return e-t},_getMinBodyHeight:function(){return this.get("minBodyHeight")+2*r+this.getScrollXHeight()},_getMinLeftSideWidth:function(){var e,t=this.get("minimumColumnWidth"),n=this.columnModel.getVisibleFrozenCount(!0),i=0;return n&&(e=(n+1)*r,i=e+t*n),i},getMaxLeftSideWidth:function(){var e=Math.ceil(.9*this.get("width"));return e&&(e=Math.max(e,this._getMinLeftSideWidth())),e},setWidth:function(e){e>0&&(this.set("width",e),this.trigger("setWidth",e))},setHeight:function(e){e>0&&this.set("bodyHeight",Math.max(this._calcRealBodyHeight(e),this._getMinBodyHeight()))},getHeight:function(){return this.get("bodyHeight")+this.get("headerHeight")},refreshLayout:function(){var e=this.domState,t=e.getOffset();this.set({offsetTop:t.top,offsetLeft:t.left,width:e.getWidth()}),this.get("fitToParentHeight")&&this.setHeight(e.getParentHeight())},getBodyOffsetTop:function(){var e=this.domState.getOffset().top;return e+this.get("headerHeight")+r+a},getPositionFromBodyArea:function(e,t){var n=this.domState.getOffset().left,i=this.getBodyOffsetTop();return{x:e-n,y:t-i}}});e.exports=l},function(e,t,n){"use strict";var i=n(6),o=n(20),s=n(13),a=n(14).dimension.CELL_BORDER_WIDTH,r=s.extend({initialize:function(e,t){this.dataModel=t.dataModel,this.dimensionModel=t.dimensionModel,this.domState=t.domState,this.rowHeights=[],this.rowOffsets=[],this.dimensionModel.get("fixedRowHeight")&&this.listenTo(this.dataModel,"add remove reset sort",this.syncWithDataModel)},syncWithDom:function(){var e,t,n,i,o;if(!this.dimensionModel.get("fixedRowHeight")){for(e=this.domState.getRowHeights(),t=this._getHeightFromData(),n=[],i=0,o=t.length;i0)for(;i>=0&&a>0;)n=Math.max(o,e[i]-a),a-=e[i]-n,e[i]=n,i-=1;else a<0&&(e[i]+=Math.abs(a));return e},_calculateColumnWidth:function(e){return e=this._fillEmptyWidth(e),e=this._applyMinimumWidth(e),e=this._adjustWidths(e)},_fillEmptyWidth:function(e){var t=this.dimensionModel.getAvailableTotalWidth(e.length),n=t-a.sum(e),o=[];return i.each(e,function(e,t){e||o.push(t)}),this._distributeExtraWidthEqually(e,n,o)},_getFrameWidth:function(e){var t=0;return e.length&&(t=a.sum(e)+(e.length+1)*h),t},_addExtraColumnWidth:function(e,t){var n=this._fixedWidthFlags,o=[];return i.each(n,function(e,t){e||o.push(t)}),this._distributeExtraWidthEqually(e,t,o)},_reduceExcessColumnWidth:function(e,t){var n=this._minWidths,o=this._fixedWidthFlags,s=[];return i.each(e,function(e,t){o[t]||s.push({index:t,width:e-n[t]})}),this._reduceExcessColumnWidthSub(i.clone(e),t,s)},_reduceExcessColumnWidthSub:function(e,t,n){var o,s=Math.round(t/n.length),a=[];return i.each(n,function(n){n.widtha.length?this._reduceExcessColumnWidthSub(e,t,a):(o=i.pluck(n,"index"),this._distributeExtraWidthEqually(e,t,o))},_distributeExtraWidthEqually:function(e,t,n){var o=n.length,s=Math.round(t/o),a=s*o-t,r=i.clone(e);return i.each(n,function(e){r[e]+=s}),n.length&&(r[i.last(n)]-=a),r},_applyMinimumWidth:function(e){var t=this._minWidths,n=i.clone(e);return i.each(n,function(e,i){var o=t[i];e0&&o>l?this._addExtraColumnWidth(e,r):t&&r<0?this._reduceExcessColumnWidth(e,r):e},_onDimensionWidthChange:function(){var e=this.get("widths");this._isModified||(e=this._adjustWidths(e,!0)),this._setColumnWidthVariables(e)},getWidths:function(e){var t=this.columnModel.getVisibleFrozenCount(!0),n=[];switch(e){case d.L:n=this.get("widths").slice(0,t);break;case d.R:n=this.get("widths").slice(t);break;default:n=this.get("widths")}return n},getFrameWidth:function(e){var t=this.columnModel.getVisibleFrozenCount(!0),n=this.getWidths(e),o=this._getFrameWidth(n);return i.isUndefined(e)&&t>0&&(o+=h),o},setColumnWidth:function(e,t){var n=this.get("widths"),i=this._minWidths[e];n[e]&&(n[e]=Math.max(t,i),this._setColumnWidthVariables(n),this._isModified=!0)},indexOf:function(e,t){var n=this.getWidths(),i=this.getFrameWidth(),s=t?0:this.columnModel.getVisibleMetaColumnCount(),a=0;return e>=i?a=n.length-1:o.forEachArray(n,function(t,n){return t+=h,a=n,e>t&&void(e-=t)}),Math.max(0,a-s)},restoreColumnWidth:function(e){var t=this.get("originalWidths")[e];this.setColumnWidth(e,t)}});e.exports=u},function(e,t,n){"use strict";var i=n(7),o=n(13),s=n(14).dimension,a=s.TABLE_BORDER_WIDTH,r=s.CELL_BORDER_WIDTH,l=o.extend({initialize:function(e,t){this.dataModel=t.dataModel,this.columnModel=t.columnModel,this.focusModel=t.focusModel,this.dimensionModel=t.dimensionModel,this.renderModel=t.renderModel,this.coordRowModel=t.coordRowModel,this.coordColumnModel=t.coordColumnModel,this.listenTo(this.focusModel,"focus",this._onFocus)},getIndexFromMousePosition:function(e,t,n){var i=this.dimensionModel.getPositionFromBodyArea(e,t),o=this._getScrolledPosition(i);return{row:this.coordRowModel.indexOf(o.y),column:this.coordColumnModel.indexOf(o.x,n)}},_getScrolledPosition:function(e){var t=this.renderModel,n=e.x>this.dimensionModel.get("lsideWidth"),i=n?t.get("scrollLeft"):0,o=t.get("scrollTop");return{x:e.x+i,y:e.y+o}},_getRowSpanCount:function(e,t){var n=this.dataModel.get(e).getRowSpanData(t);return n.isMainRow||(e=n.mainRowKey,n=this.dataModel.get(e).getRowSpanData(t)),n.count||1},_getCellVerticalPosition:function(e,t){var n,i,o,s,a=this.coordRowModel;return n=this.dataModel.indexOfRowKey(e),i=n+t-1,o=a.getOffsetAt(n),s=a.getOffsetAt(i)+a.getHeightAt(i)+r,{top:o,bottom:s}},_getCellHorizontalPosition:function(e){for(var t=this.columnModel,n=t.getVisibleMetaColumnCount(),i=this.coordColumnModel.get("widths"),o=t.getVisibleFrozenCount()+n,s=t.indexOfColumnName(e,!0)+n,a=o>s?0:o,l=0;al+n.height,t?(s=e.leftd+n.rsideWidth-1):s=a=!1,{isUp:i,isDown:o,isLeft:s,isRight:a}},_onFocus:function(e,t,n){var o;n&&(o=this.getScrollPosition(e,t),i.isEmpty(o)||this.renderModel.set(o))},_makeScrollPosition:function(e,t,n){var i={};return e.isUp?i.scrollTop=t.top:e.isDown&&(i.scrollTop=t.bottom-n.height),e.isLeft?i.scrollLeft=t.left:e.isRight&&(i.scrollLeft=t.right-n.rsideWidth+a),i},getScrollPosition:function(e,t){var n=!this.columnModel.isLside(t),i=this.getCellPosition(e,t),o=this.dimensionModel.getBodySize(),s=this._judgeScrollDirection(i,n,o);return this._makeScrollPosition(s,i,o)}});e.exports=l},function(e,t,n){"use strict";var i=n(6),o=n(13),s=n(20),a=n(19),r=o.extend({initialize:function(e,t){var n,s=t.editingEvent+":cell";o.prototype.initialize.apply(this,arguments),i.assign(this,{dataModel:t.dataModel,columnModel:t.columnModel,coordRowModel:t.coordRowModel,domEventBus:t.domEventBus,domState:t.domState}),this.listenTo(this.dataModel,"reset",this._onResetData),this.listenTo(this.dataModel,"add",this._onAddDataModel),this.domEventBus&&(n=this.domEventBus,this.listenTo(n,s,this._onMouseClickEdit),this.listenTo(n,"mousedown:focus",this._onMouseDownFocus),this.listenTo(n,"key:move",this._onKeyMove),this.listenTo(n,"key:edit",this._onKeyEdit))},defaults:{rowKey:null,columnName:null,prevRowKey:null,prevColumnName:"",editingAddress:null,active:!1},_onResetData:function(){this.blur()},_onAddDataModel:function(e,t){t.focus&&this.focusAt(t.at,0)},_onMouseClickEdit:function(e){this.focusIn(e.rowKey,e.columnName)},_onKeyMove:function(e){var t,n;switch(e.command){case"up":t=this.prevRowKey();break;case"down":t=this.nextRowKey();break;case"left":n=this.prevColumnName();break;case"right":n=this.nextColumnName();break;case"pageUp":t=this._getPageMovedRowKey(!1);break;case"pageDown":t=this._getPageMovedRowKey(!0);break;case"firstColumn":n=this.firstColumnName();break;case"lastColumn":n=this.lastColumnName();break;case"firstCell":t=this.firstRowKey(),n=this.firstColumnName();break;case"lastCell":t=this.lastRowKey(),n=this.lastColumnName()}t=i.isUndefined(t)?this.get("rowKey"):t,n=n||this.get("columnName"),this.focus(t,n,!0)},_onKeyEdit:function(e){var t;switch(e.command){case"currentCell":t=this.which();break;case"nextCell":t=this.nextAddress();break;case"prevCell":t=this.prevAddress()}t&&this.focusIn(t.rowKey,t.columnName,!0)},_getPageMovedRowKey:function(e){var t,n=this.dataModel.indexOfRowKey(this.get("rowKey")),i=this.coordRowModel.getPageMovedIndex(n,e);return t=e?this.nextRowKey(i-n):this.prevRowKey(n-i)},_onMouseDownFocus:function(){this.focusClipboard()},_savePrevious:function(){null!==this.get("rowKey")&&this.set("prevRowKey",this.get("rowKey")),this.get("columnName")&&this.set("prevColumnName",this.get("columnName"))},isCurrentCell:function(e,t,n){var i=this.get("columnName"),o=this.get("rowKey");return n&&(o=this.dataModel.getMainRowKey(o,i)),String(o)===String(e)&&i===t},focus:function(e,t,n){return this.get("active")||this.set("active",!0),!(this._isValidCell(e,t)&&!s.isMetaColumn(t)&&!this.isCurrentCell(e,t))||!!this._triggerFocusChangeEvent(e,t)&&(this.blur(),this.set({rowKey:e,columnName:t}),this.trigger("focus",e,t,n),"radio"===this.columnModel.get("selectType")&&this.dataModel.check(e),!0)},_triggerFocusChangeEvent:function(e,t){var n=new a(null,{rowKey:e,prevRowKey:this.get("rowKey"),columnName:t,prevColumnName:this.get("columnName")});return this.trigger("focusChange",n),!n.isStopped()},focusAt:function(e,t,n){var i=this.dataModel.at(e),o=this.columnModel.at(t,!0),s=!1;return i&&o&&(s=this.focus(i.get("rowKey"),o.name,n)),s},focusIn:function(e,t,n){var i=this.focus(e,t,n);return i&&(e=this.dataModel.getMainRowKey(e,t),this.dataModel.get(e).isEditable(t)?(this.finishEditing(),this.startEditing(e,t)):this.focusClipboard()),i},focusInAt:function(e,t,n){var i=this.dataModel.at(e),o=this.columnModel.at(t,!0),s=!1;return i&&o&&(s=this.focusIn(i.get("rowKey"),o.name,n)),s},focusClipboard:function(){this.trigger("focusClipboard")},refreshState:function(){var e;this.domState.hasFocusedElement()?this.has()||(e=this.restore(),e||this.focusAt(0,0)):this.set("active",!1)},blur:function(){return this.has()?(this.has(!0)&&this._savePrevious(),this.trigger("blur",this.get("rowKey"),this.get("columnName")),this.set({rowKey:null,columnName:null}),this):this},which:function(){return{rowKey:this.get("rowKey"),columnName:this.get("columnName")}},indexOf:function(e){var t=e?this.get("prevRowKey"):this.get("rowKey"),n=e?this.get("prevColumnName"):this.get("columnName");return{row:this.dataModel.indexOfRowKey(t),column:this.columnModel.indexOfColumnName(n,!0)}},has:function(e){var t=this.get("rowKey"),n=this.get("columnName");return e?this._isValidCell(t,n):!s.isBlank(t)&&!s.isBlank(n)},restore:function(){var e=this.get("prevRowKey"),t=this.get("prevColumnName"),n=!1;return this._isValidCell(e,t)&&(this.focus(e,t),this.set({prevRowKey:null,prevColumnName:null}),n=!0),n},isEditingCell:function(e,t){var n=this.get("editingAddress");return n&&String(n.rowKey)===String(e)&&n.columnName===t},startEditing:function(e,t){if(this.get("editingAddress"))return!1;if(i.isUndefined(e)&&i.isUndefined(t))e=this.get("rowKey"),t=this.get("columnName");else if(!this.isCurrentCell(e,t,!0))return!1;return e=this.dataModel.getMainRowKey(e,t),!!this.dataModel.get(e).isEditable(t)&&(this.set("editingAddress",{rowKey:e,columnName:t}),!0)},finishEditing:function(){return!!this.get("editingAddress")&&(this.set("editingAddress",null),!0)},_isValidCell:function(e,t){var n=!s.isBlank(e)&&!!this.dataModel.get(e),i=!s.isBlank(t)&&!!this.columnModel.getColumnModel(t);return n&&i},_findRowKey:function(e){var t,n,i=this.dataModel,o=null;return this.has(!0)&&(t=Math.max(Math.min(i.indexOfRowKey(this.get("rowKey"))+e,this.dataModel.length-1),0),n=i.at(t),n&&(o=n.get("rowKey"))),o},_findColumnName:function(e){var t,n=this.columnModel,i=n.getVisibleColumns(),o=n.indexOfColumnName(this.get("columnName"),!0),s=null;return this.has(!0)&&(t=Math.max(Math.min(o+e,i.length-1),0),s=i[t]&&i[t].name),s},_getRowSpanData:function(e,t){return this.dataModel.get(e).getRowSpanData(t)},nextRowIndex:function(e){var t=this.nextRowKey(e);return this.dataModel.indexOfRowKey(t)},prevRowIndex:function(e){var t=this.prevRowKey(e);return this.dataModel.indexOfRowKey(t)},nextColumnIndex:function(){var e=this.nextColumnName();return this.columnModel.indexOfColumnName(e,!0)},prevColumnIndex:function(){var e=this.prevColumnName();return this.columnModel.indexOfColumnName(e,!0)},nextRowKey:function(e){var t,n,i=this.which(),o=i.rowKey;return e="number"==typeof e?e:1,e>1?(o=this._findRowKey(e),n=this._getRowSpanData(o,i.columnName),n.isMainRow||(o=this._findRowKey(n.count+e))):(n=this._getRowSpanData(o,i.columnName),n.isMainRow&&n.count>0?o=this._findRowKey(n.count):n.isMainRow?o=this._findRowKey(1):(t=n.count,n=this._getRowSpanData(n.mainRowKey,i.columnName),o=this._findRowKey(n.count+t))),o},prevRowKey:function(e){var t,n=this.which(),i=n.rowKey;return e="number"==typeof e?e:1,e*=-1,e<-1?(i=this._findRowKey(e),t=this._getRowSpanData(i,n.columnName),t.isMainRow||(i=this._findRowKey(t.count+e))):(t=this._getRowSpanData(i,n.columnName),i=t.isMainRow?this._findRowKey(-1):this._findRowKey(t.count-1)),i},nextColumnName:function(){return this._findColumnName(1)},prevColumnName:function(){return this._findColumnName(-1)},firstRowKey:function(){return this.dataModel.at(0).get("rowKey")},lastRowKey:function(){return this.dataModel.at(this.dataModel.length-1).get("rowKey")},firstColumnName:function(){var e=this.columnModel.getVisibleColumns();return e[0].name},lastColumnName:function(){var e=this.columnModel.getVisibleColumns(),t=e.length-1;return e[t].name},prevAddress:function(){var e,t,n=this.get("rowKey"),i=this.get("columnName"),o=i===this.firstColumnName(),s=n===this.firstRowKey();return s&&o?(e=n,t=i):o?(e=this.prevRowKey(),t=this.lastColumnName()):(e=n,t=this.prevColumnName()), -{rowKey:e,columnName:t}},nextAddress:function(){var e,t,n=this.get("rowKey"),i=this.get("columnName"),o=i===this.lastColumnName(),s=n===this.lastRowKey();return s&&o?(e=n,t=i):o?(e=this.nextRowKey(),t=this.firstColumnName()):(e=n,t=this.nextColumnName()),{rowKey:e,columnName:t}}});e.exports=r},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(13),a=n(29),r=n(30),l=n(14).renderState,d=n(14).dimension.CELL_BORDER_WIDTH,h=1e3,u=s.extend({initialize:function(e,t){var n,o,s;i.assign(this,{dataModel:t.dataModel,columnModel:t.columnModel,focusModel:t.focusModel,dimensionModel:t.dimensionModel,coordRowModel:t.coordRowModel,coordColumnModel:t.coordColumnModel}),n={dataModel:this.dataModel,columnModel:this.columnModel,focusModel:this.focusModel},o=new r([],n),s=new r([],n),this.set({lside:[],rside:[],partialLside:o,partialRside:s}),this.listenTo(this.columnModel,"columnModelChange change",this._onColumnModelChange).listenTo(this.dataModel,"sort reset",this._onDataModelChange).listenTo(this.dataModel,"delRange",this._onRangeDataModelChange).listenTo(this.dataModel,"add",this._onAddDataModelChange).listenTo(this.dataModel,"remove",this._onRemoveDataModelChange).listenTo(this.dataModel,"beforeReset",this._onBeforeResetData).listenTo(this.focusModel,"change:editingAddress",this._onEditingAddressChange).listenTo(o,"valueChange",this._executeRelation).listenTo(s,"valueChange",this._executeRelation).listenTo(this.coordRowModel,"reset",this._onChangeRowHeights).listenTo(this.dimensionModel,"columnWidthChanged",this.finishEditing).listenTo(this.dimensionModel,"change:width",this._updateMaxScrollLeft).listenTo(this.dimensionModel,"change:totalRowHeight change:scrollBarSize change:bodyHeight",this._updateMaxScrollTop),this.get("showDummyRows")&&(this.listenTo(this.dimensionModel,"change:bodyHeight change:totalRowHeight",this._resetDummyRowCount),this.on("change:dummyRowCount",this._resetDummyRows)),this.on("change",this._onChangeIndex,this),this._onChangeLayoutBound=i.bind(this._onChangeLayout,this),this._updateMaxScrollLeft()},defaults:{top:0,bottom:0,scrollTop:0,scrollLeft:0,maxScrollLeft:0,maxScrollTop:0,startIndex:-1,endIndex:-1,startNumber:1,lside:null,rside:null,partialLside:null,partialRside:null,showDummyRows:!1,dummyRowCount:0,emptyMessage:null,state:l.DONE},_onChangeLayout:function(){this.focusModel.finishEditing(),this.focusModel.focusClipboard()},_onChangeIndex:function(e){var t=e.changed,n=i.has(t,"startIndex"),o=i.has(t,"endIndex");(n||o)&&this.refresh()},_onChangeRowHeights:function(){for(var e,t=this.coordRowModel,n=this.get("partialLside"),i=this.get("partialRside"),o=0,s=n.length;oh&&this.set("state",l.LOADING)},_onEditingAddressChange:function(e,t){var n=t,o=!0,s=this;t||(n=e.previous("editingAddress"),o=!1),this._updateCellData(n.rowKey,n.columnName,{editing:o}),this._triggerEditingStateChanged(n.rowKey,n.columnName),i.defer(function(){s._toggleChangeLayoutEventHandlers(o)})},_toggleChangeLayoutEventHandlers:function(e){var t="change:scrollTop change:scrollLeft",n="columnWidthChanged";e?(this.listenToOnce(this.dimensionModel,n,this._onChangeLayoutBound),this.once(t,this._onChangeLayoutBound)):(this.stopListening(this.dimensionModel,n,this._onChangeLayoutBound),this.off(t,this._onChangeLayoutBound))},_triggerEditingStateChanged:function(e,t){var n=this.getCellData(e,t);o.pick(n,"columnModel","editOptions","useViewMode")!==!1&&null===n.convertedHTML&&this.trigger("editingStateChanged",n)},_updateCellData:function(e,t,n){var i=this._getRowModel(e,t);i&&i.setCell(t,n)},initializeVariables:function(){this.set({top:0,scrollTop:0,scrollLeft:0,startNumber:1})},getCollection:function(e){var t=this._getPartialWhichSideType(e);return this.get(t)},_getPartialWhichSideType:function(e){return o.isString(e)?"partial"+e+"side":"partialRside"},_onColumnModelChange:function(){this.set({scrollTop:0},{silent:!0}),this._resetViewModelList(),this._setRenderingRange(!0),this.refresh({change:!1,columnModelChanged:!0})},_onDataModelChange:function(){this._resetViewModelList(),this._setRenderingRange(!0),this.refresh({type:"reset",dataListChanged:!0})},_onAddDataModelChange:function(e,t){var n,o,s,a,r=this._getColumnNamesOfEachSide(),l=t.at;this._setRenderingRange(!0),e=i.isArray(e)?e:e.models,i.each(e,function(e,t){n=this.coordRowModel.getHeightAt(t),i.each(["lside","rside"],function(i){s=l+t+1,o=this._createViewDataFromDataModel(e,r[i],n,s),a=this._createRowModel(o,!0),this.get(i).splice(l+t,0,a)},this)},this),this.refresh({type:"add",dataListChanged:!0}),t.focus&&this.focusModel.focusAt(t.at,0)},_onRemoveDataModelChange:function(e,t){i.each(["lside","rside"],function(e){this.get(e).splice(t,1)},this),this._setRenderingRange(!0),this.refresh({dataListChanged:!0})},_onRangeDataModelChange:function(e,t){var n=this.columnModel;this._setRenderingRange(!0),i.each(["partialLside","partialRside"],function(o){i.each(this.get(o).models,function(o){var s=o.get("rowKey"),a=i.contains(e,s);a&&i.each(t,function(e){n.getColumnModel(e).editOptions&&this._updateCellData(s,e,{value:"",formattedValue:""})},this)},this)},this),this.refresh({type:"delRange",dataListChanged:!0})},_resetDummyRows:function(){this._clearDummyRows(),this._fillDummyRows(),this.trigger("rowListChanged")},_setRenderingRange:function(e){var t=this.dataModel.length;this.set({startIndex:t?0:-1,endIndex:t-1},{silent:e})},_createViewDataFromDataModel:function(e,t,n,o){var s={rowNum:o,height:n,rowKey:e.get("rowKey"),_extraData:e.get("_extraData")};return i.each(t,function(t){var n=e.get(t);"_number"!==t||i.isNumber(n)||(n=o),s[t]=n}),s},_getColumnNamesOfEachSide:function(){var e=this.columnModel.getVisibleFrozenCount(!0),t=this.columnModel.getVisibleColumns(null,!0),n=i.pluck(t,"name"),o={lside:n.slice(0,e),rside:n.slice(e)};return o},_addViewModelListWithRange:function(e,t){var n,i,o,s=this._getColumnNamesOfEachSide();if(e>=0&&t>=0)for(o=e;o<=t;o+=1)n=this.dataModel.at(o),i=this.coordRowModel.getHeightAt(o),this._addViewModelList(n,s,i,o)},_addViewModelList:function(e,t,n,o){i.each(["lside","rside"],function(i){var s;this.get(i)[o]||(s=this._createViewDataFromDataModel(e,t[i],n,o+1),this.get(i)[o]=this._createRowModel(s,!0))},this)},_updateRowNumber:function(e,t){for(var n,i,o,s=this.get("lside"),a=e;a<=t;a+=1)n=s[a],o=a+1,n&&(i=n.get("rowNum"),o=a+1,i!==o&&(n.set({rowNum:o},{silent:!0}),n.setCell("_number",{formattedValue:o,value:o})))},_resetPartialViewModelList:function(e,t){var n,o,s,a;i.each(["L","R"],function(i){n=i.toLowerCase()+"side",o=this._getPartialWhichSideType(i),s=this.get(n),a=s.slice(e,t+1),this.get(o).reset(a)},this)},_getActualRowCount:function(){return this.get("endIndex")-this.get("startIndex")+1},_clearDummyRows:function(){var e=this.get("endIndex")-this.get("startIndex")+1;i.each(["lside","rside"],function(t){for(var n=this.get(t);n.length>e;)n.pop()},this)},_resetDummyRowCount:function(){var e=this.dimensionModel,t=e.get("totalRowHeight"),n=e.get("rowHeight")+d,i=e.get("bodyHeight")-e.getScrollXHeight(),o=0;t=0&&n>=0)for(i=t;i<=n;i+=1)this._executeRelation(i);o?this.trigger("columnModelChanged"):(this.trigger("rowListChanged",s),s&&this.coordRowModel.syncWithDom()),this._refreshState()},_refreshState:function(){this.dataModel.length?this.set("state",l.DONE):this.set("state",l.EMPTY)},_getCollectionByColumnName:function(e){var t,n=this.get("partialLside");return t=n.at(0)&&n.at(0).get(e)?n:this.get("partialRside")},_getRowModel:function(e,t){var n=this._getCollectionByColumnName(t);return n.get(e)},getCellData:function(e,t){var n=this._getRowModel(e,t),i=null;return n&&(i=n.get(t)),i},_executeRelation:function(e){var t,n,o=this.dataModel.at(e),s=e-this.get("startIndex");n=o.executeRelationCallbacksAll(),i.each(n,function(e,n){t=this._getCollectionByColumnName(n).at(s),t&&t.setCell(n,e)},this)},_createRowModel:function(e,t){return new a(e,{parse:t,dataModel:this.dataModel,columnModel:this.columnModel,focusModel:this.focusModel})},_resetViewModelList:function(){i.each(["lside","rside"],function(e){this.set(e,new Array(this.dataModel.length))},this)}});e.exports=u},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(13),a=n(20),r=s.extend({initialize:function(e,t){var n=e&&e.rowKey,i=t.dataModel,o=i.get(n);this.dataModel=i,this.columnModel=t.columnModel,this.focusModel=t.focusModel,o&&(this.listenTo(o,"change",this._onDataModelChange),this.listenTo(o,"restore",this._onDataModelRestore),this.listenTo(o,"extraDataChanged",this._setRowExtraData),this.listenTo(i,"disabledChanged",this._onDataModelDisabledChanged),this.rowData=o)},idAttribute:"rowKey",_onDataModelChange:function(e){i.each(e.changed,function(t,n){var i,o;this.has(n)&&(i=this.columnModel.getColumnModel(n),o=this.columnModel.isTextType(n),this.setCell(n,this._getValueAttrs(t,e,i,o)))},this)},_onDataModelRestore:function(e){var t=this.get(e);t&&this.trigger("restore",t)},_getColumnNameList:function(){var e=this.columnModel.getVisibleColumns(null,!0);return i.pluck(e,"name")},_onDataModelDisabledChanged:function(){var e=this._getColumnNameList();i.each(e,function(e){this.setCell(e,{disabled:this.rowData.isDisabled(e),className:this._getClassNameString(e)})},this)},_setRowExtraData:function(){i.each(this._getColumnNameList(),function(e){var t,n=this.get(e);!o.isUndefined(n)&&n.isMainRow&&(t=this.rowData.getCellState(e),this.setCell(e,{disabled:t.disabled,editable:t.editable,className:this._getClassNameString(e)}))},this)},parse:function(e,t){return this._formatData(e,t.dataModel,t.columnModel,t.focusModel)},_formatData:function(e,t,n,s){var a,r,l=e.rowKey,d=e.height;return i.isUndefined(l)?e:(r=t.get(l),a=i.omit(e,"rowKey","_extraData","height","rowNum"),i.each(a,function(a,h){var u=this._getRowSpanData(h,e,t.isRowSpanEnable()),c=r.getCellState(h),g=n.isTextType(h),m=n.getColumnModel(h);e[h]={rowKey:l,height:d,columnName:h,rowSpan:u.count,isMainRow:u.isMainRow,mainRowKey:u.mainRowKey,editable:c.editable,disabled:c.disabled,editing:s.isEditingCell(l,h),whiteSpace:m.whiteSpace||"nowrap",valign:m.valign,listItems:o.pick(m,"editOptions","listItems"),className:this._getClassNameString(h,r,s),columnModel:m,changed:[]},i.assign(e[h],this._getValueAttrs(a,r,m,g))},this),e)},_getClassNameString:function(e,t,n){var i;return t||(t=this.dataModel.get(this.get("rowKey")))?(n||(n=this.focusModel),i=t.getClassNameList(e),i.join(" ")):""},_getValueAttrs:function(e,t,n,i){var s=o.pick(n,"editOptions","prefix"),a=o.pick(n,"editOptions","postfix"),r=o.pick(n,"editOptions","converter"),l=t.toJSON();return{value:this._getValueToDisplay(e,n,i),formattedValue:this._getFormattedValue(e,l,n),prefix:this._getExtraContent(s,e,l),postfix:this._getExtraContent(a,e,l),convertedHTML:this._getConvertedHTML(r,e,l)}},_getFormattedValue:function(e,t,n){var o;return o=i.isFunction(n.formatter)?n.formatter(e,t,n):e,i.isNumber(o)?o=String(o):o||(o=""),o},_getExtraContent:function(e,t,n){var s="";return i.isFunction(e)?s=e(t,n):o.isExisty(e)&&(s=e),s},_getConvertedHTML:function(e,t,n){var o=null;return i.isFunction(e)&&(o=e(t,n)),o===!1&&(o=null),o},_getValueToDisplay:function(e,t,n){var i=o.isExisty,s=t.useHtmlEntity,a=t.defaultValue;return i(e)||(e=i(a)?a:""),n&&s&&o.hasEncodableString(e)&&(e=o.encodeHTMLEntity(e)),e},_getRowSpanData:function(e,t,n){var i=o.pick(t,"_extraData","rowSpanData",e);return n&&i||(i={mainRowKey:t.rowKey,count:0,isMainRow:!0}),i},updateClassName:function(e){this.setCell(e,{className:this._getClassNameString(e)})},setCell:function(e,t){var n,o,s,r=!1,l=[];this.has(e)&&(o=this.get("rowKey"),s=i.clone(this.get(e)),i.each(t,function(e,t){a.isEqual(s[t],e)||(r="value"===t||r,s[t]=e,l.push(t))},this),l.length&&(s.changed=l,this.set(e,s,{silent:this._shouldSetSilently(s,r)}),r&&(n=this.dataModel.indexOfRowKey(o),this.trigger("valueChange",n))))},_shouldSetSilently:function(e,t){var n=e.editing&&t,s=o.pick(e,"columnModel","editOptions","useViewMode")!==!1,a=i.contains(e.changed,"editing")&&e.editing;return n||s&&a}});e.exports=r},function(e,t,n){"use strict";var i=n(6),o=n(16),s=n(29),a=o.extend({initialize:function(e,t){i.assign(this,{dataModel:t.dataModel,columnModel:t.columnModel,focusModel:t.focusModel})},model:s});e.exports=a},function(e,t,n){"use strict";var i=n(6),o=n(28),s=n(14).dimension,a=s.CELL_BORDER_WIDTH,r=.3,l=.1,d=o.extend({initialize:function(){o.prototype.initialize.apply(this,arguments),this.on("change:scrollTop",this._onChangeScrollTop,this),this.listenTo(this.dimensionModel,"change:bodyHeight",this._onChangeBodyHeight)},_onChangeScrollTop:function(){this._shouldRefresh(this.get("scrollTop"))&&this._setRenderingRange()},_onChangeBodyHeight:function(){this._setRenderingRange()},_setRenderingRange:function(e){var t,n,i=this.get("scrollTop"),o=this.dimensionModel,s=this.dataModel,l=this.coordRowModel,d=o.get("bodyHeight"),h=parseInt(d*r,10),u=Math.max(l.indexOf(i-h),0),c=Math.min(l.indexOf(i+d+h),s.length-1);s.isRowSpanEnable()&&(u+=this._getStartRowSpanMinCount(u),c+=this._getEndRowSpanMaxCount(c)),t=l.getOffsetAt(u),n=l.getOffsetAt(c)+l.getHeightAt(c)+a,this.set({top:t,bottom:n,startIndex:u,endIndex:c},{silent:e})},_getStartRowSpanMinCount:function(e){var t,n=this.dataModel.at(e),o=0;return n&&(t=i.pluck(n.getRowSpanData(),"count"),t.push(0),o=i.min(t)),o},_getEndRowSpanMaxCount:function(e){var t,n=this.dataModel.at(e),o=0;return n&&(t=i.pluck(n.getRowSpanData(),"count"),t.push(0),o=i.max(t)),o>0&&(o-=1),o},_shouldRefresh:function(e){var t=this.dimensionModel.get("bodyHeight"),n=e+t,i=this.dimensionModel.get("totalRowHeight"),o=this.get("top"),s=this.get("bottom"),a=parseInt(t*l,10),r=e-o0||d&&sn.row&&(s.row=e[1]),t[1]>n.column&&(s.column=t[1])),s},_isValidAddress:function(e){return!!this.dataModel.at(e.row)&&!!this.columnModel.at(e.colummn)},_scrollTo:function(e,t){var n,i,o,s,a=this.dataModel.at(e),r=this.columnModel.at(t);a&&r&&(n=a.get("rowKey"),i=r.name,s=this.coordConverterModel.getScrollPosition(n,i),s&&(o=this.getType(),o===l.COLUMN?delete s.scrollTop:o===l.ROW&&delete s.scrollLeft,this.renderModel.set(s)))},_getTypeByColumnIndex:function(e){var t=this.columnModel.getVisibleColumns(null,!0),n=t[e].name;switch(n){case"_button":return null;case"_number":return l.ROW;default:return l.CELL}},_onMouseDownBody:function(e){var t,n,i=this.coordConverterModel.getIndexFromMousePosition(e.pageX,e.pageY,!0),o=this._getTypeByColumnIndex(i.column);o&&(t=i.row,n=i.column-this.columnModel.getVisibleMetaColumnCount(),e.shiftKey?this.update(t,Math.max(n,0)):o===l.ROW?this.selectRow(t):(this.focusModel.focusAt(t,n),this.end()))},_onDragMoveBody:function(e){var t=this.coordConverterModel.getIndexFromMousePosition(e.pageX,e.pageY);this.update(t.row,t.column,this.getSelectionUnit()),this._setScrolling(e.pageX,e.pageY)},_onDragEndBody:function(){this.stopAutoScroll()},_onPasteData:function(e){this.start(e.startIdx.row,e.startIdx.column),this.update(e.endIdx.row,e.endIdx.column)},_getColumnRangeWithNames:function(e){var t=this.columnModel,n=o.map(e,function(e){return t.indexOfColumnName(e,!0)}),i=r.getMinMax(n);return[i.min,i.max]},setType:function(e){this.selectionType=l[e]||this.selectionType},getType:function(){return this.selectionType},getSelectionUnit:function(){return this.get("selectionUnit").toUpperCase()},enable:function(){this.enabled=!0},disable:function(){this.end(),this.enabled=!1},isEnabled:function(){return this.enabled},start:function(e,t,n){this.isEnabled()&&(this.setType(n),this.inputRange={row:[e,e],column:[t,t]},this._resetRangeAttribute())},update:function(e,t,n){var i;!this.enabled||n!==l.COLUMN&&e<0||n!==l.ROW&&t<0||(this.hasSelection()?this.setType(n):(i=this.focusModel.indexOf(),n===l.ROW?this.start(i.row,0,l.ROW):this.start(i.row,i.column,l.CELL)),this._updateInputRange(e,t),this._resetRangeAttribute())},_updateInputRange:function(e,t){var n=this.inputRange;this.selectionType===l.ROW?t=this.columnModel.getVisibleColumns().length-1:this.selectionType===l.COLUMN&&(e=this.dataModel.length-1),n.row[1]=e,n.column[1]=t},_extendColumnSelection:function(e,t,n){var i,o=this.minimumColumnRange,s=this.coordConverterModel.getIndexFromMousePosition(t,n),a={row:[0,this.dataModel.length-1],column:[]};e&&e.length||(e=[s.column]),this._setScrolling(t,n),o?i=r.getMinMax(e.concat(o)):(e.push(this.inputRange.column[0]),i=r.getMinMax(e)),a.column.push(i.min,i.max),this._resetRangeAttribute(a)},_setScrolling:function(e,t){var n=this.dimensionModel.getOverflowFromMousePosition(e,t);this.stopAutoScroll(),this._isAutoScrollable(n.x,n.y)&&(this.intervalIdForAutoScroll=setInterval(o.bind(this._adjustScroll,this,n.x,n.y)))},end:function(){this.inputRange=null,this.unset("range"),this.minimumColumnRange=null},stopAutoScroll:function(){o.isNull(this.intervalIdForAutoScroll)||(clearInterval(this.intervalIdForAutoScroll),this.intervalIdForAutoScroll=null)},selectRow:function(e){this.isEnabled()&&(this.focusModel.focusAt(e,0),this.start(e,0,l.ROW),this.update(e,this.columnModel.getVisibleColumns().length-1))},selectColumn:function(e){this.isEnabled()&&(this.focusModel.focusAt(0,e),this.start(0,e,l.COLUMN),this.update(this.dataModel.length-1,e))},selectAll:function(){this.isEnabled()&&(this.start(0,0,l.CELL),this.update(this.dataModel.length-1,this.columnModel.getVisibleColumns().length-1))},getStartIndex:function(){var e=this.get("range");return{row:e.row[0],column:e.column[0]}},getEndIndex:function(){var e=this.get("range");return{row:e.row[1],column:e.column[1]}},hasSelection:function(){return!!this.get("range")},_isSingleCell:function(e,t){var n=1===e.length,i=1===t.length,o=n&&!i&&t[0].getRowSpanData(e[0]).count===t.length;return n&&i||o},getValuesToString:function(){var e=this.renderModel,t=this.columnModel,n=this._getRangeRowList(),i=this._getRangeColumnNames(),s=o.map(n,function(n){return o.map(i,function(i){return t.getCopyOptions(i).useFormattedValue?e.getCellData(n.get("rowKey"),i).formattedValue:n.getValueString(i)}).join("\t")});return this._isSingleCell(i,n)?s[0]:s.join("\n")},_getRangeRowList:function(){var e=this.get("range").row;return this.dataModel.slice(e[0],e[1]+1)},_getRangeColumnNames:function(){var e=this.get("range").column,t=this.columnModel.getVisibleColumns().slice(e[0],e[1]+1);return o.pluck(t,"name")},_isAutoScrollable:function(e,t){return!(0===e&&0===t)},_adjustScroll:function(e,t){var n=this.renderModel;e&&this._adjustScrollLeft(e,n.get("scrollLeft"),n.get("maxScrollLeft")),t&&this._adjustScrollTop(t,n.get("scrollTop"),n.get("maxScrollTop"))},_adjustScrollLeft:function(e,t,n){var i=t,o=this.scrollPixelScale;e<0?i=Math.max(0,t-o):e>0&&(i=Math.min(n,t+o)),this.renderModel.set("scrollLeft",i)},_adjustScrollTop:function(e,t,n){var i=t,o=this.scrollPixelScale;e<0?i=Math.max(0,t-o):e>0&&(i=Math.min(n,t+o)),this.renderModel.set("scrollTop",i)},_resetRangeAttribute:function(e){var t,n,i,s=this.dataModel;if(e=e||this.inputRange,!e)return void this.set("range",null);if(n={row:o.sortBy(e.row),column:o.sortBy(e.column)},s.isRowSpanEnable()&&this.selectionType===l.CELL){do i=o.assign([],n.row),n=this._getRowSpannedIndex(n),t=n.row[0]!==i[0]||n.row[1]!==i[1];while(t);this._setRangeMinMax(n.row,n.column)}this.set("range",n)},_triggerSelectionEvent:function(){var e,t,n,i,o,s,r,l=this.get("range"),d=this.dataModel,h=this.columnModel;l&&(e=l.row,t=l.column,i=d.getRowDataAt(e[0]),s=h.at(t[0]),o=d.getRowDataAt(e[1]),r=h.at(t[1]),i&&o&&s&&r&&(n=new a(null,{range:{start:[i,s],end:[o,r]}}),this.trigger("selection",n)))},_setRangeMinMax:function(e,t){e&&(e[0]=Math.max(0,e[0]),e[1]=Math.min(this.dataModel.length-1,e[1])),t&&(t[0]=Math.max(0,t[0]),t[1]=Math.min(this.columnModel.getVisibleColumns().length-1,t[1]))},_concatRowSpanIndexFromStart:function(e){var t,n=e.startIndex,i=e.endIndex,o=e.columnName,s=e.startRowSpanDataMap&&e.startRowSpanDataMap[o],a=e.startIndexList,r=e.endIndexList;s&&(s.isMainRow?(t=n+s.count-1,t>i&&r.push(t)):(t=n+s.count,a.push(t)))},_concatRowSpanIndexFromEnd:function(e){var t,n,i=e.endIndex,o=e.columnName,s=e.endRowSpanDataMap&&e.endRowSpanDataMap[o],a=e.endIndexList,r=e.dataModel;s&&(s.isMainRow?(t=i+s.count-1,a.push(t)):(t=i+s.count,n=r.at(t).getRowSpanData(o),t+=n.count-1,t>i&&a.push(t)))},_getRowSpannedIndex:function(e){var t,n,s,a=this.columnModel.getVisibleColumns().slice(e.column[0],e.column[1]+1),r=this.dataModel,l=[e.row[0]],d=[e.row[1]],h=r.at(e.row[0]),u=r.at(e.row[1]),c=i.extend({},e);return h&&u?(t=r.at(e.row[0]).getRowSpanData(),n=r.at(e.row[1]).getRowSpanData(),o.each(a,function(i){s={columnName:i.name,startIndex:e.row[0],endIndex:e.row[1],endRowSpanDataMap:n,startRowSpanDataMap:t,startIndexList:l,endIndexList:d,dataModel:r},this._concatRowSpanIndexFromStart(s),this._concatRowSpanIndexFromEnd(s)},this),c.row=[Math.min.apply(null,l),Math.max.apply(null,d)],c):c}});e.exports=d},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(13),a=n(14).summaryType,r=s.extend({initialize:function(e,t){this.dataModel=t.dataModel,this.autoColumnNames=t.autoColumnNames,this.columnSummaryMap={},this.listenTo(this.dataModel,"add remove reset",this._resetSummaryMap),this.listenTo(this.dataModel,"change",this._onChangeData),this.listenTo(this.dataModel,"delRange",this._onDeleteRangeData),this._resetSummaryMap()},_calculate:function(e){var t,n,i=Number.MAX_VALUE,o=Number.MIN_VALUE,s=0,r=e.length,l={};for(t=0;tn&&(i=n),o").addClass(r.BORDER_LINE).addClass(e)}var o,s=n(11),a=n(8),r=n(22),l=n(14).frame;o=a.extend({initialize:function(e){a.prototype.initialize.call(this),this.viewFactory=e.viewFactory,this.dimensionModel=e.dimensionModel,this._addFrameViews()},className:r.CONTENT_AREA,_addFrameViews:function(){var e=this.viewFactory;this._addChildren([e.createFrame(l.L),e.createFrame(l.R)])},render:function(){var e=this.dimensionModel,t=e.getScrollXHeight(),n=this._renderChildren().concat([i(r.BORDER_TOP),i(r.BORDER_LEFT),i(r.BORDER_RIGHT),i(r.BORDER_BOTTOM).css("bottom",t)]);return e.get("scrollX")||this.$el.addClass(r.NO_SCROLL_X),e.get("scrollY")||this.$el.addClass(r.NO_SCROLL_Y),this.$el.append(n),this}}),e.exports=o},function(e,t,n){"use strict";var i=n(6),o=n(40),s=n(8),a={totalItems:1,itemsPerPage:10,visiblePages:5,centerAlign:!0},r="tui-pagination",l=s.extend({initialize:function(e){this.dimensionModel=e.dimensionModel,this.componentHolder=e.componentHolder,this._stopEventPropagation(),this.on("appended",this._onAppended)},className:r,render:function(){return this._destroyChildren(),this.componentHolder.setInstance("pagination",this._createComponent()),this},_stopEventPropagation:function(){this.$el.mousedown(function(e){e.stopPropagation()})},_onAppended:function(){this.dimensionModel.set("paginationHeight",this.$el.outerHeight())},_createOptionObject:function(){var e=this.componentHolder.getOptions("pagination");return e===!0&&(e={}),i.assign({},a,e)},_createComponent:function(){var e=o;if(!e)throw new Error("Cannot find component 'tui.component.Pagination'");return new e(this.$el,this._createOptionObject())}});e.exports=l},function(e,t){e.exports=s},function(e,t,n){"use strict";var i=n(8),o=n(22),s=n(42),a=i.extend({initialize:function(e){this.dimensionModel=e.dimensionModel,this.domEventBus=e.domEventBus,this.dragEmitter=new s({type:"resizeHeight",cursor:"row-resize",domEventBus:this.domEventBus}),this.on("appended",this._onAppended)},className:o.HEIGHT_RESIZE_HANDLE,events:{mousedown:"_onMouseDown"},_onAppended:function(){this.dimensionModel.set("resizeHandleHeight",this.$el.outerHeight())},_onMouseDown:function(e){e.preventDefault(),this.dragEmitter.start(e,{mouseOffsetY:e.offsetY})},render:function(){return this.$el.html(""),this}});e.exports=a},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(19),r=s.defineClass({init:function(e){o.assign(this,{type:e.type,domEventBus:e.domEventBus,onDragMove:e.onDragMove,onDragEnd:e.onDragEnd,cursor:e.cursor,startData:null})},start:function(e,t){var n=new a(e,t);this.domEventBus.trigger("dragstart:"+this.type,n),n.isStopped()||this._startDrag(e.target,t)},_startDrag:function(e,t){this.startData=t,this._attachDragEvents(),this.cursor&&i("body").css("cursor",this.cursor),e.setCapture&&e.setCapture()},_endDrag:function(){this.startData=null,this._detachDragEvents(),this.cursor&&i("body").css("cursor","default"),document.releaseCapture&&document.releaseCapture()},_onMouseMove:function(e){var t=new a(e,{startData:this.startData,pageX:e.pageX,pageY:e.pageY});o.isFunction(this.onDragMove)&&this.onDragMove(t),t.isStopped()||this.domEventBus.trigger("dragmove:"+this.type,t)},_onMouseUp:function(e){var t=new a(e,{startData:this.startData});o.isFunction(this.onDragEnd)&&this.onDragEnd(t),t.isStopped()||(this.domEventBus.trigger("dragend:"+this.type,t),this._endDrag())},_onSelectStart:function(e){e.preventDefault()},_attachDragEvents:function(){i(document).on("mousemove.grid",o.bind(this._onMouseMove,this)).on("mouseup.grid",o.bind(this._onMouseUp,this)).on("selectstart.grid",o.bind(this._onSelectStart,this))},_detachDragEvents:function(){i(document).off(".grid")}});e.exports=r},function(e,t,n){"use strict";var i=n(6),o=n(8),s=n(14).renderState,a=n(22),r=n(44),l=n(14).dimension.TABLE_BORDER_WIDTH,d=o.extend({initialize:function(e){this.dimensionModel=e.dimensionModel,this.renderModel=e.renderModel,this.listenTo(this.dimensionModel,"change",this._refreshLayout),this.listenTo(this.renderModel,"change:state",this.render)},className:a.LAYER_STATE,template:i.template('

<%= text %>

<% if (isLoading) { %>
<% } %>
'),render:function(){var e=this.renderModel.get("state");return e===s.DONE?this.$el.hide():this._showLayer(e),this},_showLayer:function(e){var t=this.template({text:this._getMessage(e),isLoading:e===s.LOADING});this.$el.html(t).show(),this._refreshLayout()},_getMessage:function(e){switch(e){case s.LOADING:return r.get("onLoading");case s.EMPTY:return this.renderModel.get("emptyMessage")||r.get("noData");default:return null}},_refreshLayout:function(){var e=this.dimensionModel,t=e.get("headerHeight"),n=e.get("bodyHeight"),i=e.getScrollXHeight(),o=e.getScrollYWidth();this.$el.css({top:t-l,height:n-i-l,left:0,right:o})}});e.exports=d},function(e,t,n){"use strict";var i=n(20),o={en:{createAction:"create",updateAction:"update",deleteAction:"delete",modifyAction:"modify",requestConfirm:"Are you sure you want to {{actionName}} {{count}} data?",noDataResponse:"No data to {{actionName}}.",errorResponse:"An error occurred while requesting data.\n\nPlease try again.",noData:"No data.",onLoading:"Your request is being processed.",resizeHandleGuide:"You can change the width of the column by mouse drag, and initialize the width by double-clicking."},ko:{createAction:"입력",updateAction:"수정",deleteAction:"삭제",modifyAction:"반영",requestConfirm:"{{count}}건의 데이터를 {{actionName}}하시겠습니까?",noDataResponse:"{{actionName}}할 데이터가 없습니다.",errorResponse:"데이터 요청 중에 에러가 발생하였습니다.\n\n다시 시도하여 주시기 바랍니다.",noData:"데이터가 존재하지 않습니다.",onLoading:"요청을 처리 중입니다.",resizeHandleGuide:"마우스 드래그를 통해 컬럼의 넓이를 변경할 수 있고, 더블클릭을 통해 넓이를 초기화할 수 있습니다."}},s=o.en;e.exports={setLanguage:function(e){s=o[e]},get:function(e,t){var n=s[e];return t&&(n=i.replaceText(n,t)),n}}},function(e,t,n){"use strict";function i(e){return"key:clipboard"!==e.type}function o(e){return"key:clipboard"===e.type&&"paste"===e.command}var s,a=n(11),r=n(6),l=n(7),d=n(8),h=n(21),u=n(46),c=n(22),g=10,m=l.browser.edge,f=!!window.clipboardData;s=d.extend({initialize:function(e){r.assign(this,{focusModel:e.focusModel,clipboardModel:e.clipboardModel,domEventBus:e.domEventBus,isLocked:!1,lockTimerId:null}),this.listenTo(this.focusModel,"focusClipboard",this._onFocusClipboard),this.listenTo(this.clipboardModel,"change:text",this._onClipboardTextChange)},tagName:"div",className:c.CLIPBOARD,attributes:{contenteditable:!0},events:{keydown:"_onKeyDown",copy:"_onCopy",paste:"_onPaste",blur:"_onBlur"},render:function(){return this},_onBlur:function(){var e=this.focusModel;setTimeout(function(){e.refreshState()},0)},_onKeyDown:function(e){var t;return this.isLocked?void e.preventDefault():(t=u.generate(e),void(t&&(this._lock(),i(t)&&e.preventDefault(),o(t)||this.domEventBus.trigger(t.type,t))))},_onCopy:function(e){var t=this.clipboardModel.get("text");f||(e.originalEvent||e).clipboardData.setData("text/plain",t),e.preventDefault()},_onPaste:function(e){var t=(e.originalEvent||e).clipboardData||window.clipboardData;m||f?this._pasteInMSBrowsers(t):(e.preventDefault(),this._pasteInOtherBrowsers(t))},_onFocusClipboard:function(){try{this._hasFocus()||(this.$el.focus(),this._hasFocus()||this.$el.focus())}catch(e){}},_onClipboardTextChange:function(){var e=this.clipboardModel.get("text");f?window.clipboardData.setData("Text",e):this.$el.html(e).focus()},_pasteInOtherBrowsers:function(e){var t,n=this.clipboardModel,i=e.getData("text/html");i&&a(i).find("tbody").length>0?(this.$el.html(""+a(i).find("tbody").html()+"
"),t=this.$el.find("table")[0],i=h.convertTableToData(t),this.$el.html("")):(i=e.getData("text/plain"),i=h.convertTextToData(i)),n.pasteClipboardDataToGrid(i)},_pasteInMSBrowsers:function(e){var t,n=this,i=this.clipboardModel,o=e.getData("Text");o=h.convertTextToData(o),setTimeout(function(){n.$el.find("table").length>0&&(t=n.$el.find("table")[0],o=h.convertTableToData(t)),n.$el.html(""),i.pasteClipboardDataToGrid(o)},0)},_lock:function(){this.isLocked=!0,this.lockTimerId=setTimeout(r.bind(this._unlock,this),g)},_unlock:function(){this.isLocked=!1,this.lockTimerId=null},_hasFocus:function(){return this.$el.is(":focus")}}),s.KEYDOWN_LOCK_TIME=g,e.exports=s},function(e,t,n){"use strict";function i(e){var t=[];return(e.ctrlKey||e.metaKey)&&t.push("ctrl"),e.shiftKey&&t.push("shift"),t.push(r[e.keyCode]),t.join("-")}var o=n(6),s=n(19),a={tab:9,enter:13,ctrl:17,esc:27,left:37,up:38,right:39,down:40,a:65,c:67,v:86,space:32,pageUp:33,pageDown:34,home:36,end:35,del:46},r=o.invert(a),l={up:["move","up"],down:["move","down"],left:["move","left"],right:["move","right"],pageUp:["move","pageUp"],pageDown:["move","pageDown"],home:["move","firstColumn"],end:["move","lastColumn"],enter:["edit","currentCell"],space:["edit","currentCell"],tab:["edit","nextCell"],del:["delete"],"shift-tab":["edit","prevCell"],"shift-up":["select","up"],"shift-down":["select","down"],"shift-left":["select","left"],"shift-right":["select","right"],"shift-pageUp":["select","pageUp"],"shift-pageDown":["select","pageDown"],"shift-home":["select","firstColumn"],"shift-end":["select","lastColumn"],"ctrl-a":["select","all"],"ctrl-c":["clipboard","copy"],"ctrl-v":["clipboard","paste"],"ctrl-home":["move","firstCell"],"ctrl-end":["move","lastCell"],"ctrl-shift-home":["select","firstCell"],"ctrl-shift-end":["select","lastCell"]};e.exports={generate:function(e){var t,n=i(e),o=l[n];return o&&(t=new s(e,{type:"key:"+o[0],command:o[1]})),t}}},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(48),a=n(22),r=n(14).frame,l=s.extend({initialize:function(){s.prototype.initialize.apply(this,arguments),o.assign(this,{whichSide:r.L}),this.listenTo(this.dimensionModel,"change:lsideWidth",this._onFrameWidthChanged)},className:a.LSIDE_AREA,_onFrameWidthChanged:function(){this.$el.css({width:this.dimensionModel.get("lsideWidth")})},beforeRender:function(){this.$el.css({display:"block",width:this.dimensionModel.get("lsideWidth")})},afterRender:function(){this.dimensionModel.get("scrollX")&&this.$el.append(i("
").addClass(a.SCROLLBAR_LEFT_BOTTOM))}});e.exports=l},function(e,t,n){"use strict";var i=n(6),o=n(8),s=n(14).frame,a=o.extend({initialize:function(e){o.prototype.initialize.call(this),i.assign(this,{viewFactory:e.viewFactory,renderModel:e.renderModel,dimensionModel:e.dimensionModel,whichSide:e.whichSide||s.R}),this.listenTo(this.renderModel,"columnModelChanged",this.render)},render:function(){var e=this.viewFactory;return this.$el.empty(),this._destroyChildren(),this.beforeRender(),this._addChildren([e.createHeader(this.whichSide),e.createBody(this.whichSide),e.createFooter(this.whichSide)]),this.$el.append(this._renderChildren()),this.afterRender(),this},beforeRender:function(){},afterRender:function(){}});e.exports=a},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(48),a=n(22),r=n(14),l=r.frame,d=r.dimension.CELL_BORDER_WIDTH,h=s.extend({initialize:function(){s.prototype.initialize.apply(this,arguments),o.assign(this,{whichSide:l.R,$scrollBorder:null}),this.listenTo(this.dimensionModel,"change:lsideWidth change:rsideWidth",this._onFrameWidthChanged),this.listenTo(this.dimensionModel,"change:bodyHeight change:headerHeight",this._resetScrollBorderHeight)},className:a.RSIDE_AREA,_onFrameWidthChanged:function(){this._refreshLayout()},_refreshLayout:function(){var e=this.dimensionModel,t=e.get("rsideWidth"),n=e.get("lsideWidth");n>0&&!e.isDivisionBorderDoubled()&&(t+=d,n-=d),this.$el.css({width:t,marginLeft:n})},_resetScrollBorderHeight:function(){var e,t;this.$scrollBorder&&(e=this.dimensionModel,t=e.get("bodyHeight")-e.getScrollXHeight(),this.$scrollBorder.height(t))},beforeRender:function(){this.$el.css("display","block"),this._refreshLayout()},afterRender:function(){var e,t,n,o,s=this.dimensionModel;s.get("scrollY")&&(e=s.get("headerHeight"),t=s.get("footerHeight"),n=i("
").addClass(a.SCROLLBAR_HEAD),o=i("
").addClass(a.SCROLLBAR_BORDER),n.height(e-2),o.css("top",e+"px"),this.$el.append(n,o),s.get("scrollX")&&this.$el.append(i("
").addClass(a.SCROLLBAR_RIGHT_BOTTOM)),t&&s.get("scrollY")&&this.$el.append(i("
").addClass(a.FOOT_AREA_RIGHT).css("height",t-d)),this.$scrollBorder=o,this._resetScrollBorderHeight())}});e.exports=h},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(8),a=n(20),r=n(14),l=n(22),d=n(19),h=n(42),u=r.frame,c=10,g=r.keyCode,m=r.attrName.COLUMN_NAME,f=r.dimension.CELL_BORDER_WIDTH,p=r.dimension.TABLE_BORDER_WIDTH,M=200,_=s.extend({initialize:function(e){s.prototype.initialize.call(this),o.assign(this,{renderModel:e.renderModel,coordColumnModel:e.coordColumnModel,selectionModel:e.selectionModel,focusModel:e.focusModel,columnModel:e.columnModel,dataModel:e.dataModel,coordRowModel:e.coordRowModel,viewFactory:e.viewFactory,domEventBus:e.domEventBus,headerHeight:e.headerHeight,whichSide:e.whichSide||u.R}),this.dragEmitter=new h({type:"header",domEventBus:this.domEventBus,onDragMove:o.bind(this._onDragMove,this)}),this.listenTo(this.renderModel,"change:scrollLeft",this._onScrollLeftChange).listenTo(this.coordColumnModel,"columnWidthChanged",this._onColumnWidthChanged).listenTo(this.selectionModel,"change:range",this._refreshSelectedHeaders).listenTo(this.focusModel,"change:columnName",this._refreshSelectedHeaders).listenTo(this.dataModel,"sortChanged",this._updateBtnSortState),this.whichSide===u.L&&"checkbox"===this.columnModel.get("selectType")&&this.listenTo(this.dataModel,"change:_button disabledChanged extraDataChanged add remove reset",o.debounce(o.bind(this._syncCheckedState,this),c))},className:l.HEAD_AREA,events:{click:"_onClick","keydown input":"_onKeydown","mousedown th":"_onMouseDown"},template:o.template('<%=colGroup%><%=tBody%>
'),templateHeader:o.template('="<%=columnName%>" class="<%=className%>" height="<%=height%>" <%if(colspan > 0) {%>colspan=<%=colspan%> <%}%><%if(rowspan > 0) {%>rowspan=<%=rowspan%> <%}%>><%=title%><%=btnSort%>'),templateCol:o.template('="<%=columnName%>" style="width:<%=width%>px">'),markupBtnSort:'',_getColGroupMarkup:function(){var e=this._getColumnData(),t=e.widths,n=e.columns,i=[];return o.each(t,function(e,t){i.push(this.templateCol({attrColumnName:m,columnName:n[t].name,width:e+f}))},this),i.join("")},_getSelectedColumnNames:function(){var e=this.selectionModel.get("range").column,t=this.columnModel.getVisibleColumns(),n=t.slice(e[0],e[1]+1);return o.pluck(n,"name")},_onDragMove:function(e){var t=i(e.target);e.setData({columnName:t.closest("th").attr(m),isOnHeaderArea:i.contains(this.el,t[0])})},_getContainingMergedColumnNames:function(e){var t=this.columnModel,n=o.pluck(t.get("complexHeaderColumns"),"name");return o.filter(n,function(n){var i=t.getUnitColumnNamesIfMerged(n);return o.every(i,function(t){return o.contains(e,t)})})},_refreshSelectedHeaders:function(){var e,t,n=this.$el.find("th");this.selectionModel.hasSelection()?e=this._getSelectedColumnNames():this.focusModel.has(!0)&&(e=[this.focusModel.get("columnName")]),n.removeClass(l.CELL_SELECTED),e&&(t=this._getContainingMergedColumnNames(e),o.each(e.concat(t),function(e){n.filter("["+m+'="'+e+'"]').addClass(l.CELL_SELECTED)}))},_onKeydown:function(e){e.keyCode===g.TAB&&(e.preventDefault(),this.focusModel.focusClipboard())},_onMouseDown:function(e){var t,n=i(e.target);this._triggerPublicMousedown(e)&&(n.hasClass(l.BTN_SORT)||(t=n.closest("th").attr(m),t&&this.dragEmitter.start(e,{columnName:t})))},_triggerPublicMousedown:function(e){var t,n,o,s=new d(e,d.getTargetInfo(i(e.target)));return t=(new Date).getTime(),this.domEventBus.trigger("mousedown",s),n=(new Date).getTime(),o=n-t>M,!s.isStopped()&&!o},_getHeaderMainCheckbox:function(){return this.$el.find("th["+m+'="_button"] input')},_syncCheckedState:function(){var e,t,n=this.dataModel.getCheckedState();e=this._getHeaderMainCheckbox(),e.length&&(t=n.available?{checked:n.available===n.checked,disabled:!1}:{checked:!1,disabled:!0},e.prop(t))},_onColumnWidthChanged:function(){var e=this.coordColumnModel.getWidths(this.whichSide),t=this.$el.find("col"),n=this.coordRowModel;o.each(e,function(e,n){t.eq(n).css("width",e+f)}),this.whichSide===u.R&&o.defer(function(){n.syncWithDom()})},_onScrollLeftChange:function(e,t){this.whichSide===u.R&&(this.el.scrollLeft=t)},_onClick:function(e){var t=i(e.target),n=t.closest("th").attr(m),o=new d(e);"_button"===n&&t.is("input")?(o.setData({checked:t.prop("checked")}),this.domEventBus.trigger("click:headerCheck",o)):t.is("a."+l.BTN_SORT)&&(o.setData({columnName:n}),this.domEventBus.trigger("click:headerSort",o))},_updateBtnSortState:function(e){var t;this._$currentSortBtn&&this._$currentSortBtn.removeClass(l.BTN_SORT_DOWN+" "+l.BTN_SORT_UP),this._$currentSortBtn=this.$el.find("th["+m+'="'+e.columnName+'"] a.'+l.BTN_SORT),t=e.ascending?l.BTN_SORT_UP:l.BTN_SORT_DOWN,this._$currentSortBtn.addClass(t)},render:function(){return this._destroyChildren(),this.$el.css({height:this.headerHeight-p}).html(this.template({colGroup:this._getColGroupMarkup(),tBody:this._getTableBodyMarkup()})),this.coordColumnModel.get("resizable")&&(this._addChildren(this.viewFactory.createHeaderResizeHandle(this.whichSide)),this.$el.append(this._renderChildren())),this},_getColumnData:function(){var e=this.coordColumnModel.getWidths(this.whichSide),t=this.columnModel.getVisibleColumns(this.whichSide,!0);return{widths:e,columns:t}},_getTableBodyMarkup:function(){var e,t,n=this._getColumnHierarchyList(),i=this._getHierarchyMaxRowCount(n),s=this.headerHeight,r=new Array(i),d=new Array(i),h=[],u=a.getRowHeight(i,s)-1,c=1;return o.each(n,function(t,a){var g=n[a].length,f=0;o.each(t,function(t,n){var o=t.name,a=[l.CELL,l.CELL_HEAD];t.validation&&t.validation.required&&a.push(l.CELL_REQRUIRED),c=g-1===n&&i-g+1>1?i-g+1:1,e=u*c,n===g-1?e=s-f-2:f+=e+1,d[n]===o?(r[n].pop(),h[n]+=1):h[n]=1,d[n]=o,r[n]=r[n]||[],r[n].push(this.templateHeader({attrColumnName:m,columnName:o,className:a.join(" "),height:e,colspan:h[n],rowspan:c,title:t.title,btnSort:t.sortable?this.markupBtnSort:""}))},this)},this),t=o.map(r,function(e){return""+e.join("")+""}),t.join("")},_getHierarchyMaxRowCount:function(e){var t=[0];return o.each(e,function(e){t.push(e.length)},this),Math.max.apply(Math,t)},_getColumnHierarchyList:function(){var e,t=this._getColumnData().columns;return e=o.map(t,function(e){return this._getColumnHierarchy(e).reverse()},this)},_getColumnHierarchy:function(e,t){var n=this.columnModel.get("complexHeaderColumns");return t=t||[],e&&(t.push(e),n&&o.each(n,function(n){i.inArray(e.name,n.childNames)!==-1&&this._getColumnHierarchy(n,t)},this)),t}});_.DELAY_SYNC_CHECK=c,e.exports=_},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(8),r=n(14),l=n(22),d=n(42),h=n(44),u=r.attrName,c=r.frame,g=r.dimension.CELL_BORDER_WIDTH,m=r.dimension.RESIZE_HANDLE_WIDTH,f=a.extend({initialize:function(e){o.assign(this,{columnModel:e.columnModel,coordColumnModel:e.coordColumnModel,domEventBus:e.domEventBus,headerHeight:e.headerHeight,whichSide:e.whichSide||c.R}),this.dragEmitter=new d({type:"resizeColumn",cursor:"col-resize",domEventBus:this.domEventBus,onDragMove:o.bind(this._onDragMove,this)}),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._refreshHandlerPosition)},className:l.COLUMN_RESIZE_CONTAINER,events:function(){var e={};return e["mousedown ."+l.COLUMN_RESIZE_HANDLE]="_onMouseDown",e["dblclick ."+l.COLUMN_RESIZE_HANDLE]="_onDblClick",e},template:o.template("
'),_getColumnData:function(){var e=this.coordColumnModel.getWidths(this.whichSide),t=this.columnModel.getVisibleColumns(this.whichSide,!0);return{widths:e,columns:t}},_getResizeHandlerMarkup:function(){var e=this._getColumnData(),t=e.columns,n=t.length,i=o.map(t,function(e,t){return this.template({lastClass:t+1===n?l.COLUMN_RESIZE_HANDLE_LAST:"",columnIndex:t,columnName:e.name,height:this.headerHeight,title:h.get("resizeHandleGuide"),displayType:e.resizable===!1?"none":"block"})},this);return i.join("")},render:function(){var e=this.headerHeight,t=this._getResizeHandlerMarkup();return this.$el.empty().html(t).css({marginTop:-e,height:e,display:"block"}),this._refreshHandlerPosition(),this},_refreshHandlerPosition:function(){var e=this._getColumnData(),t=e.widths,n=this.$el.find("."+l.COLUMN_RESIZE_HANDLE),i=Math.floor(m/2),o=0;s.forEachArray(n,function(e,s){var a=n.eq(s);o+=t[s]+g,a.css("left",o-i)})},_onMouseDown:function(e){var t=i(e.target),n=this.coordColumnModel.getWidths(this.whichSide),o=parseInt(t.attr(u.COLUMN_INDEX),10);this.dragEmitter.start(e,{width:n[o],columnIndex:this._getHandlerColumnIndex(o),pageX:e.pageX})},_onDragMove:function(e){var t=e.startData,n=e.pageX-t.pageX;e.setData({columnIndex:t.columnIndex,width:t.width+n})},_onDblClick:function(e){var t=i(e.target),n=parseInt(t.attr(u.COLUMN_INDEX),10);this.domEventBus.trigger("dblclick:resizeColumn",{columnIndex:this._getHandlerColumnIndex(n)})},_getHandlerColumnIndex:function(e){return this.whichSide===c.R?e+this.columnModel.getVisibleFrozenCount(!0):e}});e.exports=f},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(8),a=n(42),r=n(19),l=n(14),d=n(22),h=l.frame,u=200,c=10,g=s.extend({initialize:function(e){s.prototype.initialize.call(this),o.assign(this,{dimensionModel:e.dimensionModel,renderModel:e.renderModel,viewFactory:e.viewFactory,domEventBus:e.domEventBus,$container:null,whichSide:e&&e.whichSide||h.R}),this.listenTo(this.dimensionModel,"change:bodyHeight",this._onBodyHeightChange).listenTo(this.dimensionModel,"change:totalRowHeight",this._resetContainerHeight).listenTo(this.renderModel,"change:scrollTop",this._onScrollTopChange).listenTo(this.renderModel,"change:scrollLeft",this._onScrollLeftChange),this.dragEmitter=new a({type:"body",domEventBus:this.domEventBus,onDragMove:o.bind(this._onDragMove,this)})},className:d.BODY_AREA,events:function(){var e={};return e.scroll="_onScroll",e["mousedown ."+d.BODY_CONTAINER]="_onMouseDown",e},_onBodyHeightChange:function(e,t){this.$el.css("height",t+"px")},_resetContainerHeight:function(){this.$container.css({height:this.dimensionModel.get("totalRowHeight")})},_onScroll:function(e){var t={scrollTop:e.target.scrollTop};this.whichSide===h.R&&(t.scrollLeft=e.target.scrollLeft),this.renderModel.set(t)},_onScrollLeftChange:function(e,t){this.whichSide===h.R&&(this.el.scrollLeft=t)},_onScrollTopChange:function(e,t){this.el.scrollTop=t},_onMouseDown:function(e){var t=i(e.target),n=t.is("input, teaxarea");this._triggerPublicMousedown(e)&&(this._triggerBodyMousedown(e),n&&e.shiftKey&&e.preventDefault(),n&&!e.shiftKey||this.dragEmitter.start(e,{pageX:e.pageX,pageY:e.pageY}))},_triggerPublicMousedown:function(e){var t,n,o=new r(e,r.getTargetInfo(i(e.target))),s=!0;return o.targetType===r.targetTypeConst.DUMMY?s=!1:(t=(new Date).getTime(),this.domEventBus.trigger("mousedown",o),o.isStopped()?s=!1:(n=(new Date).getTime(),s=n-t<=u)),s},_triggerBodyMousedown:function(e){var t=new r(e,{pageX:e.pageX,pageY:e.pageY,shiftKey:e.shiftKey});this.domEventBus.trigger("mousedown:body",t)},_onDragMove:function(e){var t=e.startData,n={pageX:e.pageX,pageY:e.pageY};this._getMouseMoveDistance(t,n)").addClass(d.BODY_CONTAINER),this.$el.append(this.$container),this._addChildren([this.viewFactory.createBodyTable(e),this.viewFactory.createSelectionLayer(e),this.viewFactory.createFocusLayer(e)]),this.$container.append(this._renderChildren()),this._resetContainerHeight(),this}});e.exports=g},function(e,t,n){"use strict";var i=n(6),o=n(8),s=n(14),a=n(22),r=s.dimension.CELL_BORDER_WIDTH,l=s.attrName.COLUMN_NAME,d=o.extend({initialize:function(e){o.prototype.initialize.call(this),i.assign(this,{dimensionModel:e.dimensionModel,coordColumnModel:e.coordColumnModel,renderModel:e.renderModel,columnModel:e.columnModel,viewFactory:e.viewFactory,painterManager:e.painterManager,whichSide:e.whichSide||"R"}),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._onColumnWidthChanged),this.listenTo(this.renderModel,"change:dummyRowCount",this._onChangeDummyRowCount),this.listenTo(this.dimensionModel,"change:bodyHeight",this._resetHeight),this._attachAllTableEventHandlers()},className:a.BODY_TABLE_CONTAINER,template:i.template('<%=colGroup%><%=tbody%>
'),templateCol:i.template('="<%=columnName%>" style="width:<%=width%>px">'),_onColumnWidthChanged:function(){var e=this.coordColumnModel.getWidths(this.whichSide),t=this.$el.find("col");i.each(e,function(e,n){t.eq(n).css("width",e+r)},this)},_onChangeDummyRowCount:function(){this._resetOverflow(),this._resetHeight()},_resetOverflow:function(){var e="visible";this.renderModel.get("dummyRowCount")>0&&(e="hidden"),this.$el.css("overflow",e)},_resetHeight:function(){var e=this.dimensionModel;this.renderModel.get("dummyRowCount")>0?this.$el.height(e.get("bodyHeight")-e.getScrollXHeight()):this.$el.css("height","")},resetTablePosition:function(){this.$el.css("top",this.renderModel.get("top"))},render:function(){return this._destroyChildren(),this.$el.html(this.template({colGroup:this._getColGroupMarkup(),tbody:""})),this._addChildren(this.viewFactory.createRowList({bodyTableView:this,el:this.$el.find("tbody"),whichSide:this.whichSide})),this._renderChildren(),this._resetHeight(),this._resetOverflow(),this},_attachAllTableEventHandlers:function(){var e=this.painterManager.getCellPainters();i.each(e,function(e){e.attachEventHandlers(this.$el,"")},this)},redrawTable:function(e){return this.$el[0].innerHTML=this.template({colGroup:this._getColGroupMarkup(),tbody:e}),this.$el.find("tbody")},_getColGroupMarkup:function(){var e=this.whichSide,t=this.coordColumnModel.getWidths(e),n=this.columnModel.getVisibleColumns(e,!0),o="";return i.each(n,function(e,n){o+=this.templateCol({attrColumnName:l,columnName:e.name,width:t[n]+r})},this),o}});e.exports=d},function(e,t,n){"use strict";var i=n(6),o=n(8),s=n(22),a=n(14),r=a.frame,l=a.attrName.COLUMN_NAME,d=o.extend({initialize:function(e){this.columnTemplateMap=e.columnTemplateMap||{},this.whichSide=e.whichSide,this.columnModel=e.columnModel,this.dimensionModel=e.dimensionModel,this.coordColumnModel=e.coordColumnModel,this.renderModel=e.renderModel,this.summaryModel=e.summaryModel,this.listenTo(this.renderModel,"change:scrollLeft",this._onChangeScrollLeft),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._onChangeColumnWidth),this.listenTo(this.columnModel,"setFooterContent",this._setColumnContent),this.summaryModel&&this.listenTo(this.summaryModel,"change",this._onChangeSummaryValue)},className:s.FOOT_AREA,events:{scroll:"_onScrollView"},template:i.template('<%=tbody%>
'),templateHeader:i.template('="<%=columnName%>" class="<%=className%>" style="width:<%=width%>px"><%=value%>'),_onScrollView:function(e){this.whichSide===r.R&&this.renderModel.set("scrollLeft",e.target.scrollLeft)},_onChangeScrollLeft:function(e,t){this.whichSide===r.R&&(this.el.scrollLeft=t)},_onChangeColumnWidth:function(){var e=this.coordColumnModel.getWidths(this.whichSide),t=this.$el.find("th");i.each(e,function(e,n){t.eq(n).css("width",e)})},_setColumnContent:function(e,t){var n=this.$el.find("th["+l+'="'+e+'"]');n.html(t)},_onChangeSummaryValue:function(e,t){var n=this._generateValueHTML(e,t);this._setColumnContent(e,n)},_generateValueHTML:function(e,t){var n=this.columnTemplateMap[e],o="";return i.isFunction(n)&&(o=n(t)),o},_generateTbodyHTML:function(){var e=this.summaryModel,t=this.columnModel.getVisibleColumns(this.whichSide,!0),n=this.coordColumnModel.getWidths(this.whichSide);return i.reduce(t,function(t,i,o){var a,r=i.name;return e&&(a=e.getValue(i.name)),t+this.templateHeader({attrColumnName:l,columnName:r,className:s.CELL_HEAD+" "+s.CELL,width:n[o],value:this._generateValueHTML(r,a)})},"",this)},render:function(){var e=this.dimensionModel.get("footerHeight");return e&&this.$el.html(this.template({className:s.TABLE,height:e,tbody:this._generateTbodyHTML()})),this}});e.exports=d},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(8),r=n(14),l=n(22),d=r.attrName,h=r.frame,u=r.dimension.CELL_BORDER_WIDTH,c=a.extend({initialize:function(e){var t=e.focusModel,n=e.renderModel,i=e.selectionModel,s=e.coordRowModel,a=e.whichSide||"R";o.assign(this,{ -whichSide:a,bodyTableView:e.bodyTableView,focusModel:t,renderModel:n,selectionModel:i,coordRowModel:s,dataModel:e.dataModel,columnModel:e.columnModel,collection:n.getCollection(a),painterManager:e.painterManager,sortOptions:null,renderedRowKeys:null}),this.listenTo(this.collection,"change",this._onModelChange).listenTo(this.collection,"restore",this._onModelRestore).listenTo(t,"change:rowKey",this._refreshFocusedRow).listenTo(n,"rowListChanged",this.render),this.whichSide===h.L&&this.listenTo(t,"change:rowKey",this._refreshSelectedMetaColumns).listenTo(i,"change:range",this._refreshSelectedMetaColumns).listenTo(n,"rowListChanged",this._refreshSelectedMetaColumns)},_getColumns:function(){return this.columnModel.getVisibleColumns(this.whichSide,!0)},_removeOldRows:function(e){var t=o.indexOf(this.renderedRowKeys,e[0]),n=o.indexOf(this.renderedRowKeys,o.last(e)),i=this.$el.children("tr");i.slice(0,t).remove(),i.slice(n+1).remove()},_appendNewRows:function(e,t){var n=this.collection.slice(0,o.indexOf(e,t[0])),i=this.collection.slice(o.indexOf(e,o.last(t))+1);this.$el.prepend(this._getRowsHtml(n)),this.$el.append(this._getRowsHtml(i))},_resetRows:function(){var e,t=this._getRowsHtml(this.collection.models);if(c.isInnerHtmlOfTbodyReadOnly)e=this.bodyTableView.redrawTable(t),this.setElement(e,!1);else try{this.$el[0].innerHTML=t}catch(e){c.isInnerHtmlOfTbodyReadOnly=!0,this._resetRows()}},_getRowsHtml:function(e){var t=this.painterManager.getRowPainter(),n=o.pluck(this._getColumns(),"name");return o.map(e,function(e){return t.generateHtml(e,n)}).join("")},_getRowElement:function(e){return this.$el.find("tr["+d.ROW_KEY+"="+e+"]")},_refreshSelectedMetaColumns:function(){var e,t=this.$el.find("tr"),n="."+l.CELL_HEAD;e=this.selectionModel.hasSelection()?this._filterRowsByIndexRange(t,this.selectionModel.get("range").row):this._filterRowByKey(t,this.focusModel.get("rowKey")),t.find(n).removeClass(l.CELL_SELECTED),e.find(n).addClass(l.CELL_SELECTED)},_filterRowsByIndexRange:function(e,t){var n,o,s=this.renderModel,a=s.get("startIndex");return n=Math.max(t[0]-a,0),o=Math.max(t[1]-a+1,0),n||o?e.slice(n,o):i()},_filterRowByKey:function(e,t){var n=this.dataModel.indexOfRowKey(t),o=this.renderModel.get("startIndex");return o>n?i():e.eq(n-o)},_refreshFocusedRow:function(){var e=this.focusModel.get("rowKey"),t=this.focusModel.get("prevRowKey");this._setFocusedRowClass(t,!1),this._setFocusedRowClass(e,!0)},_setFocusedRowClass:function(e,t){var n=o.pluck(this._getColumns(),"name"),i={};o.each(n,function(n){var o,s=this.dataModel.getMainRowKey(e,n);i[s]||(i[s]=this._getRowElement(s)),o=i[s].find("td["+d.COLUMN_NAME+'="'+n+'"]'),o.toggleClass(l.CELL_CURRENT_ROW,t)},this)},render:function(e){var t,n=this.collection.pluck("rowKey");return this.bodyTableView.resetTablePosition(),e?this._resetRows():(t=o.intersection(n,this.renderedRowKeys),o.isEmpty(n)||o.isEmpty(t)||t.length/n.length<.7?this._resetRows():(this._removeOldRows(t),this._appendNewRows(n,t))),this.renderedRowKeys=n,this},_onModelChange:function(e){var t=e.get("rowKey"),n=this._getRowElement(t);"height"in e.changed?n.css("height",e.get("height")+u):(this.painterManager.getRowPainter().refresh(e.changed,n),this.coordRowModel.syncWithDom())},_onModelRestore:function(e){var t=this.dataModel.getElement(e.rowKey,e.columnName),n=this.columnModel.getEditType(e.columnName);this.painterManager.getCellPainter(n).refresh(e,t),this.coordRowModel.syncWithDom()}},{isInnerHtmlOfTbodyReadOnly:s.browser.msie&&s.browser.version<=9});e.exports=c},function(e,t,n){"use strict";var i=n(6),o=n(8),s=n(22),a=n(14).dimension.CELL_BORDER_WIDTH,r=n(14).frame,l=o.extend({initialize:function(e){i.assign(this,{whichSide:e.whichSide||r.R,dimensionModel:e.dimensionModel,coordRowModel:e.coordRowModel,coordColumnModel:e.coordColumnModel,columnModel:e.columnModel,selectionModel:e.selectionModel}),this._updateColumnWidths(),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._onChangeColumnWidth),this.listenTo(this.selectionModel,"change:range",this.render)},className:s.LAYER_SELECTION,_updateColumnWidths:function(){this.columnWidths=this.coordColumnModel.getWidths(this.whichSide)},_onChangeColumnWidth:function(){this._updateColumnWidths(),this.render()},_getOwnSideColumnRange:function(e){var t=this.columnModel.getVisibleFrozenCount(),n=null;return this.whichSide===r.L?e[0]=t&&(n=[Math.max(e[0],t)-t,e[1]-t]),n},_getVerticalStyles:function(e){var t=this.coordRowModel,n=t.getOffsetAt(e[0]),i=t.getOffsetAt(e[1])+t.getHeightAt(e[1]);return{top:n+"px",height:i-n+"px"}},_getHorizontalStyles:function(e){var t=this.columnWidths,n=this.columnModel.getVisibleMetaColumnCount(),i=e[0],o=e[1],s=0,l=0,d=0;for(this.whichSide===r.L&&(i+=n,o+=n),o=Math.min(o,t.length-1);d<=o;d+=1)de&&this.$el.css("left",e-t)},_adjustCellOffsetValue:function(e){var t=o.browser,n=e;return t.msie&&(9===t.version?n=e-1:t.version>9&&(n=Math.floor(e))),n},_calculateLayoutStyle:function(e,t,n){var i=this.domState.getOffset(),o=this.domState.getElement(e,t),s=o.offset(),r=o.outerHeight()+a,l=o.outerWidth()+a;return{top:this._adjustCellOffsetValue(s.top)-i.top,left:this._adjustCellOffsetValue(s.left)-i.left,height:r,minWidth:n?l:"",width:n?"":l,lineHeight:r+"px"}},_onEditingStateChanged:function(e){e.editing?this._startEditing(e):this._finishEditing()},render:function(){return i.each(this.inputPainters,function(e){e.attachEventHandlers(this.$el,"")},this),this}});e.exports=d},function(e,t,n){"use strict";var i,o=n(6),s=n(36),a=n(8),r=n(22),l="yyyy-MM-dd",d=[[new Date(1900,0,1),new Date(2999,11,31)]];i=a.extend({initialize:function(e){this.focusModel=e.focusModel,this.textPainter=e.textPainter,this.columnModel=e.columnModel,this.domState=e.domState,this.datePickerMap=this._createDatePickers(),this.$focusedInput=null,this.listenTo(this.textPainter,"focusIn",this._onFocusInTextInput),this.listenTo(e.domEventBus,"windowResize",this._closeDatePickerLayer)},className:r.LAYER_DATE_PICKER,events:{click:"_onClick"},_onClick:function(e){e.stopPropagation()},_createDatePickers:function(){var e={},t=this.columnModel.get("columnModelMap");return o.each(t,function(t){var n,i=t.name,o=t.component;o&&"datePicker"===o.name&&(n=o.options||{},e[i]=new s(this.$el,n),this._bindEventOnDatePicker(e[i]))},this),e},_bindEventOnDatePicker:function(e){var t=this;e.on("open",function(){t.textPainter.blockFocusingOut()}),e.on("close",function(){var e=t.focusModel,n=e.which(),i=n.rowKey,o=n.columnName,s=t.$focusedInput.val();t.textPainter.unblockFocusingOut(),e.isEditingCell(i,o)&&e.dataModel.setValue(i,o,s),e.finishEditing()})},_resetDatePicker:function(e,t,n){var i=this.datePickerMap[n],o=e.format||l,s=e.date||new Date,a=e.selectableRanges;i.setInput(t,{format:o,syncFromInput:!0}),a?i.setRanges(a):i.setRanges(d),""===t.val()&&(i.setDate(s),t.val(""))},_calculatePosition:function(e){var t=e.offset(),n=e.outerHeight(),i=this.domState.getOffset();return{top:t.top-i.top+n,left:t.left-i.left}},_onFocusInTextInput:function(e,t){var n,i=t.columnName,o=this.columnModel.getColumnModel(i).component,s=this.columnModel.getEditType(i);"text"===s&&o&&"datePicker"===o.name&&(n=o.options||{},this.$focusedInput=e,this.$el.css(this._calculatePosition(e)).show(),this._resetDatePicker(n,e,i),this.datePickerMap[i].open())},_closeDatePickerLayer:function(){var e=this.focusModel.which().columnName,t=this.datePickerMap[e];t&&t.isOpened()&&t.close()},render:function(){return this.$el.hide(),this}}),e.exports=i},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(8),a=n(14),r=n(22),l=a.frame,d=a.dimension.CELL_BORDER_WIDTH,h='
',u=r.LAYER_FOCUS_DEACTIVE,c=s.extend({initialize:function(e){this.focusModel=e.focusModel,this.columnModel=e.columnModel,this.coordRowModel=e.coordRowModel,this.coordColumnModel=e.coordColumnModel,this.coordConverterModel=e.coordConverterModel,this.whichSide=e.whichSide,this.borderEl={$top:i(h),$left:i(h),$right:i(h),$bottom:i(h)},this.listenTo(this.coordColumnModel,"columnWidthChanged",this._refreshCurrentLayout),this.listenTo(this.coordRowModel,"reset",this._refreshCurrentLayout),this.listenTo(this.focusModel,"blur",this._onBlur),this.listenTo(this.focusModel,"focus",this._onFocus),this.listenTo(this.focusModel,"change:active",this._onChangeActiveState)},className:r.LAYER_FOCUS,_refreshCurrentLayout:function(){var e=this.focusModel;"none"!==this.$el.css("display")&&this._refreshBorderLayout(e.get("rowKey"),e.get("columnName"))},_onBlur:function(){this.$el.hide()},_onFocus:function(e,t){var n=this.columnModel.isLside(t)?l.L:l.R;n===this.whichSide&&(this._refreshBorderLayout(e,t),this.$el.show())},_onChangeActiveState:function(e){e.changed.active?this.$el.removeClass(u):this.$el.addClass(u)},_refreshBorderLayout:function(e,t){var n=this.coordConverterModel.getCellPosition(e,t),i=n.right-n.left,o=n.bottom-n.top;this.borderEl.$left.css({top:n.top,left:n.left,width:d,height:o+d}),this.borderEl.$top.css({top:0===n.top?d:n.top,left:n.left,width:i+d,height:d}),this.borderEl.$right.css({top:n.top,left:n.left+i,width:d,height:o+d}),this.borderEl.$bottom.css({top:n.top+o,left:n.left,width:i+d,height:d})},render:function(){var e=this.$el;return o.each(this.borderEl,function(t){e.append(t)}),e.hide(),this}});e.exports=c},function(e,t,n){"use strict";var i=n(6),o=n(9);e.exports={create:function(){return i.extend({},o.Events)}}},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(14).attrName,a=n(22),r=o.defineClass({init:function(e){this.$el=e},_getBodyTableRows:function(e){return this.$el.find("."+e).find("."+a.BODY_TABLE_CONTAINER).find("tr["+s.ROW_KEY+"]")},_getMaxCellHeight:function(e){var t=e.find("."+a.CELL_CONTENT).map(function(){return this.scrollHeight}).get();return i.max(t)},getElement:function(e,t){return this.$el.find("tr["+s.ROW_KEY+"="+e+"]").find("td["+s.COLUMN_NAME+'="'+t+'"]')},getRowHeights:function(){var e,t,n,i,o=this._getBodyTableRows(a.LSIDE_AREA),s=this._getBodyTableRows(a.RSIDE_AREA),r=[];for(n=0,i=o.length;n" class="<%=className%>" style="height: <%=height%>px;"><%=contents%>'),_getEditType:function(e,t){var n=o.pick(t.columnModel,"editOptions","type");return n||"normal"},_generateHtmlForDummyRow:function(e,t){var n=this.painterManager.getCellPainter("dummy"),o="";return i.each(t,function(t){o+=n.generateHtml(e,t)}),o},_generateHtmlForActualRow:function(e,t){var n="";return i.each(t,function(t){var i,o,s=e.get(t);s&&s.isMainRow&&(i=this._getEditType(t,s),o=this.painterManager.getCellPainter(i),n+=o.generateHtml(s))},this),n},generateHtml:function(e,t){var n,o=e.get("rowKey"),s=e.get("rowNum"),a=s%2?r.ROW_ODD:r.ROW_EVEN,h="";return i.isUndefined(o)?n=this._generateHtmlForDummyRow(s,t):(h=l.ROW_KEY+'="'+o+'"',n=this._generateHtmlForActualRow(e,t)),this.template({rowKeyAttr:h,height:e.get("height")+d,contents:n,className:a})},refresh:function(e,t){i.each(e,function(e,n){var i,o,s;"_extraData"!==n&&(s=t.find("td["+l.COLUMN_NAME+'="'+n+'"]'),i=this._getEditType(n,e),o=this.painterManager.getCellPainter(i),o.refresh(e,s))},this)}});e.exports=h},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(14).attrName,a=o.defineClass({init:function(e){this.controller=e.controller},events:{},selector:"",_getCellAddress:function(e){var t=e.closest("["+s.ROW_KEY+"]");return{rowKey:t.attr(s.ROW_KEY),columnName:t.attr(s.COLUMN_NAME)}},attachEventHandlers:function(e,t){i.each(this.events,function(n,o){var s=i.bind(this[n],this),a=t+" "+this.selector;e.on(o,a,s)},this)},generateHtml:function(){throw new Error("implement generateHtml() method")}});e.exports=a},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(65),a=n(20),r=n(14).attrName,l=n(22),d=o.defineClass(s,{init:function(e){s.apply(this,arguments),this.editType=e.editType,this.fixedRowHeight=e.fixedRowHeight,this.inputPainter=e.inputPainter,this.selector="td["+r.EDIT_TYPE+'="'+this.editType+'"]'},template:i.template(' style="<%=style%>"><%=contentHtml%>'),contentTemplate:i.template('
<%=content%>
'),_isEditableType:function(){return!i.contains(["normal","mainButton"],this.editType)},_getContentStyle:function(e){var t=e.columnModel.whiteSpace||"nowrap",n=[];return t&&n.push("white-space:"+t),this.fixedRowHeight&&n.push("max-height:"+e.height+"px"),n.join(";")},_getContentHtml:function(e){var t,n,o=e.columnModel.template,s=e.formattedValue,a=e.prefix,r=e.postfix;return this.inputPainter&&(s=this.inputPainter.generateHtml(e),this._shouldContentBeWrapped()&&!this._isUsingViewMode(e)&&(a=this._getSpanWrapContent(a,l.CELL_CONTENT_BEFORE),r=this._getSpanWrapContent(r,l.CELL_CONTENT_AFTER),s=this._getSpanWrapContent(s,l.CELL_CONTENT_INPUT),t=a+r+s)),t||(t=a+s+r),n="_number"===e.columnName&&i.isFunction(o)?o({content:t}):this.contentTemplate({content:t,className:l.CELL_CONTENT,style:this._getContentStyle(e)})},_isUsingViewMode:function(e){return o.pick(e,"columnModel","editOptions","useViewMode")!==!1},_shouldContentBeWrapped:function(){return i.contains(["text","password","select"],this.editType)},_getSpanWrapContent:function(e,t){return o.isFalsy(e)&&(e=""),''+e+""},_getAttributes:function(e){var t=[e.className,l.CELL],n={align:e.columnModel.align||"left"};return n.class=t.join(" "),n[r.EDIT_TYPE]=this.editType,n[r.ROW_KEY]=e.rowKey,n[r.COLUMN_NAME]=e.columnName,e.rowSpan&&(n.rowspan=e.rowSpan),n},attachEventHandlers:function(e,t){s.prototype.attachEventHandlers.call(this,e,t),this.inputPainter&&this.inputPainter.attachEventHandlers(e,t+" "+this.selector)},generateHtml:function(e){var t=a.getAttributesString(this._getAttributes(e)),n=this._getContentHtml(e),i=e.columnModel.valign,o=[];return i&&o.push("vertical-align:"+i),this.template({attributeString:t,style:o.join(";"),contentHtml:n})},refresh:function(e,t){var n=["value","editing","disabled","listItems"],o=i.contains(e.changed,"editing")&&e.editing,s=i.intersection(n,e.changed).length>0,a=this._getAttributes(e),r="mainButton"===this.editType;t.attr(a),o&&!this._isUsingViewMode(e)?this.inputPainter.focus(t):r?t.find(this.inputPainter.selector).prop({checked:e.value,disabled:e.disabled}):s&&(t.html(this._getContentHtml(e)),t.scrollLeft(0))}});e.exports=d},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(65),a=n(20),r=n(14).attrName,l=n(22),d=o.defineClass(s,{init:function(){s.apply(this,arguments)},selector:"td["+r.EDIT_TYPE+'="dummy"]',template:i.template("'),generateHtml:function(e,t){var n=[l.CELL,l.CELL_DUMMY];return a.isMetaColumn(t)&&n.push(l.CELL_HEAD),this.template({columnName:t,className:n.join(" ")})}});e.exports=d},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(69),a=n(20),r=n(22),l="."+r.CELL_CONTENT_TEXT,d="input[type=password]",h=o.defineClass(s,{init:function(e){s.apply(this,arguments),this.inputType=e.inputType,this.selector="text"===e.inputType?l:d,this._extendEvents({selectstart:"_onSelectStart"})},templateInput:i.template('/>'),templateTextArea:i.template(''),_onSelectStart:function(e){e.stopPropagation()},_convertStringToAsterisks:function(e){return Array(e.length+1).join("*")},_getDisplayValue:function(e){var t=e.formattedValue;return"password"===this.inputType&&(t=this._convertStringToAsterisks(e.value)),t},_generateInputHtml:function(e){var t=o.pick(e,"columnModel","editOptions","maxLength"),n={type:this.inputType,className:r.CELL_CONTENT_TEXT,value:e.value,name:a.getUniqueKey(),disabled:e.disabled?"disabled":"",maxLength:t};return"nowrap"!==e.whiteSpace?this.templateTextArea(n):this.templateInput(n)},focus:function(e){var t=e.find(this.selector);1!==t.length||t.is(":focus")||t.select()}});e.exports=h},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(9),a=n(7),r=n(65),l=n(14).keyName,d=a.defineClass(r,{init:function(){r.apply(this,arguments),this._finishedEditing=!1},events:{keydown:"_onKeyDown",focusin:"_onFocusIn",focusout:"_onFocusOut",change:"_onChange"},keyDownActions:{ESC:function(e){this.controller.finishEditing(e.address,!0)},ENTER:function(e){this.controller.finishEditing(e.address,!0,e.value)},TAB:function(e){this.controller.finishEditing(e.address,!0,e.value),this.controller.focusInToNextCell(e.shiftKey)}},_extendKeydownActions:function(e){this.keyDownActions=o.assign({},this.keyDownActions,e)},_extendEvents:function(e){this.events=o.assign({},this.events,e)},_executeCustomEventHandler:function(e,t){this.controller.executeCustomInputEventHandler(e,t)},_onChange:function(){},_onFocusIn:function(e){var t=i(e.target),n=this._getCellAddress(t),s=this;o.defer(function(){s._executeCustomEventHandler(e,n),s.trigger("focusIn",t,n),s.controller.startEditing(n)})},_onFocusOut:function(e){var t=i(e.target),n=this._getCellAddress(t);this._finishedEditing||(this._executeCustomEventHandler(e,n),this.trigger("focusOut",t,n),this.controller.finishEditing(n,!1,t.val()))},_onKeyDown:function(e){var t=e.keyCode||e.which,n=l[t],o=this.keyDownActions[n],s=i(e.target),a={$target:s,address:this._getCellAddress(s),shiftKey:e.shiftKey,value:s.val()};this._executeCustomEventHandler(e,a.address),o&&!e.shiftKey&&(o.call(this,a),e.preventDefault())},_getDisplayValue:function(){throw new Error("implement _getDisplayValue() method")},_generateInputHtml:function(){throw new Error("implement _generateInputHtml() method")},_isUsingViewMode:function(e){return a.pick(e,"columnModel","editOptions","useViewMode")!==!1},generateHtml:function(e){var t;return t=o.isNull(e.convertedHTML)?!this._isUsingViewMode(e)||e.editing?this._generateInputHtml(e):this._getDisplayValue(e):e.convertedHTML},focus:function(e){var t=e.find(this.selector);t.is(":focus")||t.eq(0).focus()},blockFocusingOut:function(){this._finishedEditing=!0},unblockFocusingOut:function(){this._finishedEditing=!1}});o.assign(d.prototype,s.Events),e.exports=d},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(69),r=n(20),l=s.defineClass(a,{init:function(){a.apply(this,arguments),this.selector="select"},template:o.template(''),optionTemplate:o.template(''),_onChange:function(e){var t=i(e.target),n=this._getCellAddress(t);this.controller.setValueIfNotUsingViewMode(n,t.val())},_getDisplayValue:function(e){var t=o.find(e.listItems,function(t){return String(t.value)===String(e.value)});return t?t.text:""},_generateInputHtml:function(e){var t=o.reduce(e.listItems,function(t,n){return t+this.optionTemplate({value:n.value,text:n.text,selected:String(e.value)===String(n.value)?"selected":""})},"",this);return this.template({name:r.getUniqueKey(),disabled:e.disabled?"disabled":"",options:t})}});e.exports=l},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(69),r=n(20),l=s.defineClass(a,{init:function(e){a.apply(this,arguments),this.inputType=e.inputType,this.selector="fieldset[data-type="+this.inputType+"]",this._extendEvents({mousedown:"_onMouseDown"}),this._extendKeydownActions({TAB:function(e){var t;this._focusNextInput(e.$target,e.shiftKey)||(t=this._getCheckedValueString(e.$target),this.controller.finishEditing(e.address,!0,t),this.controller.focusInToNextCell(e.shiftKey))},ENTER:function(e){var t=this._getCheckedValueString(e.$target);this.controller.finishEditing(e.address,!0,t)},LEFT_ARROW:function(e){this._focusNextInput(e.$target,!0)},RIGHT_ARROW:function(e){this._focusNextInput(e.$target)},UP_ARROW:function(){},DOWN_ARROW:function(){}})},template:o.template('
<%=content%>
'),inputTemplate:o.template(' <%=disabled%> />'),labelTemplate:o.template(''),_onChange:function(e){var t=i(e.target),n=this._getCellAddress(t),o=this._getCheckedValueString(t);this.controller.setValueIfNotUsingViewMode(n,o)},_onFocusOut:function(e){var t=i(e.target),n=this;o.defer(function(){var e,i;t.siblings("input:focus").length||(e=n._getCellAddress(t),i=n._getCheckedValueString(t),n.controller.finishEditing(e,!1,i))})},_onMouseDown:function(e){var t=i(e.target),n=t.closest("fieldset").find("input:focus").length>0;!t.is("input")&&n&&(e.stopPropagation(),e.preventDefault())},_focusNextInput:function(e,t){var n=t?"prevAll":"nextAll",i=e[n]("input");return!!i.length&&(i.first().focus(),!0)},_getCheckedValueString:function(e){var t,n=e.parent().find("input:checked"),o=[];return n.each(function(){var e=i(this),t=e.attr("data-value-type"),n=r.convertValueType(e.val(),t);o.push(n)}),t=1===o.length?o[0]:o.join(",")},_getCheckedValueSet:function(e){var t={};return o.each(String(e).split(","),function(e){t[e]=!0}),t},_getDisplayValue:function(e){var t=this._getCheckedValueSet(e.value),n=[];return o.each(e.listItems,function(e){t[e.value]&&n.push(e.text)}),n.join(",")},_generateInputHtml:function(e){var t=this._getCheckedValueSet(e.value),n=r.getUniqueKey(),i="";return o.each(e.listItems,function(o){var s=n+"_"+o.value;i+=this.inputTemplate({type:this.inputType,id:s,name:n,value:o.value,valueType:typeof o.value,checked:t[o.value]?"checked":"",disabled:e.isDisabled?"disabled":""}),o.text&&(i+=this.labelTemplate({id:s,labelText:o.text}))},this),this.template({type:this.inputType,content:i})},focus:function(e){var t=e.find("input");t.is(":focus")||t.eq(0).focus()}});e.exports=l},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(65),r=n(22),l=n(14).keyCode,d=r.CELL_MAIN_BUTTON,h=s.defineClass(a,{init:function(e){a.apply(this,arguments),this.selector="input."+d,this.inputType=e.inputType,this.gridId=e.gridId},events:{change:"_onChange",keydown:"_onKeydown"},template:o.template(' <%=disabled%> />'),_onChange:function(e){var t=i(e.target),n=this._getCellAddress(t);this.controller.setValue(n,t.is(":checked"))},_onKeydown:function(e){var t;e.keyCode===l.TAB&&(e.preventDefault(),t=this._getCellAddress(i(e.target)),this.controller.focusInToRow(t.rowKey))},generateHtml:function(e){var t=e.columnModel.template,n=null,i={type:this.inputType,name:this.gridId,className:d};return n=o.isFunction(t)?t(o.extend(i,{checked:e.value,disabled:e.disabled})):this.template(o.extend(i,{checked:e.value?"checked":"",disabled:e.disabled?"disabled":""}))}});e.exports=h},function(e,t,n){"use strict";function i(e){return a.isString(e)&&(e=e.replace(/,/g,"")),a.isNumber(e)||isNaN(e)||l.isBlank(e)?e:Number(e)}function o(e){switch(e){case"focusin":return"onFocus";case"focusout":return"onBlur";case"keydown":return"onKeyDown";default:return""}}var s=n(11),a=n(6),r=n(7),l=n(20),d=r.defineClass({init:function(e){this.focusModel=e.focusModel,this.dataModel=e.dataModel,this.columnModel=e.columnModel,this.selectionModel=e.selectionModel},startEditing:function(e,t){var n;return t&&this.focusModel.finishEditing(),n=this.focusModel.startEditing(e.rowKey,e.columnName),n&&this.selectionModel.end(),n},_checkMaxLength:function(e,t){var n=this.columnModel.getColumnModel(e),i=r.pick(n,"editOptions","maxLength");return i>0&&t.length>i?t.substring(0,i):t},finishEditing:function(e,t,n){var i,o,s=this.focusModel;return!!s.isEditingCell(e.rowKey,e.columnName)&&(this.selectionModel.enable(),a.isUndefined(n)||(i=this.dataModel.get(e.rowKey),o=i.get(e.columnName),l.isBlank(n)&&l.isBlank(o)||this.setValue(e,this._checkMaxLength(e.columnName,n))),s.finishEditing(),t?s.focusClipboard():a.defer(function(){s.refreshState()}),!0)},focusInToNextCell:function(e){var t=this.focusModel,n=e?t.prevAddress():t.nextAddress();t.focusIn(n.rowKey,n.columnName,!0)},focusInToRow:function(e){var t=this.focusModel;t.focusIn(e,t.firstColumnName(),!0)},executeCustomInputEventHandler:function(e,t){var n,i,s,r=this.columnModel.getColumnModel(t.columnName);r&&(n=e.type,i=r.editOptions||{},s=i[o(n)],a.isFunction(s)&&s.call(e.target,e,t))},setValue:function(e,t){var n=this.columnModel.getColumnModel(e.columnName);a.isString(t)&&(t=s.trim(t)),"number"===n.dataType&&(t=i(t)),"_button"===n.name?t?this.dataModel.check(e.rowKey):this.dataModel.uncheck(e.rowKey):this.dataModel.setValue(e.rowKey,e.columnName,t)},setValueIfNotUsingViewMode:function(e,t){var n=this.columnModel.getColumnModel(e.columnName);r.pick(n,"editOptions","useViewMode")||this.setValue(e,t)}});e.exports=d},function(e,t,n){"use strict";var i=n(11),o=n(9),s=n(6),a=n(8),r=n(75),l=n(20),d=n(76),h=n(44),u=n(19),c=n(14).renderState,g=200,m=a.extend({initialize:function(e){var t={initialRequest:!0,perPage:500,enableAjaxHistory:!0},n={readData:"",createData:"",updateData:"",deleteData:"",modifyData:"",downloadExcel:"",downloadExcelAll:""};e=s.assign(t,e),e.api=s.assign(n,e.api),s.assign(this,{dataModel:e.dataModel,renderModel:e.renderModel,router:null,domEventBus:e.domEventBus,pagination:e.pagination,api:e.api,enableAjaxHistory:e.enableAjaxHistory,readDataMethod:e.readDataMethod||"POST",perPage:e.perPage,curPage:1,timeoutIdForDelay:null,requestedFormData:null,isLocked:!1,lastRequestedReadData:null}),this._initializeDataModelNetwork(),this._initializeRouter(),this._initializePagination(),this.listenTo(this.dataModel,"sortChanged",this._onSortChanged),this.listenTo(this.domEventBus,"click:excel",this._onClickExcel),e.initialRequest&&(this.lastRequestedReadData||this._readDataAt(1,!1))},tagName:"form",events:{submit:"_onSubmit"},_initializePagination:function(){var e=this.pagination;e&&(e.setItemsPerPage(this.perPage),e.setTotalItems(1),e.on("beforeMove",i.proxy(this._onPageBeforeMove,this)))},_onRouterRead:function(e){var t=l.toQueryObject(e);this._requestReadData(t)},_onClickExcel:function(e){var t="all"===e.type?"excelAll":"excel";this.download(t)},_initializeDataModelNetwork:function(){this.dataModel.url=this.api.readData,this.dataModel.sync=i.proxy(this._sync,this)},_initializeRouter:function(){this.enableAjaxHistory&&(this.router=new r({net:this}),this.listenTo(this.router,"route:read",this._onRouterRead),o.History.started||o.history.start())},_onPageBeforeMove:function(e){var t=e.page;this.curPage!==t&&this._readDataAt(t,!0)},_onSubmit:function(e){e.preventDefault(),this._readDataAt(1,!1)},_setFormData:function(e){var t=s.clone(e);s.each(this.lastRequestedReadData,function(e,n){(s.isUndefined(t[n])||s.isNull(t[n]))&&e&&(t[n]="")}),d.setFormData(this.$el,t)},_sync:function(e,t,n){var a;"read"===e?(n=n||{},a=i.extend({},n),n.url||(a.url=s.result(t,"url")),this._ajax(a)):o.sync(o,e,t,n)},_lock:function(){var e=this.renderModel;this.timeoutIdForDelay=setTimeout(function(){e.set("state",c.LOADING)},g),this.isLocked=!0},_unlock:function(){null!==this.timeoutIdForDelay&&(clearTimeout(this.timeoutIdForDelay),this.timeoutIdForDelay=null),this.isLocked=!1},_getFormData:function(){return d.getFormData(this.$el)},_onReadSuccess:function(e,t){var n,i,o=this.pagination;e.setOriginalRowList(),o&&t.pagination&&(n=t.pagination.page,i=t.pagination.totalCount,o.setItemsPerPage(this.perPage),o.setTotalItems(i),o.movePageTo(n),this.curPage=n)},_onReadError:function(e,t,n){},reloadData:function(){this._requestReadData(this.lastRequestedReadData)},readData:function(e,t,n){n?(t||(t={}),t.perPage=this.perPage,this._changeSortOptions(t,this.dataModel.sortOptions)):t=s.assign({},this.lastRequestedReadData,t),t.page=e,this._requestReadData(t)},_requestReadData:function(e){var t=1;this._setFormData(e),this.isLocked||(this.renderModel.initializeVariables(),this._lock(),this.requestedFormData=s.clone(e),this.curPage=e.page||this.curPage,t=(this.curPage-1)*this.perPage+1,this.renderModel.set({startNumber:t}),this.lastRequestedReadData=s.clone(e), -this.dataModel.fetch({requestType:"readData",data:e,type:this.readDataMethod,success:i.proxy(this._onReadSuccess,this),error:i.proxy(this._onReadError,this),reset:!0}),this.dataModel.setSortOptionValues(e.sortColumn,e.sortAscending)),this.router&&this.router.navigate("read/"+l.toQueryString(e),{trigger:!1})},_onSortChanged:function(e){e.requireFetch&&this._readDataAt(1,!0,e)},_changeSortOptions:function(e,t){t&&("rowKey"===t.columnName?(delete e.sortColumn,delete e.sortAscending):(e.sortColumn=t.columnName,e.sortAscending=t.ascending))},_readDataAt:function(e,t,n){var i;t=!!s.isUndefined(t)||t,i=t?this.requestedFormData:this._getFormData(),i.page=e,i.perPage=this.perPage,this._changeSortOptions(i,n),this._requestReadData(i)},request:function(e,t){var n=s.extend({url:this.api[e],type:null,hasDataParam:!0,checkedOnly:!0,modifiedOnly:!0,showConfirm:!0,updateOriginal:!1},t),i=this._getRequestParam(e,n);return i&&(n.updateOriginal&&this.dataModel.setOriginalRowList(),this._ajax(i)),!!i},download:function(e){var t,n="download"+l.toUpperCaseFirstLetter(e),o=this.requestedFormData,a=this.api[n];"excel"===e?(o.page=this.curPage,o.perPage=this.perPage):o=s.omit(o,"page","perPage"),t=i.param(o),window.location=a+"?"+t},setPerPage:function(e){this.perPage=e,this._readDataAt(1)},_getDataParam:function(e,t){var n,i=this.dataModel,o={createData:["createdRows"],updateData:["updatedRows"],deleteData:["deletedRows"],modifyData:["createdRows","updatedRows","deletedRows"]},a=o[e],r={},l=0;return t=s.defaults(t||{},{hasDataParam:!0,modifiedOnly:!0,checkedOnly:!0}),t.hasDataParam&&(t.modifiedOnly?(n=i.getModifiedRows({checkedOnly:t.checkedOnly}),s.each(n,function(e,t){s.contains(a,t)&&e.length&&(l+=e.length,r[t]=JSON.stringify(e))},this)):(r.rows=i.getRows(t.checkedOnly),l=r.rows.length)),{data:r,count:l}},_getRequestParam:function(e,t){var n={url:this.api[e],type:null,hasDataParam:!0,modifiedOnly:!0,checkedOnly:!0},o=i.extend(n,t),s=this._getDataParam(e,o),a=null;return o.showConfirm&&!this._isConfirmed(e,s.count)||(a={requestType:e,url:o.url,data:s.data,type:o.type}),a},_isConfirmed:function(e,t){var n=!1;return t>0?n=confirm(this._getConfirmMessage(e,t)):alert(this._getConfirmMessage(e,t)),n},_getConfirmMessage:function(e,t){var n=e.replace("Data","Action"),i=h.get(n),o={count:t,actionName:i},s=t>0?"requestConfirm":"noDataResponse";return h.get(s,o)},_ajax:function(e){var t,n=new u(null,e.data);this.trigger("beforeRequest",n),n.isStopped()||(e=i.extend({requestType:""},e),t={url:e.url,data:e.data||{},type:e.type||"POST",dataType:e.dataType||"json",complete:i.proxy(this._onComplete,this,e.complete,e),success:i.proxy(this._onSuccess,this,e.success,e),error:i.proxy(this._onError,this,e.error,e)},e.url&&i.ajax(t))},_onComplete:function(e,t,n){this._unlock()},_onSuccess:function(e,t,n,i,o){var a=n&&n.message,r=new u(null,{httpStatus:i,requestType:t.requestType,requestParameter:t.data,responseData:n});if(this.trigger("response",r),!r.isStopped())if(n&&n.result){if(this.trigger("successResponse",r),r.isStopped())return;s.isFunction(e)&&e(n.data||{},i,o)}else{if(this.trigger("failResponse",r),r.isStopped())return;a&&alert(a)}},_onError:function(e,t,n,i){var o=new u(null,{httpStatus:i,requestType:t.requestType,requestParameter:t.data,responseData:null});this.renderModel.set("state",c.DONE),this.trigger("response",o),o.isStopped()||(this.trigger("errorResponse",o),o.isStopped()||n.readyState>1&&alert(h.get("errorResponse")))}});e.exports=m},function(e,t,n){"use strict";var i=n(9),o=i.Router.extend({initialize:function(e){this.net=e.net},routes:{"read/:queryStr":"read"}});e.exports=o},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a={setInput:{_changeToStringInArray:function(e){return o.each(e,function(t,n){e[n]=String(t)}),e},radio:function(e,t){e.checked=e.value===t},checkbox:function(e,t){o.isArray(t)?e.checked=i.inArray(e.value,this._changeToStringInArray(t))!==-1:e.checked=e.value===t},"select-one":function(e,t){var n=s.toArray(e.options);e.selectedIndex=o.findIndex(n,function(e){return e.value===t||e.text===t})},"select-multiple":function(e,t){var n=s.toArray(e.options);o.isArray(t)?(t=this._changeToStringInArray(t),o.each(n,function(e){e.selected=i.inArray(e.value,t)!==-1||i.inArray(e.text,t)!==-1})):this["select-one"].apply(this,arguments)},defaultAction:function(e,t){e.value=t}},getFormData:function(e){var t={},n=e.serializeArray(),i=s.isExisty;return o.each(n,function(e){var n=e.value||"",o=e.name;i(t[o])?t[o]=[].concat(t[o],n):t[o]=n}),t},getFormElement:function(e,t){var n;return e&&e.length&&(n=t?e.prop("elements")[String(t)]:e.prop("elements")),i(n)},setFormData:function(e,t){o.each(t,function(t,n){this.setFormElementValue(e,n,t)},this)},setFormElementValue:function(e,t,n){var i,a=this.getFormElement(e,t);a.length&&(o.isArray(n)||(n=String(n)),a=s.isHTMLTag(a)?[a]:a,a=s.toArray(a),o.each(a,function(e){i=this.setInput[e.type]?e.type:"defaultAction",this.setInput[i](e,n)},this))},setCursorToEnd:function(e){var t,n=e.value.length;if(e.focus(),e.setSelectionRange)try{e.setSelectionRange(n,n)}catch(e){}else if(e.createTextRange){t=e.createTextRange(),t.collapse(!0),t.moveEnd("character",n),t.moveStart("character",n);try{t.select()}catch(e){}}}};e.exports=a},function(e,t,n){"use strict";var i=n(11),o=n(7),s={pagination:null},a=o.defineClass({init:function(e){this.optionsMap=i.extend(!0,s,e),this.instanceMap={}},getInstance:function(e){return this.instanceMap[e]},setInstance:function(e,t){this.instanceMap[e]=t},getOptions:function(e){return this.optionsMap[e]}});e.exports=a},function(e,t,n){"use strict";function i(e){var t=[r.grid(e.grid),r.scrollbar(e.scrollbar),r.heightResizeHandle(e.heightResizeHandle),r.pagination(e.pagination),r.selection(e.selection)],n=e.cell;return n&&(t=t.concat([r.cell(n.normal),r.cellDummy(n.dummy),r.cellEditable(n.editable),r.cellHead(n.head),r.cellOddRow(n.oddRow),r.cellEvenRow(n.evenRow),r.cellRequired(n.required),r.cellDisabled(n.disabled),r.cellInvalid(n.invalid),r.cellCurrentRow(n.currentRow),r.cellSelectedHead(n.selectedHead),r.cellFocused(n.focused),r.cellFocusedInactive(n.focusedInactive)])),t.join("")}function o(e){var t=i(e);s("#"+d).remove(),a.appendStyleElement(d,t)}var s=n(11),a=n(20),r=n(79),l=n(14).themeName,d="tui-grid-theme-style",h={};h[l.DEFAULT]=n(81),h[l.STRIPED]=n(82),h[l.CLEAN]=n(83),e.exports={apply:function(e,t){var n=h[e];n||(n=h[l.DEFAULT]),n=s.extend(!0,{},n,t),o(n)},isApplied:function(){return 1===s("#"+d).length}}},function(e,t,n){"use strict";function i(e,t){return l(e).bg(t.background).text(t.text).build()}function o(e,t){return l(e).bg(t.background).border(t.border).build()}var s=n(6),a=n(80),r=n(22),l=s.bind(a.createClassRule,a);e.exports={grid:function(e){var t=l(r.CONTAINER).bg(e.background).text(e.text),n=l(r.CONTENT_AREA).border(e.border),i=l(r.TABLE).border(e.border),o=l(r.HEAD_AREA).border(e.border),s=l(r.FOOT_AREA).border(e.border),d=l(r.BORDER_LINE).bg(e.border),h=l(r.SCROLLBAR_HEAD).border(e.border),u=l(r.SCROLLBAR_BORDER).bg(e.border),c=l(r.FOOT_AREA_RIGHT).border(e.border);return a.buildAll([t,n,i,o,s,d,h,u,c])},scrollbar:function(e){var t=a.createWebkitScrollbarRules("."+r.CONTAINER,e),n=a.createIEScrollbarRule("."+r.CONTAINER,e),i=l(r.SCROLLBAR_RIGHT_BOTTOM).bg(e.background),o=l(r.SCROLLBAR_LEFT_BOTTOM).bg(e.background),s=l(r.SCROLLBAR_HEAD).bg(e.background),d=l(r.FOOT_AREA_RIGHT).bg(e.background),h=l(r.BODY_AREA).bg(e.background);return a.buildAll(t.concat([n,i,o,s,d,h]))},heightResizeHandle:function(e){return o(r.HEIGHT_RESIZE_HANDLE,e)},pagination:function(e){return o(r.PAGINATION,e)},selection:function(e){return o(r.LAYER_SELECTION,e)},cell:function(e){var t=l(r.CELL).bg(e.background).border(e.border).borderWidth(e).text(e.text);return t.build()},cellHead:function(e){var t=l(r.CELL_HEAD).bg(e.background).border(e.border).borderWidth(e).text(e.text),n=l(r.HEAD_AREA).bg(e.background),i=l(r.FOOT_AREA).bg(e.background);return a.buildAll([t,n,i])},cellEvenRow:function(e){return l(r.ROW_EVEN+">td").bg(e.background).build()},cellOddRow:function(e){return l(r.ROW_ODD+">td").bg(e.background).build()},cellSelectedHead:function(e){return a.create("."+r.CELL_HEAD+"."+r.CELL_SELECTED).bg(e.background).text(e.text).build()},cellFocused:function(e){var t=l(r.LAYER_FOCUS_BORDER).bg(e.border),n=l(r.LAYER_EDITING).border(e.border);return a.buildAll([t,n])},cellFocusedInactive:function(e){return a.create("."+r.LAYER_FOCUS_DEACTIVE+" ."+r.LAYER_FOCUS_BORDER).bg(e.border).build()},cellEditable:function(e){return i(r.CELL_EDITABLE,e)},cellRequired:function(e){return i(r.CELL_REQUIRED,e)},cellDisabled:function(e){return i(r.CELL_DISABLED,e)},cellDummy:function(e){return i(r.CELL_DUMMY,e)},cellInvalid:function(e){return i(r.CELL_INVALID,e)},cellCurrentRow:function(e){return i(r.CELL_CURRENT_ROW,e)}}},function(e,t,n){"use strict";var i=n(6),o=n(7),s=o.defineClass({init:function(e){if(!i.isString(e)||!e)throw new Error("The Selector must be a string and not be empty.");this._selector=e,this._propValues=[]},add:function(e,t){return t&&this._propValues.push(e+":"+t),this},border:function(e){return this.add("border-color",e)},borderWidth:function(e){var t,n=e.showVerticalBorder,o=e.showHorizontalBorder;return i.isBoolean(n)&&(t=n?"1px":"0",this.add("border-left-width",t).add("border-right-width",t)),i.isBoolean(o)&&(t=o?"1px":"0",this.add("border-top-width",t).add("border-bottom-width",t)),this},bg:function(e){return this.add("background-color",e)},text:function(e){return this.add("color",e)},build:function(){var e="";return this._propValues.length&&(e=this._selector+"{"+this._propValues.join(";")+"}"),e}});e.exports={create:function(e){return new s(e)},createClassRule:function(e){return this.create("."+e)},createWebkitScrollbarRules:function(e,t){return[this.create(e+" ::-webkit-scrollbar").bg(t.background),this.create(e+" ::-webkit-scrollbar-thumb").bg(t.thumb),this.create(e+" ::-webkit-scrollbar-thumb:hover").bg(t.active)]},createIEScrollbarRule:function(e,t){var n=["scrollbar-3dlight-color","scrollbar-darkshadow-color","scrollbar-track-color","scrollbar-shadow-color"],o=["scrollbar-face-color","scrollbar-highlight-color"],s=this.create(e);return i.each(n,function(e){s.add(e,t.background)}),i.each(o,function(e){s.add(e,t.thumb)}),s.add("scrollbar-arrow-color",t.active),s},buildAll:function(e){return i.map(e,function(e){return e.build()}).join("")}}},function(e,t){"use strict";e.exports={grid:{background:"#fff",border:"#ccc",text:"#444"},selection:{background:"#4daaf9",border:"#004082"},heightResizeHandle:{border:"#ccc",background:"#fff"},pagination:{border:"transparent",background:"transparent"},scrollbar:{background:"#f5f5f5",thumb:"#d9d9d9",active:"#c1c1c1"},cell:{normal:{background:"#fbfbfb",border:"#e0e0e0",showVerticalBorder:!0,showHorizontalBorder:!0},head:{background:"#eee",border:"#ccc",showVerticalBorder:!0,showHorizontalBorder:!0},selectedHead:{background:"#d8d8d8"},focused:{border:"#418ed4"},focusedInactive:{border:"#aaa"},required:{background:"#fffdeb"},editable:{background:"#fff"},disabled:{text:"#b0b0b0"},dummy:{background:"#fff"},invalid:{background:"#ff8080"},evenRow:{},oddRow:{},currentRow:{}}}},function(e,t,n){"use strict";var i=n(11),o=n(81);e.exports=i.extend(!0,{},o,{cell:{normal:{background:"#fff",border:"#e8e8e8",showVerticalBorder:!1,showHorizontalBorder:!1},oddRow:{background:"#f3f3f3"},evenRow:{background:"#fff"},head:{background:"#fff",showVerticalBorder:!1,showHorizontalBorder:!1}}})},function(e,t,n){"use strict";var i=n(11),o=n(81);e.exports=i.extend(!0,{},o,{grid:{border:"#c0c0c0"},cell:{normal:{background:"#fff",border:"#e0e0e0",showVerticalBorder:!1,showHorizontalBorder:!0},head:{background:"#fff",border:"#e0e0e0",showVerticalBorder:!1,showHorizontalBorder:!0},selectedHead:{background:"#e0e0e0"}}})}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("underscore"),require("tui-code-snippet"),require("backbone"),require("jquery"),require("tui-date-picker"),require("tui-pagination")):"function"==typeof define&&define.amd?define(["underscore","tui-code-snippet","backbone","jquery","tui-date-picker","tui-pagination"],t):"object"==typeof exports?exports.Grid=t(require("underscore"),require("tui-code-snippet"),require("backbone"),require("jquery"),require("tui-date-picker"),require("tui-pagination")):(e.tui=e.tui||{},e.tui.Grid=t(e._,e.tui&&e.tui.util,e.Backbone,e.$,e.tui&&e.tui.DatePicker,e.tui&&e.tui.Pagination))}(this,function(e,t,n,i,o,s){return function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return e[i].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";n(1),e.exports=n(5)},function(e,t){},,,,function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(8),a=n(10),r=n(35),l=n(60),d=n(61),u=n(62),h=n(63),c=n(73),g=n(74),m=n(77),f=n(20),p=n(44),M=n(78),_=n(14).themeName,C={},w=s.extend({initialize:function(e){e.footer&&(f.warning('The "footer" option is deprecated since 2.5.0 and replaced by "summary" option.'),e.summary=e.footer),this.id=f.getUniqueKey(),this.domState=new d(this.$el),this.domEventBus=l.create(),this.modelManager=this._createModelManager(e),this.painterManager=this._createPainterManager(),this.componentHolder=this._createComponentHolder(e.pagination),this.viewFactory=this._createViewFactory(e),this.container=this.viewFactory.createContainer(),this.publicEventEmitter=this._createPublicEventEmitter(),this.container.render(),this.refreshLayout(),M.isApplied()||M.apply(_.DEFAULT),this.addOn={},C[this.id]=this,e.data&&this.setData(e.data)},_createModelManager:function(e){var t=i.assign({},e,{gridId:this.id,publicObject:this});return i.omit(t,"el"),new a(t,this.domState,this.domEventBus)},_createPainterManager:function(){var e=new c({focusModel:this.modelManager.focusModel,dataModel:this.modelManager.dataModel,columnModel:this.modelManager.columnModel,selectionModel:this.modelManager.selectionModel});return new h({gridId:this.id,selectType:this.modelManager.columnModel.get("selectType"),fixedRowHeight:this.modelManager.dimensionModel.get("fixedRowHeight"),domEventBus:this.domEventBus,controller:e})},_createViewFactory:function(e){var t=i.pick(e,["heightResizable","summary"]),n={modelManager:this.modelManager,painterManager:this.painterManager,componentHolder:this.componentHolder,domEventBus:this.domEventBus,domState:this.domState};return new r(i.assign(n,t))},_createComponentHolder:function(e){return new m({pagination:e})},_createPublicEventEmitter:function(){var e=new u(this);return e.listenToFocusModel(this.modelManager.focusModel),e.listenToDomEventBus(this.domEventBus),e.listenToDataModel(this.modelManager.dataModel),e.listenToSelectionModel(this.modelManager.selectionModel),e},disable:function(){this.modelManager.dataModel.setDisabled(!0)},enable:function(){this.modelManager.dataModel.setDisabled(!1)},disableRow:function(e){this.modelManager.dataModel.disableRow(e)},enableRow:function(e){this.modelManager.dataModel.enableRow(e)},getValue:function(e,t,n){return this.modelManager.dataModel.getValue(e,t,n)},getColumnValues:function(e,t){return this.modelManager.dataModel.getColumnValues(e,t)},getRow:function(e,t){return this.modelManager.dataModel.getRowData(e,t)},getRowAt:function(e,t){return this.modelManager.dataModel.getRowDataAt(e,t)},getRowCount:function(){return this.modelManager.dataModel.length},getFocusedCell:function(){var e=this.modelManager.focusModel.which(),t=this.getValue(e.rowKey,e.columnName);return{rowKey:e.rowKey,columnName:e.columnName,value:t}},getElement:function(e,t){return this.modelManager.dataModel.getElement(e,t)},setValue:function(e,t,n){this.modelManager.dataModel.setValue(e,t,n)},setColumnValues:function(e,t,n){this.modelManager.dataModel.setColumnValues(e,t,n)},resetData:function(e){this.modelManager.dataModel.resetData(e)},setData:function(e,t){this.modelManager.dataModel.setData(e,!0,t)},setBodyHeight:function(e){this.modelManager.dimensionModel.set("bodyHeight",e)},focus:function(e,t,n){this.modelManager.focusModel.focusClipboard(),this.modelManager.focusModel.focus(e,t,n)},focusAt:function(e,t,n){this.modelManager.focusModel.focusAt(e,t,n)},focusIn:function(e,t,n){this.modelManager.focusModel.focusIn(e,t,n)},focusInAt:function(e,t,n){this.modelManager.focusModel.focusInAt(e,t,n)},activateFocus:function(){this.modelManager.focusModel.focusClipboard()},blur:function(){this.modelManager.focusModel.blur()},checkAll:function(){this.modelManager.dataModel.checkAll()},check:function(e){this.modelManager.dataModel.check(e)},uncheckAll:function(){this.modelManager.dataModel.uncheckAll()},uncheck:function(e){this.modelManager.dataModel.uncheck(e)},clear:function(){this.modelManager.dataModel.setData([])},removeRow:function(e,t){o.isBoolean(t)&&t&&(t={removeOriginalData:!0}),this.modelManager.dataModel.removeRow(e,t)},removeCheckedRows:function(e){var t=this.getCheckedRowKeys(),n=p.get("requestConfirm",{count:t.length,actionName:"deleteAction"});return!(!(t.length>0)||e&&!confirm(n))&&(i.each(t,function(e){this.modelManager.dataModel.removeRow(e)},this),!0)},enableCheck:function(e){this.modelManager.dataModel.enableCheck(e)},disableCheck:function(e){this.modelManager.dataModel.disableCheck(e)},getCheckedRowKeys:function(e){var t=this.modelManager.dataModel.getRows(!0),n=i.pluck(t,"rowKey");return e?JSON.stringify(n):n},getCheckedRows:function(e){var t=this.modelManager.dataModel.getRows(!0);return e?JSON.stringify(t):t},getColumns:function(){return this.modelManager.columnModel.get("dataColumns")},getModifiedRows:function(e){return this.modelManager.dataModel.getModifiedRows(e)},appendRow:function(e,t){this.modelManager.dataModel.append(e,t)},prependRow:function(e,t){this.modelManager.dataModel.prepend(e,t)},isModified:function(){return this.modelManager.dataModel.isModified()},getAddOn:function(e){return e?this.addOn[e]:this.addOn},restore:function(){this.modelManager.dataModel.restore()},setFrozenColumnCount:function(e){this.modelManager.columnModel.set("frozenCount",e)},setColumns:function(e){this.modelManager.columnModel.set("columns",e)},use:function(e,t){return"Net"===e&&(t=i.assign({domEventBus:this.domEventBus,renderModel:this.modelManager.renderModel,dataModel:this.modelManager.dataModel,pagination:this.componentHolder.getInstance("pagination")},t),this.addOn.Net=new g(t),this.publicEventEmitter.listenToNetAddon(this.addOn.Net)),this},getRows:function(){return this.modelManager.dataModel.getRows()},sort:function(e,t){this.modelManager.dataModel.sortByField(e,t)},unSort:function(){this.sort("rowKey")},getSortState:function(){return this.modelManager.dataModel.sortOptions},addCellClassName:function(e,t,n){this.modelManager.dataModel.get(e).addCellClassName(t,n)},addRowClassName:function(e,t){this.modelManager.dataModel.get(e).addClassName(t)},removeCellClassName:function(e,t,n){this.modelManager.dataModel.get(e).removeCellClassName(t,n)},removeRowClassName:function(e,t){this.modelManager.dataModel.get(e).removeClassName(t)},getRowSpanData:function(e,t){return this.modelManager.dataModel.getRowSpanData(e,t)},getIndexOfRow:function(e){return this.modelManager.dataModel.indexOfRowKey(e)},getIndexOfColumn:function(e){return this.modelManager.columnModel.indexOfColumnName(e)},getPagination:function(){return this.componentHolder.getInstance("pagination")},setWidth:function(e){this.modelManager.dimensionModel.setWidth(e)},setHeight:function(e){this.modelManager.dimensionModel.setHeight(e)},refreshLayout:function(){this.modelManager.dimensionModel.refreshLayout()},resetColumnWidths:function(){this.modelManager.coordColumnModel.resetColumnWidths()},showColumn:function(){var e=o.toArray(arguments);this.modelManager.columnModel.setHidden(e,!1)},hideColumn:function(){var e=o.toArray(arguments);this.modelManager.columnModel.setHidden(e,!0)},setSummaryColumnContent:function(e,t){this.modelManager.columnModel.setSummaryContent(e,t)},setFooterColumnContent:function(e,t){this.modelManager.columnModel.setSummaryContent(e,t)},validate:function(){return this.modelManager.dataModel.validate()},findRows:function(e){var t=this.modelManager.dataModel.getRows();return i.where(t,e)},copyToClipboard:function(){this.modelManager.clipboardModel.setClipboardText(),window.clipboardData||document.execCommand("copy")},selection:function(e){var t=this.modelManager.selectionModel,n=e.start,i=e.end,o=t.getSelectionUnit();t.start(n[0],n[1],o),t.update(i[0],i[1],o)},destroy:function(){this.modelManager.destroy(),this.container.destroy(),this.modelManager=this.container=null}});w.getInstanceById=function(e){return C[e]},w.applyTheme=function(e,t){M.apply(e,t)},w.setLanguage=function(e){p.setLanguage(e)},e.exports=w},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";var i=n(6),o=n(9),s=o.View.extend({initialize:function(){this._children=[]},_addChildren:function(e){i.isArray(e)||(e=[e]),[].push.apply(this._children,i.compact(e))},_renderChildren:function(){var e=i.map(this._children,function(e){return e.render().el});return e},_triggerChildrenAppended:function(){i.each(this._children,function(e){e.trigger("appended")})},destroy:function(){this.stopListening(),this._destroyChildren(),this.remove()},_destroyChildren:function(){if(this._children)for(;this._children.length>0;)this._children.pop().destroy()}});e.exports=s},function(e,t){e.exports=n},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(12),r=n(15),l=n(23),d=n(24),u=n(25),h=n(26),c=n(27),g=n(28),m=n(31),f=n(32),p=n(33),M=n(34),_=n(20),C={data:[],columns:[],keyColumnName:null,selectType:"",autoNumbering:!0,header:{height:35,complexColumns:[]},columnOptions:{minWidth:50,resizable:!0,frozenCount:0},fitToParentHeight:!1,fixedRowHeight:!1,fixedHeight:!1,showDummyRows:!1,virtualScrolling:!1,copyOptions:null,scrollX:!0,scrollY:!0,useClientSort:!0,editingEvent:"dblclick",rowHeight:"auto",bodyHeight:"auto",minRowHeight:27,minBodyHeight:130,selectionUnit:"cell"},w=s.defineClass({init:function(e,t,n){e=i.extend(!0,{},C,e),this.gridId=e.gridId,this.columnModel=this._createColumnModel(e),this.dataModel=this._createDataModel(e,t,n),this.dimensionModel=this._createDimensionModel(e,t,n),this.coordRowModel=this._createCoordRowModel(t),this.focusModel=this._createFocusModel(e,t,n),this.coordColumnModel=this._createCoordColumnModel(e.columnOptions,n),this.renderModel=this._createRenderModel(e),this.coordConverterModel=this._createCoordConverterModel(),this.selectionModel=this._createSelectionModel(e,n),this.summaryModel=this._createSummaryModel(e.summary),this.clipboardModel=this._createClipboardModel(e,n)},_createColumnModel:function(e){return new a({keyColumnName:e.keyColumnName,frozenCount:e.columnOptions.frozenCount,complexHeaderColumns:e.header.complexColumns,copyOptions:e.copyOptions,columns:e.columns,rowHeaders:e.rowHeaders})},_createDataModel:function(e,t,n){return new r([],{gridId:this.gridId,domState:t,domEventBus:n,columnModel:this.columnModel,useClientSort:e.useClientSort,publicObject:e.publicObject})},_createDimensionModel:function(e,t,n){var i,o=!isNaN(e.rowHeight),s="auto"!==e.bodyHeight,a=e.minRowHeight,r=e.minBodyHeight,d=o?Math.max(a,e.rowHeight):a,u=s?Math.max(r,e.bodyHeight):r,h={headerHeight:e.header.height,bodyHeight:u,summaryHeight:e.summary?e.summary.height:0,summaryPosition:e.summary?e.summary.position||"bottom":null,rowHeight:d,fitToParentHeight:"fitToParent"===e.bodyHeight,scrollX:!!e.scrollX,scrollY:!!e.scrollY,minimumColumnWidth:e.columnOptions.minWidth,fixedRowHeight:o,fixedHeight:s,minRowHeight:a,minBodyHeight:r||d};return o===!1&&e.virtualScrolling&&(_.warning("If the virtualScrolling is set to true, the rowHeight must be set to number type."),h.fixedRowHeight=!0),i=new l(h,{columnModel:this.columnModel,dataModel:this.dataModel,domState:t,domEventBus:n})},_createCoordRowModel:function(e){return new d(null,{dataModel:this.dataModel,dimensionModel:this.dimensionModel,domState:e})},_createCoordColumnModel:function(e,t){var n={resizable:e.resizable};return new u(n,{columnModel:this.columnModel,dimensionModel:this.dimensionModel,domEventBus:t})},_createCoordConverterModel:function(){return new h(null,{columnModel:this.columnModel,dataModel:this.dataModel,dimensionModel:this.dimensionModel,focusModel:this.focusModel,coordRowModel:this.coordRowModel,renderModel:this.renderModel,coordColumnModel:this.coordColumnModel})},_createFocusModel:function(e,t,n){return new c(null,{columnModel:this.columnModel,dataModel:this.dataModel,coordRowModel:this.coordRowModel,domEventBus:n,domState:t,editingEvent:e.editingEvent})},_createSelectionModel:function(e,t){return new f({selectionUnit:e.selectionUnit},{columnModel:this.columnModel,dataModel:this.dataModel,dimensionModel:this.dimensionModel,coordConverterModel:this.coordConverterModel,coordRowModel:this.coordRowModel,renderModel:this.renderModel,focusModel:this.focusModel,domEventBus:t})},_createRenderModel:function(e){var t,n,i;return t={emptyMessage:e.emptyMessage,showDummyRows:e.showDummyRows},n={columnModel:this.columnModel,dataModel:this.dataModel,dimensionModel:this.dimensionModel,focusModel:this.focusModel,coordRowModel:this.coordRowModel,coordColumnModel:this.coordColumnModel},new(i=e.virtualScrolling?m:g)(t,n)},_createSummaryModel:function(e){var t=[];return e&&e.columnContent?(o.each(e.columnContent,function(e,n){o.isFunction(e.template)&&e.useAutoSummary!==!1&&t.push(n)}),new p(null,{dataModel:this.dataModel,autoColumnNames:t})):null},_createClipboardModel:function(e,t){return new M(null,{columnModel:this.columnModel,dataModel:this.dataModel,selectionModel:this.selectionModel,renderModel:this.renderModel,focusModel:this.focusModel,copyOptions:e.copyOptions,domEventBus:t})},destroy:function(){o.each(this,function(e,t){e&&s.isFunction(e._destroy)&&e._destroy(),e&&s.isFunction(e.stopListening)&&e.stopListening(),this[t]=null},this)}});e.exports=w},function(e,t){e.exports=i},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(13),r=n(14).frame,l={rowNum:{type:"rowNum",title:"No.",name:"_number",align:"center",fixedWidth:!0,width:60,hidden:!1},checkbox:{type:"checkbox",title:'',name:"_button",align:"center",fixedWidth:!0,width:40,hidden:!1,editOptions:{type:"mainButton"}},radio:{type:"radio",title:"select",name:"_button",align:"center",fixedWidth:!0,width:40,hidden:!1,editOptions:{type:"mainButton"}}},d=a.extend({initialize:function(){a.prototype.initialize.apply(this,arguments),this.textType={normal:!0,text:!0,password:!0},this._setColumns(this.get("rowHeaders"),this.get("columns")),this.on("change",this._onChange,this)},defaults:{keyColumnName:null,frozenCount:0,rowHeaders:[],dataColumns:[],visibleColumns:[],selectType:"",columnModelMap:{},relationsMap:{},complexHeaderColumns:[],copyOptions:{useFormattedValue:!1}},at:function(e,t){var n=t?this.getVisibleColumns():this.get("dataColumns");return n[e]},indexOfColumnName:function(e,t){var n;return n=t?this.getVisibleColumns():this.get("dataColumns"),o.findIndex(n,{name:e})},isLside:function(e){var t=this.indexOfColumnName(e,!0),n=this.getVisibleFrozenCount(!1);return t>-1&&ta&&(d=1),i||(d=-d),d},_removePrivateProp:function(e){return o.map(e,function(e){return o.omit(e,a.privateProperties)})},removeRow:function(e,t){var n,i,s,a,r=this.get(e);r&&(t&&t.keepRowSpanData&&(s=o.clone(r.attributes)),a=this.indexOf(r),n=o.clone(r.getRowSpanData()),i=this.at(a+1),this.remove(r,{silent:!0}),this._syncRowSpanDataForRemove(n,i,s),t&&t.removeOriginalData&&this.setOriginalRowList(),this.trigger("remove",e,a))},_syncRowSpanDataForRemove:function(e,t,n){e&&o.each(e,function(e,i){var o,s,a,r={};if(e.isMainRow){if(1===e.count)return;o=t,a=e.count-1,s=1,a>1&&(r.mainRowKey=o.get("rowKey"),r.isMainRow=!0),o.set(i,n?n[i]:"",{silent:!0})}else o=this.get(e.mainRowKey),a=o.getRowSpanData(i).count-1,s=-e.count;a>1?(r.count=a,o.setRowSpanData(i,r),this._updateSubRowSpanData(o,i,s,a)):o.setRowSpanData(i,null)},this)},_createDummyRow:function(){var e=this.columnModel.get("dataColumns"),t={};return o.each(e,function(e){t[e.name]=""},this),t},append:function(e,t){var n,i=this._createModelList(e);return t=o.extend({at:this.length},t),n={at:t.at,add:!0,silent:!0},this.add(i,n),this._syncRowSpanDataForAppend(t.at,i.length,t.extendPrevRowSpan),this.trigger("add",i,t),i},prepend:function(e,t){return t=t||{},t.at=0,this.append(e,t)},getRowData:function(e,t){var n=this.get(e),i=n?n.toJSON():null;return t?JSON.stringify(i):i},getRowDataAt:function(e,t){var n=this.at(e),i=n?n.toJSON():null;return t?JSON.stringify(n):i},getValue:function(e,t,n){var i,o;return n?i=this.getOriginal(e,t):(o=this.get(e),i=o&&o.get(t)),i},setValue:function(e,t,n,i){var o=this.get(e);return!!o&&(o.set(t,n,{silent:i}),!0)},getColumnValues:function(e,t){var n=this.pluck(e);return t?JSON.stringify(n):n},setColumnValues:function(e,t,n,i){var s={},a={disabled:!1,editable:!0};s[e]=t,n=!!o.isUndefined(n)||n,this.forEach(function(t){n&&(a=t.getCellState(e)),!a.disabled&&a.editable&&t.set(s,{silent:i})},this)},getRowSpanData:function(e,t){var n=this.get(e);return n?n.getRowSpanData(t):null},isModified:function(){var e=o.values(this.getModifiedRows());return o.some(e,function(e){return e.length>0})},setDisabled:function(e){this.disabled!==e&&(this.disabled=e,this.trigger("disabledChanged"))},enableRow:function(e){this.get(e).setRowState("")},disableRow:function(e){this.get(e).setRowState("DISABLED")},enableCheck:function(e){this.get(e).setRowState("")},disableCheck:function(e){this.get(e).setRowState("DISABLED_CHECK")},check:function(e,t){var n=this.get(e).getRowState().isDisabledCheck,i=this.columnModel.get("selectType");!n&&i&&("radio"===i&&this.uncheckAll(),this.setValue(e,"_button",!0,t))},uncheck:function(e,t){this.setValue(e,"_button",!1,t)},checkAll:function(){this.setColumnValues("_button",!0)},uncheckAll:function(){this.setColumnValues("_button",!1)},_createModelList:function(e){var t,n=[];return e=e||this._createDummyRow(),o.isArray(e)||(e=[e]),t=this._formatData(e),o.each(t,function(e){var t=new a(e,{collection:this,parse:!0});n.push(t)},this),n},_syncRowSpanDataForAppend:function(e,t,n){var i=this.at(e-1);i&&o.each(i.getRowSpanData(),function(e,o){var s,a,r,l;0!==e.count&&(e.isMainRow?(s=i,a=e,r=1):(s=this.get(e.mainRowKey),a=s.getRowSpanData()[o],r=-e.count+1),(a.count>r||n)&&(a.count+=t,l=a.count,this._updateSubRowSpanData(s,o,r,l)))},this)},_updateSubRowSpanData:function(e,t,n,i){var o,s,a=this.indexOf(e),r=e.get("rowKey");for(s=n;s=0)&&(u[s]=e[o-n]);l.set(u)},getElement:function(e,t){var n=this.getMainRowKey(e,t);return this.domState.getElement(n,t)},getCheckedState:function(){var e=0,t=0;return this.forEach(function(n){var i=n.getCellState("_button");!i.disabled&&i.editable&&(e+=1,n.get("_button")&&(t+=1))}),{available:e,checked:t}}});e.exports=r},function(e,t,n){"use strict";var i=n(9),o=i.Collection.extend({clear:function(){return this.each(function(e){e.stopListening(),e=null}),this.reset([],{silent:!0}),this}});e.exports=o},function(e,t,n){"use strict";var i=n(6),o=n(9),s=n(7),a=n(13),r=n(18),l=n(19),d=n(20),u=n(21),h=n(22),c=["_button","_number","_extraData"],g="REQUIRED",m="TYPE_NUMBER",f=a.extend({initialize:function(){a.prototype.initialize.apply(this,arguments),this.extraDataManager=new r(this.get("_extraData")),this.columnModel=this.collection.columnModel,this.validateMap={},this.on("change",this._onChange,this)},idAttribute:"rowKey",set:function(e,t,n){var s,a=i.isObject(e);a&&(n=t),!this.columnModel||n&&n.silent?o.Model.prototype.set.apply(this,arguments):(a?s=e:(s={},s[e]=t),i.each(s,function(e,t){this._executeOnBeforeChange(t,e)||delete s[t]},this),o.Model.prototype.set.call(this,s,n))},parse:function(e){return e._extraData||(e._extraData={}),e},_triggerExtraDataChangeEvent:function(){this.trigger("extraDataChanged",this.get("_extraData"))},_triggerCheckboxChangeEvent:function(e){var t={rowKey:this.get("rowKey")};e?this.trigger("check",t):this.trigger("uncheck",t)},_onChange:function(){var e=i.omit(this.changed,c);i.has(this.changed,"_button")&&this._triggerCheckboxChangeEvent(this.changed._button),this.isDuplicatedPublicChanged(e)||i.each(e,function(e,t){var n=this.columnModel.getColumnModel(t);n&&(this.collection.syncRowSpannedData(this,t,e),this._executeOnAfterChange(t),this.validateCell(t,!0))},this)},_validateCellData:function(e){var t,n=this.columnModel.getColumnModel(e).validation,o="";return n&&(t=this.get(e),n.required&&d.isBlank(t)?o=g:"number"!==n.dataType||i.isNumber(t)||(o=m)),o},validateCell:function(e,t){var n;return!t&&e in this.validateMap?this.validateMap[e]:(n=this._validateCellData(e),n?this.addCellClassName(e,h.CELL_INVALID):this.removeCellClassName(e,h.CELL_INVALID),this.validateMap[e]=n,n)},_createChangeCallbackEvent:function(e,t){return new l(null,{rowKey:this.get("rowKey"),columnName:e,value:t,instance:this.collection.publicObject})},_executeOnBeforeChange:function(e,t){var n,i=this.columnModel.getColumnModel(e),o=this.get(e)!==t;return!(o&&i&&i.onBeforeChange)||(n=this._createChangeCallbackEvent(e,t),i.onBeforeChange(n),!n.isStopped())},_executeOnAfterChange:function(e){var t,n=this.columnModel.getColumnModel(e),i=this.get(e); +return!n.onAfterChange||(t=this._createChangeCallbackEvent(e,i),n.onAfterChange(t),!t.isStopped())},getPrivateProperties:function(){return c},getRowState:function(){return this.extraDataManager.getRowState()},getClassNameList:function(e){var t=this.columnModel.getColumnModel(e),n=d.isMetaColumn(e),i=this.extraDataManager.getClassNameList(e),o=this.getCellState(e);return t.className&&i.push(t.className),t.ellipsis&&i.push(h.CELL_ELLIPSIS),t.validation&&t.validation.required&&i.push(h.CELL_REQUIRED),n?i.push(h.CELL_HEAD):o.editable&&i.push(h.CELL_EDITABLE),o.disabled&&i.push(h.CELL_DISABLED),this._makeUniqueStringArray(i)},_makeUniqueStringArray:function(e){var t=i.uniq(e.join(" ").split(" "));return i.without(t,"")},getCellState:function(e){var t,n,o=["_number","normal"],s=this.columnModel,a=this.collection.disabled,r=!0,l=s.getEditType(e);return n=this.executeRelationCallbacksAll(["disabled","editable"])[e],t=this.getRowState(),a||(a="_button"===e?t.disabledCheck:t.disabled,a=a||!(!n||!n.disabled)),r=!i.contains(o,l)&&!(n&&n.editable===!1),{editable:r,disabled:a}},isEditable:function(e){var t=this.getCellState(e);return!t.disabled&&t.editable},isDisabled:function(e){var t=this.getCellState(e);return t.disabled},getRowSpanData:function(e){var t=this.collection.isRowSpanEnable(),n=this.get("rowKey");return this.extraDataManager.getRowSpanData(e,n,t)},getHeight:function(){return this.extraDataManager.getHeight()},setHeight:function(e){this.extraDataManager.setHeight(e),this._triggerExtraDataChangeEvent()},setRowSpanData:function(e,t){this.extraDataManager.setRowSpanData(e,t),this._triggerExtraDataChangeEvent()},setRowState:function(e,t){this.extraDataManager.setRowState(e),t||this._triggerExtraDataChangeEvent()},addCellClassName:function(e,t){this.extraDataManager.addCellClassName(e,t),this._triggerExtraDataChangeEvent()},addClassName:function(e){this.extraDataManager.addClassName(e),this._triggerExtraDataChangeEvent()},removeCellClassName:function(e,t){this.extraDataManager.removeCellClassName(e,t),this._triggerExtraDataChangeEvent()},removeClassName:function(e){this.extraDataManager.removeClassName(e),this._triggerExtraDataChangeEvent()},_getStringOfListItems:function(e,t){var n,o,a,r,l,u=this.get(e),h=this.columnModel.getColumnModel(e);return s.isExisty(s.pick(h,"editOptions","listItems"))?(n=this.executeRelationCallbacksAll(["listItems"])[e],l=n&&n.listItems,o=l?n.listItems:h.editOptions.listItems,a=typeof o[0].value,r=d.toString(u).split(","),a!==typeof r[0]&&(r=i.map(r,function(e){return d.convertValueType(e,a)})),i.each(r,function(e,n){var s=i.findWhere(o,{value:e}),a=s&&(t?s.text:s.value)||"";r[n]=a},this),r.join(",")):""},_isListType:function(e){return i.contains(["select","radio","checkbox"],e)},isDuplicatedPublicChanged:function(e){return!(!this._timeoutIdForChanged||!i.isEqual(this._lastPublicChanged,e))||(clearTimeout(this._timeoutIdForChanged),this._timeoutIdForChanged=setTimeout(i.bind(function(){this._timeoutIdForChanged=null},this),10),this._lastPublicChanged=e,!1)},getValueString:function(e){var t=this.columnModel,n=t.copyVisibleTextOfEditingColumn(e),i=t.getEditType(e),o=t.getColumnModel(e),a=this.get(e);if(this._isListType(i)){if(!s.isExisty(s.pick(o,"editOptions","listItems",0,"value")))throw new Error('Check "'+e+"\"'s editOptions.listItems property out in your ColumnModel.");a=this._getStringOfListItems(e,n)}else"password"===i&&(a="");return a=d.toString(a),a=u.addDoubleQuotes(a)},executeRelationCallbacksAll:function(e){var t=this.attributes,n=this.columnModel.get("relationsMap"),o={};return i.isEmpty(e)&&(e=["listItems","disabled","editable"]),i.each(n,function(n,s){var a=t[s];i.each(n,function(n){this._executeRelationCallback(n,e,a,t,o)},this)},this),o},_executeRelationCallback:function(e,t,n,o,s){var a=this.getRowState(),r=e.targetNames;i.each(t,function(t){var l;a.disabled&&"disabled"===t||(l=e[t],"function"==typeof l&&i.each(r,function(e){s[e]=s[e]||{},s[e][t]=l(n,o)},this))},this)}},{privateProperties:c});e.exports=f},function(e,t,n){"use strict";var i=n(6),o=n(7),s=o.defineClass({init:function(e){this.data=e||{}},getRowSpanData:function(e,t,n){var i=null;return n&&(i=this.data.rowSpanData,e&&i&&(i=i[e])),!i&&e&&(i={count:0,isMainRow:!0,mainRowKey:t}),i},getRowState:function(){var e={disabledCheck:!1,disabled:!1,checked:!1};switch(this.data.rowState){case"DISABLED":e.disabled=!0;case"DISABLED_CHECK":e.disabledCheck=!0;break;case"CHECKED":e.checked=!0}return e},setRowState:function(e){this.data.rowState=e},setRowSpanData:function(e,t){var n=i.assign({},this.data.rowSpanData);e&&(t?n[e]=t:n[e]&&delete n[e],this.data.rowSpanData=n)},addCellClassName:function(e,t){var n,o;n=this.data.className||{},n.column=n.column||{},o=n.column[e]||[],i.contains(o,t)||(o.push(t),n.column[e]=o,this.data.className=n)},addClassName:function(e){var t,n;t=this.data.className||{},n=t.row||[],o.inArray(e,n)===-1&&(n.push(e),t.row=n,this.data.className=t)},getClassNameList:function(e){var t=this.data.className,n=Array.prototype.push,i=[];return t&&(t.row&&n.apply(i,t.row),e&&t.column&&t.column[e]&&n.apply(i,t.column[e])),i},_removeClassNameFromArray:function(e,t){var n=e.join(" ").split(" ");return i.without(n,t)},removeCellClassName:function(e,t){var n=this.data.className;o.pick(n,"column",e)&&(n.column[e]=this._removeClassNameFromArray(n.column[e],t),this.data.className=n)},removeClassName:function(e){var t=this.data.className;t&&t.row&&(t.row=this._removeClassNameFromArray(t.row,e),this.className=t)},setHeight:function(e){this.data.height=e},getHeight:function(){return this.data.height}});e.exports=s},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(20),a=n(14).attrName,r={ROW_HEAD:"rowHead",COLUMN_HEAD:"columnHead",DUMMY:"dummy",CELL:"cell",ETC:"etc"},l=o.defineClass({init:function(e,t){this._stopped=!1,e&&(this.nativeEvent=e),t&&this.setData(t)},setData:function(e){i.extend(this,e)},stop:function(){this._stopped=!0},isStopped:function(){return this._stopped}});l.getTargetInfo=function(e){var t,n,i=e.closest("td"),o=r.ETC;return 1===i.length?(t=i.attr(a.ROW_KEY),n=i.attr(a.COLUMN_NAME),o=t&&n?s.isMetaColumn(n)?r.ROW_HEAD:r.CELL:r.DUMMY):(i=e.closest("th"),1===i.length&&(n=i.attr(a.COLUMN_NAME),o=r.COLUMN_HEAD)),s.pruneObject({targetType:o,rowKey:s.strToNumber(t),columnName:n})},l.targetTypeConst=r,e.exports=l},function(e,t,n){"use strict";function i(e,t){var n,i,o,s="",a=0;for(t=!!t,i=e.split(/(%(?:d0|d1)%.{2})/),n=i.length;a]*\ssrc=["']?([^>"']+)["']?[^>]*>/i),e=t?t[1]:""):e=e.replace(//gi,""),e=s.trim(r.decodeHTMLEntity(e.replace(/<\/?(?:h[1-5]|[a-z]+(?::[a-z]+)?)[^>]*>/gi,"")))),e},toString:function(e){return a.isUndefined(e)||a.isNull(e)?"":String(e)},getUniqueKey:function(){return this.uniqueId+=1,this.uniqueId},toQueryString:function(e){var t=[];return a.each(e,function(e,n){a.isString(e)||a.isNumber(e)||(e=JSON.stringify(e)),e=encodeURIComponent(unescape(e)),e&&t.push(n+"="+e)}),t.join("&")},toQueryObject:function(e){var t=e.split("&"),n={};return a.each(t,function(e){var t,o,s=e.split("=");t=s[0],o=i(s[1]);try{o=JSON.parse(o)}catch(e){}a.isNull(o)||(n[t]=o)}),n},convertValueType:function(e,t){return"string"===t?String(e):"number"===t?Number(e):"boolean"===t?Boolean(e):e},toUpperCaseFirstLetter:function(e){return e.charAt(0).toUpperCase()+e.slice(1)},clamp:function(e,t,n){var i;return t>n&&(i=t,t=n,n=i),Math.max(t,Math.min(e,n))},isOptionEnabled:function(e){return a.isObject(e)||e===!0},appendStyleElement:function(e,t){var n=document.createElement("style");n.type="text/css",n.id=e,n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t)),document.getElementsByTagName("head")[0].appendChild(n)},warning:function(e){console&&console.warn&&console.warn(e)},replaceText:function(e,t){return e.replace(/\{\{(\w*)\}\}/g,function(e,n){return t.hasOwnProperty(n)?t[n]:""})}},e.exports=o},function(e,t,n){"use strict";function i(e,t,n,i){var o,s,a=n[0],r=n[1],l=i[0],d=i[1];for(s=l;s0},getAvailableTotalWidth:function(e){var t=this.get("width"),n=e+1+(this.isDivisionBorderDoubled()?1:0),i=n*d,o=t-this.getScrollYWidth()-i;return o},getBodySize:function(){var e=this.get("lsideWidth"),t=this.get("rsideWidth")-this.getScrollYWidth(),n=this.get("bodyHeight")-this.getScrollXHeight();return{height:n,rsideWidth:t,totalWidth:e+t}},getOverflowFromMousePosition:function(e,t){var n=this.getPositionFromBodyArea(e,t),i=this.getBodySize();return this._judgeOverflow(n,i)},_judgeOverflow:function(e,t){var n=e.x,i=e.y,o=0,s=0;return i<0?o=-1:i>t.height&&(o=1),n<0?s=-1:n>t.totalWidth&&(s=1),{x:s,y:o}},getScrollXHeight:function(){return this.get("scrollX")?this.get("scrollBarSize"):0},getScrollYWidth:function(){return this.get("scrollY")?this.get("scrollBarSize"):0},_calcRealBodyHeight:function(e){var t=this.get("headerHeight")+this.get("summaryHeight")+l;return e-t},_getMinBodyHeight:function(){return this.get("minBodyHeight")+2*d+this.getScrollXHeight()},_getMinLeftSideWidth:function(){var e,t=this.get("minimumColumnWidth"),n=this.columnModel.getVisibleFrozenCount(!0),i=0;return n&&(e=(n+1)*d,i=e+t*n),i},getMaxLeftSideWidth:function(){var e=Math.ceil(.9*this.get("width"));return e&&(e=Math.max(e,this._getMinLeftSideWidth())),e},setWidth:function(e){e>0&&(this.set("width",e),this.trigger("setWidth",e))},setHeight:function(e){e>0&&this.set("bodyHeight",Math.max(this._calcRealBodyHeight(e),this._getMinBodyHeight()))},getHeight:function(){return this.get("bodyHeight")+this.get("headerHeight")},refreshLayout:function(){var e=this.domState,t=e.getOffset();this.set({offsetTop:t.top,offsetLeft:t.left,width:e.getWidth()}),this.get("fitToParentHeight")&&this.setHeight(e.getParentHeight())},getBodyOffsetTop:function(){var e=this.domState.getOffset().top,t=this.get("summaryPosition")===r.TOP?this.get("summaryHeight"):0;return e+this.get("headerHeight")+t+d+l},getPositionFromBodyArea:function(e,t){var n=this.domState.getOffset().left,i=this.getBodyOffsetTop();return{x:e-n,y:t-i}}});e.exports=u},function(e,t,n){"use strict";var i=n(6),o=n(20),s=n(13),a=n(14).dimension.CELL_BORDER_WIDTH,r=s.extend({initialize:function(e,t){this.dataModel=t.dataModel,this.dimensionModel=t.dimensionModel,this.domState=t.domState,this.rowHeights=[],this.rowOffsets=[],this.dimensionModel.get("fixedRowHeight")&&this.listenTo(this.dataModel,"add remove reset sort",this.syncWithDataModel)},syncWithDom:function(){var e,t,n,i,o;if(!this.dimensionModel.get("fixedRowHeight")){for(e=this.domState.getRowHeights(),t=this._getHeightFromData(),n=[],i=0,o=t.length;i0)for(;i>=0&&a>0;)n=Math.max(o,e[i]-a),a-=e[i]-n,e[i]=n,i-=1;else a<0&&(e[i]+=Math.abs(a));return e},_calculateColumnWidth:function(e){return e=this._fillEmptyWidth(e),e=this._applyMinimumWidth(e),e=this._adjustWidths(e)},_fillEmptyWidth:function(e){var t=this.dimensionModel.getAvailableTotalWidth(e.length),n=t-a.sum(e),o=[];return i.each(e,function(e,t){e||o.push(t)}),this._distributeExtraWidthEqually(e,n,o)},_getFrameWidth:function(e){var t=0;return e.length&&(t=a.sum(e)+(e.length+1)*u),t},_addExtraColumnWidth:function(e,t){var n=this._fixedWidthFlags,o=[];return i.each(n,function(e,t){e||o.push(t)}),this._distributeExtraWidthEqually(e,t,o)},_reduceExcessColumnWidth:function(e,t){var n=this._minWidths,o=this._fixedWidthFlags,s=[];return i.each(e,function(e,t){o[t]||s.push({index:t,width:e-n[t]})}),this._reduceExcessColumnWidthSub(i.clone(e),t,s)},_reduceExcessColumnWidthSub:function(e,t,n){var o,s=Math.round(t/n.length),a=[];return i.each(n,function(n){n.widtha.length?this._reduceExcessColumnWidthSub(e,t,a):(o=i.pluck(n,"index"),this._distributeExtraWidthEqually(e,t,o))},_distributeExtraWidthEqually:function(e,t,n){var o=n.length,s=Math.round(t/o),a=s*o-t,r=i.clone(e);return i.each(n,function(e){r[e]+=s}),n.length&&(r[i.last(n)]-=a),r},_applyMinimumWidth:function(e){var t=this._minWidths,n=i.clone(e);return i.each(n,function(e,i){var o=t[i];e0&&o>l?this._addExtraColumnWidth(e,r):t&&r<0?this._reduceExcessColumnWidth(e,r):e},_onDimensionWidthChange:function(){var e=this.get("widths");this._isModified||(e=this._adjustWidths(e,!0)),this._setColumnWidthVariables(e)},getWidths:function(e){var t=this.columnModel.getVisibleFrozenCount(!0),n=[];switch(e){case d.L:n=this.get("widths").slice(0,t);break;case d.R:n=this.get("widths").slice(t);break;default:n=this.get("widths")}return n},getFrameWidth:function(e){var t=this.columnModel.getVisibleFrozenCount(!0),n=this.getWidths(e),o=this._getFrameWidth(n);return i.isUndefined(e)&&t>0&&(o+=u),o},setColumnWidth:function(e,t){var n=this.get("widths"),i=this._minWidths[e];n[e]&&(n[e]=Math.max(t,i),this._setColumnWidthVariables(n),this._isModified=!0)},indexOf:function(e,t){var n=this.getWidths(),i=this.getFrameWidth(),s=t?0:this.columnModel.getVisibleMetaColumnCount(),a=0;return e>=i?a=n.length-1:o.forEachArray(n,function(t,n){return t+=u,a=n,e>t&&void(e-=t)}),Math.max(0,a-s)},restoreColumnWidth:function(e){var t=this.get("originalWidths")[e];this.setColumnWidth(e,t)}});e.exports=h},function(e,t,n){"use strict";var i=n(7),o=n(13),s=n(14).dimension,a=s.TABLE_BORDER_WIDTH,r=s.CELL_BORDER_WIDTH,l=o.extend({initialize:function(e,t){this.dataModel=t.dataModel,this.columnModel=t.columnModel,this.focusModel=t.focusModel,this.dimensionModel=t.dimensionModel,this.renderModel=t.renderModel,this.coordRowModel=t.coordRowModel,this.coordColumnModel=t.coordColumnModel,this.listenTo(this.focusModel,"focus",this._onFocus)},getIndexFromMousePosition:function(e,t,n){var i=this.dimensionModel.getPositionFromBodyArea(e,t),o=this._getScrolledPosition(i);return{row:this.coordRowModel.indexOf(o.y),column:this.coordColumnModel.indexOf(o.x,n)}},_getScrolledPosition:function(e){var t=this.renderModel,n=e.x>this.dimensionModel.get("lsideWidth"),i=n?t.get("scrollLeft"):0,o=t.get("scrollTop");return{x:e.x+i,y:e.y+o}},_getRowSpanCount:function(e,t){var n=this.dataModel.get(e).getRowSpanData(t);return n.isMainRow||(e=n.mainRowKey,n=this.dataModel.get(e).getRowSpanData(t)),n.count||1},_getCellVerticalPosition:function(e,t){var n,i,o,s,a=this.coordRowModel;return n=this.dataModel.indexOfRowKey(e),i=n+t-1,o=a.getOffsetAt(n),s=a.getOffsetAt(i)+a.getHeightAt(i)+r,{top:o,bottom:s}},_getCellHorizontalPosition:function(e){for(var t=this.columnModel,n=t.getVisibleMetaColumnCount(),i=this.coordColumnModel.get("widths"),o=t.getVisibleFrozenCount()+n,s=t.indexOfColumnName(e,!0)+n,a=o>s?0:o,l=0;al+n.height,t?(s=e.leftd+n.rsideWidth-1):s=a=!1,{isUp:i,isDown:o,isLeft:s,isRight:a}},_onFocus:function(e,t,n){var o;n&&(o=this.getScrollPosition(e,t),i.isEmpty(o)||this.renderModel.set(o))},_makeScrollPosition:function(e,t,n){var i={};return e.isUp?i.scrollTop=t.top:e.isDown&&(i.scrollTop=t.bottom-n.height),e.isLeft?i.scrollLeft=t.left:e.isRight&&(i.scrollLeft=t.right-n.rsideWidth+a),i},getScrollPosition:function(e,t){var n=!this.columnModel.isLside(t),i=this.getCellPosition(e,t),o=this.dimensionModel.getBodySize(),s=this._judgeScrollDirection(i,n,o);return this._makeScrollPosition(s,i,o)}});e.exports=l},function(e,t,n){"use strict";var i=n(6),o=n(13),s=n(20),a=n(19),r=o.extend({initialize:function(e,t){var n,s=t.editingEvent+":cell";o.prototype.initialize.apply(this,arguments),i.assign(this,{dataModel:t.dataModel,columnModel:t.columnModel,coordRowModel:t.coordRowModel,domEventBus:t.domEventBus,domState:t.domState}),this.listenTo(this.dataModel,"reset",this._onResetData),this.listenTo(this.dataModel,"add",this._onAddDataModel),this.domEventBus&&(n=this.domEventBus,this.listenTo(n,s,this._onMouseClickEdit),this.listenTo(n,"mousedown:focus",this._onMouseDownFocus),this.listenTo(n,"key:move",this._onKeyMove),this.listenTo(n,"key:edit",this._onKeyEdit))},defaults:{rowKey:null,columnName:null,prevRowKey:null,prevColumnName:"",editingAddress:null,active:!1},_onResetData:function(){this.blur()},_onAddDataModel:function(e,t){t.focus&&this.focusAt(t.at,0)},_onMouseClickEdit:function(e){this.focusIn(e.rowKey,e.columnName)},_onKeyMove:function(e){var t,n;switch(e.command){case"up":t=this.prevRowKey();break;case"down":t=this.nextRowKey();break;case"left":n=this.prevColumnName();break;case"right":n=this.nextColumnName();break;case"pageUp":t=this._getPageMovedRowKey(!1);break;case"pageDown":t=this._getPageMovedRowKey(!0);break;case"firstColumn":n=this.firstColumnName();break;case"lastColumn":n=this.lastColumnName();break;case"firstCell":t=this.firstRowKey(),n=this.firstColumnName();break;case"lastCell":t=this.lastRowKey(),n=this.lastColumnName()}t=i.isUndefined(t)?this.get("rowKey"):t,n=n||this.get("columnName"),this.focus(t,n,!0)},_onKeyEdit:function(e){var t;switch(e.command){case"currentCell":t=this.which();break;case"nextCell":t=this.nextAddress();break;case"prevCell":t=this.prevAddress()}t&&this.focusIn(t.rowKey,t.columnName,!0)},_getPageMovedRowKey:function(e){var t,n=this.dataModel.indexOfRowKey(this.get("rowKey")),i=this.coordRowModel.getPageMovedIndex(n,e);return t=e?this.nextRowKey(i-n):this.prevRowKey(n-i)},_onMouseDownFocus:function(){this.focusClipboard()},_savePrevious:function(){null!==this.get("rowKey")&&this.set("prevRowKey",this.get("rowKey")),this.get("columnName")&&this.set("prevColumnName",this.get("columnName"))},isCurrentCell:function(e,t,n){var i=this.get("columnName"),o=this.get("rowKey");return n&&(o=this.dataModel.getMainRowKey(o,i)),String(o)===String(e)&&i===t},focus:function(e,t,n){return this.get("active")||this.set("active",!0),!(this._isValidCell(e,t)&&!s.isMetaColumn(t)&&!this.isCurrentCell(e,t))||!!this._triggerFocusChangeEvent(e,t)&&(this.blur(),this.set({rowKey:e,columnName:t}),this.trigger("focus",e,t,n),"radio"===this.columnModel.get("selectType")&&this.dataModel.check(e),!0)},_triggerFocusChangeEvent:function(e,t){var n=new a(null,{rowKey:e,prevRowKey:this.get("rowKey"),columnName:t,prevColumnName:this.get("columnName")});return this.trigger("focusChange",n),!n.isStopped()},focusAt:function(e,t,n){var i=this.dataModel.at(e),o=this.columnModel.at(t,!0),s=!1;return i&&o&&(s=this.focus(i.get("rowKey"),o.name,n)),s},focusIn:function(e,t,n){var i=this.focus(e,t,n);return i&&(e=this.dataModel.getMainRowKey(e,t),this.dataModel.get(e).isEditable(t)?(this.finishEditing(),this.startEditing(e,t)):this.focusClipboard()),i},focusInAt:function(e,t,n){var i=this.dataModel.at(e),o=this.columnModel.at(t,!0),s=!1;return i&&o&&(s=this.focusIn(i.get("rowKey"),o.name,n)),s},focusClipboard:function(){this.trigger("focusClipboard")},refreshState:function(){var e;this.domState.hasFocusedElement()?this.has()||(e=this.restore(),e||this.focusAt(0,0)):this.set("active",!1)},blur:function(){return this.has()?(this.has(!0)&&this._savePrevious(),this.trigger("blur",this.get("rowKey"),this.get("columnName")),this.set({rowKey:null,columnName:null}),this):this},which:function(){return{rowKey:this.get("rowKey"),columnName:this.get("columnName")}},indexOf:function(e){var t=e?this.get("prevRowKey"):this.get("rowKey"),n=e?this.get("prevColumnName"):this.get("columnName");return{row:this.dataModel.indexOfRowKey(t),column:this.columnModel.indexOfColumnName(n,!0)}},has:function(e){var t=this.get("rowKey"),n=this.get("columnName");return e?this._isValidCell(t,n):!s.isBlank(t)&&!s.isBlank(n)},restore:function(){var e=this.get("prevRowKey"),t=this.get("prevColumnName"),n=!1;return this._isValidCell(e,t)&&(this.focus(e,t),this.set({prevRowKey:null,prevColumnName:null}),n=!0),n},isEditingCell:function(e,t){var n=this.get("editingAddress");return n&&String(n.rowKey)===String(e)&&n.columnName===t},startEditing:function(e,t){if(this.get("editingAddress"))return!1;if(i.isUndefined(e)&&i.isUndefined(t))e=this.get("rowKey"),t=this.get("columnName");else if(!this.isCurrentCell(e,t,!0))return!1;return e=this.dataModel.getMainRowKey(e,t),!!this.dataModel.get(e).isEditable(t)&&(this.set("editingAddress",{rowKey:e,columnName:t}),!0)},finishEditing:function(){return!!this.get("editingAddress")&&(this.set("editingAddress",null),!0)},_isValidCell:function(e,t){var n=!s.isBlank(e)&&!!this.dataModel.get(e),i=!s.isBlank(t)&&!!this.columnModel.getColumnModel(t);return n&&i},_findRowKey:function(e){var t,n,i=this.dataModel,o=null;return this.has(!0)&&(t=Math.max(Math.min(i.indexOfRowKey(this.get("rowKey"))+e,this.dataModel.length-1),0),n=i.at(t),n&&(o=n.get("rowKey"))),o},_findColumnName:function(e){var t,n=this.columnModel,i=n.getVisibleColumns(),o=n.indexOfColumnName(this.get("columnName"),!0),s=null;return this.has(!0)&&(t=Math.max(Math.min(o+e,i.length-1),0),s=i[t]&&i[t].name),s},_getRowSpanData:function(e,t){return this.dataModel.get(e).getRowSpanData(t)},nextRowIndex:function(e){var t=this.nextRowKey(e);return this.dataModel.indexOfRowKey(t)},prevRowIndex:function(e){var t=this.prevRowKey(e);return this.dataModel.indexOfRowKey(t)},nextColumnIndex:function(){var e=this.nextColumnName();return this.columnModel.indexOfColumnName(e,!0)},prevColumnIndex:function(){var e=this.prevColumnName();return this.columnModel.indexOfColumnName(e,!0)},nextRowKey:function(e){var t,n,i=this.which(),o=i.rowKey;return e="number"==typeof e?e:1,e>1?(o=this._findRowKey(e),n=this._getRowSpanData(o,i.columnName),n.isMainRow||(o=this._findRowKey(n.count+e))):(n=this._getRowSpanData(o,i.columnName),n.isMainRow&&n.count>0?o=this._findRowKey(n.count):n.isMainRow?o=this._findRowKey(1):(t=n.count,n=this._getRowSpanData(n.mainRowKey,i.columnName),o=this._findRowKey(n.count+t))),o},prevRowKey:function(e){var t,n=this.which(),i=n.rowKey;return e="number"==typeof e?e:1,e*=-1,e<-1?(i=this._findRowKey(e),t=this._getRowSpanData(i,n.columnName),t.isMainRow||(i=this._findRowKey(t.count+e))):(t=this._getRowSpanData(i,n.columnName),i=t.isMainRow?this._findRowKey(-1):this._findRowKey(t.count-1)), +i},nextColumnName:function(){return this._findColumnName(1)},prevColumnName:function(){return this._findColumnName(-1)},firstRowKey:function(){return this.dataModel.at(0).get("rowKey")},lastRowKey:function(){return this.dataModel.at(this.dataModel.length-1).get("rowKey")},firstColumnName:function(){var e=this.columnModel.getVisibleColumns();return e[0].name},lastColumnName:function(){var e=this.columnModel.getVisibleColumns(),t=e.length-1;return e[t].name},prevAddress:function(){var e,t,n=this.get("rowKey"),i=this.get("columnName"),o=i===this.firstColumnName(),s=n===this.firstRowKey();return s&&o?(e=n,t=i):o?(e=this.prevRowKey(),t=this.lastColumnName()):(e=n,t=this.prevColumnName()),{rowKey:e,columnName:t}},nextAddress:function(){var e,t,n=this.get("rowKey"),i=this.get("columnName"),o=i===this.lastColumnName(),s=n===this.lastRowKey();return s&&o?(e=n,t=i):o?(e=this.nextRowKey(),t=this.firstColumnName()):(e=n,t=this.nextColumnName()),{rowKey:e,columnName:t}}});e.exports=r},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(13),a=n(29),r=n(30),l=n(14).renderState,d=n(14).dimension.CELL_BORDER_WIDTH,u=1e3,h=s.extend({initialize:function(e,t){var n,o,s;i.assign(this,{dataModel:t.dataModel,columnModel:t.columnModel,focusModel:t.focusModel,dimensionModel:t.dimensionModel,coordRowModel:t.coordRowModel,coordColumnModel:t.coordColumnModel}),n={dataModel:this.dataModel,columnModel:this.columnModel,focusModel:this.focusModel},o=new r([],n),s=new r([],n),this.set({lside:[],rside:[],partialLside:o,partialRside:s}),this.listenTo(this.columnModel,"columnModelChange change",this._onColumnModelChange).listenTo(this.dataModel,"sort reset",this._onDataModelChange).listenTo(this.dataModel,"delRange",this._onRangeDataModelChange).listenTo(this.dataModel,"add",this._onAddDataModelChange).listenTo(this.dataModel,"remove",this._onRemoveDataModelChange).listenTo(this.dataModel,"beforeReset",this._onBeforeResetData).listenTo(this.focusModel,"change:editingAddress",this._onEditingAddressChange).listenTo(o,"valueChange",this._executeRelation).listenTo(s,"valueChange",this._executeRelation).listenTo(this.coordRowModel,"reset",this._onChangeRowHeights).listenTo(this.dimensionModel,"columnWidthChanged",this.finishEditing).listenTo(this.dimensionModel,"change:width",this._updateMaxScrollLeft).listenTo(this.dimensionModel,"change:totalRowHeight change:scrollBarSize change:bodyHeight",this._updateMaxScrollTop),this.get("showDummyRows")&&(this.listenTo(this.dimensionModel,"change:bodyHeight change:totalRowHeight",this._resetDummyRowCount),this.on("change:dummyRowCount",this._resetDummyRows)),this.on("change",this._onChangeIndex,this),this._onChangeLayoutBound=i.bind(this._onChangeLayout,this),this._updateMaxScrollLeft()},defaults:{top:0,bottom:0,scrollTop:0,scrollLeft:0,maxScrollLeft:0,maxScrollTop:0,startIndex:-1,endIndex:-1,startNumber:1,lside:null,rside:null,partialLside:null,partialRside:null,showDummyRows:!1,dummyRowCount:0,emptyMessage:null,state:l.DONE},_onChangeLayout:function(){this.focusModel.finishEditing(),this.focusModel.focusClipboard()},_onChangeIndex:function(e){var t=e.changed,n=i.has(t,"startIndex"),o=i.has(t,"endIndex");(n||o)&&this.refresh()},_onChangeRowHeights:function(){for(var e,t=this.coordRowModel,n=this.get("partialLside"),i=this.get("partialRside"),o=0,s=n.length;ou&&this.set("state",l.LOADING)},_onEditingAddressChange:function(e,t){var n=t,o=!0,s=this;t||(n=e.previous("editingAddress"),o=!1),this._updateCellData(n.rowKey,n.columnName,{editing:o}),this._triggerEditingStateChanged(n.rowKey,n.columnName),i.defer(function(){s._toggleChangeLayoutEventHandlers(o)})},_toggleChangeLayoutEventHandlers:function(e){var t="change:scrollTop change:scrollLeft",n="columnWidthChanged";e?(this.listenToOnce(this.dimensionModel,n,this._onChangeLayoutBound),this.once(t,this._onChangeLayoutBound)):(this.stopListening(this.dimensionModel,n,this._onChangeLayoutBound),this.off(t,this._onChangeLayoutBound))},_triggerEditingStateChanged:function(e,t){var n=this.getCellData(e,t);o.pick(n,"columnModel","editOptions","useViewMode")!==!1&&null===n.convertedHTML&&this.trigger("editingStateChanged",n)},_updateCellData:function(e,t,n){var i=this._getRowModel(e,t);i&&i.setCell(t,n)},initializeVariables:function(){this.set({top:0,scrollTop:0,scrollLeft:0,startNumber:1})},getCollection:function(e){var t=this._getPartialWhichSideType(e);return this.get(t)},_getPartialWhichSideType:function(e){return o.isString(e)?"partial"+e+"side":"partialRside"},_onColumnModelChange:function(){this.set({scrollTop:0},{silent:!0}),this._resetViewModelList(),this._setRenderingRange(!0),this.refresh({change:!1,columnModelChanged:!0})},_onDataModelChange:function(){this._resetViewModelList(),this._setRenderingRange(!0),this.refresh({type:"reset",dataListChanged:!0})},_onAddDataModelChange:function(e,t){var n,o,s,a,r=this._getColumnNamesOfEachSide(),l=t.at;this._setRenderingRange(!0),e=i.isArray(e)?e:e.models,i.each(e,function(e,t){n=this.coordRowModel.getHeightAt(t),i.each(["lside","rside"],function(i){s=l+t+1,o=this._createViewDataFromDataModel(e,r[i],n,s),a=this._createRowModel(o,!0),this.get(i).splice(l+t,0,a)},this)},this),this.refresh({type:"add",dataListChanged:!0}),t.focus&&this.focusModel.focusAt(t.at,0)},_onRemoveDataModelChange:function(e,t){i.each(["lside","rside"],function(e){this.get(e).splice(t,1)},this),this._setRenderingRange(!0),this.refresh({dataListChanged:!0})},_onRangeDataModelChange:function(e,t){var n=this.columnModel;this._setRenderingRange(!0),i.each(["partialLside","partialRside"],function(o){i.each(this.get(o).models,function(o){var s=o.get("rowKey"),a=i.contains(e,s);a&&i.each(t,function(e){n.getColumnModel(e).editOptions&&this._updateCellData(s,e,{value:"",formattedValue:""})},this)},this)},this),this.refresh({type:"delRange",dataListChanged:!0})},_resetDummyRows:function(){this._clearDummyRows(),this._fillDummyRows(),this.trigger("rowListChanged")},_setRenderingRange:function(e){var t=this.dataModel.length;this.set({startIndex:t?0:-1,endIndex:t-1},{silent:e})},_createViewDataFromDataModel:function(e,t,n,o){var s={rowNum:o,height:n,rowKey:e.get("rowKey"),_extraData:e.get("_extraData")};return i.each(t,function(t){var n=e.get(t);"_number"!==t||i.isNumber(n)||(n=o),s[t]=n}),s},_getColumnNamesOfEachSide:function(){var e=this.columnModel.getVisibleFrozenCount(!0),t=this.columnModel.getVisibleColumns(null,!0),n=i.pluck(t,"name"),o={lside:n.slice(0,e),rside:n.slice(e)};return o},_addViewModelListWithRange:function(e,t){var n,i,o,s=this._getColumnNamesOfEachSide();if(e>=0&&t>=0)for(o=e;o<=t;o+=1)n=this.dataModel.at(o),i=this.coordRowModel.getHeightAt(o),this._addViewModelList(n,s,i,o)},_addViewModelList:function(e,t,n,o){i.each(["lside","rside"],function(i){var s;this.get(i)[o]||(s=this._createViewDataFromDataModel(e,t[i],n,o+1),this.get(i)[o]=this._createRowModel(s,!0))},this)},_updateRowNumber:function(e,t){for(var n,i,o,s=this.get("lside"),a=e;a<=t;a+=1)n=s[a],o=a+1,n&&(i=n.get("rowNum"),o=a+1,i!==o&&(n.set({rowNum:o},{silent:!0}),n.setCell("_number",{formattedValue:o,value:o})))},_resetPartialViewModelList:function(e,t){var n,o,s,a;i.each(["L","R"],function(i){n=i.toLowerCase()+"side",o=this._getPartialWhichSideType(i),s=this.get(n),a=s.slice(e,t+1),this.get(o).reset(a)},this)},_getActualRowCount:function(){return this.get("endIndex")-this.get("startIndex")+1},_clearDummyRows:function(){var e=this.get("endIndex")-this.get("startIndex")+1;i.each(["lside","rside"],function(t){for(var n=this.get(t);n.length>e;)n.pop()},this)},_resetDummyRowCount:function(){var e=this.dimensionModel,t=e.get("totalRowHeight"),n=e.get("rowHeight")+d,i=e.get("bodyHeight")-e.getScrollXHeight(),o=0;t=0&&n>=0)for(i=t;i<=n;i+=1)this._executeRelation(i);o?this.trigger("columnModelChanged"):(this.trigger("rowListChanged",s),s&&this.coordRowModel.syncWithDom()),this._refreshState()},_refreshState:function(){this.dataModel.length?this.set("state",l.DONE):this.set("state",l.EMPTY)},_getCollectionByColumnName:function(e){var t,n=this.get("partialLside");return t=n.at(0)&&n.at(0).get(e)?n:this.get("partialRside")},_getRowModel:function(e,t){var n=this._getCollectionByColumnName(t);return n.get(e)},getCellData:function(e,t){var n=this._getRowModel(e,t),i=null;return n&&(i=n.get(t)),i},_executeRelation:function(e){var t,n,o=this.dataModel.at(e),s=e-this.get("startIndex");n=o.executeRelationCallbacksAll(),i.each(n,function(e,n){t=this._getCollectionByColumnName(n).at(s),t&&t.setCell(n,e)},this)},_createRowModel:function(e,t){return new a(e,{parse:t,dataModel:this.dataModel,columnModel:this.columnModel,focusModel:this.focusModel})},_resetViewModelList:function(){i.each(["lside","rside"],function(e){this.set(e,new Array(this.dataModel.length))},this)}});e.exports=h},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(13),a=n(20),r=s.extend({initialize:function(e,t){var n=e&&e.rowKey,i=t.dataModel,o=i.get(n);this.dataModel=i,this.columnModel=t.columnModel,this.focusModel=t.focusModel,o&&(this.listenTo(o,"change",this._onDataModelChange),this.listenTo(o,"restore",this._onDataModelRestore),this.listenTo(o,"extraDataChanged",this._setRowExtraData),this.listenTo(i,"disabledChanged",this._onDataModelDisabledChanged),this.rowData=o)},idAttribute:"rowKey",_onDataModelChange:function(e){i.each(e.changed,function(t,n){var i,o;this.has(n)&&(i=this.columnModel.getColumnModel(n),o=this.columnModel.isTextType(n),this.setCell(n,this._getValueAttrs(t,e,i,o)))},this)},_onDataModelRestore:function(e){var t=this.get(e);t&&this.trigger("restore",t)},_getColumnNameList:function(){var e=this.columnModel.getVisibleColumns(null,!0);return i.pluck(e,"name")},_onDataModelDisabledChanged:function(){var e=this._getColumnNameList();i.each(e,function(e){this.setCell(e,{disabled:this.rowData.isDisabled(e),className:this._getClassNameString(e)})},this)},_setRowExtraData:function(){i.each(this._getColumnNameList(),function(e){var t,n=this.get(e);!o.isUndefined(n)&&n.isMainRow&&(t=this.rowData.getCellState(e),this.setCell(e,{disabled:t.disabled,editable:t.editable,className:this._getClassNameString(e)}))},this)},parse:function(e,t){return this._formatData(e,t.dataModel,t.columnModel,t.focusModel)},_formatData:function(e,t,n,s){var a,r,l=e.rowKey,d=e.height;return i.isUndefined(l)?e:(r=t.get(l),a=i.omit(e,"rowKey","_extraData","height","rowNum"),i.each(a,function(a,u){var h=this._getRowSpanData(u,e,t.isRowSpanEnable()),c=r.getCellState(u),g=n.isTextType(u),m=n.getColumnModel(u);e[u]={rowKey:l,height:d,columnName:u,rowSpan:h.count,isMainRow:h.isMainRow,mainRowKey:h.mainRowKey,editable:c.editable,disabled:c.disabled,editing:s.isEditingCell(l,u),whiteSpace:m.whiteSpace||"nowrap",valign:m.valign,listItems:o.pick(m,"editOptions","listItems"),className:this._getClassNameString(u,r,s),columnModel:m,changed:[]},i.assign(e[u],this._getValueAttrs(a,r,m,g))},this),e)},_getClassNameString:function(e,t,n){var i;return t||(t=this.dataModel.get(this.get("rowKey")))?(n||(n=this.focusModel),i=t.getClassNameList(e),i.join(" ")):""},_getValueAttrs:function(e,t,n,i){var s=o.pick(n,"editOptions","prefix"),a=o.pick(n,"editOptions","postfix"),r=o.pick(n,"editOptions","converter"),l=t.toJSON();return{value:this._getValueToDisplay(e,n,i),formattedValue:this._getFormattedValue(e,l,n),prefix:this._getExtraContent(s,e,l),postfix:this._getExtraContent(a,e,l),convertedHTML:this._getConvertedHTML(r,e,l)}},_getFormattedValue:function(e,t,n){var o;return o=i.isFunction(n.formatter)?n.formatter(e,t,n):e,i.isNumber(o)?o=String(o):o||(o=""),o},_getExtraContent:function(e,t,n){var s="";return i.isFunction(e)?s=e(t,n):o.isExisty(e)&&(s=e),s},_getConvertedHTML:function(e,t,n){var o=null;return i.isFunction(e)&&(o=e(t,n)),o===!1&&(o=null),o},_getValueToDisplay:function(e,t,n){var i=o.isExisty,s=t.useHtmlEntity,a=t.defaultValue;return i(e)||(e=i(a)?a:""),n&&s&&o.hasEncodableString(e)&&(e=o.encodeHTMLEntity(e)),e},_getRowSpanData:function(e,t,n){var i=o.pick(t,"_extraData","rowSpanData",e);return n&&i||(i={mainRowKey:t.rowKey,count:0,isMainRow:!0}),i},updateClassName:function(e){this.setCell(e,{className:this._getClassNameString(e)})},setCell:function(e,t){var n,o,s,r=!1,l=[];this.has(e)&&(o=this.get("rowKey"),s=i.clone(this.get(e)),i.each(t,function(e,t){a.isEqual(s[t],e)||(r="value"===t||r,s[t]=e,l.push(t))},this),l.length&&(s.changed=l,this.set(e,s,{silent:this._shouldSetSilently(s,r)}),r&&(n=this.dataModel.indexOfRowKey(o),this.trigger("valueChange",n))))},_shouldSetSilently:function(e,t){var n=e.editing&&t,s=o.pick(e,"columnModel","editOptions","useViewMode")!==!1,a=i.contains(e.changed,"editing")&&e.editing;return n||s&&a}});e.exports=r},function(e,t,n){"use strict";var i=n(6),o=n(16),s=n(29),a=o.extend({initialize:function(e,t){i.assign(this,{dataModel:t.dataModel,columnModel:t.columnModel,focusModel:t.focusModel})},model:s});e.exports=a},function(e,t,n){"use strict";var i=n(6),o=n(28),s=n(14).dimension,a=s.CELL_BORDER_WIDTH,r=.3,l=.1,d=o.extend({initialize:function(){o.prototype.initialize.apply(this,arguments),this.on("change:scrollTop",this._onChangeScrollTop,this),this.listenTo(this.dimensionModel,"change:bodyHeight",this._onChangeBodyHeight)},_onChangeScrollTop:function(){this._shouldRefresh(this.get("scrollTop"))&&this._setRenderingRange()},_onChangeBodyHeight:function(){this._setRenderingRange()},_setRenderingRange:function(e){var t,n,i=this.get("scrollTop"),o=this.dimensionModel,s=this.dataModel,l=this.coordRowModel,d=o.get("bodyHeight"),u=parseInt(d*r,10),h=Math.max(l.indexOf(i-u),0),c=Math.min(l.indexOf(i+d+u),s.length-1);s.isRowSpanEnable()&&(h+=this._getStartRowSpanMinCount(h),c+=this._getEndRowSpanMaxCount(c)),t=l.getOffsetAt(h),n=l.getOffsetAt(c)+l.getHeightAt(c)+a,this.set({top:t,bottom:n,startIndex:h,endIndex:c},{silent:e})},_getStartRowSpanMinCount:function(e){var t,n=this.dataModel.at(e),o=0;return n&&(t=i.pluck(n.getRowSpanData(),"count"),t.push(0),o=i.min(t)),o},_getEndRowSpanMaxCount:function(e){var t,n=this.dataModel.at(e),o=0;return n&&(t=i.pluck(n.getRowSpanData(),"count"),t.push(0),o=i.max(t)),o>0&&(o-=1),o},_shouldRefresh:function(e){var t=this.dimensionModel.get("bodyHeight"),n=e+t,i=this.dimensionModel.get("totalRowHeight"),o=this.get("top"),s=this.get("bottom"),a=parseInt(t*l,10),r=e-o0||d&&sn.row&&(s.row=e[1]),t[1]>n.column&&(s.column=t[1])),s},_isValidAddress:function(e){return!!this.dataModel.at(e.row)&&!!this.columnModel.at(e.colummn)},_scrollTo:function(e,t){var n,i,o,s,a=this.dataModel.at(e),r=this.columnModel.at(t);a&&r&&(n=a.get("rowKey"),i=r.name,s=this.coordConverterModel.getScrollPosition(n,i),s&&(o=this.getType(),o===l.COLUMN?delete s.scrollTop:o===l.ROW&&delete s.scrollLeft,this.renderModel.set(s)))},_getTypeByColumnIndex:function(e){var t=this.columnModel.getVisibleColumns(null,!0),n=t[e].name;switch(n){case"_button":return null;case"_number":return l.ROW;default:return l.CELL}},_onMouseDownBody:function(e){var t,n,i=this.coordConverterModel.getIndexFromMousePosition(e.pageX,e.pageY,!0),o=this._getTypeByColumnIndex(i.column);o&&(t=i.row,n=i.column-this.columnModel.getVisibleMetaColumnCount(),e.shiftKey?this.update(t,Math.max(n,0)):o===l.ROW?this.selectRow(t):(this.focusModel.focusAt(t,n),this.end()))},_onDragMoveBody:function(e){var t=this.coordConverterModel.getIndexFromMousePosition(e.pageX,e.pageY);this.update(t.row,t.column,this.getSelectionUnit()),this._setScrolling(e.pageX,e.pageY)},_onDragEndBody:function(){this.stopAutoScroll()},_onPasteData:function(e){this.start(e.startIdx.row,e.startIdx.column),this.update(e.endIdx.row,e.endIdx.column)},_getColumnRangeWithNames:function(e){var t=this.columnModel,n=o.map(e,function(e){return t.indexOfColumnName(e,!0)}),i=r.getMinMax(n);return[i.min,i.max]},setType:function(e){this.selectionType=l[e]||this.selectionType},getType:function(){return this.selectionType},getSelectionUnit:function(){return this.get("selectionUnit").toUpperCase()},enable:function(){this.enabled=!0},disable:function(){this.end(),this.enabled=!1},isEnabled:function(){return this.enabled},start:function(e,t,n){this.isEnabled()&&(this.setType(n),this.inputRange={row:[e,e],column:[t,t]},this._resetRangeAttribute())},update:function(e,t,n){var i;!this.enabled||n!==l.COLUMN&&e<0||n!==l.ROW&&t<0||(this.hasSelection()?this.setType(n):(i=this.focusModel.indexOf(),n===l.ROW?this.start(i.row,0,l.ROW):this.start(i.row,i.column,l.CELL)),this._updateInputRange(e,t),this._resetRangeAttribute())},_updateInputRange:function(e,t){var n=this.inputRange;this.selectionType===l.ROW?t=this.columnModel.getVisibleColumns().length-1:this.selectionType===l.COLUMN&&(e=this.dataModel.length-1),n.row[1]=e,n.column[1]=t},_extendColumnSelection:function(e,t,n){var i,o=this.minimumColumnRange,s=this.coordConverterModel.getIndexFromMousePosition(t,n),a={row:[0,this.dataModel.length-1],column:[]};e&&e.length||(e=[s.column]),this._setScrolling(t,n),o?i=r.getMinMax(e.concat(o)):(e.push(this.inputRange.column[0]),i=r.getMinMax(e)),a.column.push(i.min,i.max),this._resetRangeAttribute(a)},_setScrolling:function(e,t){var n=this.dimensionModel.getOverflowFromMousePosition(e,t);this.stopAutoScroll(),this._isAutoScrollable(n.x,n.y)&&(this.intervalIdForAutoScroll=setInterval(o.bind(this._adjustScroll,this,n.x,n.y)))},end:function(){this.inputRange=null,this.unset("range"),this.minimumColumnRange=null},stopAutoScroll:function(){o.isNull(this.intervalIdForAutoScroll)||(clearInterval(this.intervalIdForAutoScroll),this.intervalIdForAutoScroll=null)},selectRow:function(e){this.isEnabled()&&(this.focusModel.focusAt(e,0),this.start(e,0,l.ROW),this.update(e,this.columnModel.getVisibleColumns().length-1))},selectColumn:function(e){this.isEnabled()&&(this.focusModel.focusAt(0,e),this.start(0,e,l.COLUMN),this.update(this.dataModel.length-1,e))},selectAll:function(){this.isEnabled()&&(this.start(0,0,l.CELL),this.update(this.dataModel.length-1,this.columnModel.getVisibleColumns().length-1))},getStartIndex:function(){var e=this.get("range");return{row:e.row[0],column:e.column[0]}},getEndIndex:function(){var e=this.get("range");return{row:e.row[1],column:e.column[1]}},hasSelection:function(){return!!this.get("range")},_isSingleCell:function(e,t){var n=1===e.length,i=1===t.length,o=n&&!i&&t[0].getRowSpanData(e[0]).count===t.length;return n&&i||o},getValuesToString:function(){var e=this.renderModel,t=this.columnModel,n=this._getRangeRowList(),i=this._getRangeColumnNames(),s=o.map(n,function(n){return o.map(i,function(i){return t.getCopyOptions(i).useFormattedValue?e.getCellData(n.get("rowKey"),i).formattedValue:n.getValueString(i)}).join("\t")});return this._isSingleCell(i,n)?s[0]:s.join("\n")},_getRangeRowList:function(){var e=this.get("range").row;return this.dataModel.slice(e[0],e[1]+1)},_getRangeColumnNames:function(){var e=this.get("range").column,t=this.columnModel.getVisibleColumns().slice(e[0],e[1]+1);return o.pluck(t,"name")},_isAutoScrollable:function(e,t){return!(0===e&&0===t)},_adjustScroll:function(e,t){var n=this.renderModel;e&&this._adjustScrollLeft(e,n.get("scrollLeft"),n.get("maxScrollLeft")),t&&this._adjustScrollTop(t,n.get("scrollTop"),n.get("maxScrollTop"))},_adjustScrollLeft:function(e,t,n){var i=t,o=this.scrollPixelScale;e<0?i=Math.max(0,t-o):e>0&&(i=Math.min(n,t+o)),this.renderModel.set("scrollLeft",i)},_adjustScrollTop:function(e,t,n){var i=t,o=this.scrollPixelScale;e<0?i=Math.max(0,t-o):e>0&&(i=Math.min(n,t+o)),this.renderModel.set("scrollTop",i)},_resetRangeAttribute:function(e){var t,n,i,s=this.dataModel;if(e=e||this.inputRange,!e)return void this.set("range",null);if(n={row:o.sortBy(e.row),column:o.sortBy(e.column)},s.isRowSpanEnable()&&this.selectionType===l.CELL){do i=o.assign([],n.row),n=this._getRowSpannedIndex(n),t=n.row[0]!==i[0]||n.row[1]!==i[1];while(t);this._setRangeMinMax(n.row,n.column)}this.set("range",n)},_triggerSelectionEvent:function(){var e,t,n,i,o,s,r,l=this.get("range"),d=this.dataModel,u=this.columnModel;l&&(e=l.row,t=l.column,i=d.getRowDataAt(e[0]),s=u.at(t[0]),o=d.getRowDataAt(e[1]),r=u.at(t[1]),i&&o&&s&&r&&(n=new a(null,{range:{start:[i,s],end:[o,r]}}),this.trigger("selection",n)))},_setRangeMinMax:function(e,t){e&&(e[0]=Math.max(0,e[0]),e[1]=Math.min(this.dataModel.length-1,e[1])),t&&(t[0]=Math.max(0,t[0]),t[1]=Math.min(this.columnModel.getVisibleColumns().length-1,t[1]))},_concatRowSpanIndexFromStart:function(e){var t,n=e.startIndex,i=e.endIndex,o=e.columnName,s=e.startRowSpanDataMap&&e.startRowSpanDataMap[o],a=e.startIndexList,r=e.endIndexList;s&&(s.isMainRow?(t=n+s.count-1,t>i&&r.push(t)):(t=n+s.count,a.push(t)))},_concatRowSpanIndexFromEnd:function(e){var t,n,i=e.endIndex,o=e.columnName,s=e.endRowSpanDataMap&&e.endRowSpanDataMap[o],a=e.endIndexList,r=e.dataModel;s&&(s.isMainRow?(t=i+s.count-1,a.push(t)):(t=i+s.count,n=r.at(t).getRowSpanData(o),t+=n.count-1,t>i&&a.push(t)))},_getRowSpannedIndex:function(e){var t,n,s,a=this.columnModel.getVisibleColumns().slice(e.column[0],e.column[1]+1),r=this.dataModel,l=[e.row[0]],d=[e.row[1]],u=r.at(e.row[0]),h=r.at(e.row[1]),c=i.extend({},e);return u&&h?(t=r.at(e.row[0]).getRowSpanData(),n=r.at(e.row[1]).getRowSpanData(),o.each(a,function(i){s={columnName:i.name,startIndex:e.row[0],endIndex:e.row[1],endRowSpanDataMap:n,startRowSpanDataMap:t,startIndexList:l,endIndexList:d,dataModel:r},this._concatRowSpanIndexFromStart(s),this._concatRowSpanIndexFromEnd(s)},this),c.row=[Math.min.apply(null,l),Math.max.apply(null,d)],c):c}});e.exports=d},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(13),a=n(14).summaryType,r=s.extend({initialize:function(e,t){this.dataModel=t.dataModel,this.autoColumnNames=t.autoColumnNames,this.columnSummaryMap={},this.listenTo(this.dataModel,"add remove reset",this._resetSummaryMap),this.listenTo(this.dataModel,"change",this._onChangeData),this.listenTo(this.dataModel,"delRange",this._onDeleteRangeData),this._resetSummaryMap()},_calculate:function(e){var t,n,i=Number.MAX_VALUE,o=Number.MIN_VALUE,s=0,r=e.length,l={};for(t=0;tn&&(i=n),o").addClass(r.BORDER_LINE).addClass(e)}var o,s=n(11),a=n(8),r=n(22),l=n(14).frame;o=a.extend({initialize:function(e){a.prototype.initialize.call(this),this.viewFactory=e.viewFactory,this.dimensionModel=e.dimensionModel,this._addFrameViews()},className:r.CONTENT_AREA,_addFrameViews:function(){var e=this.viewFactory;this._addChildren([e.createFrame(l.L),e.createFrame(l.R)])},render:function(){var e=this.dimensionModel,t=e.getScrollXHeight(),n=this._renderChildren().concat([i(r.BORDER_TOP),i(r.BORDER_LEFT),i(r.BORDER_RIGHT),i(r.BORDER_BOTTOM).css("bottom",t)]);return e.get("scrollX")||this.$el.addClass(r.NO_SCROLL_X),e.get("scrollY")||this.$el.addClass(r.NO_SCROLL_Y),this.$el.append(n),this}}),e.exports=o},function(e,t,n){"use strict";var i=n(6),o=n(40),s=n(8),a={totalItems:1,itemsPerPage:10,visiblePages:5,centerAlign:!0},r="tui-pagination",l=s.extend({initialize:function(e){this.dimensionModel=e.dimensionModel,this.componentHolder=e.componentHolder,this._stopEventPropagation(),this.on("appended",this._onAppended)},className:r,render:function(){return this._destroyChildren(),this.componentHolder.setInstance("pagination",this._createComponent()),this},_stopEventPropagation:function(){this.$el.mousedown(function(e){e.stopPropagation()})},_onAppended:function(){this.dimensionModel.set("paginationHeight",this.$el.outerHeight())},_createOptionObject:function(){var e=this.componentHolder.getOptions("pagination");return e===!0&&(e={}),i.assign({},a,e)},_createComponent:function(){var e=o;if(!e)throw new Error("Cannot find component 'tui.component.Pagination'");return new e(this.$el,this._createOptionObject())}});e.exports=l},function(e,t){e.exports=s},function(e,t,n){"use strict";var i=n(8),o=n(22),s=n(42),a=i.extend({initialize:function(e){this.dimensionModel=e.dimensionModel,this.domEventBus=e.domEventBus,this.dragEmitter=new s({type:"resizeHeight",cursor:"row-resize",domEventBus:this.domEventBus}),this.on("appended",this._onAppended)},className:o.HEIGHT_RESIZE_HANDLE,events:{mousedown:"_onMouseDown"},_onAppended:function(){this.dimensionModel.set("resizeHandleHeight",this.$el.outerHeight())},_onMouseDown:function(e){e.preventDefault(),this.dragEmitter.start(e,{mouseOffsetY:e.offsetY})},render:function(){return this.$el.html(""),this}});e.exports=a},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(19),r=s.defineClass({init:function(e){o.assign(this,{type:e.type,domEventBus:e.domEventBus,onDragMove:e.onDragMove,onDragEnd:e.onDragEnd,cursor:e.cursor,startData:null})},start:function(e,t){var n=new a(e,t);this.domEventBus.trigger("dragstart:"+this.type,n),n.isStopped()||this._startDrag(e.target,t)},_startDrag:function(e,t){this.startData=t,this._attachDragEvents(),this.cursor&&i("body").css("cursor",this.cursor),e.setCapture&&e.setCapture()},_endDrag:function(){this.startData=null,this._detachDragEvents(),this.cursor&&i("body").css("cursor","default"),document.releaseCapture&&document.releaseCapture()},_onMouseMove:function(e){var t=new a(e,{startData:this.startData,pageX:e.pageX,pageY:e.pageY});o.isFunction(this.onDragMove)&&this.onDragMove(t),t.isStopped()||this.domEventBus.trigger("dragmove:"+this.type,t)},_onMouseUp:function(e){var t=new a(e,{startData:this.startData});o.isFunction(this.onDragEnd)&&this.onDragEnd(t),t.isStopped()||(this.domEventBus.trigger("dragend:"+this.type,t),this._endDrag())},_onSelectStart:function(e){e.preventDefault()},_attachDragEvents:function(){i(document).on("mousemove.grid",o.bind(this._onMouseMove,this)).on("mouseup.grid",o.bind(this._onMouseUp,this)).on("selectstart.grid",o.bind(this._onSelectStart,this))},_detachDragEvents:function(){i(document).off(".grid")}});e.exports=r},function(e,t,n){"use strict";var i=n(6),o=n(8),s=n(14).renderState,a=n(22),r=n(44),l=n(14).dimension.TABLE_BORDER_WIDTH,d=o.extend({initialize:function(e){this.dimensionModel=e.dimensionModel,this.renderModel=e.renderModel,this.listenTo(this.dimensionModel,"change",this._refreshLayout),this.listenTo(this.renderModel,"change:state",this.render)},className:a.LAYER_STATE,template:i.template('

<%= text %>

<% if (isLoading) { %>
<% } %>
'),render:function(){var e=this.renderModel.get("state");return e===s.DONE?this.$el.hide():this._showLayer(e),this},_showLayer:function(e){var t=this.template({text:this._getMessage(e),isLoading:e===s.LOADING});this.$el.html(t).show(),this._refreshLayout()},_getMessage:function(e){switch(e){case s.LOADING:return r.get("onLoading");case s.EMPTY:return this.renderModel.get("emptyMessage")||r.get("noData");default:return null}},_refreshLayout:function(){var e=this.dimensionModel,t=e.get("headerHeight"),n=e.get("bodyHeight"),i=e.getScrollXHeight(),o=e.getScrollYWidth();this.$el.css({top:t-l,height:n-i-l,left:0,right:o})}});e.exports=d},function(e,t,n){"use strict";var i=n(20),o={en:{createAction:"create",updateAction:"update",deleteAction:"delete",modifyAction:"modify",requestConfirm:"Are you sure you want to {{actionName}} {{count}} data?",noDataResponse:"No data to {{actionName}}.",errorResponse:"An error occurred while requesting data.\n\nPlease try again.",noData:"No data.",onLoading:"Your request is being processed.",resizeHandleGuide:"You can change the width of the column by mouse drag, and initialize the width by double-clicking."},ko:{createAction:"입력",updateAction:"수정",deleteAction:"삭제",modifyAction:"반영",requestConfirm:"{{count}}건의 데이터를 {{actionName}}하시겠습니까?",noDataResponse:"{{actionName}}할 데이터가 없습니다.",errorResponse:"데이터 요청 중에 에러가 발생하였습니다.\n\n다시 시도하여 주시기 바랍니다.",noData:"데이터가 존재하지 않습니다.",onLoading:"요청을 처리 중입니다.",resizeHandleGuide:"마우스 드래그를 통해 컬럼의 넓이를 변경할 수 있고, 더블클릭을 통해 넓이를 초기화할 수 있습니다."}},s=o.en;e.exports={setLanguage:function(e){s=o[e]},get:function(e,t){var n=s[e];return t&&(n=i.replaceText(n,t)),n}}},function(e,t,n){"use strict";function i(e){return"key:clipboard"!==e.type}function o(e){return"key:clipboard"===e.type&&"paste"===e.command}var s,a=n(11),r=n(6),l=n(7),d=n(8),u=n(21),h=n(46),c=n(22),g=10,m=l.browser.edge,f=!!window.clipboardData;s=d.extend({initialize:function(e){r.assign(this,{focusModel:e.focusModel,clipboardModel:e.clipboardModel,domEventBus:e.domEventBus,isLocked:!1,lockTimerId:null}),this.listenTo(this.focusModel,"focusClipboard",this._onFocusClipboard),this.listenTo(this.clipboardModel,"change:text",this._onClipboardTextChange)},tagName:"div",className:c.CLIPBOARD,attributes:{contenteditable:!0},events:{keydown:"_onKeyDown",copy:"_onCopy",paste:"_onPaste",blur:"_onBlur"},render:function(){return this},_onBlur:function(){var e=this.focusModel;setTimeout(function(){e.refreshState()},0)},_onKeyDown:function(e){var t;return this.isLocked?void e.preventDefault():(t=h.generate(e),void(t&&(this._lock(),i(t)&&e.preventDefault(),o(t)||this.domEventBus.trigger(t.type,t))))},_onCopy:function(e){var t=this.clipboardModel.get("text");f||(e.originalEvent||e).clipboardData.setData("text/plain",t),e.preventDefault()},_onPaste:function(e){var t=(e.originalEvent||e).clipboardData||window.clipboardData;m||f?this._pasteInMSBrowsers(t):(e.preventDefault(),this._pasteInOtherBrowsers(t))},_onFocusClipboard:function(){try{this._hasFocus()||(this.$el.focus(),this._hasFocus()||this.$el.focus())}catch(e){}},_onClipboardTextChange:function(){var e=this.clipboardModel.get("text");f?window.clipboardData.setData("Text",e):this.$el.html(e).focus()},_pasteInOtherBrowsers:function(e){var t,n=this.clipboardModel,i=e.getData("text/html");i&&a(i).find("tbody").length>0?(this.$el.html(""+a(i).find("tbody").html()+"
"),t=this.$el.find("table")[0],i=u.convertTableToData(t),this.$el.html("")):(i=e.getData("text/plain"),i=u.convertTextToData(i)),n.pasteClipboardDataToGrid(i)},_pasteInMSBrowsers:function(e){var t,n=this,i=this.clipboardModel,o=e.getData("Text");o=u.convertTextToData(o),setTimeout(function(){n.$el.find("table").length>0&&(t=n.$el.find("table")[0],o=u.convertTableToData(t)),n.$el.html(""),i.pasteClipboardDataToGrid(o)},0)},_lock:function(){this.isLocked=!0,this.lockTimerId=setTimeout(r.bind(this._unlock,this),g)},_unlock:function(){this.isLocked=!1,this.lockTimerId=null},_hasFocus:function(){return this.$el.is(":focus")}}),s.KEYDOWN_LOCK_TIME=g,e.exports=s},function(e,t,n){"use strict";function i(e){var t=[];return(e.ctrlKey||e.metaKey)&&t.push("ctrl"),e.shiftKey&&t.push("shift"),t.push(r[e.keyCode]),t.join("-")}var o=n(6),s=n(19),a={tab:9,enter:13,ctrl:17,esc:27,left:37,up:38,right:39,down:40,a:65,c:67,v:86,space:32,pageUp:33,pageDown:34,home:36,end:35,del:46},r=o.invert(a),l={up:["move","up"],down:["move","down"],left:["move","left"],right:["move","right"],pageUp:["move","pageUp"],pageDown:["move","pageDown"],home:["move","firstColumn"],end:["move","lastColumn"],enter:["edit","currentCell"],space:["edit","currentCell"],tab:["edit","nextCell"],del:["delete"],"shift-tab":["edit","prevCell"],"shift-up":["select","up"],"shift-down":["select","down"],"shift-left":["select","left"],"shift-right":["select","right"],"shift-pageUp":["select","pageUp"],"shift-pageDown":["select","pageDown"],"shift-home":["select","firstColumn"],"shift-end":["select","lastColumn"],"ctrl-a":["select","all"],"ctrl-c":["clipboard","copy"],"ctrl-v":["clipboard","paste"],"ctrl-home":["move","firstCell"],"ctrl-end":["move","lastCell"],"ctrl-shift-home":["select","firstCell"],"ctrl-shift-end":["select","lastCell"]};e.exports={generate:function(e){var t,n=i(e),o=l[n];return o&&(t=new s(e,{type:"key:"+o[0],command:o[1]})),t}}},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(48),a=n(22),r=n(14).frame,l=s.extend({initialize:function(){s.prototype.initialize.apply(this,arguments),o.assign(this,{whichSide:r.L}),this.listenTo(this.dimensionModel,"change:lsideWidth",this._onFrameWidthChanged)},className:a.LSIDE_AREA,_onFrameWidthChanged:function(){this.$el.css({width:this.dimensionModel.get("lsideWidth")})},beforeRender:function(){this.$el.css({display:"block",width:this.dimensionModel.get("lsideWidth")})},afterRender:function(){this.dimensionModel.get("scrollX")&&this.$el.append(i("
").addClass(a.SCROLLBAR_LEFT_BOTTOM))}});e.exports=l},function(e,t,n){"use strict";var i=n(6),o=n(8),s=n(14),a=s.frame,r=s.summaryPosition,l=o.extend({initialize:function(e){o.prototype.initialize.call(this),i.assign(this,{viewFactory:e.viewFactory,renderModel:e.renderModel,dimensionModel:e.dimensionModel,whichSide:e.whichSide||a.R}),this.listenTo(this.renderModel,"columnModelChanged",this.render)},render:function(){return this.$el.empty(),this._destroyChildren(),this.beforeRender(),this._addChildren(this._createChildren()),this.$el.append(this._renderChildren()),this.afterRender(),this},beforeRender:function(){},afterRender:function(){},_createChildren:function(){var e,t=this.viewFactory,n=this.dimensionModel.get("summaryPosition"),i=t.createHeader(this.whichSide),o=t.createBody(this.whichSide),s=t.createSummary(this.whichSide,n);return e=n===r.TOP?[i,s,o]:n===r.BOTTOM?[i,o,s]:[i,o]}});e.exports=l},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(48),a=n(22),r=n(14),l=r.frame,d=r.summaryPosition,u=r.dimension.CELL_BORDER_WIDTH,h=s.extend({initialize:function(){s.prototype.initialize.apply(this,arguments),o.assign(this,{whichSide:l.R,$scrollBorder:null}),this.listenTo(this.dimensionModel,"change:lsideWidth change:rsideWidth",this._onFrameWidthChanged),this.listenTo(this.dimensionModel,"change:bodyHeight change:headerHeight",this._resetScrollBorderHeight)},className:a.RSIDE_AREA,_onFrameWidthChanged:function(){this._refreshLayout()},_refreshLayout:function(){var e=this.dimensionModel,t=e.get("rsideWidth"),n=e.get("lsideWidth");n>0&&!e.isDivisionBorderDoubled()&&(t+=u,n-=u),this.$el.css({width:t,marginLeft:n})},_resetScrollBorderHeight:function(){var e,t;this.$scrollBorder&&(e=this.dimensionModel,t=e.get("bodyHeight")-e.getScrollXHeight(),this.$scrollBorder.height(t))},beforeRender:function(){this.$el.css("display","block"),this._refreshLayout()},afterRender:function(){var e,t,n,o,s=this.dimensionModel;s.get("scrollY")&&(e=s.get("headerHeight"),t=s.get("summaryHeight"),n=i("
").addClass(a.SCROLLBAR_HEAD),o=i("
").addClass(a.SCROLLBAR_BORDER),n.height(e-2),o.css("top",e+"px"),this.$el.append(n,o),s.get("scrollX")&&this.$el.append(i("
").addClass(a.SCROLLBAR_RIGHT_BOTTOM)),t&&s.get("scrollY")&&this._applyStyleToSummary(e,t,s.get("summaryPosition")),this.$scrollBorder=o,this._resetScrollBorderHeight())},_applyStyleToSummary:function(e,t,n){var o,s={};n===d.TOP?(s.top=e,o=a.SUMMARY_AREA_RIGHT_TOP):(s.bottom=0,o=a.SUMMARY_AREA_RIGHT_BOTTOM),s.height=t-u,this.$el.append(i("
").addClass(a.SUMMARY_AREA_RIGHT).addClass(o).css(s))}});e.exports=h},function(e,t,n){"use strict";function i(e,t){for(var n=0,i=Math.min(e.length,t.length);n<%=colGroup%><%=tBody%>'),templateHeader:a.template('="<%=columnName%>" class="<%=className%>" height="<%=height%>" <%if(colspan > 0) {%>colspan=<%=colspan%> <%}%><%if(rowspan > 0) {%>rowspan=<%=rowspan%> <%}%>><%=title%><%=btnSort%>'),templateCol:a.template('="<%=columnName%>" style="width:<%=width%>px">'),markupBtnSort:'',_getColGroupMarkup:function(){var e=this._getColumnData(),t=e.widths,n=e.columns,i=[];return a.each(t,function(e,t){i.push(this.templateCol({attrColumnName:p,columnName:n[t].name,width:e+M}))},this),i.join("")},_getSelectedColumnNames:function(){var e=this.selectionModel.get("range").column,t=this.columnModel.getVisibleColumns(),n=t.slice(e[0],e[1]+1);return a.pluck(n,"name")},_onDragMove:function(e){var t=s(e.target);e.setData({columnName:t.closest("th").attr(p),isOnHeaderArea:s.contains(this.el,t[0])})},_getContainingMergedColumnNames:function(e){var t=this.columnModel,n=a.pluck(t.get("complexHeaderColumns"),"name");return a.filter(n,function(n){var i=t.getUnitColumnNamesIfMerged(n);return a.every(i,function(t){return a.contains(e,t)})})},_refreshSelectedHeaders:function(){var e,t,n=this.$el.find("th");this.selectionModel.hasSelection()?e=this._getSelectedColumnNames():this.focusModel.has(!0)&&(e=[this.focusModel.get("columnName")]),n.removeClass(u.CELL_SELECTED),e&&(t=this._getContainingMergedColumnNames(e),a.each(e.concat(t),function(e){n.filter("["+p+'="'+e+'"]').addClass(u.CELL_SELECTED)}))},_onKeydown:function(e){e.keyCode===f.TAB&&(e.preventDefault(),this.focusModel.focusClipboard())},_onMouseDown:function(e){var t,n=s(e.target);this._triggerPublicMousedown(e)&&(n.hasClass(u.BTN_SORT)||(t=n.closest("th").attr(p),t&&this.dragEmitter.start(e,{columnName:t})))},_triggerPublicMousedown:function(e){var t,n,i,o=new h(e,h.getTargetInfo(s(e.target)));return t=(new Date).getTime(),this.domEventBus.trigger("mousedown",o),n=(new Date).getTime(),i=n-t>C,!o.isStopped()&&!i},_getHeaderMainCheckbox:function(){return this.$el.find("th["+p+'="_button"] input')},_syncCheckedState:function(){var e,t,n=this.dataModel.getCheckedState();e=this._getHeaderMainCheckbox(),e.length&&(t=n.available?{checked:n.available===n.checked,disabled:!1}:{checked:!1,disabled:!0},e.prop(t))},_onColumnWidthChanged:function(){var e=this.coordColumnModel.getWidths(this.whichSide),t=this.$el.find("col"),n=this.coordRowModel;a.each(e,function(e,n){t.eq(n).css("width",e+M)}),this.whichSide===g.R&&a.defer(function(){n.syncWithDom()})},_onScrollLeftChange:function(e,t){this.whichSide===g.R&&(this.el.scrollLeft=t)},_onClick:function(e){var t=s(e.target),n=t.closest("th").attr(p),i=new h(e);"_button"===n&&t.is("input")?(i.setData({checked:t.prop("checked")}),this.domEventBus.trigger("click:headerCheck",i)):t.is("a."+u.BTN_SORT)&&(i.setData({columnName:n}),this.domEventBus.trigger("click:headerSort",i))},_updateBtnSortState:function(e){var t;this._$currentSortBtn&&this._$currentSortBtn.removeClass(u.BTN_SORT_DOWN+" "+u.BTN_SORT_UP),this._$currentSortBtn=this.$el.find("th["+p+'="'+e.columnName+'"] a.'+u.BTN_SORT),t=e.ascending?u.BTN_SORT_UP:u.BTN_SORT_DOWN,this._$currentSortBtn.addClass(t)},render:function(){var e;return this._destroyChildren(),this.$el.css({height:this.headerHeight-_}).html(this.template({colGroup:this._getColGroupMarkup(),tBody:this._getTableBodyMarkup()})),this.coordColumnModel.get("resizable")&&(e=this._getResizeHandleHeights(),this._addChildren(this.viewFactory.createHeaderResizeHandle(this.whichSide,e)),this.$el.append(this._renderChildren())),this},_getColumnData:function(){var e=this.coordColumnModel.getWidths(this.whichSide),t=this.columnModel.getVisibleColumns(this.whichSide,!0);return{widths:e,columns:t}},_getTableBodyMarkup:function(){var e,t,n=this._getColumnHierarchyList(),i=this._getHierarchyMaxRowCount(n),o=this.headerHeight,s=new Array(i),r=new Array(i),d=[],h=l.getRowHeight(i,o)-1,c=1;return a.each(n,function(t,l){var g=n[l].length,m=0;a.each(t,function(t,n){var a=t.name,l=[u.CELL,u.CELL_HEAD];t.validation&&t.validation.required&&l.push(u.CELL_REQRUIRED),c=g-1===n&&i-g+1>1?i-g+1:1,e=h*c,n===g-1?e=o-m-2:m+=e+1,r[n]===a?(s[n].pop(),d[n]+=1):d[n]=1,r[n]=a,s[n]=s[n]||[],s[n].push(this.templateHeader({attrColumnName:p,columnName:a,className:l.join(" "),height:e,colspan:d[n],rowspan:c,title:t.title,btnSort:t.sortable?this.markupBtnSort:""}))},this)},this),t=a.map(s,function(e){return""+e.join("")+""}),t.join("")},_getHierarchyMaxRowCount:function(e){var t=[0];return a.each(e,function(e){t.push(e.length)},this),Math.max.apply(Math,t)},_getColumnHierarchyList:function(){var e,t=this._getColumnData().columns;return e=a.map(t,function(e){return this._getColumnHierarchy(e).reverse()},this)},_getColumnHierarchy:function(e,t){var n=this.columnModel.get("complexHeaderColumns");return t=t||[],e&&(t.push(e),n&&a.each(n,function(n){s.inArray(e.name,n.childNames)!==-1&&this._getColumnHierarchy(n,t)},this)),t},_getResizeHandleHeights:function(){for(var e,t,n=this._getColumnHierarchyList(),o=this._getHierarchyMaxRowCount(n),s=l.getRowHeight(o,this.headerHeight)-1,a=[],r=1,d=n.length;r
'),_getColumnData:function(){var e=this.coordColumnModel.getWidths(this.whichSide),t=this.columnModel.getVisibleColumns(this.whichSide,!0);return{widths:e,columns:t}},_getResizeHandlerMarkup:function(){var e=this._getColumnData(),t=e.columns,n=t.length,i=o.map(t,function(e,t){return this.template({lastClass:t+1===n?l.COLUMN_RESIZE_HANDLE_LAST:"",columnIndex:t,columnName:e.name,height:this.handleHeights[t]+"px",title:u.get("resizeHandleGuide"),displayType:e.resizable===!1?"none":"block"})},this);return i.join("")},render:function(){var e=this.headerHeight,t=this._getResizeHandlerMarkup();return this.$el.empty().html(t).css({marginTop:-e,height:e,display:"block"}),this._refreshHandlerPosition(),this},_refreshHandlerPosition:function(){var e=this._getColumnData(),t=e.widths,n=this.$el.find("."+l.COLUMN_RESIZE_HANDLE),i=Math.floor(m/2),o=0;s.forEachArray(n,function(e,s){var a=n.eq(s);o+=t[s]+g,a.css("left",o-i)},this)},_onMouseDown:function(e){var t=i(e.target),n=this.coordColumnModel.getWidths(this.whichSide),o=parseInt(t.attr(h.COLUMN_INDEX),10);this.dragEmitter.start(e,{width:n[o],columnIndex:this._getHandlerColumnIndex(o),pageX:e.pageX})},_onDragMove:function(e){var t=e.startData,n=e.pageX-t.pageX;e.setData({columnIndex:t.columnIndex,width:t.width+n})},_onDblClick:function(e){var t=i(e.target),n=parseInt(t.attr(h.COLUMN_INDEX),10);this.domEventBus.trigger("dblclick:resizeColumn",{columnIndex:this._getHandlerColumnIndex(n)})},_getHandlerColumnIndex:function(e){return this.whichSide===c.R?e+this.columnModel.getVisibleFrozenCount(!0):e}});e.exports=f},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(8),a=n(42),r=n(19),l=n(14),d=n(22),u=l.frame,h=200,c=10,g=s.extend({initialize:function(e){s.prototype.initialize.call(this),o.assign(this,{dimensionModel:e.dimensionModel,renderModel:e.renderModel,viewFactory:e.viewFactory,domEventBus:e.domEventBus,$container:null,whichSide:e&&e.whichSide||u.R}),this.listenTo(this.dimensionModel,"change:bodyHeight",this._onBodyHeightChange).listenTo(this.dimensionModel,"change:totalRowHeight",this._resetContainerHeight).listenTo(this.renderModel,"change:scrollTop",this._onScrollTopChange).listenTo(this.renderModel,"change:scrollLeft",this._onScrollLeftChange),this.dragEmitter=new a({type:"body",domEventBus:this.domEventBus,onDragMove:o.bind(this._onDragMove,this)})},className:d.BODY_AREA,events:function(){var e={};return e.scroll="_onScroll",e["mousedown ."+d.BODY_CONTAINER]="_onMouseDown",e},_onBodyHeightChange:function(e,t){this.$el.css("height",t+"px")},_resetContainerHeight:function(){this.$container.css({height:this.dimensionModel.get("totalRowHeight")})},_onScroll:function(e){var t={scrollTop:e.target.scrollTop};this.whichSide===u.R&&(t.scrollLeft=e.target.scrollLeft),this.renderModel.set(t)},_onScrollLeftChange:function(e,t){this.whichSide===u.R&&(this.el.scrollLeft=t)},_onScrollTopChange:function(e,t){this.el.scrollTop=t},_onMouseDown:function(e){var t=i(e.target),n=t.is("input, teaxarea");this._triggerPublicMousedown(e)&&(this._triggerBodyMousedown(e),n&&e.shiftKey&&e.preventDefault(),n&&!e.shiftKey||this.dragEmitter.start(e,{pageX:e.pageX,pageY:e.pageY}))},_triggerPublicMousedown:function(e){var t,n,o=new r(e,r.getTargetInfo(i(e.target))),s=!0;return o.targetType===r.targetTypeConst.DUMMY?s=!1:(t=(new Date).getTime(),this.domEventBus.trigger("mousedown",o),o.isStopped()?s=!1:(n=(new Date).getTime(),s=n-t<=h)),s},_triggerBodyMousedown:function(e){var t=new r(e,{pageX:e.pageX,pageY:e.pageY,shiftKey:e.shiftKey});this.domEventBus.trigger("mousedown:body",t)},_onDragMove:function(e){var t=e.startData,n={pageX:e.pageX,pageY:e.pageY};this._getMouseMoveDistance(t,n)").addClass(d.BODY_CONTAINER),this.$el.append(this.$container),this._addChildren([this.viewFactory.createBodyTable(e),this.viewFactory.createSelectionLayer(e),this.viewFactory.createFocusLayer(e)]),this.$container.append(this._renderChildren()),this._resetContainerHeight(),this}});e.exports=g},function(e,t,n){"use strict";var i=n(6),o=n(8),s=n(14),a=n(22),r=s.dimension.CELL_BORDER_WIDTH,l=s.attrName.COLUMN_NAME,d=o.extend({initialize:function(e){o.prototype.initialize.call(this),i.assign(this,{dimensionModel:e.dimensionModel,coordColumnModel:e.coordColumnModel,renderModel:e.renderModel,columnModel:e.columnModel,viewFactory:e.viewFactory,painterManager:e.painterManager,whichSide:e.whichSide||"R"}),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._onColumnWidthChanged),this.listenTo(this.renderModel,"change:dummyRowCount",this._onChangeDummyRowCount),this.listenTo(this.dimensionModel,"change:bodyHeight",this._resetHeight),this._attachAllTableEventHandlers()},className:a.BODY_TABLE_CONTAINER,template:i.template('<%=colGroup%><%=tbody%>
'),templateCol:i.template('="<%=columnName%>" style="width:<%=width%>px">'),_onColumnWidthChanged:function(){var e=this.coordColumnModel.getWidths(this.whichSide),t=this.$el.find("col");i.each(e,function(e,n){t.eq(n).css("width",e+r)},this)},_onChangeDummyRowCount:function(){this._resetOverflow(),this._resetHeight()},_resetOverflow:function(){var e="visible";this.renderModel.get("dummyRowCount")>0&&(e="hidden"),this.$el.css("overflow",e)},_resetHeight:function(){var e=this.dimensionModel;this.renderModel.get("dummyRowCount")>0?this.$el.height(e.get("bodyHeight")-e.getScrollXHeight()):this.$el.css("height","")},resetTablePosition:function(){this.$el.css("top",this.renderModel.get("top"))},render:function(){return this._destroyChildren(),this.$el.html(this.template({colGroup:this._getColGroupMarkup(),tbody:""})),this._addChildren(this.viewFactory.createRowList({bodyTableView:this,el:this.$el.find("tbody"),whichSide:this.whichSide})),this._renderChildren(),this._resetHeight(),this._resetOverflow(),this},_attachAllTableEventHandlers:function(){var e=this.painterManager.getCellPainters();i.each(e,function(e){e.attachEventHandlers(this.$el,"")},this)},redrawTable:function(e){return this.$el[0].innerHTML=this.template({colGroup:this._getColGroupMarkup(),tbody:e}),this.$el.find("tbody")},_getColGroupMarkup:function(){var e=this.whichSide,t=this.coordColumnModel.getWidths(e),n=this.columnModel.getVisibleColumns(e,!0),o="";return i.each(n,function(e,n){o+=this.templateCol({attrColumnName:l,columnName:e.name,width:t[n]+r})},this),o}});e.exports=d},function(e,t,n){"use strict";var i=n(6),o=n(8),s=n(22),a=n(14),r=a.frame,l=a.attrName.COLUMN_NAME,d=o.extend({initialize:function(e){this.columnTemplateMap=e.columnTemplateMap||{},this.whichSide=e.whichSide,this.columnModel=e.columnModel,this.dimensionModel=e.dimensionModel,this.coordColumnModel=e.coordColumnModel,this.renderModel=e.renderModel,this.summaryModel=e.summaryModel,this.listenTo(this.renderModel,"change:scrollLeft",this._onChangeScrollLeft),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._onChangeColumnWidth),this.listenTo(this.columnModel,"setSummaryContent",this._setColumnContent),this.summaryModel&&this.listenTo(this.summaryModel,"change",this._onChangeSummaryValue)},className:s.SUMMARY_AREA,events:{scroll:"_onScrollView"},template:i.template('<%=tbody%>
'),templateHeader:i.template('="<%=columnName%>" class="<%=className%>" style="width:<%=width%>px"><%=value%>'), +_onScrollView:function(e){this.whichSide===r.R&&this.renderModel.set("scrollLeft",e.target.scrollLeft)},_onChangeScrollLeft:function(e,t){this.whichSide===r.R&&(this.el.scrollLeft=t)},_onChangeColumnWidth:function(){var e=this.coordColumnModel.getWidths(this.whichSide),t=this.$el.find("th");i.each(e,function(e,n){t.eq(n).css("width",e)})},_setColumnContent:function(e,t){var n=this.$el.find("th["+l+'="'+e+'"]');n.html(t)},_onChangeSummaryValue:function(e,t){var n=this._generateValueHTML(e,t);this._setColumnContent(e,n)},_generateValueHTML:function(e,t){var n=this.columnTemplateMap[e],o="";return i.isFunction(n)&&(o=n(t)),o},_generateTbodyHTML:function(){var e=this.summaryModel,t=this.columnModel.getVisibleColumns(this.whichSide,!0),n=this.coordColumnModel.getWidths(this.whichSide);return i.reduce(t,function(t,i,o){var a,r=i.name;return e&&(a=e.getValue(i.name)),t+this.templateHeader({attrColumnName:l,columnName:r,className:s.CELL_HEAD+" "+s.CELL,width:n[o],value:this._generateValueHTML(r,a)})},"",this)},render:function(){var e=this.dimensionModel.get("summaryHeight"),t=this.dimensionModel.get("summaryPosition"),n="top"===t?s.SUMMARY_AREA_TOP:s.SUMMARY_AREA_BOTTOM;return this.$el.addClass(n),e&&this.$el.html(this.template({className:s.TABLE,height:e,tbody:this._generateTbodyHTML()})),this}});e.exports=d},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(8),r=n(14),l=n(22),d=r.attrName,u=r.frame,h=r.dimension.CELL_BORDER_WIDTH,c=a.extend({initialize:function(e){var t=e.focusModel,n=e.renderModel,i=e.selectionModel,s=e.coordRowModel,a=e.whichSide||"R";o.assign(this,{whichSide:a,bodyTableView:e.bodyTableView,focusModel:t,renderModel:n,selectionModel:i,coordRowModel:s,dataModel:e.dataModel,columnModel:e.columnModel,collection:n.getCollection(a),painterManager:e.painterManager,sortOptions:null,renderedRowKeys:null}),this.listenTo(this.collection,"change",this._onModelChange).listenTo(this.collection,"restore",this._onModelRestore).listenTo(t,"change:rowKey",this._refreshFocusedRow).listenTo(n,"rowListChanged",this.render),this.whichSide===u.L&&this.listenTo(t,"change:rowKey",this._refreshSelectedMetaColumns).listenTo(i,"change:range",this._refreshSelectedMetaColumns).listenTo(n,"rowListChanged",this._refreshSelectedMetaColumns)},_getColumns:function(){return this.columnModel.getVisibleColumns(this.whichSide,!0)},_removeOldRows:function(e){var t=o.indexOf(this.renderedRowKeys,e[0]),n=o.indexOf(this.renderedRowKeys,o.last(e)),i=this.$el.children("tr");i.slice(0,t).remove(),i.slice(n+1).remove()},_appendNewRows:function(e,t){var n=this.collection.slice(0,o.indexOf(e,t[0])),i=this.collection.slice(o.indexOf(e,o.last(t))+1);this.$el.prepend(this._getRowsHtml(n)),this.$el.append(this._getRowsHtml(i))},_resetRows:function(){var e,t=this._getRowsHtml(this.collection.models);if(c.isInnerHtmlOfTbodyReadOnly)e=this.bodyTableView.redrawTable(t),this.setElement(e,!1);else try{this.$el[0].innerHTML=t}catch(e){c.isInnerHtmlOfTbodyReadOnly=!0,this._resetRows()}},_getRowsHtml:function(e){var t=this.painterManager.getRowPainter(),n=o.pluck(this._getColumns(),"name");return o.map(e,function(e){return t.generateHtml(e,n)}).join("")},_getRowElement:function(e){return this.$el.find("tr["+d.ROW_KEY+"="+e+"]")},_refreshSelectedMetaColumns:function(){var e,t=this.$el.find("tr"),n="."+l.CELL_HEAD;e=this.selectionModel.hasSelection()?this._filterRowsByIndexRange(t,this.selectionModel.get("range").row):this._filterRowByKey(t,this.focusModel.get("rowKey")),t.find(n).removeClass(l.CELL_SELECTED),e.find(n).addClass(l.CELL_SELECTED)},_filterRowsByIndexRange:function(e,t){var n,o,s=this.renderModel,a=s.get("startIndex");return n=Math.max(t[0]-a,0),o=Math.max(t[1]-a+1,0),n||o?e.slice(n,o):i()},_filterRowByKey:function(e,t){var n=this.dataModel.indexOfRowKey(t),o=this.renderModel.get("startIndex");return o>n?i():e.eq(n-o)},_refreshFocusedRow:function(){var e=this.focusModel.get("rowKey"),t=this.focusModel.get("prevRowKey");this._setFocusedRowClass(t,!1),this._setFocusedRowClass(e,!0)},_setFocusedRowClass:function(e,t){var n=o.pluck(this._getColumns(),"name"),i={};o.each(n,function(n){var o,s=this.dataModel.getMainRowKey(e,n);i[s]||(i[s]=this._getRowElement(s)),o=i[s].find("td["+d.COLUMN_NAME+'="'+n+'"]'),o.toggleClass(l.CELL_CURRENT_ROW,t)},this)},render:function(e){var t,n=this.collection.pluck("rowKey");return this.bodyTableView.resetTablePosition(),e?this._resetRows():(t=o.intersection(n,this.renderedRowKeys),o.isEmpty(n)||o.isEmpty(t)||t.length/n.length<.7?this._resetRows():(this._removeOldRows(t),this._appendNewRows(n,t))),this.renderedRowKeys=n,this},_onModelChange:function(e){var t=e.get("rowKey"),n=this._getRowElement(t);"height"in e.changed?n.css("height",e.get("height")+h):(this.painterManager.getRowPainter().refresh(e.changed,n),this.coordRowModel.syncWithDom())},_onModelRestore:function(e){var t=this.dataModel.getElement(e.rowKey,e.columnName),n=this.columnModel.getEditType(e.columnName);this.painterManager.getCellPainter(n).refresh(e,t),this.coordRowModel.syncWithDom()}},{isInnerHtmlOfTbodyReadOnly:s.browser.msie&&s.browser.version<=9});e.exports=c},function(e,t,n){"use strict";var i=n(6),o=n(8),s=n(22),a=n(14).dimension.CELL_BORDER_WIDTH,r=n(14).frame,l=o.extend({initialize:function(e){i.assign(this,{whichSide:e.whichSide||r.R,dimensionModel:e.dimensionModel,coordRowModel:e.coordRowModel,coordColumnModel:e.coordColumnModel,columnModel:e.columnModel,selectionModel:e.selectionModel}),this._updateColumnWidths(),this.listenTo(this.coordColumnModel,"columnWidthChanged",this._onChangeColumnWidth),this.listenTo(this.selectionModel,"change:range",this.render)},className:s.LAYER_SELECTION,_updateColumnWidths:function(){this.columnWidths=this.coordColumnModel.getWidths(this.whichSide)},_onChangeColumnWidth:function(){this._updateColumnWidths(),this.render()},_getOwnSideColumnRange:function(e){var t=this.columnModel.getVisibleFrozenCount(),n=null;return this.whichSide===r.L?e[0]=t&&(n=[Math.max(e[0],t)-t,e[1]-t]),n},_getVerticalStyles:function(e){var t=this.coordRowModel,n=t.getOffsetAt(e[0]),i=t.getOffsetAt(e[1])+t.getHeightAt(e[1]);return{top:n+"px",height:i-n+"px"}},_getHorizontalStyles:function(e){var t=this.columnWidths,n=this.columnModel.getVisibleMetaColumnCount(),i=e[0],o=e[1],s=0,l=0,d=0;for(this.whichSide===r.L&&(i+=n,o+=n),o=Math.min(o,t.length-1);d<=o;d+=1)de&&this.$el.css("left",e-t)},_adjustCellOffsetValue:function(e){var t=o.browser,n=e;return t.msie&&(9===t.version?n=e-1:t.version>9&&(n=Math.floor(e))),n},_calculateLayoutStyle:function(e,t,n){var i=this.domState.getOffset(),o=this.domState.getElement(e,t),s=o.offset(),r=o.outerHeight()+a,l=o.outerWidth()+a;return{top:this._adjustCellOffsetValue(s.top)-i.top,left:this._adjustCellOffsetValue(s.left)-i.left,height:r,minWidth:n?l:"",width:n?"":l,lineHeight:r+"px"}},_onEditingStateChanged:function(e){e.editing?this._startEditing(e):this._finishEditing()},render:function(){return i.each(this.inputPainters,function(e){e.attachEventHandlers(this.$el,"")},this),this}});e.exports=d},function(e,t,n){"use strict";var i,o=n(6),s=n(36),a=n(8),r=n(22),l="yyyy-MM-dd",d=[[new Date(1900,0,1),new Date(2999,11,31)]];i=a.extend({initialize:function(e){this.focusModel=e.focusModel,this.textPainter=e.textPainter,this.columnModel=e.columnModel,this.domState=e.domState,this.datePickerMap=this._createDatePickers(),this.$focusedInput=null,this.listenTo(this.textPainter,"focusIn",this._onFocusInTextInput),this.listenTo(e.domEventBus,"windowResize",this._closeDatePickerLayer)},className:r.LAYER_DATE_PICKER,events:{click:"_onClick"},_onClick:function(e){e.stopPropagation()},_createDatePickers:function(){var e={},t=this.columnModel.get("columnModelMap");return o.each(t,function(t){var n,i=t.name,o=t.component;o&&"datePicker"===o.name&&(n=o.options||{},e[i]=new s(this.$el,n),this._bindEventOnDatePicker(e[i]))},this),e},_bindEventOnDatePicker:function(e){var t=this;e.on("open",function(){t.textPainter.blockFocusingOut()}),e.on("close",function(){var e=t.focusModel,n=e.which(),i=n.rowKey,o=n.columnName,s=t.$focusedInput.val();t.textPainter.unblockFocusingOut(),e.isEditingCell(i,o)&&e.dataModel.setValue(i,o,s),e.finishEditing()})},_resetDatePicker:function(e,t,n){var i=this.datePickerMap[n],o=e.format||l,s=e.date||new Date,a=e.selectableRanges;i.setInput(t,{format:o,syncFromInput:!0}),a?i.setRanges(a):i.setRanges(d),""===t.val()&&(i.setDate(s),t.val(""))},_calculatePosition:function(e){var t=e.offset(),n=e.outerHeight(),i=this.domState.getOffset();return{top:t.top-i.top+n,left:t.left-i.left}},_onFocusInTextInput:function(e,t){var n,i=t.columnName,o=this.columnModel.getColumnModel(i).component,s=this.columnModel.getEditType(i);"text"===s&&o&&"datePicker"===o.name&&(n=o.options||{},this.$focusedInput=e,this.$el.css(this._calculatePosition(e)).show(),this._resetDatePicker(n,e,i),this.datePickerMap[i].open())},_closeDatePickerLayer:function(){var e=this.focusModel.which().columnName,t=this.datePickerMap[e];t&&t.isOpened()&&t.close()},render:function(){return this.$el.hide(),this}}),e.exports=i},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(8),a=n(14),r=n(22),l=a.frame,d=a.dimension.CELL_BORDER_WIDTH,u='
',h=r.LAYER_FOCUS_DEACTIVE,c=s.extend({initialize:function(e){this.focusModel=e.focusModel,this.columnModel=e.columnModel,this.coordRowModel=e.coordRowModel,this.coordColumnModel=e.coordColumnModel,this.coordConverterModel=e.coordConverterModel,this.whichSide=e.whichSide,this.borderEl={$top:i(u),$left:i(u),$right:i(u),$bottom:i(u)},this.listenTo(this.coordColumnModel,"columnWidthChanged",this._refreshCurrentLayout),this.listenTo(this.coordRowModel,"reset",this._refreshCurrentLayout),this.listenTo(this.focusModel,"blur",this._onBlur),this.listenTo(this.focusModel,"focus",this._onFocus),this.listenTo(this.focusModel,"change:active",this._onChangeActiveState)},className:r.LAYER_FOCUS,_refreshCurrentLayout:function(){var e=this.focusModel;"none"!==this.$el.css("display")&&this._refreshBorderLayout(e.get("rowKey"),e.get("columnName"))},_onBlur:function(){this.$el.hide()},_onFocus:function(e,t){var n=this.columnModel.isLside(t)?l.L:l.R;n===this.whichSide&&(this._refreshBorderLayout(e,t),this.$el.show())},_onChangeActiveState:function(e){e.changed.active?this.$el.removeClass(h):this.$el.addClass(h)},_refreshBorderLayout:function(e,t){var n=this.coordConverterModel.getCellPosition(e,t),i=n.right-n.left,o=n.bottom-n.top;this.borderEl.$left.css({top:n.top,left:n.left,width:d,height:o+d}),this.borderEl.$top.css({top:0===n.top?d:n.top,left:n.left,width:i+d,height:d}),this.borderEl.$right.css({top:n.top,left:n.left+i,width:d,height:o+d}),this.borderEl.$bottom.css({top:n.top+o,left:n.left,width:i+d,height:d})},render:function(){var e=this.$el;return o.each(this.borderEl,function(t){e.append(t)}),e.hide(),this}});e.exports=c},function(e,t,n){"use strict";var i=n(6),o=n(9);e.exports={create:function(){return i.extend({},o.Events)}}},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(14).attrName,a=n(22),r=o.defineClass({init:function(e){this.$el=e},_getBodyTableRows:function(e){return this.$el.find("."+e).find("."+a.BODY_TABLE_CONTAINER).find("tr["+s.ROW_KEY+"]")},_getMaxCellHeight:function(e){var t=e.find("."+a.CELL_CONTENT).map(function(){return this.scrollHeight}).get();return i.max(t)},getElement:function(e,t){return this.$el.find("tr["+s.ROW_KEY+"="+e+"]").find("td["+s.COLUMN_NAME+'="'+t+'"]')},getRowHeights:function(){var e,t,n,i,o=this._getBodyTableRows(a.LSIDE_AREA),s=this._getBodyTableRows(a.RSIDE_AREA),r=[];for(n=0,i=o.length;n" class="<%=className%>" style="height: <%=height%>px;"><%=contents%>'),_getEditType:function(e,t){var n=o.pick(t.columnModel,"editOptions","type");return n||"normal"},_generateHtmlForDummyRow:function(e,t){var n=this.painterManager.getCellPainter("dummy"),o="";return i.each(t,function(t){o+=n.generateHtml(e,t)}),o},_generateHtmlForActualRow:function(e,t){var n="";return i.each(t,function(t){var i,o,s=e.get(t);s&&s.isMainRow&&(i=this._getEditType(t,s),o=this.painterManager.getCellPainter(i),n+=o.generateHtml(s))},this),n},generateHtml:function(e,t){var n,o=e.get("rowKey"),s=e.get("rowNum"),a=s%2?r.ROW_ODD:r.ROW_EVEN,u="";return i.isUndefined(o)?n=this._generateHtmlForDummyRow(s,t):(u=l.ROW_KEY+'="'+o+'"',n=this._generateHtmlForActualRow(e,t)),this.template({rowKeyAttr:u,height:e.get("height")+d,contents:n,className:a})},refresh:function(e,t){i.each(e,function(e,n){var i,o,s;"_extraData"!==n&&(s=t.find("td["+l.COLUMN_NAME+'="'+n+'"]'),i=this._getEditType(n,e),o=this.painterManager.getCellPainter(i),o.refresh(e,s))},this)}});e.exports=u},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(14).attrName,a=o.defineClass({init:function(e){this.controller=e.controller},events:{},selector:"",_getCellAddress:function(e){var t=e.closest("["+s.ROW_KEY+"]");return{rowKey:t.attr(s.ROW_KEY),columnName:t.attr(s.COLUMN_NAME)}},attachEventHandlers:function(e,t){i.each(this.events,function(n,o){var s=i.bind(this[n],this),a=t+" "+this.selector;e.on(o,a,s)},this)},generateHtml:function(){throw new Error("implement generateHtml() method")}});e.exports=a},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(65),a=n(20),r=n(14).attrName,l=n(22),d=o.defineClass(s,{init:function(e){s.apply(this,arguments),this.editType=e.editType,this.fixedRowHeight=e.fixedRowHeight,this.inputPainter=e.inputPainter,this.selector="td["+r.EDIT_TYPE+'="'+this.editType+'"]'},template:i.template(' style="<%=style%>"><%=contentHtml%>'),contentTemplate:i.template('
<%=content%>
'),_isEditableType:function(){return!i.contains(["normal","mainButton"],this.editType)},_getContentStyle:function(e){var t=e.columnModel.whiteSpace||"nowrap",n=[];return t&&n.push("white-space:"+t),this.fixedRowHeight&&n.push("max-height:"+e.height+"px"),n.join(";")},_getContentHtml:function(e){var t,n,o=e.columnModel.template,s=e.formattedValue,a=e.prefix,r=e.postfix;return this.inputPainter&&(s=this.inputPainter.generateHtml(e),this._shouldContentBeWrapped()&&!this._isUsingViewMode(e)&&(a=this._getSpanWrapContent(a,l.CELL_CONTENT_BEFORE),r=this._getSpanWrapContent(r,l.CELL_CONTENT_AFTER),s=this._getSpanWrapContent(s,l.CELL_CONTENT_INPUT),t=a+r+s)),t||(t=a+s+r),n="_number"===e.columnName&&i.isFunction(o)?o({content:t}):this.contentTemplate({content:t,className:l.CELL_CONTENT,style:this._getContentStyle(e)})},_isUsingViewMode:function(e){return o.pick(e,"columnModel","editOptions","useViewMode")!==!1},_shouldContentBeWrapped:function(){return i.contains(["text","password","select"],this.editType)},_getSpanWrapContent:function(e,t){return o.isFalsy(e)&&(e=""),''+e+""},_getAttributes:function(e){var t=[e.className,l.CELL],n={align:e.columnModel.align||"left"};return n.class=t.join(" "),n[r.EDIT_TYPE]=this.editType,n[r.ROW_KEY]=e.rowKey,n[r.COLUMN_NAME]=e.columnName,e.rowSpan&&(n.rowspan=e.rowSpan),n},attachEventHandlers:function(e,t){s.prototype.attachEventHandlers.call(this,e,t),this.inputPainter&&this.inputPainter.attachEventHandlers(e,t+" "+this.selector)},generateHtml:function(e){var t=a.getAttributesString(this._getAttributes(e)),n=this._getContentHtml(e),i=e.columnModel.valign,o=[];return i&&o.push("vertical-align:"+i),this.template({attributeString:t,style:o.join(";"),contentHtml:n})},refresh:function(e,t){var n=["value","editing","disabled","listItems"],o=i.contains(e.changed,"editing")&&e.editing,s=i.intersection(n,e.changed).length>0,a=this._getAttributes(e),r="mainButton"===this.editType;t.attr(a),o&&!this._isUsingViewMode(e)?this.inputPainter.focus(t):r?t.find(this.inputPainter.selector).prop({checked:e.value,disabled:e.disabled}):s&&(t.html(this._getContentHtml(e)),t.scrollLeft(0))}});e.exports=d},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(65),a=n(20),r=n(14).attrName,l=n(22),d=o.defineClass(s,{init:function(){s.apply(this,arguments)},selector:"td["+r.EDIT_TYPE+'="dummy"]',template:i.template("'),generateHtml:function(e,t){var n=[l.CELL,l.CELL_DUMMY];return a.isMetaColumn(t)&&n.push(l.CELL_HEAD),this.template({columnName:t,className:n.join(" ")})}});e.exports=d},function(e,t,n){"use strict";var i=n(6),o=n(7),s=n(69),a=n(20),r=n(22),l="."+r.CELL_CONTENT_TEXT,d="input[type=password]",u=o.defineClass(s,{init:function(e){s.apply(this,arguments),this.inputType=e.inputType,this.selector="text"===e.inputType?l:d,this._extendEvents({selectstart:"_onSelectStart"})},templateInput:i.template('/>'),templateTextArea:i.template(''),_onSelectStart:function(e){e.stopPropagation()},_convertStringToAsterisks:function(e){return Array(e.length+1).join("*")},_getDisplayValue:function(e){var t=e.formattedValue;return"password"===this.inputType&&(t=this._convertStringToAsterisks(e.value)),t},_generateInputHtml:function(e){var t=o.pick(e,"columnModel","editOptions","maxLength"),n={type:this.inputType,className:r.CELL_CONTENT_TEXT,value:e.value,name:a.getUniqueKey(),disabled:e.disabled?"disabled":"",maxLength:t};return"nowrap"!==e.whiteSpace?this.templateTextArea(n):this.templateInput(n)},focus:function(e){var t=e.find(this.selector);1!==t.length||t.is(":focus")||t.select()}});e.exports=u},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(9),a=n(7),r=n(65),l=n(14).keyName,d=a.defineClass(r,{init:function(){r.apply(this,arguments),this._finishedEditing=!1},events:{keydown:"_onKeyDown",focusin:"_onFocusIn",focusout:"_onFocusOut",change:"_onChange"},keyDownActions:{ESC:function(e){this.controller.finishEditing(e.address,!0)},ENTER:function(e){this.controller.finishEditing(e.address,!0,e.value)},TAB:function(e){this.controller.finishEditing(e.address,!0,e.value),this.controller.focusInToNextCell(e.shiftKey)}},_extendKeydownActions:function(e){this.keyDownActions=o.assign({},this.keyDownActions,e)},_extendEvents:function(e){this.events=o.assign({},this.events,e)},_executeCustomEventHandler:function(e,t){this.controller.executeCustomInputEventHandler(e,t)},_onChange:function(){},_onFocusIn:function(e){var t=i(e.target),n=this._getCellAddress(t),s=this;o.defer(function(){s._executeCustomEventHandler(e,n),s.trigger("focusIn",t,n),s.controller.startEditing(n)})},_onFocusOut:function(e){var t=i(e.target),n=this._getCellAddress(t);this._finishedEditing||(this._executeCustomEventHandler(e,n),this.trigger("focusOut",t,n),this.controller.finishEditing(n,!1,t.val()))},_onKeyDown:function(e){var t=e.keyCode||e.which,n=l[t],o=this.keyDownActions[n],s=i(e.target),a={$target:s,address:this._getCellAddress(s),shiftKey:e.shiftKey,value:s.val()};this._executeCustomEventHandler(e,a.address),o&&!e.shiftKey&&(o.call(this,a),e.preventDefault())},_getDisplayValue:function(){throw new Error("implement _getDisplayValue() method")},_generateInputHtml:function(){throw new Error("implement _generateInputHtml() method")},_isUsingViewMode:function(e){return a.pick(e,"columnModel","editOptions","useViewMode")!==!1},generateHtml:function(e){var t;return t=o.isNull(e.convertedHTML)?!this._isUsingViewMode(e)||e.editing?this._generateInputHtml(e):this._getDisplayValue(e):e.convertedHTML},focus:function(e){var t=e.find(this.selector);t.is(":focus")||t.eq(0).focus()},blockFocusingOut:function(){this._finishedEditing=!0},unblockFocusingOut:function(){this._finishedEditing=!1}});o.assign(d.prototype,s.Events),e.exports=d},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(69),r=n(20),l=s.defineClass(a,{init:function(){a.apply(this,arguments),this.selector="select"},template:o.template(''),optionTemplate:o.template(''),_onChange:function(e){var t=i(e.target),n=this._getCellAddress(t);this.controller.setValueIfNotUsingViewMode(n,t.val())},_getDisplayValue:function(e){var t=o.find(e.listItems,function(t){return String(t.value)===String(e.value)});return t?t.text:""},_generateInputHtml:function(e){var t=o.reduce(e.listItems,function(t,n){return t+this.optionTemplate({value:n.value,text:n.text,selected:String(e.value)===String(n.value)?"selected":""})},"",this);return this.template({name:r.getUniqueKey(),disabled:e.disabled?"disabled":"",options:t})}});e.exports=l},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(69),r=n(20),l=s.defineClass(a,{init:function(e){a.apply(this,arguments),this.inputType=e.inputType,this.selector="fieldset[data-type="+this.inputType+"]",this._extendEvents({mousedown:"_onMouseDown"}),this._extendKeydownActions({TAB:function(e){var t;this._focusNextInput(e.$target,e.shiftKey)||(t=this._getCheckedValueString(e.$target),this.controller.finishEditing(e.address,!0,t),this.controller.focusInToNextCell(e.shiftKey))},ENTER:function(e){var t=this._getCheckedValueString(e.$target);this.controller.finishEditing(e.address,!0,t)},LEFT_ARROW:function(e){this._focusNextInput(e.$target,!0)},RIGHT_ARROW:function(e){this._focusNextInput(e.$target)},UP_ARROW:function(){},DOWN_ARROW:function(){}})},template:o.template('
<%=content%>
'),inputTemplate:o.template(' <%=disabled%> />'),labelTemplate:o.template(''),_onChange:function(e){var t=i(e.target),n=this._getCellAddress(t),o=this._getCheckedValueString(t);this.controller.setValueIfNotUsingViewMode(n,o)},_onFocusOut:function(e){var t=i(e.target),n=this;o.defer(function(){var e,i;t.siblings("input:focus").length||(e=n._getCellAddress(t),i=n._getCheckedValueString(t),n.controller.finishEditing(e,!1,i))})},_onMouseDown:function(e){var t=i(e.target),n=t.closest("fieldset").find("input:focus").length>0;!t.is("input")&&n&&(e.stopPropagation(),e.preventDefault())},_focusNextInput:function(e,t){var n=t?"prevAll":"nextAll",i=e[n]("input");return!!i.length&&(i.first().focus(),!0)},_getCheckedValueString:function(e){var t,n=e.parent().find("input:checked"),o=[];return n.each(function(){var e=i(this),t=e.attr("data-value-type"),n=r.convertValueType(e.val(),t);o.push(n)}),t=1===o.length?o[0]:o.join(",")},_getCheckedValueSet:function(e){var t={};return o.each(String(e).split(","),function(e){t[e]=!0}),t},_getDisplayValue:function(e){var t=this._getCheckedValueSet(e.value),n=[];return o.each(e.listItems,function(e){t[e.value]&&n.push(e.text)}),n.join(",")},_generateInputHtml:function(e){var t=this._getCheckedValueSet(e.value),n=r.getUniqueKey(),i="";return o.each(e.listItems,function(o){var s=n+"_"+o.value;i+=this.inputTemplate({type:this.inputType,id:s,name:n,value:o.value,valueType:typeof o.value,checked:t[o.value]?"checked":"",disabled:e.isDisabled?"disabled":""}),o.text&&(i+=this.labelTemplate({id:s,labelText:o.text}))},this),this.template({type:this.inputType,content:i})},focus:function(e){var t=e.find("input");t.is(":focus")||t.eq(0).focus()}});e.exports=l},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a=n(65),r=n(22),l=n(14).keyCode,d=r.CELL_MAIN_BUTTON,u=s.defineClass(a,{init:function(e){a.apply(this,arguments),this.selector="input."+d,this.inputType=e.inputType,this.gridId=e.gridId},events:{change:"_onChange",keydown:"_onKeydown"},template:o.template(' <%=disabled%> />'),_onChange:function(e){var t=i(e.target),n=this._getCellAddress(t);this.controller.setValue(n,t.is(":checked"))},_onKeydown:function(e){var t;e.keyCode===l.TAB&&(e.preventDefault(),t=this._getCellAddress(i(e.target)),this.controller.focusInToRow(t.rowKey))},generateHtml:function(e){var t=e.columnModel.template,n=null,i={type:this.inputType,name:this.gridId,className:d};return n=o.isFunction(t)?t(o.extend(i,{checked:e.value,disabled:e.disabled})):this.template(o.extend(i,{checked:e.value?"checked":"",disabled:e.disabled?"disabled":""}))}});e.exports=u},function(e,t,n){"use strict";function i(e){return a.isString(e)&&(e=e.replace(/,/g,"")),a.isNumber(e)||isNaN(e)||l.isBlank(e)?e:Number(e)}function o(e){switch(e){case"focusin":return"onFocus";case"focusout":return"onBlur";case"keydown":return"onKeyDown";default:return""}}var s=n(11),a=n(6),r=n(7),l=n(20),d=r.defineClass({init:function(e){this.focusModel=e.focusModel,this.dataModel=e.dataModel,this.columnModel=e.columnModel,this.selectionModel=e.selectionModel},startEditing:function(e,t){var n;return t&&this.focusModel.finishEditing(),n=this.focusModel.startEditing(e.rowKey,e.columnName),n&&this.selectionModel.end(),n},_checkMaxLength:function(e,t){var n=this.columnModel.getColumnModel(e),i=r.pick(n,"editOptions","maxLength");return i>0&&t.length>i?t.substring(0,i):t},finishEditing:function(e,t,n){var i,o,s=this.focusModel;return!!s.isEditingCell(e.rowKey,e.columnName)&&(this.selectionModel.enable(),a.isUndefined(n)||(i=this.dataModel.get(e.rowKey),o=i.get(e.columnName),l.isBlank(n)&&l.isBlank(o)||this.setValue(e,this._checkMaxLength(e.columnName,n))),s.finishEditing(),t?s.focusClipboard():a.defer(function(){s.refreshState()}),!0)},focusInToNextCell:function(e){var t=this.focusModel,n=e?t.prevAddress():t.nextAddress();t.focusIn(n.rowKey,n.columnName,!0)},focusInToRow:function(e){var t=this.focusModel;t.focusIn(e,t.firstColumnName(),!0)},executeCustomInputEventHandler:function(e,t){var n,i,s,r=this.columnModel.getColumnModel(t.columnName);r&&(n=e.type,i=r.editOptions||{},s=i[o(n)],a.isFunction(s)&&s.call(e.target,e,t))},setValue:function(e,t){var n=this.columnModel.getColumnModel(e.columnName);a.isString(t)&&(t=s.trim(t)),"number"===n.dataType&&(t=i(t)),"_button"===n.name?t?this.dataModel.check(e.rowKey):this.dataModel.uncheck(e.rowKey):this.dataModel.setValue(e.rowKey,e.columnName,t)},setValueIfNotUsingViewMode:function(e,t){var n=this.columnModel.getColumnModel(e.columnName);r.pick(n,"editOptions","useViewMode")||this.setValue(e,t)}});e.exports=d},function(e,t,n){"use strict";var i=n(11),o=n(9),s=n(6),a=n(8),r=n(75),l=n(20),d=n(76),u=n(44),h=n(19),c=n(14).renderState,g=200,m=a.extend({initialize:function(e){var t={initialRequest:!0,perPage:500,enableAjaxHistory:!0},n={readData:"",createData:"",updateData:"",deleteData:"",modifyData:"",downloadExcel:"",downloadExcelAll:""};e=s.assign(t,e),e.api=s.assign(n,e.api),s.assign(this,{dataModel:e.dataModel,renderModel:e.renderModel,router:null,domEventBus:e.domEventBus,pagination:e.pagination,api:e.api,enableAjaxHistory:e.enableAjaxHistory,readDataMethod:e.readDataMethod||"POST",perPage:e.perPage,curPage:1,timeoutIdForDelay:null,requestedFormData:null,isLocked:!1,lastRequestedReadData:null}),this._initializeDataModelNetwork(),this._initializeRouter(),this._initializePagination(),this.listenTo(this.dataModel,"sortChanged",this._onSortChanged),this.listenTo(this.domEventBus,"click:excel",this._onClickExcel),e.initialRequest&&(this.lastRequestedReadData||this._readDataAt(1,!1))},tagName:"form",events:{submit:"_onSubmit"},_initializePagination:function(){var e=this.pagination;e&&(e.setItemsPerPage(this.perPage),e.setTotalItems(1),e.on("beforeMove",i.proxy(this._onPageBeforeMove,this)))},_onRouterRead:function(e){var t=l.toQueryObject(e);this._requestReadData(t)},_onClickExcel:function(e){var t="all"===e.type?"excelAll":"excel";this.download(t)},_initializeDataModelNetwork:function(){this.dataModel.url=this.api.readData,this.dataModel.sync=i.proxy(this._sync,this)},_initializeRouter:function(){this.enableAjaxHistory&&(this.router=new r({net:this}),this.listenTo(this.router,"route:read",this._onRouterRead),o.History.started||o.history.start()); +},_onPageBeforeMove:function(e){var t=e.page;this.curPage!==t&&this._readDataAt(t,!0)},_onSubmit:function(e){e.preventDefault(),this._readDataAt(1,!1)},_setFormData:function(e){var t=s.clone(e);s.each(this.lastRequestedReadData,function(e,n){(s.isUndefined(t[n])||s.isNull(t[n]))&&e&&(t[n]="")}),d.setFormData(this.$el,t)},_sync:function(e,t,n){var a;"read"===e?(n=n||{},a=i.extend({},n),n.url||(a.url=s.result(t,"url")),this._ajax(a)):o.sync(o,e,t,n)},_lock:function(){var e=this.renderModel;this.timeoutIdForDelay=setTimeout(function(){e.set("state",c.LOADING)},g),this.isLocked=!0},_unlock:function(){null!==this.timeoutIdForDelay&&(clearTimeout(this.timeoutIdForDelay),this.timeoutIdForDelay=null),this.isLocked=!1},_getFormData:function(){return d.getFormData(this.$el)},_onReadSuccess:function(e,t){var n,i,o=this.pagination;e.setOriginalRowList(),o&&t.pagination&&(n=t.pagination.page,i=t.pagination.totalCount,o.setItemsPerPage(this.perPage),o.setTotalItems(i),o.movePageTo(n),this.curPage=n)},_onReadError:function(e,t,n){},reloadData:function(){this._requestReadData(this.lastRequestedReadData)},readData:function(e,t,n){n?(t||(t={}),t.perPage=this.perPage,this._changeSortOptions(t,this.dataModel.sortOptions)):t=s.assign({},this.lastRequestedReadData,t),t.page=e,this._requestReadData(t)},_requestReadData:function(e){var t=1;this._setFormData(e),this.isLocked||(this.renderModel.initializeVariables(),this._lock(),this.requestedFormData=s.clone(e),this.curPage=e.page||this.curPage,t=(this.curPage-1)*this.perPage+1,this.renderModel.set({startNumber:t}),this.lastRequestedReadData=s.clone(e),this.dataModel.fetch({requestType:"readData",data:e,type:this.readDataMethod,success:i.proxy(this._onReadSuccess,this),error:i.proxy(this._onReadError,this),reset:!0}),this.dataModel.setSortOptionValues(e.sortColumn,e.sortAscending)),this.router&&this.router.navigate("read/"+l.toQueryString(e),{trigger:!1})},_onSortChanged:function(e){e.requireFetch&&this._readDataAt(1,!0,e)},_changeSortOptions:function(e,t){t&&("rowKey"===t.columnName?(delete e.sortColumn,delete e.sortAscending):(e.sortColumn=t.columnName,e.sortAscending=t.ascending))},_readDataAt:function(e,t,n){var i;t=!!s.isUndefined(t)||t,i=t?this.requestedFormData:this._getFormData(),i.page=e,i.perPage=this.perPage,this._changeSortOptions(i,n),this._requestReadData(i)},request:function(e,t){var n=s.extend({url:this.api[e],type:null,hasDataParam:!0,checkedOnly:!0,modifiedOnly:!0,showConfirm:!0,updateOriginal:!1},t),i=this._getRequestParam(e,n);return i&&(n.updateOriginal&&this.dataModel.setOriginalRowList(),this._ajax(i)),!!i},download:function(e){var t,n="download"+l.toUpperCaseFirstLetter(e),o=this.requestedFormData,a=this.api[n];"excel"===e?(o.page=this.curPage,o.perPage=this.perPage):o=s.omit(o,"page","perPage"),t=i.param(o),window.location=a+"?"+t},setPerPage:function(e){this.perPage=e,this._readDataAt(1)},_getDataParam:function(e,t){var n,i=this.dataModel,o={createData:["createdRows"],updateData:["updatedRows"],deleteData:["deletedRows"],modifyData:["createdRows","updatedRows","deletedRows"]},a=o[e],r={},l=0;return t=s.defaults(t||{},{hasDataParam:!0,modifiedOnly:!0,checkedOnly:!0}),t.hasDataParam&&(t.modifiedOnly?(n=i.getModifiedRows({checkedOnly:t.checkedOnly}),s.each(n,function(e,t){s.contains(a,t)&&e.length&&(l+=e.length,r[t]=JSON.stringify(e))},this)):(r.rows=i.getRows(t.checkedOnly),l=r.rows.length)),{data:r,count:l}},_getRequestParam:function(e,t){var n={url:this.api[e],type:null,hasDataParam:!0,modifiedOnly:!0,checkedOnly:!0},o=i.extend(n,t),s=this._getDataParam(e,o),a=null;return o.showConfirm&&!this._isConfirmed(e,s.count)||(a={requestType:e,url:o.url,data:s.data,type:o.type}),a},_isConfirmed:function(e,t){var n=!1;return t>0?n=confirm(this._getConfirmMessage(e,t)):alert(this._getConfirmMessage(e,t)),n},_getConfirmMessage:function(e,t){var n=e.replace("Data","Action"),i=u.get(n),o={count:t,actionName:i},s=t>0?"requestConfirm":"noDataResponse";return u.get(s,o)},_ajax:function(e){var t,n=new h(null,e.data);this.trigger("beforeRequest",n),n.isStopped()||(e=i.extend({requestType:""},e),t={url:e.url,data:e.data||{},type:e.type||"POST",dataType:e.dataType||"json",complete:i.proxy(this._onComplete,this,e.complete,e),success:i.proxy(this._onSuccess,this,e.success,e),error:i.proxy(this._onError,this,e.error,e)},e.url&&i.ajax(t))},_onComplete:function(e,t,n){this._unlock()},_onSuccess:function(e,t,n,i,o){var a=n&&n.message,r=new h(null,{httpStatus:i,requestType:t.requestType,requestParameter:t.data,responseData:n});if(this.trigger("response",r),!r.isStopped())if(n&&n.result){if(this.trigger("successResponse",r),r.isStopped())return;s.isFunction(e)&&e(n.data||{},i,o)}else{if(this.trigger("failResponse",r),r.isStopped())return;a&&alert(a)}},_onError:function(e,t,n,i){var o=new h(null,{httpStatus:i,requestType:t.requestType,requestParameter:t.data,responseData:null});this.renderModel.set("state",c.DONE),this.trigger("response",o),o.isStopped()||(this.trigger("errorResponse",o),o.isStopped()||n.readyState>1&&alert(u.get("errorResponse")))}});e.exports=m},function(e,t,n){"use strict";var i=n(9),o=i.Router.extend({initialize:function(e){this.net=e.net},routes:{"read/:queryStr":"read"}});e.exports=o},function(e,t,n){"use strict";var i=n(11),o=n(6),s=n(7),a={setInput:{_changeToStringInArray:function(e){return o.each(e,function(t,n){e[n]=String(t)}),e},radio:function(e,t){e.checked=e.value===t},checkbox:function(e,t){o.isArray(t)?e.checked=i.inArray(e.value,this._changeToStringInArray(t))!==-1:e.checked=e.value===t},"select-one":function(e,t){var n=s.toArray(e.options);e.selectedIndex=o.findIndex(n,function(e){return e.value===t||e.text===t})},"select-multiple":function(e,t){var n=s.toArray(e.options);o.isArray(t)?(t=this._changeToStringInArray(t),o.each(n,function(e){e.selected=i.inArray(e.value,t)!==-1||i.inArray(e.text,t)!==-1})):this["select-one"].apply(this,arguments)},defaultAction:function(e,t){e.value=t}},getFormData:function(e){var t={},n=e.serializeArray(),i=s.isExisty;return o.each(n,function(e){var n=e.value||"",o=e.name;i(t[o])?t[o]=[].concat(t[o],n):t[o]=n}),t},getFormElement:function(e,t){var n;return e&&e.length&&(n=t?e.prop("elements")[String(t)]:e.prop("elements")),i(n)},setFormData:function(e,t){o.each(t,function(t,n){this.setFormElementValue(e,n,t)},this)},setFormElementValue:function(e,t,n){var i,a=this.getFormElement(e,t);a.length&&(o.isArray(n)||(n=String(n)),a=s.isHTMLTag(a)?[a]:a,a=s.toArray(a),o.each(a,function(e){i=this.setInput[e.type]?e.type:"defaultAction",this.setInput[i](e,n)},this))},setCursorToEnd:function(e){var t,n=e.value.length;if(e.focus(),e.setSelectionRange)try{e.setSelectionRange(n,n)}catch(e){}else if(e.createTextRange){t=e.createTextRange(),t.collapse(!0),t.moveEnd("character",n),t.moveStart("character",n);try{t.select()}catch(e){}}}};e.exports=a},function(e,t,n){"use strict";var i=n(11),o=n(7),s={pagination:null},a=o.defineClass({init:function(e){this.optionsMap=i.extend(!0,s,e),this.instanceMap={}},getInstance:function(e){return this.instanceMap[e]},setInstance:function(e,t){this.instanceMap[e]=t},getOptions:function(e){return this.optionsMap[e]}});e.exports=a},function(e,t,n){"use strict";function i(e){var t=[r.grid(e.grid),r.scrollbar(e.scrollbar),r.heightResizeHandle(e.heightResizeHandle),r.pagination(e.pagination),r.selection(e.selection)],n=e.cell;return n&&(t=t.concat([r.cell(n.normal),r.cellDummy(n.dummy),r.cellEditable(n.editable),r.cellHead(n.head),r.cellOddRow(n.oddRow),r.cellEvenRow(n.evenRow),r.cellRequired(n.required),r.cellDisabled(n.disabled),r.cellInvalid(n.invalid),r.cellCurrentRow(n.currentRow),r.cellSelectedHead(n.selectedHead),r.cellFocused(n.focused),r.cellFocusedInactive(n.focusedInactive)])),t.join("")}function o(e){var t=i(e);s("#"+d).remove(),a.appendStyleElement(d,t)}var s=n(11),a=n(20),r=n(79),l=n(14).themeName,d="tui-grid-theme-style",u={};u[l.DEFAULT]=n(81),u[l.STRIPED]=n(82),u[l.CLEAN]=n(83),e.exports={apply:function(e,t){var n=u[e];n||(n=u[l.DEFAULT]),n=s.extend(!0,{},n,t),o(n)},isApplied:function(){return 1===s("#"+d).length}}},function(e,t,n){"use strict";function i(e,t){return l(e).bg(t.background).text(t.text).build()}function o(e,t){return l(e).bg(t.background).border(t.border).build()}var s=n(6),a=n(80),r=n(22),l=s.bind(a.createClassRule,a);e.exports={grid:function(e){var t=l(r.CONTAINER).bg(e.background).text(e.text),n=l(r.CONTENT_AREA).border(e.border),i=l(r.TABLE).border(e.border),o=l(r.HEAD_AREA).border(e.border),s=l(r.SUMMARY_AREA).border(e.border),d=l(r.BORDER_LINE).bg(e.border),u=l(r.SCROLLBAR_HEAD).border(e.border),h=l(r.SCROLLBAR_BORDER).bg(e.border),c=l(r.SUMMARY_AREA_RIGHT).border(e.border);return a.buildAll([t,n,i,o,s,d,u,h,c])},scrollbar:function(e){var t=a.createWebkitScrollbarRules("."+r.CONTAINER,e),n=a.createIEScrollbarRule("."+r.CONTAINER,e),i=l(r.SCROLLBAR_RIGHT_BOTTOM).bg(e.background),o=l(r.SCROLLBAR_LEFT_BOTTOM).bg(e.background),s=l(r.SCROLLBAR_HEAD).bg(e.background),d=l(r.SUMMARY_AREA_RIGHT).bg(e.background),u=l(r.BODY_AREA).bg(e.background);return a.buildAll(t.concat([n,i,o,s,d,u]))},heightResizeHandle:function(e){return o(r.HEIGHT_RESIZE_HANDLE,e)},pagination:function(e){return o(r.PAGINATION,e)},selection:function(e){return o(r.LAYER_SELECTION,e)},cell:function(e){var t=l(r.CELL).bg(e.background).border(e.border).borderWidth(e).text(e.text);return t.build()},cellHead:function(e){var t=l(r.CELL_HEAD).bg(e.background).border(e.border).borderWidth(e).text(e.text),n=l(r.HEAD_AREA).bg(e.background),i=l(r.SUMMARY_AREA).bg(e.background);return a.buildAll([t,n,i])},cellEvenRow:function(e){return l(r.ROW_EVEN+">td").bg(e.background).build()},cellOddRow:function(e){return l(r.ROW_ODD+">td").bg(e.background).build()},cellSelectedHead:function(e){return a.create("."+r.CELL_HEAD+"."+r.CELL_SELECTED).bg(e.background).text(e.text).build()},cellFocused:function(e){var t=l(r.LAYER_FOCUS_BORDER).bg(e.border),n=l(r.LAYER_EDITING).border(e.border);return a.buildAll([t,n])},cellFocusedInactive:function(e){return a.create("."+r.LAYER_FOCUS_DEACTIVE+" ."+r.LAYER_FOCUS_BORDER).bg(e.border).build()},cellEditable:function(e){return i(r.CELL_EDITABLE,e)},cellRequired:function(e){return i(r.CELL_REQUIRED,e)},cellDisabled:function(e){return i(r.CELL_DISABLED,e)},cellDummy:function(e){return i(r.CELL_DUMMY,e)},cellInvalid:function(e){return i(r.CELL_INVALID,e)},cellCurrentRow:function(e){return i(r.CELL_CURRENT_ROW,e)}}},function(e,t,n){"use strict";var i=n(6),o=n(7),s=o.defineClass({init:function(e){if(!i.isString(e)||!e)throw new Error("The Selector must be a string and not be empty.");this._selector=e,this._propValues=[]},add:function(e,t){return t&&this._propValues.push(e+":"+t),this},border:function(e){return this.add("border-color",e)},borderWidth:function(e){var t,n=e.showVerticalBorder,o=e.showHorizontalBorder;return i.isBoolean(n)&&(t=n?"1px":"0",this.add("border-left-width",t).add("border-right-width",t)),i.isBoolean(o)&&(t=o?"1px":"0",this.add("border-top-width",t).add("border-bottom-width",t)),this},bg:function(e){return this.add("background-color",e)},text:function(e){return this.add("color",e)},build:function(){var e="";return this._propValues.length&&(e=this._selector+"{"+this._propValues.join(";")+"}"),e}});e.exports={create:function(e){return new s(e)},createClassRule:function(e){return this.create("."+e)},createWebkitScrollbarRules:function(e,t){return[this.create(e+" ::-webkit-scrollbar").bg(t.background),this.create(e+" ::-webkit-scrollbar-thumb").bg(t.thumb),this.create(e+" ::-webkit-scrollbar-thumb:hover").bg(t.active)]},createIEScrollbarRule:function(e,t){var n=["scrollbar-3dlight-color","scrollbar-darkshadow-color","scrollbar-track-color","scrollbar-shadow-color"],o=["scrollbar-face-color","scrollbar-highlight-color"],s=this.create(e);return i.each(n,function(e){s.add(e,t.background)}),i.each(o,function(e){s.add(e,t.thumb)}),s.add("scrollbar-arrow-color",t.active),s},buildAll:function(e){return i.map(e,function(e){return e.build()}).join("")}}},function(e,t){"use strict";e.exports={grid:{background:"#fff",border:"#ccc",text:"#444"},selection:{background:"#4daaf9",border:"#004082"},heightResizeHandle:{border:"#ccc",background:"#fff"},pagination:{border:"transparent",background:"transparent"},scrollbar:{background:"#f5f5f5",thumb:"#d9d9d9",active:"#c1c1c1"},cell:{normal:{background:"#fbfbfb",border:"#e0e0e0",showVerticalBorder:!0,showHorizontalBorder:!0},head:{background:"#eee",border:"#ccc",showVerticalBorder:!0,showHorizontalBorder:!0},selectedHead:{background:"#d8d8d8"},focused:{border:"#418ed4"},focusedInactive:{border:"#aaa"},required:{background:"#fffdeb"},editable:{background:"#fff"},disabled:{text:"#b0b0b0"},dummy:{background:"#fff"},invalid:{background:"#ff8080"},evenRow:{},oddRow:{},currentRow:{}}}},function(e,t,n){"use strict";var i=n(11),o=n(81);e.exports=i.extend(!0,{},o,{cell:{normal:{background:"#fff",border:"#e8e8e8",showVerticalBorder:!1,showHorizontalBorder:!1},oddRow:{background:"#f3f3f3"},evenRow:{background:"#fff"},head:{background:"#fff",showVerticalBorder:!1,showHorizontalBorder:!1}}})},function(e,t,n){"use strict";var i=n(11),o=n(81);e.exports=i.extend(!0,{},o,{grid:{border:"#c0c0c0"},cell:{normal:{background:"#fff",border:"#e0e0e0",showVerticalBorder:!1,showHorizontalBorder:!0},head:{background:"#fff",border:"#e0e0e0",showVerticalBorder:!1,showHorizontalBorder:!0},selectedHead:{background:"#e0e0e0"}}})}])}); \ No newline at end of file