{"version":3,"sources":["AX6UIGrid_scroller.js"],"names":["_jqmin","require","_AX6Util","_AX6Info","_AX6UIGrid_util","_AX6UIGrid_header","_AX6UIGrid_body","moveout_timer","Date","getTime","convertScrollPosition","vertical","css","_var","_content_height","_panel_height","_scroller_height","_vertical_scroller_height","verticalScrollBarHeight","top","horizontal","_content_width","_panel_width","_scroller_width","_horizontal_scroller_width","horizontalScrollBarWidth","left","convertScrollBarPosition","_top","scrollPositon","call","this","_AX6UIGrid_body2","default","scrollTo","self","type","_left","_AX6UIGrid_header2","scrollBarMover","click","track","bar","e","trackBox","width","innerWidth","height","innerHeight","$","xvar","scrollContentHeight","scrollContentWidth","outerHeight","outerWidth","newTop","_AX6UIGrid_util2","getMousePosition","clientY","trackOffset","offset","barBox","clientX","getScrollerPosition","newLeft","on","barOffset","mouseObj","__da","mousePosition","_jqmin2","document","body","ENM","instanceId","off","removeAttr","scrollContentMover","wheel","delta","_body_scroll_position","position","body_panel_height","body_panel_width","_top_is_end","_left_is_end","x","y","callback","resize","getContentPosition","__x_da","__y_da","touchmoved","noRepaint","_AX6Util2","stopEvent","originalEvent","attr","margin","config","scroller","trackPadding","size","bind","target","getAttribute","E","wheelDelta","deltaY","deltaX","_AX6Info2","supportTouch","barMinSize","init"],"mappings":"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","file":"AX6UIGrid_scroller.js","sourcesContent":["import jQuery from \"jqmin\";\nimport U from \"../AX6Util\";\nimport info from \"../AX6Info\";\nimport UTIL from \"./AX6UIGrid_util\";\nimport HEADER from \"./AX6UIGrid_header\";\nimport BODY from \"./AX6UIGrid_body\";\n\nlet moveout_timer = (new Date()).getTime();\n\nconst convertScrollPosition = {\n  \"vertical\": function (css, _var) {\n    let _content_height = _var._content_height - _var._panel_height,\n      _scroller_height = _var._vertical_scroller_height - _var.verticalScrollBarHeight,\n      top = (_content_height * css.top) / _scroller_height;\n\n    if (top < 0) top = 0;\n    else if (_content_height < top) {\n      top = _content_height;\n    }\n    return {\n      top: -top\n    }\n  },\n  \"horizontal\": function (css, _var) {\n    let _content_width = _var._content_width - _var._panel_width,\n      _scroller_width = _var._horizontal_scroller_width - _var.horizontalScrollBarWidth,\n      left = (_content_width * css.left) / _scroller_width;\n\n    if (left < 0) left = 0;\n    else if (_content_width < left) {\n      left = _content_width;\n    }\n    return {\n      left: -left\n    }\n  }\n};\n\nconst convertScrollBarPosition = {\n  \"vertical\": function (_top, _var) {\n\n    let self = this,\n      type = \"vertical\",\n      _content_height = _var._content_height - _var._panel_height,\n      _scroller_height = _var._vertical_scroller_height - _var.verticalScrollBarHeight,\n      top = (_scroller_height * _top) / _content_height,\n      scrollPositon;\n\n    if (-top > _scroller_height) {\n      top = -_scroller_height;\n\n      scrollPositon = convertScrollPosition[type].call(this, {top: -top}, {\n        _content_width: _var._content_width,\n        _content_height: _var._content_height,\n        _panel_width: _var._panel_width,\n        _panel_height: _var._panel_height,\n        _horizontal_scroller_width: _var._horizontal_scroller_width,\n        _vertical_scroller_height: _var._vertical_scroller_height,\n        verticalScrollBarHeight: _var.verticalScrollBarHeight,\n        horizontalScrollBarWidth: _var.horizontalScrollBarWidth\n      });\n\n      BODY.scrollTo.call(self, scrollPositon);\n    }\n\n    return -top\n  },\n  \"horizontal\": function (_left, _var) {\n    let self = this,\n      type = \"horizontal\",\n      _content_width = _var._content_width - _var._panel_width,\n      _scroller_width = _var._horizontal_scroller_width - _var.horizontalScrollBarWidth,\n      left = (_scroller_width * _left) / _content_width,\n      scrollPositon;\n\n    if (-left > _scroller_width) {\n      left = -_scroller_width;\n      scrollPositon = convertScrollPosition[type].call(this, {left: -left}, {\n        _content_width: _var._content_width,\n        _content_height: _var._content_height,\n        _panel_width: _var._panel_width,\n        _panel_height: _var._panel_height,\n        _horizontal_scroller_width: _var._horizontal_scroller_width,\n        _vertical_scroller_height: _var._vertical_scroller_height,\n        verticalScrollBarHeight: _var.verticalScrollBarHeight,\n        horizontalScrollBarWidth: _var.horizontalScrollBarWidth\n      });\n\n      HEADER.scrollTo.call(self, scrollPositon);\n      BODY.scrollTo.call(self, scrollPositon);\n    }\n\n    return -left\n  }\n};\n\nconst scrollBarMover = {\n  \"click\": function (track, bar, type, e) {\n\n    // 마우스 무브 완료 타임과 클릭타임 차이가 20 보다 작으면 클릭이벤트 막기.\n    if ((new Date()).getTime() - moveout_timer < 20) {\n      return false;\n    }\n\n    let self = this,\n      trackOffset = track.offset(),\n      barBox = {\n        width: bar.outerWidth(), height: bar.outerHeight()\n      },\n      trackBox = {\n        width: track.innerWidth(), height: track.innerHeight()\n      },\n      _vertical_scroller_height = self.$[\"scroller\"][\"vertical\"].innerHeight(),\n      _panel_height = self.$[\"panel\"][\"body\"].height(),\n      _horizontal_scroller_width = self.$[\"scroller\"][\"horizontal\"].innerWidth(),\n      _panel_width = self.$[\"panel\"][\"body\"].width(),\n      _content_height = self.xvar.scrollContentHeight,\n      _content_width = self.xvar.scrollContentWidth,\n      verticalScrollBarHeight = self.$[\"scroller\"][\"vertical-bar\"].outerHeight(),\n      horizontalScrollBarWidth = self.$[\"scroller\"][\"horizontal-bar\"].outerWidth(),\n      getScrollerPosition = {\n        \"vertical\": function (e) {\n          let mouseObj = UTIL.getMousePosition(e);\n          // track을 벗어 나지 안도록 범위 체크\n          let newTop = mouseObj.clientY - trackOffset.top;\n          if (newTop < 0) {\n            newTop = 0;\n          }\n          else if ((newTop + barBox.height) > trackBox.height) {\n            newTop = trackBox.height - barBox.height;\n          }\n          return {top: newTop};\n        },\n        \"horizontal\": function (e) {\n          let mouseObj = UTIL.getMousePosition(e);\n          // track을 벗어 나지 안도록 범위 체크\n          let newLeft = mouseObj.clientX - trackOffset.left;\n          if (newLeft < 0) {\n            newLeft = 0;\n          }\n          else if ((newLeft + barBox.width) > trackBox.width) {\n            newLeft = trackBox.width - barBox.width;\n          }\n          return {left: newLeft};\n        }\n      },\n      css = getScrollerPosition[type](e);\n\n    bar.css(css);\n\n    let scrollPositon = convertScrollPosition[type].call(self, css, {\n      _content_width: _content_width,\n      _content_height: _content_height,\n      _panel_width: _panel_width,\n      _panel_height: _panel_height,\n      _horizontal_scroller_width: _horizontal_scroller_width,\n      _vertical_scroller_height: _vertical_scroller_height,\n      verticalScrollBarHeight: verticalScrollBarHeight,\n      horizontalScrollBarWidth: horizontalScrollBarWidth\n    });\n    if (type === \"horizontal\") HEADER.scrollTo.call(self, scrollPositon);\n    BODY.scrollTo.call(self, scrollPositon);\n\n    scrollPositon = null;\n  },\n  \"on\": function (track, bar, type, e) {\n    let self = this,\n      barOffset = bar.position(),\n      barBox = {\n        width: bar.outerWidth(), height: bar.outerHeight()\n      },\n      trackBox = {\n        width: track.innerWidth(), height: track.innerHeight()\n      },\n\n      _vertical_scroller_height = self.$[\"scroller\"][\"vertical\"].innerHeight(),\n      _panel_height = self.$[\"panel\"][\"body\"].height(),\n      _horizontal_scroller_width = self.$[\"scroller\"][\"horizontal\"].innerWidth(),\n      _panel_width = self.$[\"panel\"][\"body\"].width(),\n      _content_height = self.xvar.scrollContentHeight,\n      _content_width = self.xvar.scrollContentWidth,\n      verticalScrollBarHeight = self.$[\"scroller\"][\"vertical-bar\"].outerHeight(),\n      horizontalScrollBarWidth = self.$[\"scroller\"][\"horizontal-bar\"].outerWidth(),\n\n      getScrollerPosition = {\n        \"vertical\": function (e) {\n          var mouseObj = UTIL.getMousePosition(e);\n          self.xvar.__da = mouseObj.clientY - self.xvar.mousePosition.clientY;\n          // track을 벗어 나지 안도록 범위 체크\n          var newTop = barOffset.top + self.xvar.__da;\n          if (newTop < 0) {\n            newTop = 0;\n          }\n          else if ((newTop + barBox.height) > trackBox.height) {\n            newTop = trackBox.height - barBox.height;\n          }\n          return {top: newTop};\n        },\n        \"horizontal\": function (e) {\n          var mouseObj = UTIL.getMousePosition(e);\n          self.xvar.__da = mouseObj.clientX - self.xvar.mousePosition.clientX;\n          // track을 벗어 나지 안도록 범위 체크\n          var newLeft = barOffset.left + self.xvar.__da;\n          if (newLeft < 0) {\n            newLeft = 0;\n          }\n          else if ((newLeft + barBox.width) > trackBox.width) {\n            newLeft = trackBox.width - barBox.width;\n          }\n          return {left: newLeft};\n        }\n      };\n\n    self.xvar.__da = 0; // 이동량 변수 초기화 (계산이 잘못 될까바)\n\n    jQuery(document.body)\n      .on(UTIL.ENM[\"mousemove\"] + \".ax6grid-\" + this.instanceId, function (e) {\n        let css = getScrollerPosition[type](e);\n        bar.css(css);\n\n        let scrollPositon = convertScrollPosition[type].call(self, css, {\n          _content_width: _content_width,\n          _content_height: _content_height,\n          _panel_width: _panel_width,\n          _panel_height: _panel_height,\n          _horizontal_scroller_width: _horizontal_scroller_width,\n          _vertical_scroller_height: _vertical_scroller_height,\n          verticalScrollBarHeight: verticalScrollBarHeight,\n          horizontalScrollBarWidth: horizontalScrollBarWidth\n        });\n\n        if (type === \"horizontal\") HEADER.scrollTo.call(self, scrollPositon);\n\n        BODY.scrollTo.call(self, scrollPositon);\n      })\n      .on(UTIL.ENM[\"mouseup\"] + \".ax6grid-\" + this.instanceId, function (e) {\n        scrollBarMover.off.call(self);\n      })\n      .on(\"mouseleave.ax6grid-\" + this.instanceId, function (e) {\n        scrollBarMover.off.call(self);\n      });\n\n    jQuery(document.body)\n      .attr('unselectable', 'on')\n      .css('user-select', 'none')\n      .on('selectstart', false);\n  },\n  \"off\": function () {\n    moveout_timer = (new Date()).getTime();\n\n    jQuery(document.body)\n      .off(UTIL.ENM[\"mousemove\"] + \".ax6grid-\" + this.instanceId)\n      .off(UTIL.ENM[\"mouseup\"] + \".ax6grid-\" + this.instanceId)\n      .off(\"mouseleave.ax6grid-\" + this.instanceId);\n\n    jQuery(document.body)\n      .removeAttr('unselectable')\n      .css('user-select', 'auto')\n      .off('selectstart');\n  }\n};\n\nconst scrollContentMover = {\n  \"wheel\": function (delta) {\n    let self = this,\n      _body_scroll_position = self.$[\"panel\"][\"body-scroll\"].position(),\n      _panel_height = self.xvar.body_panel_height,\n      _panel_width = self.xvar.body_panel_width,\n      _content_height = self.xvar.scrollContentHeight,\n      _content_width = self.xvar.scrollContentWidth;\n\n    if (isNaN(_content_height) || isNaN(_content_width)) {\n      return false;\n    }\n\n    let newLeft, newTop,\n      _top_is_end = false,\n      _left_is_end = false;\n\n    newLeft = _body_scroll_position.left - delta.x;\n    newTop = _body_scroll_position.top - delta.y;\n\n    // newTop이 범위를 넘었는지 체크\n    if (newTop >= 0) {\n      newTop = 0;\n      _top_is_end = true;\n    } else if (newTop <= _panel_height - _content_height) {\n      newTop = _panel_height - _content_height;\n      if (newTop >= 0) newTop = 0;\n      _top_is_end = true;\n    } else {\n      if (delta.y == 0) _top_is_end = true;\n    }\n\n    // newLeft이 범위를 넘었는지 체크\n    if (newLeft >= 0) {\n      newLeft = 0;\n      _left_is_end = true;\n    } else if (newLeft <= _panel_width - _content_width) {\n      newLeft = _panel_width - _content_width;\n      if (newLeft >= 0) newLeft = 0;\n      _left_is_end = true;\n    } else {\n      if (delta.x == 0) _left_is_end = true;\n    }\n\n    HEADER.scrollTo.call(self, {left: newLeft});\n    BODY.scrollTo.call(self, {left: newLeft, top: newTop}, {\n      callback: function () {\n        resize.call(self);\n      }\n    });\n\n    return !_top_is_end || !_left_is_end;\n  },\n  \"on\": function () {\n    let self = this,\n      _body_scroll_position = self.$[\"panel\"][\"body-scroll\"].position(),\n      _panel_height = self.xvar.body_panel_height,\n      _panel_width = self.xvar.body_panel_width,\n      _content_height = self.xvar.scrollContentHeight,\n      _content_width = self.xvar.scrollContentWidth,\n      getContentPosition = function (e) {\n        let mouseObj = UTIL.getMousePosition(e), newLeft, newTop;\n\n        self.xvar.__x_da = mouseObj.clientX - self.xvar.mousePosition.clientX;\n        self.xvar.__y_da = mouseObj.clientY - self.xvar.mousePosition.clientY;\n\n        newLeft = _body_scroll_position.left + self.xvar.__x_da;\n        newTop = _body_scroll_position.top + self.xvar.__y_da;\n\n        // newTop이 범위를 넘었는지 체크\n        if (newTop >= 0) {\n          newTop = 0;\n        } else if (newTop <= _panel_height - _content_height) {\n          newTop = _panel_height - _content_height;\n          if (newTop >= 0) newTop = 0;\n        }\n\n        // newLeft이 범위를 넘었는지 체크\n        if (newLeft >= 0) {\n          newLeft = 0;\n        } else if (newLeft <= _panel_width - _content_width) {\n          newLeft = _panel_width - _content_width;\n          if (newLeft >= 0) newLeft = 0;\n        }\n\n        return {\n          left: newLeft, top: newTop\n        }\n      };\n\n    this.xvar.__x_da = 0; // 이동량 변수 초기화\n    this.xvar.__y_da = 0; // 계산이 잘못 될까바\n    this.xvar.touchmoved = false;\n\n    jQuery(document.body)\n      .on(\"touchmove\" + \".ax6grid-\" + this.instanceId, function (e) {\n        let css = getContentPosition(e);\n\n        resize.call(self);\n        HEADER.scrollTo.call(self, {left: css.left});\n        BODY.scrollTo.call(self, css, {noRepaint: \"noRepaint\"});\n        U.stopEvent(e.originalEvent);\n        self.xvar.touchmoved = true;\n      })\n      .on(\"touchend\" + \".ax6grid-\" + this.instanceId, function (e) {\n        if (self.xvar.touchmoved) {\n          let css = getContentPosition(e);\n\n          resize.call(self);\n          HEADER.scrollTo.call(self, {left: css.left});\n          BODY.scrollTo.call(self, css);\n          U.stopEvent(e.originalEvent);\n          scrollContentMover.off.call(self);\n        }\n      });\n\n    jQuery(document.body)\n      .attr('unselectable', 'on')\n      .css('user-select', 'none')\n      .on('selectstart', false);\n  },\n  \"off\": function () {\n\n    jQuery(document.body)\n      .off(\"touchmove\" + \".ax6grid-\" + this.instanceId)\n      .off(\"touchend\" + \".ax6grid-\" + 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  let self = this,\n    margin = this.config.scroller.trackPadding;\n\n  if (margin == 0) {\n    this.$[\"scroller\"][\"vertical-bar\"].css({width: this.config.scroller.size, left: -1});\n    this.$[\"scroller\"][\"horizontal-bar\"].css({height: this.config.scroller.size, top: -1});\n  } else {\n    this.$[\"scroller\"][\"vertical-bar\"].css({width: this.config.scroller.size - (margin + 1), left: margin / 2});\n    this.$[\"scroller\"][\"horizontal-bar\"].css({height: this.config.scroller.size - (margin + 1), top: margin / 2});\n  }\n\n  this.$[\"scroller\"][\"vertical-bar\"]\n    .on(UTIL.ENM[\"mousedown\"], (function (e) {\n      this.xvar.mousePosition = UTIL.getMousePosition(e);\n      scrollBarMover.on.call(this, this.$[\"scroller\"][\"vertical\"], this.$[\"scroller\"][\"vertical-bar\"], \"vertical\", e);\n    }).bind(this))\n    .on(\"dragstart\", function (e) {\n      U.stopEvent(e);\n      return false;\n    });\n\n  this.$[\"scroller\"][\"vertical\"]\n    .on(\"click\", (function (e) {\n      if (e.target.getAttribute(\"data-ax6grid-scroller\") == \"vertical\") {\n        scrollBarMover.click.call(this, this.$[\"scroller\"][\"vertical\"], this.$[\"scroller\"][\"vertical-bar\"], \"vertical\", e);\n      }\n    }).bind(this));\n\n  this.$[\"scroller\"][\"horizontal-bar\"]\n    .on(UTIL.ENM[\"mousedown\"], (function (e) {\n      this.xvar.mousePosition = UTIL.getMousePosition(e);\n      scrollBarMover.on.call(this, this.$[\"scroller\"][\"horizontal\"], this.$[\"scroller\"][\"horizontal-bar\"], \"horizontal\", e);\n    }).bind(this))\n    .on(\"dragstart\", function (e) {\n      U.stopEvent(e);\n      return false;\n    });\n\n  this.$[\"scroller\"][\"horizontal\"]\n    .on(\"click\", (function (e) {\n      if (e.target.getAttribute(\"data-ax6grid-scroller\") == \"horizontal\") {\n        scrollBarMover.click.call(this, this.$[\"scroller\"][\"horizontal\"], this.$[\"scroller\"][\"horizontal-bar\"], \"horizontal\", e);\n      }\n    }).bind(this));\n\n  this.$[\"container\"][\"body\"].on('mousewheel DOMMouseScroll', (function (e) {\n    let E = e.originalEvent, delta = {x: 0, y: 0};\n\n    if (E.detail) {\n      delta.y = E.detail * 10;\n    } else {\n      if (typeof E.deltaY === \"undefined\") {\n        delta.y = -E.wheelDelta;\n        delta.x = 0;\n      } else {\n        delta.y = E.deltaY;\n        delta.x = E.deltaX;\n      }\n    }\n\n    if (scrollContentMover.wheel.call(this, delta)) {\n      U.stopEvent(e);\n    }\n  }).bind(this));\n\n  if (info.supportTouch) {\n    this.$[\"container\"][\"body\"]\n      .on(\"touchstart\", '[data-ax6grid-panel]', function (e) {\n        self.xvar.mousePosition = UTIL.getMousePosition(e);\n        scrollContentMover.on.call(self);\n      });\n  }\n\n  this.xvar.body_panel_height = this.$[\"panel\"][\"body\"].height();\n  this.xvar.body_panel_width = this.$[\"panel\"][\"body\"].width();\n};\n\nconst resize = function () {\n  let _vertical_scroller_height = this.$[\"scroller\"][\"vertical\"].height(),\n    _horizontal_scroller_width = this.$[\"scroller\"][\"horizontal\"].width(),\n    _panel_height = this.$[\"panel\"][\"body\"].height(),\n    _panel_width = this.$[\"panel\"][\"body\"].width(),\n    _content_height = this.xvar.scrollContentHeight,\n    _content_width = this.xvar.scrollContentWidth,\n    verticalScrollBarHeight = _panel_height * _vertical_scroller_height / _content_height,\n    horizontalScrollBarWidth = _panel_width * _horizontal_scroller_width / _content_width;\n\n  if (verticalScrollBarHeight < this.config.scroller.barMinSize) verticalScrollBarHeight = this.config.scroller.barMinSize;\n  if (horizontalScrollBarWidth < this.config.scroller.barMinSize) horizontalScrollBarWidth = this.config.scroller.barMinSize;\n\n  this.$[\"scroller\"][\"vertical-bar\"].css({\n    top: convertScrollBarPosition.vertical.call(this, this.$.panel[\"body-scroll\"].position().top, {\n      _content_width: _content_width,\n      _content_height: _content_height,\n      _panel_width: _panel_width,\n      _panel_height: _panel_height,\n      _horizontal_scroller_width: _horizontal_scroller_width,\n      _vertical_scroller_height: _vertical_scroller_height,\n      verticalScrollBarHeight: verticalScrollBarHeight,\n      horizontalScrollBarWidth: horizontalScrollBarWidth\n    }),\n    height: verticalScrollBarHeight\n  });\n\n  this.$[\"scroller\"][\"horizontal-bar\"].css({\n    left: convertScrollBarPosition.horizontal.call(this, this.$.panel[\"body-scroll\"].position().left, {\n      _content_width: _content_width,\n      _content_height: _content_height,\n      _panel_width: _panel_width,\n      _panel_height: _panel_height,\n      _horizontal_scroller_width: _horizontal_scroller_width,\n      _vertical_scroller_height: _vertical_scroller_height,\n      verticalScrollBarHeight: verticalScrollBarHeight,\n      horizontalScrollBarWidth: horizontalScrollBarWidth\n    }),\n    width: horizontalScrollBarWidth\n  });\n\n  this.xvar.body_panel_height = _panel_height;\n  this.xvar.body_panel_width = _panel_width;\n\n  _vertical_scroller_height = null;\n  _horizontal_scroller_width = null;\n  _panel_height = null;\n  _panel_width = null;\n  _content_height = null;\n  _content_width = null;\n  verticalScrollBarHeight = null;\n  horizontalScrollBarWidth = null;\n};\n\n\nexport default {\n  // 타이머\n  moveout_timer: moveout_timer,\n  init: init,\n  resize: resize\n};"]}