{"version":3,"sources":["AX6UIModal.js"],"names":["_jqmin","require","_AX6UICore2","_AX6Util","_AX6Info","_AX6Mustache","tmpl","modal","clientX","clientY","mouseObj","mousemove","_AX6Info2","default","supportTouch","mouseup","getMousePosition","e","opts","that","changedTouches","eventProcessor","call","resize","onStateChanged","this","onResize","getContent","header","fullScreen","iframeLoadingMsg","disableResize","data","modalId","theme","iframe","param","styles","open","zIndex","$activeModal","ax5","util","_AX6Mustache2","callback","_this","_jqmin2","id","$","root","find","body","self","width","height","append","align","state","show","css","attr","method","action","url","on","closeToEsc","hide","onkeyup","window","event","bind","off","isButton","ENM","findParentNode","currentTarget","disableDrag","isFullScreen","mousePosition","moveModal","srcElement","target","getAttribute","_AX6Util2","stopEvent","originalEvent","k","key","dialogId","btnOnClick","alignProcessor","value","left","top","btnTarget","btns","onClick","keyCode","eventKeys","ESC","close","scrollTop","bottom-right","center-middle","modalOffset","__dx","_this2","modalZIndex","__dy","position","modalBox","maxY","outerHeight","windowBox","modalConfig","absolute","document","getResizerPosition","minX","maxX","$resizer","$resizerBg","minY","scrollLeft","setModalPosition","box","addClass","removeClass","instanceId","throttle","offset","resizeModal","resizerType","remove","resizerProcessor","minHeight","removeAttr","shiftKey","bottom","minWidth","altKey","right","top-left","top-right","bottom-left","cursorType","cursor","_this3","config","extend","headerHeight","margin","minimizePosition","clickEventName","animateTime","AX6UIModal","_classCallCheck","_this4","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","initialized","documentElement","queue","init","initOnce","$iframe","push","idoc","innerHTML","_option","setTimeout","iframeObject","length","contentDocument","contentWindow","children","each","CollectGarbage","minimized","isFunction","doNotCallback","shift","cfg","display","_config","originalHeight","undefined","_fullScreen"],"mappings":"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","file":"AX6UIModal.js","sourcesContent":["import jQuery from \"jqmin\";\nimport AX6UICore from \"./AX6UICore.js\";\nimport U from \"./AX6Util\";\nimport info from \"./AX6Info\";\nimport mustache from \"./AX6Mustache\";\n/* ~~~~~~~~~~~~~~~~~~ end of import  ~~~~~~~~~~~~~~~~~~~~ */\n\nlet tmpl = {\n  modal() {\n    return ` \n<div data-ax6ui-modal=\"{{modalId}}\" data-modal-els=\"root\" class=\"{{theme}} {{fullscreen}}\" style=\"{{styles}}\">\n    {{#header}}\n    <div class=\"ax-modal-header\" data-modal-els=\"header\">\n        {{{title}}}\n        {{#btns}}\n            <div class=\"ax-modal-header-addon\">\n            {{#@each}}\n            <button tabindex=\"-1\" data-modal-header-btn=\"{{@key}}\" class=\"{{@value.theme}}\">{{{@value.label}}}</button>\n            {{/@each}}\n            </div>\n        {{/btns}}\n    </div>\n    {{/header}}\n    <div class=\"ax-modal-body\" data-modal-els=\"body\">\n    {{#iframe}}\n        <div data-modal-els=\"iframe-wrap\" style=\"-webkit-overflow-scrolling: touch; overflow: auto;position: relative;\">\n            <table data-modal-els=\"iframe-loading\" style=\"width:100%;height:100%;\"><tr><td style=\"text-align: center;vertical-align: middle\">{{{iframeLoadingMsg}}}</td></tr></table>\n            <iframe name=\"{{modalId}}-frame\" src=\"\" width=\"100%\" height=\"100%\" frameborder=\"0\" data-modal-els=\"iframe\" style=\"position: absolute;left:0;top:0;\"></iframe>\n        </div>\n        <form name=\"{{modalId}}-form\" data-modal-els=\"iframe-form\">\n        <input type=\"hidden\" name=\"modalId\" value=\"{{modalId}}\" />\n        {{#param}}\n        {{#@each}}\n        <input type=\"hidden\" name=\"{{@key}}\" value=\"{{@value}}\" />\n        {{/@each}}\n        {{/param}}\n        </form>\n    {{/iframe}}\n    {{^iframe}}\n        <div data-modal-els=\"body-frame\" style=\"position: absolute;left:0;top:0;width:100%;height:100%;\"></div>\n    {{/iframe}}\n    </div>\n    {{^disableResize}}\n    <div data-ax6ui-modal-resizer=\"top\"></div>\n    <div data-ax6ui-modal-resizer=\"right\"></div>\n    <div data-ax6ui-modal-resizer=\"bottom\"></div>\n    <div data-ax6ui-modal-resizer=\"left\"></div>\n    <div data-ax6ui-modal-resizer=\"top-left\"></div>\n    <div data-ax6ui-modal-resizer=\"top-right\"></div>\n    <div data-ax6ui-modal-resizer=\"bottom-left\"></div>\n    <div data-ax6ui-modal-resizer=\"bottom-right\"></div>\n    {{/disableResize}}\n</div>`;\n  }\n};\nlet ENM = {\n  \"mousedown\": (info.supportTouch) ? \"touchstart\" : \"mousedown\",\n  \"mousemove\": (info.supportTouch) ? \"touchmove\" : \"mousemove\",\n  \"mouseup\": (info.supportTouch) ? \"touchend\" : \"mouseup\"\n};\n\nconst getMousePosition = function (e) {\n  let mouseObj = e;\n  if ('changedTouches' in e && e.changedTouches) {\n    mouseObj = e.changedTouches[0];\n  }\n  return {\n    clientX: mouseObj.clientX,\n    clientY: mouseObj.clientY\n  }\n};\nconst onStateChanged = function (opts, that) {\n  const eventProcessor = {\n    \"resize\": function (that) {\n      if (opts && opts.onResize) {\n        opts.onResize.call(that, that);\n      }\n      else if (this.onResize) {\n        this.onResize.call(that, that);\n      }\n    },\n    \"move\": function () {\n\n    }\n  };\n  if (that.state in eventProcessor) {\n    eventProcessor[that.state].call(this, that);\n  }\n\n  if (opts && opts.onStateChanged) {\n    opts.onStateChanged.call(that, that);\n  }\n  else if (this.onStateChanged) {\n    this.onStateChanged.call(that, that);\n  }\n  return true;\n};\nconst getContent = function (modalId, opts) {\n  let data = {\n    modalId: modalId,\n    theme: opts.theme,\n    header: opts.header,\n    fullScreen: (opts.fullScreen ? \"fullscreen\" : \"\"),\n    styles: \"\",\n    iframe: opts.iframe,\n    iframeLoadingMsg: opts.iframeLoadingMsg,\n    disableResize: opts.disableResize\n  };\n\n  if (opts.zIndex) {\n    data.styles += \"z-index:\" + opts.zIndex + \";\";\n  }\n  if (opts.absolute) {\n    data.styles += \"position:absolute;\";\n  }\n\n  if (data.iframe && typeof data.iframe.param === \"string\") {\n    data.iframe.param = ax5.util.param(data.iframe.param);\n  }\n\n  return mustache.render(tmpl.modal.call(this), data);\n};\nconst open = function (opts, callback) {\n  let that;\n\n  this.modalConfig = opts;\n  this.$activeModal = jQuery(getContent.call(this, opts.id, opts));\n\n  if (typeof callback === \"undefined\") {\n    callback = opts.callback;\n  }\n\n  // 파트수집\n  this.$ = {\n    \"root\": this.$activeModal,\n    \"header\": this.$activeModal.find('[data-modal-els=\"header\"]'),\n    \"body\": this.$activeModal.find('[data-modal-els=\"body\"]')\n  };\n\n  if (opts.iframe) {\n    this.$[\"iframe-wrap\"] = this.$activeModal.find('[data-modal-els=\"iframe-wrap\"]');\n    this.$[\"iframe\"] = this.$activeModal.find('[data-modal-els=\"iframe\"]');\n    this.$[\"iframe-form\"] = this.$activeModal.find('[data-modal-els=\"iframe-form\"]');\n    this.$[\"iframe-loading\"] = this.$activeModal.find('[data-modal-els=\"iframe-loading\"]');\n  }\n  else {\n    this.$[\"body-frame\"] = this.$activeModal.find('[data-modal-els=\"body-frame\"]');\n  }\n\n  jQuery(document.body).append(this.$activeModal);\n  //- position 정렬\n  this.align();\n\n  that = {\n    self: this,\n    id: opts.id,\n    theme: opts.theme,\n    width: opts.width,\n    height: opts.height,\n    state: \"open\",\n    $: this.$\n  };\n\n  if (opts.iframe) {\n    this.$[\"iframe-wrap\"].css({height: opts.height});\n    this.$[\"iframe\"].css({height: opts.height});\n\n    // iframe content load\n    this.$[\"iframe-form\"].attr({\"method\": opts.iframe.method});\n    this.$[\"iframe-form\"].attr({\"target\": opts.id + \"-frame\"});\n    this.$[\"iframe-form\"].attr({\"action\": opts.iframe.url});\n    this.$[\"iframe\"].on(\"load\", (function () {\n      that.state = \"load\";\n      if (opts.iframeLoadingMsg) {\n        this.$[\"iframe-loading\"].hide();\n      }\n      onStateChanged.call(this, opts, that);\n    }).bind(this));\n    if (!opts.iframeLoadingMsg) {\n      this.$[\"iframe\"].show();\n    }\n    this.$[\"iframe-form\"].submit();\n  }\n\n  if (callback) callback.call(that, that);\n\n  onStateChanged.call(this, opts, that);\n\n  // bind key event\n  if (opts.closeToEsc) {\n    jQuery(window).on(\"keydown.ax-modal\", e => {\n      onkeyup.call(this, e || window.event);\n    });\n  }\n\n  jQuery(window).on(\"resize.ax-modal\", e => {\n    this.align(null, e || window.event);\n  });\n\n  this.$.header\n    .off(ENM[\"mousedown\"])\n    .off(\"dragstart\")\n    .on(ENM[\"mousedown\"], e => {\n      /// 이벤트 필터링 추가 : 버튼엘리먼트로 부터 발생된 이벤트이면 moveModal 시작하지 않도록 필터링\n      let isButton = U.findParentNode(e.currentTarget, function (_target) {\n        if (_target.getAttribute(\"data-modal-header-btn\")) {\n          return true;\n        }\n      });\n\n      if (!opts.isFullScreen && !isButton && opts.disableDrag != true) {\n        this.mousePosition = getMousePosition(e);\n        moveModal.on.call(this);\n      }\n      if (isButton) {\n        btnOnClick.call(this, e || window.event, opts);\n      }\n    })\n    .on(\"dragstart\", e => {\n      U.stopEvent(e.originalEvent);\n      return false;\n    });\n\n  this.$activeModal\n    .off(ENM[\"mousedown\"])\n    .off(\"dragstart\")\n    .on(ENM[\"mousedown\"], \"[data-ax6ui-modal-resizer]\", e => {\n      if (opts.disableDrag || opts.isFullScreen) return false;\n      this.mousePosition = getMousePosition(e);\n      resizeModal.on.call(this, e.currentTarget.getAttribute(\"data-ax6ui-modal-resizer\"));\n    })\n    .on(\"dragstart\", e => {\n      U.stopEvent(e.originalEvent);\n      return false;\n    });\n};\nconst btnOnClick = function (e, opts, callback, target, k) {\n  let that;\n  if (e.srcElement) e.target = e.srcElement;\n\n  target = U.findParentNode(e.target, function (target) {\n    if (target.getAttribute(\"data-modal-header-btn\")) {\n      return true;\n    }\n  });\n\n  if (target) {\n    k = target.getAttribute(\"data-modal-header-btn\");\n\n    that = {\n      self: this,\n      key: k, value: opts.header.btns[k],\n      dialogId: opts.id,\n      btnTarget: target\n    };\n\n    if (opts.header.btns[k].onClick) {\n      opts.header.btns[k].onClick.call(that, that);\n    }\n  }\n\n  that = null;\n  opts = null;\n  callback = null;\n  target = null;\n  k = null;\n};\nconst onkeyup = function (e) {\n  if (e.keyCode == info.eventKeys.ESC) {\n    this.close();\n  }\n};\nconst alignProcessor = {\n  \"top-left\": function () {\n    this.align({left: \"left\", top: \"top\"});\n  },\n  \"top-right\": function () {\n    this.align({left: \"right\", top: \"top\"});\n  },\n  \"bottom-left\": function () {\n    this.align({left: \"left\", top: \"bottom\"});\n  },\n  \"bottom-right\": function () {\n    this.align({left: \"right\", top: \"bottom\"});\n  },\n  \"center-middle\": function () {\n    this.align({left: \"center\", top: \"middle\"});\n  }\n};\nconst moveModal = {\n  \"on\": function () {\n    let modalZIndex = this.$activeModal.css(\"z-index\"),\n      modalOffset = this.$activeModal.position(),\n      modalBox = {\n        width: this.$activeModal.outerWidth(), height: this.$activeModal.outerHeight()\n      },\n      windowBox = {\n        width: jQuery(window).width(),\n        height: jQuery(window).height(),\n        scrollLeft: (this.modalConfig.absolute) ? 0 : jQuery(document).scrollLeft(),\n        scrollTop: (this.modalConfig.absolute) ? 0 : jQuery(document).scrollTop(),\n      },\n      getResizerPosition = function (e) {\n        this.__dx = e.clientX - this.mousePosition.clientX;\n        this.__dy = e.clientY - this.mousePosition.clientY;\n\n        if (minX > modalOffset.left + this.__dx) {\n          this.__dx = -modalOffset.left;\n        }\n        else if (maxX < modalOffset.left + this.__dx) {\n          this.__dx = (maxX) - modalOffset.left;\n        }\n\n        if (minY > modalOffset.top + this.__dy) {\n          this.__dy = -modalOffset.top;\n        }\n        else if (maxY < modalOffset.top + this.__dy) {\n          this.__dy = (maxY) - modalOffset.top;\n        }\n\n        return {\n          left: modalOffset.left + this.__dx + windowBox.scrollLeft,\n          top: modalOffset.top + this.__dy + windowBox.scrollTop\n        };\n      };\n\n    let minX = 0, maxX = windowBox.width - modalBox.width,\n      minY = 0, maxY = windowBox.height - modalBox.height;\n\n    this.__dx = 0; // 변화량 X\n    this.__dy = 0; // 변화량 Y\n\n    // this.$resizerBg : body 가 window보다 작을 때 문제 해결을 위한 DIV\n    this.$resizerBg.css({zIndex: modalZIndex});\n    this.$resizer.css({\n      left: modalOffset.left + windowBox.scrollLeft,\n      top: modalOffset.top + windowBox.scrollTop,\n      width: modalBox.width,\n      height: modalBox.height,\n      zIndex: modalZIndex + 1\n    });\n\n    jQuery(document.body)\n      .append(this.$resizerBg)\n      .append(this.$resizer);\n\n    this.$activeModal.addClass(\"draged\");\n\n    jQuery(document.body)\n      .on(ENM[\"mousemove\"] + \".ax6modal-move-\" + this.instanceId, U.throttle(function (e) {\n        this.$resizer.css(getResizerPosition.call(this, e));\n      }, 30).bind(this))\n      .on(ENM[\"mouseup\"] + \".ax6modal-move-\" + this.instanceId, e => {\n        moveModal.off.call(this);\n      })\n      .on(\"mouseleave.ax6modal-move-\" + this.instanceId, e => {\n        moveModal.off.call(this);\n      });\n\n    jQuery(document.body)\n      .attr('unselectable', 'on')\n      .css('user-select', 'none')\n      .on('selectstart', false);\n  },\n  \"off\": function () {\n    const setModalPosition = function () {\n      let box = this.$resizer.offset();\n      if (!this.modalConfig.absolute) {\n        box.left -= jQuery(document).scrollLeft();\n        box.top -= jQuery(document).scrollTop();\n      }\n      this.$activeModal.css(box);\n      this.modalConfig.left = box.left;\n      this.modalConfig.top = box.top;\n\n      box = null;\n    };\n\n    this.$activeModal.removeClass(\"draged\");\n    setModalPosition.call(this);\n\n    this.$resizer.remove();\n    this.$resizer = null;\n    this.$resizerBg.remove();\n    this.$resizerBg = null;\n\n    jQuery(document.body)\n      .off(ENM[\"mousemove\"] + \".ax6modal-move-\" + this.instanceId)\n      .off(ENM[\"mouseup\"] + \".ax6modal-move-\" + this.instanceId)\n      .off(\"mouseleave.ax6modal-move-\" + this.instanceId);\n\n    jQuery(document.body)\n      .removeAttr('unselectable')\n      .css('user-select', 'auto')\n      .off('selectstart');\n\n    onStateChanged.call(this, this.modalConfig, {\n      self: this,\n      state: \"move\"\n    });\n\n  }\n};\nconst resizeModal = {\n  \"on\": function (resizerType) {\n    let modalZIndex = this.$activeModal.css(\"z-index\"),\n      modalOffset = this.$activeModal.position(),\n      modalBox = {\n        width: this.$activeModal.outerWidth(), height: this.$activeModal.outerHeight()\n      },\n      windowBox = {\n        width: jQuery(window).width(),\n        height: jQuery(window).height(),\n        scrollLeft: (this.modalConfig.absolute) ? 0 : jQuery(document).scrollLeft(),\n        scrollTop: (this.modalConfig.absolute) ? 0 : jQuery(document).scrollTop(),\n      },\n      resizerProcessor = {\n        \"top\": function (e) {\n\n          if (minHeight > modalBox.height - this.__dy) {\n            this.__dy = modalBox.height - (minHeight);\n          }\n\n          if (e.shiftKey) {\n\n            if (minHeight > modalBox.height - (this.__dy * 2)) {\n              this.__dy = (modalBox.height - (minHeight)) / 2;\n            }\n\n            return {\n              left: modalOffset.left,\n              top: modalOffset.top + this.__dy,\n              width: modalBox.width,\n              height: modalBox.height - (this.__dy * 2)\n            };\n          }\n          else if (e.altKey) {\n\n            if (minHeight > modalBox.height - (this.__dy * 2)) {\n              this.__dy = (modalBox.height - (minHeight)) / 2;\n            }\n\n            return {\n              left: modalOffset.left + this.__dy,\n              top: modalOffset.top + this.__dy,\n              width: modalBox.width - (this.__dy * 2),\n              height: modalBox.height - (this.__dy * 2)\n            };\n          }\n          else {\n            return {\n              left: modalOffset.left,\n              top: modalOffset.top + this.__dy,\n              width: modalBox.width,\n              height: modalBox.height - this.__dy,\n            };\n          }\n        },\n        \"bottom\": function (e) {\n\n          if (minHeight > modalBox.height + this.__dy) {\n            this.__dy = -modalBox.height + (minHeight);\n          }\n\n          if (e.shiftKey) {\n\n            if (minHeight > modalBox.height + (this.__dy * 2)) {\n              this.__dy = (-modalBox.height + (minHeight)) / 2;\n            }\n\n            return {\n              left: modalOffset.left,\n              top: modalOffset.top - this.__dy,\n              width: modalBox.width,\n              height: modalBox.height + (this.__dy * 2)\n            };\n          }\n          else if (e.altKey) {\n\n            if (minHeight > modalBox.height + (this.__dy * 2)) {\n              this.__dy = (-modalBox.height + (minHeight)) / 2;\n            }\n\n            return {\n              left: modalOffset.left - this.__dy,\n              top: modalOffset.top - this.__dy,\n              width: modalBox.width + (this.__dy * 2),\n              height: modalBox.height + (this.__dy * 2),\n            };\n          }\n          else {\n            return {\n              left: modalOffset.left,\n              top: modalOffset.top,\n              width: modalBox.width,\n              height: modalBox.height + this.__dy,\n            };\n          }\n        },\n        \"left\": function (e) {\n\n          if (minWidth > modalBox.width - this.__dx) {\n            this.__dx = modalBox.width - (minWidth);\n          }\n\n          if (e.shiftKey) {\n\n            if (minWidth > modalBox.width - (this.__dx * 2)) {\n              this.__dx = (modalBox.width - (minWidth)) / 2;\n            }\n\n            return {\n              left: modalOffset.left + this.__dx,\n              top: modalOffset.top,\n              width: modalBox.width - (this.__dx * 2),\n              height: modalBox.height\n            };\n          }\n          else if (e.altKey) {\n\n            if (minWidth > modalBox.width - (this.__dx * 2)) {\n              this.__dx = (modalBox.width - (minWidth)) / 2;\n            }\n\n            return {\n              left: modalOffset.left + this.__dx,\n              top: modalOffset.top + this.__dx,\n              width: modalBox.width - (this.__dx * 2),\n              height: modalBox.height - (this.__dx * 2),\n            };\n          }\n          else {\n            return {\n              left: modalOffset.left + this.__dx,\n              top: modalOffset.top,\n              width: modalBox.width - this.__dx,\n              height: modalBox.height,\n            };\n          }\n        },\n        \"right\": function (e) {\n\n          if (minWidth > modalBox.width + this.__dx) {\n            this.__dx = -modalBox.width + (minWidth);\n          }\n\n          if (e.shiftKey) {\n\n            if (minWidth > modalBox.width + (this.__dx * 2)) {\n              this.__dx = (-modalBox.width + (minWidth)) / 2;\n            }\n\n            return {\n              left: modalOffset.left - this.__dx,\n              top: modalOffset.top,\n              width: modalBox.width + (this.__dx * 2),\n              height: modalBox.height,\n            };\n          }\n          else if (e.altKey) {\n\n            if (minWidth > modalBox.width + (this.__dx * 2)) {\n              this.__dx = (-modalBox.width + (minWidth)) / 2;\n            }\n\n            return {\n              left: modalOffset.left - this.__dx,\n              top: modalOffset.top - this.__dx,\n              width: modalBox.width + (this.__dx * 2),\n              height: modalBox.height + (this.__dx * 2),\n            };\n          }\n          else {\n            return {\n              left: modalOffset.left,\n              top: modalOffset.top,\n              width: modalBox.width + this.__dx,\n              height: modalBox.height,\n            };\n          }\n        },\n        \"top-left\": function (e) {\n\n          if (minWidth > modalBox.width - this.__dx) {\n            this.__dx = modalBox.width - (minWidth);\n          }\n\n          if (minHeight > modalBox.height - this.__dy) {\n            this.__dy = modalBox.height - (minHeight);\n          }\n\n          if (e.shiftKey || e.altKey) {\n\n            if (minHeight > modalBox.height - (this.__dy * 2)) {\n              this.__dy = (modalBox.height - (minHeight)) / 2;\n            }\n            if (minWidth > modalBox.width - (this.__dx * 2)) {\n              this.__dx = (modalBox.width - (minWidth)) / 2;\n            }\n\n            return {\n              left: modalOffset.left + this.__dx,\n              top: modalOffset.top + this.__dy,\n              width: modalBox.width - (this.__dx * 2),\n              height: modalBox.height - (this.__dy * 2),\n            };\n          }\n          else {\n\n            if (minHeight > modalBox.height - (this.__dy * 2)) {\n              this.__dy = (modalBox.height - (minHeight)) / 2;\n            }\n            if (minWidth > modalBox.width - (this.__dx * 2)) {\n              this.__dx = (modalBox.width - (minWidth)) / 2;\n            }\n\n            return {\n              left: modalOffset.left + this.__dx,\n              top: modalOffset.top + this.__dy,\n              width: modalBox.width - this.__dx,\n              height: modalBox.height - this.__dy,\n            };\n          }\n        },\n        \"top-right\": function (e) {\n\n          if (minWidth > modalBox.width + this.__dx) {\n            this.__dx = -modalBox.width + (minWidth);\n          }\n\n          if (minHeight > modalBox.height - this.__dy) {\n            this.__dy = modalBox.height - (minHeight);\n          }\n\n          if (e.shiftKey || e.altKey) {\n\n            if (minHeight > modalBox.height - (this.__dy * 2)) {\n              this.__dy = (modalBox.height - (minHeight)) / 2;\n            }\n            if (minWidth > modalBox.width + (this.__dx * 2)) {\n              this.__dx = (-modalBox.width + (minWidth)) / 2;\n            }\n\n            return {\n              left: modalOffset.left - this.__dx,\n              top: modalOffset.top + this.__dy,\n              width: modalBox.width + (this.__dx * 2),\n              height: modalBox.height - (this.__dy * 2),\n            };\n          }\n          else {\n            return {\n              left: modalOffset.left,\n              top: modalOffset.top + this.__dy,\n              width: modalBox.width + this.__dx,\n              height: modalBox.height - this.__dy,\n            };\n          }\n        },\n        \"bottom-left\": function (e) {\n\n          if (minWidth > modalBox.width - this.__dx) {\n            this.__dx = modalBox.width - (minWidth);\n          }\n\n          if (minHeight > modalBox.height + this.__dy) {\n            this.__dy = -modalBox.height + (minHeight);\n          }\n\n          if (e.shiftKey || e.altKey) {\n            if (minWidth > modalBox.width - (this.__dx * 2)) {\n              this.__dx = (modalBox.width - (minWidth)) / 2;\n            }\n            if (minHeight > modalBox.height + (this.__dy * 2)) {\n              this.__dy = (-modalBox.height + (minHeight)) / 2;\n            }\n            return {\n              left: modalOffset.left + this.__dx,\n              top: modalOffset.top - this.__dy,\n              width: modalBox.width - (this.__dx * 2),\n              height: modalBox.height + (this.__dy * 2),\n            };\n          }\n          else {\n            return {\n              left: modalOffset.left + this.__dx,\n              top: modalOffset.top,\n              width: modalBox.width - this.__dx,\n              height: modalBox.height + this.__dy,\n            };\n          }\n        },\n        \"bottom-right\": function (e) {\n\n          if (minWidth > modalBox.width + this.__dx) {\n            this.__dx = -modalBox.width + (minWidth);\n          }\n\n          if (minHeight > modalBox.height + this.__dy) {\n            this.__dy = -modalBox.height + (minHeight);\n          }\n\n          if (e.shiftKey || e.altKey) {\n            if (minWidth > modalBox.width + (this.__dx * 2)) {\n              this.__dx = (-modalBox.width + (minWidth)) / 2;\n            }\n            if (minHeight > modalBox.height + (this.__dy * 2)) {\n              this.__dy = (-modalBox.height + (minHeight)) / 2;\n            }\n            return {\n              left: modalOffset.left - this.__dx,\n              top: modalOffset.top - this.__dy,\n              width: modalBox.width + (this.__dx * 2),\n              height: modalBox.height + (this.__dy * 2),\n            };\n          }\n          else {\n            return {\n              left: modalOffset.left,\n              top: modalOffset.top,\n              width: modalBox.width + this.__dx,\n              height: modalBox.height + this.__dy,\n            };\n          }\n        },\n      },\n      getResizerPosition = function (e) {\n        this.__dx = e.clientX - this.mousePosition.clientX;\n        this.__dy = e.clientY - this.mousePosition.clientY;\n\n        return resizerProcessor[resizerType](e);\n      };\n\n    if (!this.modalConfig.absolute) {\n      modalOffset.left += windowBox.scrollLeft;\n      modalOffset.top += windowBox.scrollTop;\n    }\n\n    let minWidth = 100,\n      minHeight = 100;\n\n    let cursorType = {\n      \"top\": \"row-resize\",\n      \"bottom\": \"row-resize\",\n      \"left\": \"col-resize\",\n      \"right\": \"col-resize\",\n      \"top-left\": \"nwse-resize\",\n      \"top-right\": \"nesw-resize\",\n      \"bottom-left\": \"nesw-resize\",\n      \"bottom-right\": \"nwse-resize\",\n    };\n\n    this.__dx = 0; // 변화량 X\n    this.__dy = 0; // 변화량 Y\n\n    // this.$resizerBg : body 가 window보다 작을 때 문제 해결을 위한 DIV\n    this.$resizerBg.css({\n      zIndex: modalZIndex,\n      cursor: cursorType[resizerType]\n    });\n    this.$resizer.css({\n      left: modalOffset.left,\n      top: modalOffset.top,\n      width: modalBox.width,\n      height: modalBox.height,\n      zIndex: modalZIndex + 1,\n      cursor: cursorType[resizerType]\n    });\n\n    jQuery(document.body)\n      .append(this.$resizerBg)\n      .append(this.$resizer);\n\n    this.$activeModal.addClass(\"draged\");\n\n    jQuery(document.body)\n      .on(ENM[\"mousemove\"] + \".ax6modal-resize-\" + this.instanceId, U.throttle(function (e) {\n        this.$resizer.css(getResizerPosition.call(e));\n      }, 30).bind(this))\n      .on(ENM[\"mouseup\"] + \".ax6modal-resize-\" + this.instanceId, e => {\n        resizeModal.off.call(this);\n      })\n      .on(\"mouseleave.ax6modal-resize-\" + this.instanceId, e => {\n        resizeModal.off.call(this);\n      });\n\n    jQuery(document.body)\n      .attr('unselectable', 'on')\n      .css('user-select', 'none')\n      .bind('selectstart', false);\n  },\n  \"off\": function () {\n    let setModalPosition = function () {\n      let box = this.$resizer.offset();\n      jQuery.extend(box, {\n        width: this.$resizer.width(),\n        height: this.$resizer.height(),\n      });\n      if (!this.modalConfig.absolute) {\n        box.left -= jQuery(document).scrollLeft();\n        box.top -= jQuery(document).scrollTop();\n      }\n      this.$activeModal.css(box);\n\n      this.modalConfig.left = box.left;\n      this.modalConfig.top = box.top;\n      this.modalConfig.width = box.width;\n      this.modalConfig.height = box.height;\n      this.$[\"body\"].css({height: box.height - this.modalConfig.headerHeight});\n      if (this.modalConfig.iframe) {\n        this.$[\"iframe-wrap\"].css({height: box.height - this.modalConfig.headerHeight});\n        this.$[\"iframe\"].css({height: box.height - this.modalConfig.headerHeight});\n      }\n\n      box = null;\n    };\n\n    this.$activeModal.removeClass(\"draged\");\n    setModalPosition.call(this);\n\n    this.$resizer.remove();\n    this.$resizerBg.remove();\n\n    onStateChanged.call(this, this.modalConfig, {\n      self: this,\n      state: \"resize\"\n    });\n\n    jQuery(document.body)\n      .off(ENM[\"mousemove\"] + \".ax6modal-resize-\" + this.instanceId)\n      .off(ENM[\"mouseup\"] + \".ax6modal-resize-\" + this.instanceId)\n      .off(\"mouseleave.ax6modal-resize-\" + this.instanceId);\n\n    jQuery(document.body)\n      .removeAttr('unselectable')\n      .css('user-select', 'auto')\n      .off('selectstart');\n\n  }\n};\n/* ~~~~~~~~~~~~~~~~~~ end of private  ~~~~~~~~~~~~~~~~~~~~ */\n\n/**\n * @class\n */\nclass AX6UIModal extends AX6UICore {\n  /**\n   * @constructor\n   * @param config\n   */\n  constructor(config) {\n    super();\n\n    /**\n     * @member {JSON}\n     * @param config\n     * @param [config.id='ax6ui-modal-' + this.instanceId]\n     * @param [config.position]\n     * @param [config.position.left='cener']\n     * @param [config.position.top='middle']\n     * @param [config.position.margin=10]\n     * @param [config.minimizePosition='bottom-right']\n     * @param [config.clickEventName]\n     * @param [config.theme]\n     * @param [config.width=300]\n     * @param [config.height=400]\n     * @param [config.closeToEsc]\n     * @param [config.disableDrag]\n     * @param [config.disableResize]\n     * @param [config.animateTime=250]\n     * @param [config.iframe=false]\n     */\n    this.config = {\n      id: 'ax6ui-modal-' + this.instanceId,\n      position: {\n        left: \"center\",\n        top: \"middle\",\n        margin: 10\n      },\n      minimizePosition: \"bottom-right\",\n      clickEventName: (('ontouchstart' in document.documentElement) ? \"touchstart\" : \"click\"),\n      theme: 'default',\n      width: 300,\n      height: 400,\n      closeToEsc: true,\n      disableDrag: false,\n      disableResize: false,\n      animateTime: 250,\n      iframe: false\n    };\n    jQuery.extend(true, this.config, config);\n\n    // 멤버 변수 초기화\n    /**\n     * 열려있는 상태에서 다시 open이 되면 queue에 보관 하였다가 close후 open\n     * @member {Array}\n     */\n    this.queue = [];\n    /**\n     * @member {jQueryElement}\n     */\n    this.$activeModal = null;\n    this.$ = {};\n\n    this.$resizerBg = jQuery('<div data-ax6ui-modal-resizer-background=\"\" ondragstart=\"return false;\"></div>');\n    this.$resizer = jQuery('<div data-ax6ui-modal-resizer=\"\" ondragstart=\"return false;\"></div>');\n\n    if (typeof config !== \"undefined\") this.init();\n  }\n\n  /**\n   * @method\n   */\n  init() {\n    this.onStateChanged = this.config.onStateChanged;\n    delete this.config.onStateChanged;\n\n    // init 호출 여부\n    this.initOnce();\n  }\n\n  /**\n   * @method\n   */\n  initOnce() {\n    if (this.initialized) return this;\n    this.initialized = true;\n  }\n\n\n  /**\n   * open the modal\n   * @method\n   * @returns {AX6UIModal}\n   * @example\n   * ```\n   * modal.open();\n   * modal.open({\n             *  width: 500,\n             *  height: 500\n             * });\n   * moaal.open({}, function(){\n             *  console.log(this);\n             * });\n   * ```\n   */\n  open(opts, callback) {\n    if (typeof opts === \"undefined\") {\n      opts = {}\n    }\n\n    opts = jQuery.extend(true, {}, this.config, opts);\n\n    if (this.$activeModal) {\n      opts.callback = callback;\n      this.queue.push(opts);\n    } else {\n      open.call(this, opts, callback);\n    }\n\n    return this;\n  }\n\n  /**\n   * close the modal\n   * @method\n   * @param _option\n   * @returns {AX6UIModal}\n   * @example\n   * ```\n   * modal.close();\n   * modal.close({callback: function(){\n     *  // on close event\n     * });\n     * // close 함수에 callback을 전달하면 정확한 close 타이밍을 캐치할 수 있습니다\n     * ```\n     */\n  close(_option) {\n    let opts, that;\n\n    if (this.$activeModal) {\n      opts = this.modalConfig;\n\n      this.$activeModal.addClass(\"destroy\");\n      jQuery(window)\n        .off(\"keydown.ax-modal\")\n        .off(\"resize.ax-modal\");\n\n      setTimeout((function () {\n        // 프레임 제거\n        if (opts.iframe) {\n          let $iframe = this.$[\"iframe\"]; // iframe jQuery Object\n          if ($iframe) {\n            let iframeObject = $iframe.get(0),\n              idoc = (iframeObject.contentDocument) ? iframeObject.contentDocument : iframeObject.contentWindow.document;\n\n            try {\n              $(idoc.body).children().each(function () {\n                $(this).remove();\n              });\n            }\n            catch (e) {\n\n            }\n            idoc.innerHTML = \"\";\n            $iframe\n              .attr('src', 'about:blank')\n              .remove();\n\n            // force garbarge collection for IE only\n            window.CollectGarbage && window.CollectGarbage();\n          }\n        }\n\n        if (this.$activeModal) {\n          this.$activeModal.remove();\n          this.$activeModal = null;\n        }\n\n        that = {\n          self: this,\n          id: opts.id,\n          theme: opts.theme,\n          width: opts.width,\n          height: opts.height,\n          state: \"close\",\n          $: this.$\n        };\n\n        if (_option && U.isFunction(_option.callback)) {\n          _option.callback.call(that, that);\n        } else if (opts.callback && (!_option || !_option.doNotCallback)) {\n          opts.callback.call(that, that);\n        }\n\n        if (opts && opts.onStateChanged) {\n          opts.onStateChanged.call(that, that);\n        }\n        else if (this.onStateChanged) {\n          this.onStateChanged.call(that, that);\n        }\n\n        // 열려야 할 큐가 남아 있다면 큐아이템으로 다시 open\n        if (this.queue && this.queue.length) {\n          open.call(this, this.queue.shift());\n        }\n\n        opts = null;\n        that = null;\n      }).bind(this), this.config.animateTime);\n    }\n\n    this.minimized = false; // hoksi\n\n    return this;\n  };\n\n  /**\n   * @method\n   * @returns {AX6UIModal}\n   */\n  minimize(minimizePosition) {\n    if (this.minimized !== true) {\n\n      let opts = this.modalConfig;\n      if (typeof minimizePosition === \"undefined\") minimizePosition = cfg.minimizePosition;\n\n      this.minimized = true;\n      this.$.body.css({display: \"none\"});\n      this.modalConfig.originalHeight = opts.height;\n      this.modalConfig.height = 0;\n      alignProcessor[minimizePosition].call(this);\n\n      onStateChanged.call(this, opts, {\n        self: this,\n        state: \"minimize\"\n      });\n    }\n\n    return this;\n  };\n\n  /**\n   * @method ax5modal.restore\n   * @returns {AX6UIModal}\n   */\n  restore() {\n    let opts = this.modalConfig;\n    if (this.minimized) {\n      this.minimized = false;\n      this.$.body.css({display: \"block\"});\n      this.modalConfig.height = this.modalConfig.originalHeight;\n      this.modalConfig.originalHeight = undefined;\n\n      this.align({left: \"center\", top: \"middle\"});\n      onStateChanged.call(this, opts, {\n        self: this,\n        state: \"restore\"\n      });\n    }\n    return this;\n  };\n\n  /**\n   * setCSS\n   * @method ax5modal.css\n   * @param {Object} css -\n   * @returns {AX6UIModal}\n   */\n  css(css) {\n    if (this.$activeModal && !this.fullScreen) {\n      this.$activeModal.css(css);\n      if (typeof css.width !== \"undefined\") {\n        this.modalConfig.width = css.width;\n      }\n      if (typeof css.height !== \"undefined\") {\n        this.modalConfig.height = css.height;\n      }\n\n      this.align();\n    }\n    return this;\n  };\n\n  /**\n   * @method\n   * @param _config\n   * @returns {AX6UIModal}\n   */\n  setModalConfig(_config) {\n    this.modalConfig = jQuery.extend({}, this.modalConfig, _config);\n    this.align();\n    return this;\n  };\n\n  /**\n   * @method ax5modal.align\n   * @param position\n   * @param e\n   * @returns {ax5modal}\n   * @example\n   * ```js\n   * modal.align({left:\"center\", top:\"middle\"});\n   * modal.align({left:\"left\", top:\"top\", margin: 20});\n   * ```\n   */\n  align(position, e) {\n    if (!this.$activeModal) return this;\n\n    let opts = this.modalConfig,\n      box = {\n        width: opts.width,\n        height: opts.height\n      };\n\n    const fullScreen = opts.isFullScreen = (function (_fullScreen) {\n      if (typeof _fullScreen === \"undefined\") {\n        return false;\n      } else if (U.isFunction(_fullScreen)) {\n        return _fullScreen();\n      }\n    })(opts.fullScreen);\n\n    if (fullScreen) {\n      if (opts.header) this.$.header.show();\n      if (opts.header) {\n        opts.headerHeight = this.$.header.outerHeight();\n        box.height += opts.headerHeight;\n      } else {\n        opts.headerHeight = 0;\n      }\n      box.width = jQuery(window).width();\n      box.height = opts.height;\n      box.left = 0;\n      box.top = 0;\n    }\n    else {\n      if (opts.header) this.$.header.show();\n      if (position) {\n        jQuery.extend(true, opts.position, position);\n      }\n\n      if (opts.header) {\n        opts.headerHeight = this.$.header.outerHeight();\n        box.height += opts.headerHeight;\n      } else {\n        opts.headerHeight = 0;\n      }\n\n      //- position 정렬\n      if (opts.position.left == \"left\") {\n        box.left = (opts.position.margin || 0);\n      }\n      else if (opts.position.left == \"right\") {\n        // window.innerWidth;\n        box.left = jQuery(window).width() - box.width - (opts.position.margin || 0);\n      }\n      else if (opts.position.left == \"center\") {\n        box.left = jQuery(window).width() / 2 - box.width / 2;\n      }\n      else {\n        box.left = opts.position.left || 0;\n      }\n\n      if (opts.position.top == \"top\") {\n        box.top = (opts.position.margin || 0);\n      }\n      else if (opts.position.top == \"bottom\") {\n        box.top = jQuery(window).height() - box.height - (opts.position.margin || 0);\n      }\n      else if (opts.position.top == \"middle\") {\n        box.top = jQuery(window).height() / 2 - box.height / 2;\n      }\n      else {\n        box.top = opts.position.top || 0;\n      }\n      if (box.left < 0) box.left = 0;\n      if (box.top < 0) box.top = 0;\n    }\n\n    this.$activeModal.css(box);\n    this.$[\"body\"].css({height: box.height - (opts.headerHeight || 0)});\n\n    if (opts.iframe) {\n      this.$[\"iframe-wrap\"].css({height: box.height - opts.headerHeight});\n      this.$[\"iframe\"].css({height: box.height - opts.headerHeight});\n    } else {\n\n    }\n    return this;\n  }\n\n}\n\nexport default AX6UIModal;"]}