{"version":3,"sources":["AX6UIGrid_header.js"],"names":["_jqmin","require","_AX6Util","_AX6UIGrid_util","_AX6UIGrid_body","_AX6UIGrid_data","columnResizerEvent","on","_columnResizer","_colIndex","self","this","columnResizerPositionLeft","$","offset","left","gridTargetOffsetLeft","xvar","columnResizerIndex","resizeRange","min","colGroup","_width","max","width","_jqmin2","default","document","body","_AX6UIGrid_util2","ENM","instanceId","e","mouseObj","getMousePosition","__da","clientX","mousePosition","addClass","$columnResizer","css","off","call","_AX6Util2","stopEvent","removeClass","setColumnWidth","attr","removeAttr","columnResizerLived","init","key","getAttribute","colIndex","col","selected","selectAll","isNothing","sortable","sortFixed","config","toggleSort","_AX6UIGrid_body2","blur","Number","resetFrozenColumn","cfg","divideTableByFrozenColumnIndex","headerTable","frozenColumnIndex","asideHeaderData","dataTable","dividedHeaderObj","rows","length","i","data","cols","colspan","_col","rowspan","lineNumberColumnWidth","label","push","columnAttr","extend","rowSelectorColumnWidth","asideColGroup","leftHeaderData","leftData","headerData","rightData","getFieldValue","_reset","repaint","undefined","virtualPaintStartRowIndex","paintStartRowIndex","headerAlign","header","align","slice","repaintHeader","_elTarget","_colGroup","_bodyRow","leftHeaderColGroup","SS","tableWidth","cgl","cgi","tri","trl","ci","cl","trCSS_class","columnHeight","columnBorderWidth","rowIndex","isFunction","tdCSS_class","headerStyleClass","column","lineHeight","cellHeight","_SS","colAlign","sort","enableFilter","resizerHeight","resizerLeft","AS","asidePanelWidth","scrollContentWidth","panel","seq","headerColGroup","rightSum","scrollTo","sortOrder","sortInfo","k","fixed","l","multiSort","applySortStatus","_sortInfo","orderBy","setColumnSort","getHeader","_key","select","_options","dindex","updateRowState","getExcelString","join"],"mappings":"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","file":"AX6UIGrid_header.js","sourcesContent":["import jQuery from \"jqmin\";\nimport U from \"../AX6Util\";\nimport UTIL from \"./AX6UIGrid_util\";\nimport BODY from \"./AX6UIGrid_body\";\nimport DATA from \"./AX6UIGrid_data\";\n\nconst columnResizerEvent = {\n  \"on\": function (_columnResizer, _colIndex) {\n    var self = this;\n    var $columnResizer = $(_columnResizer);\n    var columnResizerPositionLeft = $columnResizer.offset().left;\n    var gridTargetOffsetLeft = self.$[\"container\"][\"root\"].offset().left;\n    self.xvar.columnResizerIndex = _colIndex;\n    var resizeRange = {\n      min: -self.colGroup[_colIndex]._width + 2,\n      max: self.$[\"container\"][\"root\"].width() - self.colGroup[_colIndex]._width,\n    };\n\n    jQuery(document.body)\n      .on(UTIL.ENM[\"mousemove\"] + \".ax5grid-\" + this.instanceId, function (e) {\n        var mouseObj = UTIL.getMousePosition(e);\n        self.xvar.__da = mouseObj.clientX - self.xvar.mousePosition.clientX;\n\n        if (resizeRange.min > self.xvar.__da) {\n          self.xvar.__da = resizeRange.min;\n        } else if (resizeRange.max < self.xvar.__da) {\n          self.xvar.__da = resizeRange.max;\n        }\n\n        if (!self.xvar.columnResizerLived) {\n          self.$[\"resizer\"][\"horizontal\"].addClass(\"live\");\n        }\n        self.xvar.columnResizerLived = true;\n        self.$[\"resizer\"][\"horizontal\"].css({\n          left: columnResizerPositionLeft + self.xvar.__da - gridTargetOffsetLeft\n        });\n      })\n      .on(UTIL.ENM[\"mouseup\"] + \".ax5grid-\" + this.instanceId, function (e) {\n        columnResizerEvent.off.call(self);\n        U.stopEvent(e);\n      })\n      .on(\"mouseleave.ax5grid-\" + this.instanceId, function (e) {\n        columnResizerEvent.off.call(self);\n        U.stopEvent(e);\n      });\n\n    jQuery(document.body)\n      .attr('unselectable', 'on')\n      .css('user-select', 'none')\n      .on('selectstart', false);\n  },\n  \"off\": function () {\n    this.$[\"resizer\"][\"horizontal\"].removeClass(\"live\");\n    this.xvar.columnResizerLived = false;\n\n    if (typeof this.xvar.__da === \"undefined\") {\n\n    }\n    else {\n      this.setColumnWidth(this.colGroup[this.xvar.columnResizerIndex]._width + this.xvar.__da, this.xvar.columnResizerIndex);\n    }\n\n    jQuery(document.body)\n      .off(UTIL.ENM[\"mousemove\"] + \".ax5grid-\" + this.instanceId)\n      .off(UTIL.ENM[\"mouseup\"] + \".ax5grid-\" + this.instanceId)\n      .off(\"mouseleave.ax5grid-\" + this.instanceId);\n\n    jQuery(document.body)\n      .removeAttr('unselectable')\n      .css('user-select', 'auto')\n      .off('selectstart');\n  }\n};\n\nconst init = function () {\n  // 헤더 초기화\n  const self = this;\n\n  this.$[\"container\"][\"header\"].on(\"click\", '[data-ax6grid-column-attr]', function (e) {\n    let key = this.getAttribute(\"data-ax6grid-column-key\"),\n      colIndex = this.getAttribute(\"data-ax6grid-column-colindex\"),\n      //rowIndex = this.getAttribute(\"data-ax6grid-column-rowindex\"),\n      col = self.colGroup[colIndex];\n\n    if (key === \"__checkbox_header__\") {\n      let selected = this.getAttribute(\"data-ax6grid-selected\");\n      selected = (U.isNothing(selected)) ? true : (selected !== \"true\");\n\n      $(this).attr(\"data-ax6grid-selected\", selected);\n      self.selectAll({selected: selected});\n\n      selected = null;\n    }\n    else {\n      if (key && col && col.sortable !== false && !col.sortFixed) {\n        if (col.sortable === true || self.config.sortable === true) {\n          toggleSort.call(self, col.key);\n        }\n      }\n    }\n\n    BODY.blur.call(self);\n\n    key = null;\n    colIndex = null;\n    col = null;\n  });\n  this.$[\"container\"][\"header\"]\n    .on(\"mousedown\", '[data-ax6grid-column-resizer]', function (e) {\n      let colIndex = this.getAttribute(\"data-ax6grid-column-resizer\");\n\n      self.xvar.mousePosition = UTIL.getMousePosition(e);\n      columnResizerEvent.on.call(self, this, Number(colIndex));\n      U.stopEvent(e);\n\n      colIndex = null;\n    })\n    .on(\"dragstart\", function (e) {\n      U.stopEvent(e);\n      return false;\n    });\n\n  resetFrozenColumn.call(this);\n};\n\nconst resetFrozenColumn = function () {\n  let cfg = this.config,\n    dividedHeaderObj = UTIL.divideTableByFrozenColumnIndex(this.headerTable, this.xvar.frozenColumnIndex);\n\n  this.asideHeaderData = (function (dataTable) {\n    let colGroup = [];\n    let data = {rows: []};\n    for (let i = 0, l = dataTable.rows.length; i < l; i++) {\n      data.rows[i] = {cols: []};\n      if (i === 0) {\n        let col = {\n          label: \"\",\n          colspan: 1,\n          rowspan: dataTable.rows.length,\n          colIndex: null\n        }, _col = {};\n\n        if (cfg.showLineNumber) {\n          _col = jQuery.extend({}, col, {\n            width: cfg.lineNumberColumnWidth,\n            _width: cfg.lineNumberColumnWidth,\n            columnAttr: \"lineNumber\",\n            key: \"__index_header__\", label: \"&nbsp;\"\n          });\n          colGroup.push(_col);\n          data.rows[i].cols.push(_col);\n        }\n        if (cfg.showRowSelector) {\n          _col = jQuery.extend({}, col, {\n            width: cfg.rowSelectorColumnWidth,\n            _width: cfg.rowSelectorColumnWidth,\n            columnAttr: \"rowSelector\",\n            key: \"__checkbox_header__\", label: \"\"\n          });\n          colGroup.push(_col);\n          data.rows[i].cols.push(_col);\n        }\n\n        col = null;\n      }\n    }\n\n    this.asideColGroup = colGroup;\n    return data;\n  }).call(this, this.headerTable);\n\n  this.leftHeaderData = dividedHeaderObj.leftData;\n  this.headerData = dividedHeaderObj.rightData;\n};\n\nconst getFieldValue = function (_col) {\n  return (_col.key === \"__checkbox_header__\")\n    ? `<div class=\"checkBox\" style=\"max-height: ${_col.width - 10}px;min-height: ${_col.width - 10}px;\"></div>`\n    : (_col.label || \"&nbsp;\");\n};\n\nconst repaint = function (_reset) {\n  let cfg = this.config,\n    colGroup = this.colGroup;\n\n  if (_reset) {\n    resetFrozenColumn.call(this);\n    this.xvar.paintStartRowIndex = undefined;\n    this.xvar.virtualPaintStartRowIndex = undefined; // 스크롤 포지션 저장변수 초기화\n  }\n  let asideHeaderData = this.asideHeaderData,\n    leftHeaderData = this.leftHeaderData,\n    headerData = this.headerData,\n    headerAlign = cfg.header.align;\n\n  // this.asideColGroup : asideHeaderData에서 처리 함.\n  this.leftHeaderColGroup = colGroup.slice(0, this.config.frozenColumnIndex);\n  this.headerColGroup = colGroup.slice(this.config.frozenColumnIndex);\n\n  var repaintHeader = function (_elTarget, _colGroup, _bodyRow) {\n    let tableWidth = 0,\n      SS = [];\n    SS.push('<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">');\n    SS.push('<colgroup>');\n    for (var cgi = 0, cgl = _colGroup.length; cgi < cgl; cgi++) {\n      SS.push('<col style=\"width:' + _colGroup[cgi]._width + 'px;\"  />');\n      tableWidth += _colGroup[cgi]._width;\n    }\n    SS.push('<col  />');\n    SS.push('</colgroup>');\n\n    for (var tri = 0, trl = _bodyRow.rows.length; tri < trl; tri++) {\n      var trCSS_class = \"\";\n      SS.push('<tr class=\"' + trCSS_class + '\">');\n      for (var ci = 0, cl = _bodyRow.rows[tri].cols.length; ci < cl; ci++) {\n        var col = _bodyRow.rows[tri].cols[ci];\n        var cellHeight = cfg.header.columnHeight * col.rowspan - cfg.header.columnBorderWidth;\n        var colAlign = headerAlign || col.align;\n        SS.push('<td ',\n          'data-ax6grid-column-attr=\"' + (col.columnAttr || \"default\") + '\" ',\n          'data-ax6grid-column-row=\"' + tri + '\" ',\n          'data-ax6grid-column-col=\"' + ci + '\" ',\n          (function () {\n            return (typeof col.key !== \"undefined\") ? 'data-ax6grid-column-key=\"' + col.key + '\" ' : '';\n          })(),\n          'data-ax6grid-column-colindex=\"' + col.colIndex + '\" ',\n          'data-ax6grid-column-rowindex=\"' + col.rowIndex + '\" ',\n          'colspan=\"' + col.colspan + '\" ',\n          'rowspan=\"' + col.rowspan + '\" ',\n          'class=\"' + (function (_col) {\n            var tdCSS_class = \"\";\n            if (_col.headerStyleClass) {\n              if (U.isFunction(_col.headerStyleClass)) {\n                tdCSS_class += _col.headerStyleClass.call({\n                  column: _col,\n                  key: _col.key\n                }) + \" \";\n              } else {\n                tdCSS_class += _col.headerStyleClass + \" \";\n              }\n            }\n            if (cfg.header.columnBorderWidth) tdCSS_class += \"hasBorder \";\n            if (ci == cl - 1) tdCSS_class += \"isLastColumn \";\n            return tdCSS_class;\n          }).call(this, col) + '\" ',\n          'style=\"height: ' + cellHeight + 'px;min-height: 1px;\">');\n\n        SS.push((function () {\n          var lineHeight = (cfg.header.columnHeight - cfg.header.columnPadding * 2 - cfg.header.columnBorderWidth);\n          return '<span data-ax6grid-cellHolder=\"\" ' +\n            ((colAlign) ? 'data-ax6grid-text-align=\"' + colAlign + '\"' : '') +\n            ' style=\"height: ' + (cfg.header.columnHeight - cfg.header.columnBorderWidth) + 'px;line-height: ' + lineHeight + 'px;\">';\n        })(), (function () {\n          var _SS = \"\";\n\n          if (!U.isNothing(col.key) && !U.isNothing(col.colIndex) && (cfg.sortable === true || col.sortable === true) && col.sortable !== false) {\n            _SS += '<span data-ax6grid-column-sort=\"' + col.colIndex + '\" data-ax6grid-column-sort-order=\"' + (colGroup[col.colIndex].sort || \"\") + '\" />';\n          }\n          return _SS;\n        })(), getFieldValue.call(this, col), '</span>');\n\n        if (!U.isNothing(col.colIndex)) {\n          if (cfg.enableFilter) {\n            SS.push('<span data-ax6grid-column-filter=\"' + col.colIndex + '\" data-ax6grid-column-filter-value=\"\"  />');\n          }\n        }\n\n        SS.push('</td>');\n      }\n      SS.push('<td ',\n        'data-ax6grid-column-row=\"null\" ',\n        'data-ax6grid-column-col=\"null\" ',\n        'style=\"height: ' + (cfg.header.columnHeight) + 'px;min-height: 1px;\" ',\n        '></td>');\n      SS.push('</tr>');\n    }\n    SS.push('</table>');\n    _elTarget.html(SS.join(''));\n\n    /// append column-resizer\n    (function () {\n      let resizerHeight = cfg.header.columnHeight * _bodyRow.rows.length - cfg.header.columnBorderWidth,\n        resizerLeft = 0,\n        AS = [];\n\n      for (var cgi = 0, cgl = _colGroup.length; cgi < cgl; cgi++) {\n        var col = _colGroup[cgi];\n        if (!U.isNothing(col.colIndex)) {\n          //_colGroup[cgi]._width\n          resizerLeft += col._width;\n          AS.push('<div data-ax6grid-column-resizer=\"' + col.colIndex + '\" style=\"height:' + resizerHeight + 'px;left: ' + (resizerLeft - 4) + 'px;\"  />');\n        }\n      }\n      _elTarget.append(AS);\n    }).call(this);\n\n\n    return tableWidth;\n  };\n\n  if (cfg.asidePanelWidth > 0) {\n    repaintHeader.call(this, this.$.panel[\"aside-header\"], this.asideColGroup, asideHeaderData);\n  }\n  if (cfg.frozenColumnIndex > 0) {\n    repaintHeader.call(this, this.$.panel[\"left-header\"], this.leftHeaderColGroup, leftHeaderData);\n  }\n  this.xvar.scrollContentWidth = repaintHeader.call(this, this.$.panel[\"header-scroll\"], this.headerColGroup, headerData);\n\n  if (cfg.rightSum) {\n\n  }\n};\n\nconst scrollTo = function (css) {\n  this.$.panel[\"header-scroll\"].css(css);\n  return this;\n};\n\nconst toggleSort = function (_key) {\n  let sortOrder = \"\",\n    sortInfo = {},\n    seq = 0;\n\n  for (var k in this.sortInfo) {\n    if (this.sortInfo[k].fixed) {\n      sortInfo[k] = this.sortInfo[k];\n      seq++;\n    }\n  }\n\n  for (var i = 0, l = this.colGroup.length; i < l; i++) {\n    if (this.colGroup[i].key == _key) {\n      if (sortOrder == \"\") {\n        if (typeof this.colGroup[i].sort === \"undefined\") {\n          sortOrder = \"desc\";\n        }\n        else if (this.colGroup[i].sort === \"desc\") {\n          sortOrder = \"asc\";\n        }\n        else {\n          sortOrder = undefined;\n        }\n      }\n      this.colGroup[i].sort = sortOrder;\n    } else if (!this.config.multiSort) {\n      this.colGroup[i].sort = undefined;\n    }\n\n    if (typeof this.colGroup[i].sort !== \"undefined\") {\n      if (!sortInfo[this.colGroup[i].key]) {\n        sortInfo[this.colGroup[i].key] = {\n          seq: seq++,\n          orderBy: this.colGroup[i].sort\n        };\n      }\n    }\n  }\n\n  this.setColumnSort(sortInfo);\n  return this;\n};\n\nconst applySortStatus = function (_sortInfo) {\n  for (var i = 0, l = this.colGroup.length; i < l; i++) {\n    for (var _key in _sortInfo) {\n      if (this.colGroup[i].key == _key) {\n        this.colGroup[i].sort = _sortInfo[_key].orderBy;\n      }\n    }\n  }\n  return this;\n};\n\nconst select = function (_options) {\n  DATA.select.call(this, dindex, _options && _options.selected);\n  BODY.updateRowState.call(this, [\"selected\"], dindex);\n};\n\nconst getExcelString = function () {\n  let cfg = this.config,\n    colGroup = this.colGroup,\n    headerData = this.headerTable,\n    getHeader = function (_colGroup, _bodyRow) {\n      var SS = [];\n      //SS.push('<table border=\"1\">');\n      for (var tri = 0, trl = _bodyRow.rows.length; tri < trl; tri++) {\n        SS.push('<tr>');\n        for (var ci = 0, cl = _bodyRow.rows[tri].cols.length; ci < cl; ci++) {\n          var col = _bodyRow.rows[tri].cols[ci];\n          SS.push('<td ',\n            'colspan=\"' + col.colspan + '\" ',\n            'rowspan=\"' + col.rowspan + '\" ',\n            '>', getFieldValue.call(this, col), '</td>');\n        }\n        SS.push('</tr>');\n      }\n      //SS.push('</table>');\n\n      return SS.join('');\n    };\n\n  return getHeader.call(this, colGroup, headerData);\n};\n\nexport default {\n  init: init,\n  repaint: repaint,\n  scrollTo: scrollTo,\n  toggleSort: toggleSort,\n  applySortStatus: applySortStatus,\n  getExcelString: getExcelString\n};"]}