column-resizer
Advanced tools
Comparing version 1.1.1 to 1.1.2
@@ -1,2 +0,9 @@ | ||
<a name="v1.0.3"></a> | ||
<a name="v1.1.2"></a> | ||
# [v1.1.2](https://github.com/MonsantoCo/column-resizer/compare/v1.1.1...v1.1.2) (2018-06-20) | ||
## Bug fixes | ||
* Add polyfill for Element.matches for IE ([6901e7b](https://github.com/MonsantoCo/column-resizer/commit/6901e7b70413e8ecde76bcb27d410ddffaca7b9e)) | ||
## Enhancement | ||
<a name="v1.1.1"></a> | ||
# [v1.1.1](https://github.com/MonsantoCo/column-resizer/compare/v1.1.0...v1.1.1) (2018-05-30) | ||
@@ -10,3 +17,3 @@ ## Bug fixes | ||
<a name="v1.0.3"></a> | ||
<a name="v1.1.0"></a> | ||
# [v1.1.0](https://github.com/MonsantoCo/column-resizer/compare/v1.0.3...v1.1.0) (2018-05-29) | ||
@@ -13,0 +20,0 @@ ## Bug fixes |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ColumnResizer=t():e.ColumnResizer=t()}(window,function(){return function(e){var t={};function __webpack_require__(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,__webpack_require__),i.l=!0,i.exports}return __webpack_require__.m=e,__webpack_require__.c=t,__webpack_require__.d=function(e,t,r){__webpack_require__.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.t=function(e,t){if(1&t&&(e=__webpack_require__(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(__webpack_require__.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)__webpack_require__.d(r,i,function(t){return e[t]}.bind(null,i));return r},__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,"a",t),t},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.p="/",__webpack_require__(__webpack_require__.s=1)}([function(e,t,r){"use strict";e.exports=function(e){for(var t=5381,r=e.length;r;)t=33*t^e.charCodeAt(--r);return t>>>0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=r(0),n=(i=o)&&i.__esModule?i:{default:i};var l,a=(l=0,function(){return l++}),s=function ColumnResizer(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,ColumnResizer),d.call(this);try{this.store=sessionStorage}catch(e){this.store={}}this.grip=null,this.tb=e,window.addEventListener("resize",this.onResize),this.init(t)},d=function(){var e=this;this.ID="id",this.PX="px",this.RESIZABLE="grip-resizable",this.FLEX="grip-flex",this.IE=navigator.userAgent.indexOf("Trident/4.0")>0,this.reset=function(t){return e.init(t)},this.onResize=function(){var t=e.tb;if(t.classList.remove(e.RESIZABLE),t.opt.fixed){t.tableWidth=Number(window.getComputedStyle(t).width.replace(/px/,"")).valueOf();for(var r=0,i=0;i<t.columnCnt;i++)r+=t.columns[i].w;for(var o=0;o<t.columnCnt;o++)t.columns[o].style.width=Math.round(1e3*t.columns[o].w/r)/10+"%",t.columns[o].locked=!0}else e.applyBounds(),"flex"===t.opt.resizeMode&&e.serializeStore();t.classList.add(e.RESIZABLE),e.syncGrips()},this.onGripMouseDown=function(t){var r=t.target.parentNode.data,i=e.tb,o=i.grips[r.i],n=t.touches;if(o.ox=n?n[0].pageX:t.pageX,o.l=o.offsetLeft,o.x=o.l,e.createStyle(document.querySelector("head"),"*{cursor:"+i.opt.dragCursor+"!important}"),document.addEventListener("touchmove",e.onGripDrag),document.addEventListener("mousemove",e.onGripDrag),document.addEventListener("touchend",e.onGripDragOver),document.addEventListener("mouseup",e.onGripDragOver),o.classList.add(i.opt.draggingClass),e.grip=o,i.columns[r.i].locked)for(var l,a=0;a<i.columnCnt;a++)(l=i.columns[a]).locked=!1,l.w=Number(window.getComputedStyle(l).width.replace(/px/,"")).valueOf();t.preventDefault()},this.onGripDrag=function(t){var r=e.grip;if(r){var i=r.t,o=t.touches,n=(o?o[0].pageX:t.pageX)-r.ox+r.l,l=i.opt.minWidth,a=r.i,s=1.5*i.cellSpace+l+i.borderSpace,d=a===i.columnCnt-1,u=a?i.grips[a-1].offsetLeft+i.cellSpace+l:s,c=i.opt.fixed?a===i.columnCnt-1?i.tableWidth-s:i.grips[a+1].offsetLeft-i.cellSpace-l:1/0;if(n=Math.max(u,Math.min(c,n)),r.x=n,r.style.left=n+e.PX,d&&(r.w=i.columns[a].w+n-r.l),i.opt.liveDrag){d?(i.columns[a].style.width=r.w+e.PX,!i.opt.fixed&&i.opt.overflow?i.style.minWidth=i.tableWidth+n-r.l+e.PX:i.tableWidth=Number(window.getComputedStyle(i).width.replace(/px/,"")).valueOf()):e.syncCols(i,a,!1,i.opt),e.syncGrips();var p=i.opt.onDrag;p&&p(t)}t.preventDefault()}},this.onGripDragOver=function(t){var r=e.grip;document.removeEventListener("touchend",e.onGripDragOver),document.removeEventListener("mouseup",e.onGripDragOver),document.removeEventListener("touchmove",e.onGripDrag),document.removeEventListener("mousemove",e.onGripDrag);var i=document.querySelector("head").lastChild;if(i.parentNode.removeChild(i),r){if(r.classList.remove(r.t.opt.draggingClass),r.x-r.l!=0){var o=r.t,n=o.opt.onResize,l=r.i;if(l===o.columnCnt-1){var a=o.columns[l];a.style.width=r.w+e.PX,a.w=r.w}else e.syncCols(o,l,!0,o.opt);o.opt.fixed||e.applyBounds(),e.syncGrips(),n&&n(t),e.serializeStore()}e.grip=null}},this.init=function(t){if(t.disable)return e.destroy();var r=e.tb,i=r.getAttribute(e.ID)||e.RESIZABLE+a();if(!r.matches("table")||r.extended&&!t.partialRefresh)return null;var o=document.querySelector("head");if(e.createStyle(o," .grip-resizable{table-layout:fixed;} .grip-resizable > tbody > tr > td, .grip-resizable > tbody > tr > th{overflow:hidden} .grip-padding > tbody > tr > td, .grip-padding > tbody > tr > th{padding-left:0!important; padding-right:0!important;} .grip-container{ height:0px; position:relative;} .grip-handle{margin-left:-5px; position:absolute; z-index:5; } .grip-handle .grip-resizable{position:absolute;background-color:red;filter:alpha(opacity=1);opacity:0;width:10px;height:100%;cursor: col-resize;top:0px} .grip-lastgrip{position:absolute; width:1px; } .grip-drag{ border-left:1px dotted black;\t} .grip-flex{width:auto!important;} .grip-handle.grip-disabledgrip .grip-resizable{cursor:default; display:none;}"),t.hoverCursor&&"col-resize"!==t.hoverCursor){var n=".grip-handle .grip-resizable:hover{cursor:"+t.hoverCursor+"!important}";e.createStyle(o,n)}r.setAttribute(e.ID,i);var l=r.opt;r.opt=e.extendOptions(t);var s=e.getTableHeaders(r);if(e.extendTable(s),t.remoteTable&&t.remoteTable.matches("table")){var d=e.getTableHeaders(r.opt.remoteTable);s.length===d.length?e.extendRemoteTable(r.opt.remoteTable,d,r):console.warn("column count for remote table did not match")}return l},this.applyBounds=function(){var t=e.tb,r=t.columns.map(function(e){return window.getComputedStyle(e).width});t.style.width=window.getComputedStyle(t).width,t.tableWidth=Number(t.style.width.replace(/px/,"")).valueOf(),t.classList.remove(e.FLEX),t.columns.forEach(function(e,t){e.style.width=r[t],e.w=Number(r[t].replace(/px/,"")).valueOf()}),t.classList.add(e.FLEX)},this.serializeStore=function(){var t=e.store,r=e.tb;t[r.getAttribute(e.ID)]="";for(var i=0,o=0;o<r.columns.length;o++){var n=window.getComputedStyle(r.columns[o]).width.replace(/px/,"");t[r.getAttribute(e.ID)]+=n+";",i+=Number(n).valueOf()}t[r.getAttribute(e.ID)]+=i.toString(),r.opt.fixed||(t[r.getAttribute(e.ID)]+=";"+window.getComputedStyle(r).width.replace(/px/,""))},this.syncGrips=function(){var t=e.tb;t.gripContainer.style.width=t.tableWidth+e.PX;for(var r=0;r<t.columnCnt;r++){var i=t.columns[r];t.opt.widths[r]=i.w;var o=i.getBoundingClientRect(),n=t.getBoundingClientRect();t.grips[r].style.left=o.left-n.left+i.offsetWidth+t.cellSpace/2+e.PX,t.grips[r].style.height=(t.opt.headerOnly?t.columns[0].offsetHeight:t.offsetHeight)+e.PX}},this.destroy=function(){var t=e.tb,r=t.getAttribute(e.ID);return r?(e.store[r]="",t.classList.remove(e.RESIZABLE),t.classList.remove(e.FLEX),t.remote&&(t.remote.classList.remove(e.RESIZABLE),t.remote.classList.remove(e.FLEX)),t.gripContainer&&t.gripContainer.parentNode&&t.gripContainer.parentNode.removeChild(t.gripContainer),delete t.extended,t.opt):null},this.createStyle=function(e,t){var r=(0,n.default)(t).toString(),i=e.querySelectorAll("style");if(!Array.from(i).filter(function(e){return e.gripid===r}).length){var o=document.createElement("style");o.type="text/css",o.gripid=r,o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t)),e.appendChild(o)}},this.extendOptions=function(e){var t=Object.assign({},s.DEFAULTS,e);switch(t.fixed=!0,t.overflow=!1,t.resizeMode){case"flex":t.fixed=!1;break;case"overflow":t.fixed=!1,t.overflow=!0}return t},this.getTableHeaders=function(t){var r="#"+t.id,i=Array.from(t.querySelectorAll(r+">thead>tr:nth-of-type(1)>th"));return(i=i.concat(Array.from(t.querySelectorAll(r+">thead>tr:nth-of-type(1)>td")))).length||(i=(i=(i=(i=Array.from(t.querySelectorAll(r+">tbody>tr:nth-of-type(1)>th"))).concat(Array.from(t.querySelectorAll(r+">tr:nth-of-type(1)>th")))).concat(Array.from(t.querySelectorAll(r+">tbody>tr:nth-of-type(1)>td")))).concat(Array.from(t.querySelectorAll(r+">tr:nth-of-type(1)>td")))),e.filterInvisible(i,!1)},this.filterInvisible=function(e,t){return e.filter(function(e){var r=t?-1:e.offsetWidth,i=t?-1:e.offsetHeight;return!(0===r&&0===i||e.style&&e.style.display&&"none"===window.getComputedStyle(e).display||!1)})},this.extendTable=function(t){var r=e.tb;r.opt.removePadding&&r.classList.add("grip-padding"),r.classList.add(e.RESIZABLE),r.insertAdjacentHTML("beforebegin",'<div class="grip-container"/>'),r.grips=[],r.columns=[],r.tableWidth=Number(window.getComputedStyle(r).width.replace(/px/,"")).valueOf(),r.gripContainer=r.previousElementSibling,r.opt.marginLeft&&(r.gripContainer.style.marginLeft=r.opt.marginLeft),r.opt.marginRight&&(r.gripContainer.style.marginRight=r.opt.marginRight),r.cellSpace=parseInt(e.IE?r.cellSpacing||r.currentStyle.borderSpacing:window.getComputedStyle(r).borderSpacing.split(" ")[0].replace(/px/,""))||2,r.borderSpace=parseInt(e.IE?r.border||r.currentStyle.borderLeftWidth:window.getComputedStyle(r).borderLeftWidth.replace(/px/,""))||1,r.extended=!0,e.createGrips(t)},this.extendRemoteTable=function(t,r,i){i.opt.removePadding&&t.classList.add("grip-padding"),t.classList.add(e.RESIZABLE),t.getAttribute(e.ID)||t.setAttribute(e.ID,i.getAttribute(e.ID)+"remote"),t.columns=[],r.forEach(function(o,n){var l=r[n];l.w=i.columns[n].w,l.style.width=l.w+e.PX,l.removeAttribute("width"),t.columns.push(l)}),t.tableWidth=i.tableWidth,t.cellSpace=i.cellSpace,t.borderSpace=i.borderSpace;var o=Array.from(t.querySelectorAll("col"));t.columnGrp=e.filterInvisible(o,!0),t.columnGrp.forEach(function(e,t){e.removeAttribute("width"),e.style.width=i.columnGrp[t].style.width}),i.remote=t},this.createGrips=function(t){var r=e.tb;r.columnGrp=e.filterInvisible(Array.from(r.querySelectorAll("col")),!0),r.columnGrp.forEach(function(e){e.removeAttribute("width")}),r.columnCnt=t.length,e.store[r.getAttribute(e.ID)]&&e.deserializeStore(t),r.opt.widths||(r.opt.widths=[]),t.forEach(function(i,o){var n=t[o],l=-1!==r.opt.disabledColumns.indexOf(o);e.createDiv(r.gripContainer,"grip-handle");var a=r.gripContainer.lastChild;!l&&r.opt.gripInnerHtml&&(a.innerHTML=r.opt.gripInnerHtml),e.createDiv(a,e.RESIZABLE),o===r.columnCnt-1&&(a.classList.add("grip-lastgrip"),r.opt.fixed&&(a.innerHTML="")),a.addEventListener("touchstart",e.onGripMouseDown,{capture:!0,passive:!0}),a.addEventListener("mousedown",e.onGripMouseDown,!0),l?a.classList.add("grip-disabledgrip"):(a.classList.remove("grip-disabledgrip"),a.addEventListener("touchstart",e.onGripMouseDown,{capture:!0,passive:!0}),a.addEventListener("mousedown",e.onGripMouseDown,!0)),a.t=r,a.i=o,r.opt.widths[o]?n.w=r.opt.widths[o]:(n.w=Number(window.getComputedStyle(n).width.replace(/px/,"")).valueOf(),r.opt.widths[o]=n.w),n.style.width=n.w+e.PX,n.removeAttribute("width"),a.data={i:o,t:r.getAttribute(e.ID),last:o===r.columnCnt-1},r.grips.push(a),r.columns.push(n)});var i=Array.from(r.querySelectorAll("td"));i.concat(Array.from(r.querySelectorAll("th"))),(i=(i=i.filter(function(e){for(var r=0;r<t.length;r++)if(t[r]===e)return!1;return!0})).filter(function(e){return!(e.querySelectorAll("table th").length||e.querySelectorAll("table td").length)})).forEach(function(e){e.removeAttribute("width")}),r.opt.fixed||(r.removeAttribute("width"),r.classList.add(e.FLEX)),e.syncGrips()},this.deserializeStore=function(t){var r=e.tb;if(r.columnGrp.forEach(function(e){e.removeAttribute("width")}),r.opt.flush)e.store[r.getAttribute(e.ID)]="";else{var i=e.store[r.getAttribute(e.ID)].split(";"),o=i[r.columnCnt+1];!r.opt.fixed&&o&&(r.style.width=o+e.PX,r.opt.overflow&&(r.style.minWidth=o+e.PX,r.tableWidth=Number(o).valueOf()));for(var n=0;n<r.columnCnt;n++){var l=100*Number(i[n]).valueOf()/Number(i[r.columnCnt]).valueOf()+"%";t[n].style.width=l,r.columnGrp[n]&&(r.columnGrp[n].style.width=l)}}},this.createDiv=function(e,t,r){var i=document.createElement("div");i.classList.add(t),r&&(i.innerHTML=r),e.appendChild(i)},this.syncCols=function(t,r,i,o){var n=t.remote,l=e.grip.x-e.grip.l,a=t.columns[r],s=t.columns[r+1];if(a&&s){var d=a.w+l,u=s.w-l,c=d+e.PX;if(a.style.width=c,t.columnGrp[r]&&t.columnGrp[r].style.width&&(t.columnGrp[r].style.width=c),n&&(n.columns[r].style.width=c,n.columnGrp[r]&&n.columnGrp[r].style.width&&(n.columnGrp[r].style.width=c)),o.fixed){var p=u+e.PX;s.style.width=p,t.columnGrp[r+1]&&t.columnGrp[r+1].style.width&&(t.columnGrp[r+1].style.width=p),n&&(n.columns[r+1].style.width=p,n.columnGrp[r+1]&&n.columnGrp[r+1].style.width&&(n.columnGrp[r+1].style.width=p))}else o.overflow&&(t.style.minWidth=t.tableWidth+l+e.PX);i&&(a.w=d,s.w=o.fixed?u:s.w,n&&(n.columns[r].w=d,n.columns[r+1].w=o.fixed?u:s.w))}}};t.default=s,s.DEFAULTS={resizeMode:"fit",draggingClass:"grip-drag",gripInnerHtml:"",liveDrag:!1,minWidth:15,headerOnly:!1,hoverCursor:"col-resize",dragCursor:"col-resize",flush:!1,marginLeft:null,marginRight:null,remoteTable:null,disable:!1,partialRefresh:!1,disabledColumns:[],removePadding:!0,widths:[],onDrag:null,onResize:null}}])}); | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ColumnResizer=t():e.ColumnResizer=t()}(window,function(){return function(e){var t={};function __webpack_require__(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,__webpack_require__),i.l=!0,i.exports}return __webpack_require__.m=e,__webpack_require__.c=t,__webpack_require__.d=function(e,t,r){__webpack_require__.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.t=function(e,t){if(1&t&&(e=__webpack_require__(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(__webpack_require__.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)__webpack_require__.d(r,i,function(t){return e[t]}.bind(null,i));return r},__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,"a",t),t},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.p="/",__webpack_require__(__webpack_require__.s=1)}([function(e,t,r){"use strict";e.exports=function(e){for(var t=5381,r=e.length;r;)t=33*t^e.charCodeAt(--r);return t>>>0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o=r(0),n=(i=o)&&i.__esModule?i:{default:i};var l,a=(l=0,function(){return l++}),s=function ColumnResizer(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,ColumnResizer),d.call(this);try{this.store=sessionStorage}catch(e){this.store={}}this.grip=null,this.tb=e,window.addEventListener("resize",this.onResize),Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector),this.init(t)},d=function(){var e=this;this.ID="id",this.PX="px",this.RESIZABLE="grip-resizable",this.FLEX="grip-flex",this.legacyIE=navigator.userAgent.indexOf("Trident/4.0")>0,this.reset=function(t){return e.init(t)},this.onResize=function(){var t=e.tb;if(t.classList.remove(e.RESIZABLE),t.opt.fixed){t.tableWidth=Number(window.getComputedStyle(t).width.replace(/px/,"")).valueOf();for(var r=0,i=0;i<t.columnCnt;i++)r+=t.columns[i].w;for(var o=0;o<t.columnCnt;o++)t.columns[o].style.width=Math.round(1e3*t.columns[o].w/r)/10+"%",t.columns[o].locked=!0}else e.applyBounds(),"flex"===t.opt.resizeMode&&e.serializeStore();t.classList.add(e.RESIZABLE),e.syncGrips()},this.onGripMouseDown=function(t){var r=t.target.parentNode.data,i=e.tb,o=i.grips[r.i],n=t.touches;if(o.ox=n?n[0].pageX:t.pageX,o.l=o.offsetLeft,o.x=o.l,e.createStyle(document.querySelector("head"),"*{cursor:"+i.opt.dragCursor+"!important}"),document.addEventListener("touchmove",e.onGripDrag),document.addEventListener("mousemove",e.onGripDrag),document.addEventListener("touchend",e.onGripDragOver),document.addEventListener("mouseup",e.onGripDragOver),o.classList.add(i.opt.draggingClass),e.grip=o,i.columns[r.i].locked)for(var l,a=0;a<i.columnCnt;a++)(l=i.columns[a]).locked=!1,l.w=Number(window.getComputedStyle(l).width.replace(/px/,"")).valueOf();t.preventDefault()},this.onGripDrag=function(t){var r=e.grip;if(r){var i=r.t,o=t.touches,n=(o?o[0].pageX:t.pageX)-r.ox+r.l,l=i.opt.minWidth,a=r.i,s=1.5*i.cellSpace+l+i.borderSpace,d=a===i.columnCnt-1,u=a?i.grips[a-1].offsetLeft+i.cellSpace+l:s,c=i.opt.fixed?a===i.columnCnt-1?i.tableWidth-s:i.grips[a+1].offsetLeft-i.cellSpace-l:1/0;if(n=Math.max(u,Math.min(c,n)),r.x=n,r.style.left=n+e.PX,d&&(r.w=i.columns[a].w+n-r.l),i.opt.liveDrag){d?(i.columns[a].style.width=r.w+e.PX,!i.opt.fixed&&i.opt.overflow?i.style.minWidth=i.tableWidth+n-r.l+e.PX:i.tableWidth=Number(window.getComputedStyle(i).width.replace(/px/,"")).valueOf()):e.syncCols(i,a,!1,i.opt),e.syncGrips();var p=i.opt.onDrag;p&&p(t)}t.preventDefault()}},this.onGripDragOver=function(t){var r=e.grip;document.removeEventListener("touchend",e.onGripDragOver),document.removeEventListener("mouseup",e.onGripDragOver),document.removeEventListener("touchmove",e.onGripDrag),document.removeEventListener("mousemove",e.onGripDrag);var i=document.querySelector("head").lastChild;if(i.parentNode.removeChild(i),r){if(r.classList.remove(r.t.opt.draggingClass),r.x-r.l!=0){var o=r.t,n=o.opt.onResize,l=r.i;if(l===o.columnCnt-1){var a=o.columns[l];a.style.width=r.w+e.PX,a.w=r.w}else e.syncCols(o,l,!0,o.opt);o.opt.fixed||e.applyBounds(),e.syncGrips(),n&&n(t),e.serializeStore()}e.grip=null}},this.init=function(t){if(t.disable)return e.destroy();var r=e.tb,i=r.getAttribute(e.ID)||e.RESIZABLE+a();if(!r.matches("table")||r.extended&&!t.partialRefresh)return null;var o=document.querySelector("head");if(e.createStyle(o," .grip-resizable{table-layout:fixed;} .grip-resizable > tbody > tr > td, .grip-resizable > tbody > tr > th{overflow:hidden} .grip-padding > tbody > tr > td, .grip-padding > tbody > tr > th{padding-left:0!important; padding-right:0!important;} .grip-container{ height:0px; position:relative;} .grip-handle{margin-left:-5px; position:absolute; z-index:5; } .grip-handle .grip-resizable{position:absolute;background-color:red;filter:alpha(opacity=1);opacity:0;width:10px;height:100%;cursor: col-resize;top:0px} .grip-lastgrip{position:absolute; width:1px; } .grip-drag{ border-left:1px dotted black;\t} .grip-flex{width:auto!important;} .grip-handle.grip-disabledgrip .grip-resizable{cursor:default; display:none;}"),t.hoverCursor&&"col-resize"!==t.hoverCursor){var n=".grip-handle .grip-resizable:hover{cursor:"+t.hoverCursor+"!important}";e.createStyle(o,n)}r.setAttribute(e.ID,i);var l=r.opt;r.opt=e.extendOptions(t);var s=e.getTableHeaders(r);if(e.extendTable(s),t.remoteTable&&t.remoteTable.matches("table")){var d=e.getTableHeaders(r.opt.remoteTable);s.length===d.length?e.extendRemoteTable(r.opt.remoteTable,d,r):console.warn("column count for remote table did not match")}return l},this.applyBounds=function(){var t=e.tb,r=t.columns.map(function(e){return window.getComputedStyle(e).width});t.style.width=window.getComputedStyle(t).width,t.tableWidth=Number(t.style.width.replace(/px/,"")).valueOf(),t.classList.remove(e.FLEX),t.columns.forEach(function(e,t){e.style.width=r[t],e.w=Number(r[t].replace(/px/,"")).valueOf()}),t.classList.add(e.FLEX)},this.serializeStore=function(){var t=e.store,r=e.tb;t[r.getAttribute(e.ID)]="";for(var i=0,o=0;o<r.columns.length;o++){var n=window.getComputedStyle(r.columns[o]).width.replace(/px/,"");t[r.getAttribute(e.ID)]+=n+";",i+=Number(n).valueOf()}t[r.getAttribute(e.ID)]+=i.toString(),r.opt.fixed||(t[r.getAttribute(e.ID)]+=";"+window.getComputedStyle(r).width.replace(/px/,""))},this.syncGrips=function(){var t=e.tb;t.gripContainer.style.width=t.tableWidth+e.PX;for(var r=0;r<t.columnCnt;r++){var i=t.columns[r];t.opt.widths[r]=i.w;var o=i.getBoundingClientRect(),n=t.getBoundingClientRect();t.grips[r].style.left=o.left-n.left+i.offsetWidth+t.cellSpace/2+e.PX,t.grips[r].style.height=(t.opt.headerOnly?t.columns[0].offsetHeight:t.offsetHeight)+e.PX}},this.destroy=function(){var t=e.tb,r=t.getAttribute(e.ID);return r?(e.store[r]="",t.classList.remove(e.RESIZABLE),t.classList.remove(e.FLEX),t.remote&&(t.remote.classList.remove(e.RESIZABLE),t.remote.classList.remove(e.FLEX)),t.gripContainer&&t.gripContainer.parentNode&&t.gripContainer.parentNode.removeChild(t.gripContainer),delete t.extended,t.opt):null},this.createStyle=function(e,t){var r=(0,n.default)(t).toString(),i=e.querySelectorAll("style");if(!Array.from(i).filter(function(e){return e.gripid===r}).length){var o=document.createElement("style");o.type="text/css",o.gripid=r,o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t)),e.appendChild(o)}},this.extendOptions=function(e){var t=Object.assign({},s.DEFAULTS,e);switch(t.fixed=!0,t.overflow=!1,t.resizeMode){case"flex":t.fixed=!1;break;case"overflow":t.fixed=!1,t.overflow=!0}return t},this.getTableHeaders=function(t){var r="#"+t.id,i=Array.from(t.querySelectorAll(r+">thead>tr:nth-of-type(1)>th"));return(i=i.concat(Array.from(t.querySelectorAll(r+">thead>tr:nth-of-type(1)>td")))).length||(i=(i=(i=(i=Array.from(t.querySelectorAll(r+">tbody>tr:nth-of-type(1)>th"))).concat(Array.from(t.querySelectorAll(r+">tr:nth-of-type(1)>th")))).concat(Array.from(t.querySelectorAll(r+">tbody>tr:nth-of-type(1)>td")))).concat(Array.from(t.querySelectorAll(r+">tr:nth-of-type(1)>td")))),e.filterInvisible(i,!1)},this.filterInvisible=function(e,t){return e.filter(function(e){var r=t?-1:e.offsetWidth,i=t?-1:e.offsetHeight;return!(0===r&&0===i||e.style&&e.style.display&&"none"===window.getComputedStyle(e).display||!1)})},this.extendTable=function(t){var r=e.tb;r.opt.removePadding&&r.classList.add("grip-padding"),r.classList.add(e.RESIZABLE),r.insertAdjacentHTML("beforebegin",'<div class="grip-container"/>'),r.grips=[],r.columns=[],r.tableWidth=Number(window.getComputedStyle(r).width.replace(/px/,"")).valueOf(),r.gripContainer=r.previousElementSibling,r.opt.marginLeft&&(r.gripContainer.style.marginLeft=r.opt.marginLeft),r.opt.marginRight&&(r.gripContainer.style.marginRight=r.opt.marginRight),r.cellSpace=parseInt(e.legacyIE?r.cellSpacing||r.currentStyle.borderSpacing:window.getComputedStyle(r).borderSpacing.split(" ")[0].replace(/px/,""))||2,r.borderSpace=parseInt(e.legacyIE?r.border||r.currentStyle.borderLeftWidth:window.getComputedStyle(r).borderLeftWidth.replace(/px/,""))||1,r.extended=!0,e.createGrips(t)},this.extendRemoteTable=function(t,r,i){i.opt.removePadding&&t.classList.add("grip-padding"),t.classList.add(e.RESIZABLE),t.getAttribute(e.ID)||t.setAttribute(e.ID,i.getAttribute(e.ID)+"remote"),t.columns=[],r.forEach(function(o,n){var l=r[n];l.w=i.columns[n].w,l.style.width=l.w+e.PX,l.removeAttribute("width"),t.columns.push(l)}),t.tableWidth=i.tableWidth,t.cellSpace=i.cellSpace,t.borderSpace=i.borderSpace;var o=Array.from(t.querySelectorAll("col"));t.columnGrp=e.filterInvisible(o,!0),t.columnGrp.forEach(function(e,t){e.removeAttribute("width"),e.style.width=i.columnGrp[t].style.width}),i.remote=t},this.createGrips=function(t){var r=e.tb;r.columnGrp=e.filterInvisible(Array.from(r.querySelectorAll("col")),!0),r.columnGrp.forEach(function(e){e.removeAttribute("width")}),r.columnCnt=t.length,e.store[r.getAttribute(e.ID)]&&e.deserializeStore(t),r.opt.widths||(r.opt.widths=[]),t.forEach(function(i,o){var n=t[o],l=-1!==r.opt.disabledColumns.indexOf(o);e.createDiv(r.gripContainer,"grip-handle");var a=r.gripContainer.lastChild;!l&&r.opt.gripInnerHtml&&(a.innerHTML=r.opt.gripInnerHtml),e.createDiv(a,e.RESIZABLE),o===r.columnCnt-1&&(a.classList.add("grip-lastgrip"),r.opt.fixed&&(a.innerHTML="")),a.addEventListener("touchstart",e.onGripMouseDown,{capture:!0,passive:!0}),a.addEventListener("mousedown",e.onGripMouseDown,!0),l?a.classList.add("grip-disabledgrip"):(a.classList.remove("grip-disabledgrip"),a.addEventListener("touchstart",e.onGripMouseDown,{capture:!0,passive:!0}),a.addEventListener("mousedown",e.onGripMouseDown,!0)),a.t=r,a.i=o,r.opt.widths[o]?n.w=r.opt.widths[o]:(n.w=Number(window.getComputedStyle(n).width.replace(/px/,"")).valueOf(),r.opt.widths[o]=n.w),n.style.width=n.w+e.PX,n.removeAttribute("width"),a.data={i:o,t:r.getAttribute(e.ID),last:o===r.columnCnt-1},r.grips.push(a),r.columns.push(n)});var i=Array.from(r.querySelectorAll("td"));i.concat(Array.from(r.querySelectorAll("th"))),(i=(i=i.filter(function(e){for(var r=0;r<t.length;r++)if(t[r]===e)return!1;return!0})).filter(function(e){return!(e.querySelectorAll("table th").length||e.querySelectorAll("table td").length)})).forEach(function(e){e.removeAttribute("width")}),r.opt.fixed||(r.removeAttribute("width"),r.classList.add(e.FLEX)),e.syncGrips()},this.deserializeStore=function(t){var r=e.tb;if(r.columnGrp.forEach(function(e){e.removeAttribute("width")}),r.opt.flush)e.store[r.getAttribute(e.ID)]="";else{var i=e.store[r.getAttribute(e.ID)].split(";"),o=i[r.columnCnt+1];!r.opt.fixed&&o&&(r.style.width=o+e.PX,r.opt.overflow&&(r.style.minWidth=o+e.PX,r.tableWidth=Number(o).valueOf()));for(var n=0;n<r.columnCnt;n++){var l=100*Number(i[n]).valueOf()/Number(i[r.columnCnt]).valueOf()+"%";t[n].style.width=l,r.columnGrp[n]&&(r.columnGrp[n].style.width=l)}}},this.createDiv=function(e,t,r){var i=document.createElement("div");i.classList.add(t),r&&(i.innerHTML=r),e.appendChild(i)},this.syncCols=function(t,r,i,o){var n=t.remote,l=e.grip.x-e.grip.l,a=t.columns[r],s=t.columns[r+1];if(a&&s){var d=a.w+l,u=s.w-l,c=d+e.PX;if(a.style.width=c,t.columnGrp[r]&&t.columnGrp[r].style.width&&(t.columnGrp[r].style.width=c),n&&(n.columns[r].style.width=c,n.columnGrp[r]&&n.columnGrp[r].style.width&&(n.columnGrp[r].style.width=c)),o.fixed){var p=u+e.PX;s.style.width=p,t.columnGrp[r+1]&&t.columnGrp[r+1].style.width&&(t.columnGrp[r+1].style.width=p),n&&(n.columns[r+1].style.width=p,n.columnGrp[r+1]&&n.columnGrp[r+1].style.width&&(n.columnGrp[r+1].style.width=p))}else o.overflow&&(t.style.minWidth=t.tableWidth+l+e.PX);i&&(a.w=d,s.w=o.fixed?u:s.w,n&&(n.columns[r].w=d,n.columns[r+1].w=o.fixed?u:s.w))}}};t.default=s,s.DEFAULTS={resizeMode:"fit",draggingClass:"grip-drag",gripInnerHtml:"",liveDrag:!1,minWidth:15,headerOnly:!1,hoverCursor:"col-resize",dragCursor:"col-resize",flush:!1,marginLeft:null,marginRight:null,remoteTable:null,disable:!1,partialRefresh:!1,disabledColumns:[],removePadding:!0,widths:[],onDrag:null,onResize:null}}])}); | ||
//# sourceMappingURL=column-resizer.js.map |
{ | ||
"name": "column-resizer", | ||
"version": "1.1.1", | ||
"version": "1.1.2", | ||
"description": "Javascript to resize table columns", | ||
@@ -5,0 +5,0 @@ "title": "ColumnResizer", |
@@ -172,3 +172,3 @@ # ColumnResizer | ||
If the target table contains an explicit margin-left CSS rule, the same value must be used in this attribute (for example: "auto", "20%", "10px"). The reason why it is needed it is because most browsers (all except of IE) don’t allow direct access to the current CSS rule applied to an element in its original units (such as "%", "em" or "auto" values). | ||
If the target table contains an explicit margin-left CSS rule, the same value must be used in this attribute (for example: "auto", "20%", "10px"). The reason why it is needed it is because most browsers (all except of legacy IE) don’t allow direct access to the current CSS rule applied to an element in its original units (such as "%", "em" or "auto" values). | ||
___ | ||
@@ -175,0 +175,0 @@ |
@@ -18,3 +18,3 @@ /** | ||
FLEX = 'grip-flex'; | ||
IE = navigator.userAgent.indexOf('Trident/4.0') > 0; | ||
legacyIE = navigator.userAgent.indexOf('Trident/4.0') > 0; | ||
@@ -35,2 +35,6 @@ /** | ||
window.addEventListener('resize', this.onResize); | ||
// Polyfill for IE | ||
if (!Element.prototype.matches) { | ||
Element.prototype.matches = Element.prototype.msMatchesSelector; | ||
} | ||
this.init(options); | ||
@@ -416,4 +420,4 @@ } | ||
} | ||
tb.cellSpace = parseInt(this.IE ? tb.cellSpacing || tb.currentStyle.borderSpacing : window.getComputedStyle(tb).borderSpacing.split(' ')[0].replace(/px/, '')) || 2; | ||
tb.borderSpace = parseInt(this.IE ? tb.border || tb.currentStyle.borderLeftWidth : window.getComputedStyle(tb).borderLeftWidth.replace(/px/, '')) || 1; | ||
tb.cellSpace = parseInt(this.legacyIE ? tb.cellSpacing || tb.currentStyle.borderSpacing : window.getComputedStyle(tb).borderSpacing.split(' ')[0].replace(/px/, '')) || 2; | ||
tb.borderSpace = parseInt(this.legacyIE ? tb.border || tb.currentStyle.borderLeftWidth : window.getComputedStyle(tb).borderLeftWidth.replace(/px/, '')) || 1; | ||
tb.extended = true; | ||
@@ -420,0 +424,0 @@ this.createGrips(th); |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
129264
19
809