-
Notifications
You must be signed in to change notification settings - Fork 77
/
Copy pathui-grid.resizeColumns.min.js
2 lines (2 loc) · 5.83 KB
/
ui-grid.resizeColumns.min.js
1
2
/*! For license information please see ui-grid.resizeColumns.min.js.LICENSE.txt */
(()=>{var e={165:e=>{e.exports='<div\n ui-grid-column-resizer\n ng-if="grid.options.enableColumnResizing"\n class="ui-grid-column-resizer"\n col="col"\n position="right"\n render-index="renderIndex"\n unselectable="on">\n</div>'},305:()=>{!function(){"use strict";var e=angular.module("ui.grid.resizeColumns",["ui.grid"]);e.service("uiGridResizeColumnsService",["gridUtil","$q","$rootScope",function(e,i,n){return{defaultGridOptions:function(e){e.enableColumnResizing=!1!==e.enableColumnResizing,!1===e.enableColumnResize&&(e.enableColumnResizing=!1)},colResizerColumnBuilder:function(e,n,r){return e.enableColumnResizing=void 0===e.enableColumnResizing?r.enableColumnResizing:e.enableColumnResizing,!1===e.enableColumnResize&&(e.enableColumnResizing=!1),i.all([])},registerPublicApi:function(e){e.api.registerEventsFromObject({colResizable:{columnSizeChanged:function(e,i){}}})},fireColumnSizeChanged:function(i,r,o){n.$applyAsync((function(){i.api.colResizable?i.api.colResizable.raise.columnSizeChanged(r,o):e.logError("The resizeable api is not registered, this may indicate that you've included the module but not added the 'ui-grid-resize-columns' directive to your grid definition. Cannot raise any events.")}))},findTargetCol:function(e,i,n){var r=e.getRenderContainer();if("left"===i){var o=r.visibleColumnCache.indexOf(e);return 0===o?r.visibleColumnCache[0]:r.visibleColumnCache[o-1*n]}return e}}}]),e.directive("uiGridResizeColumns",["gridUtil","uiGridResizeColumnsService",function(e,i){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(e,n,r,o){i.defaultGridOptions(o.grid.options),o.grid.registerColumnBuilder(i.colResizerColumnBuilder),i.registerPublicApi(o.grid)},post:function(e,i,n,r){}}}}}]),e.directive("uiGridHeaderCell",["gridUtil","$templateCache","$compile","$q","uiGridResizeColumnsService","uiGridConstants",function(e,i,n,r,o,t){return{priority:-10,require:"^uiGrid",compile:function(){return{post:function(e,r,l,u){var a=u.grid;if(a.options.enableColumnResizing){var s=i.get("ui-grid/columnResizer"),d=1;a.isRTL()&&(e.position="left",d=-1);var c=function(){for(var i=r[0].getElementsByClassName("ui-grid-column-resizer"),t=0;t<i.length;t++)angular.element(i[t]).remove();var l=o.findTargetCol(e.col,"left",d),u=e.col.getRenderContainer();if(l&&0!==u.visibleColumnCache.indexOf(e.col)&&!1!==l.colDef.enableColumnResizing){var a=angular.element(s).clone();a.attr("position","left"),r.prepend(a),n(a)(e)}if(!1!==e.col.colDef.enableColumnResizing){var c=angular.element(s).clone();c.attr("position","right"),r.append(c),n(c)(e)}};c();var g=a.registerDataChangeCallback((function(){e.$applyAsync(c)}),[t.dataChange.COLUMN]);e.$on("$destroy",g)}}}}}}]),e.directive("uiGridColumnResizer",["$document","gridUtil","uiGridConstants","uiGridResizeColumnsService",function(e,i,n,r){var o=angular.element('<div class="ui-grid-resize-overlay"></div>');return{priority:0,scope:{col:"=",position:"@",renderIndex:"="},require:"?^uiGrid",link:function(t,l,u,a){var s=0,d=0,c=0,g=1;function f(e){a.grid.refreshCanvas(!0).then((function(){a.grid.queueGridRefresh()}))}function m(e,i){var n=i;return e.minWidth&&n<e.minWidth?n=e.minWidth:e.maxWidth&&n>e.maxWidth&&(n=e.maxWidth),n}function C(e,i){e.originalEvent&&(e=e.originalEvent),e.preventDefault(),(d=(e.targetTouches?e.targetTouches[0]:e).clientX-c)<0?d=0:d>a.grid.gridWidth&&(d=a.grid.gridWidth);var l=r.findTargetCol(t.col,t.position,g);if(!1!==l.colDef.enableColumnResizing){a.grid.element.hasClass("column-resizing")||a.grid.element.addClass("column-resizing");var u=d-s,f=parseInt(l.drawnWidth+u*g,10);d+=(m(l,f)-f)*g,o.css({left:d+"px"}),a.fireEvent(n.events.ITEM_DRAGGING)}}function v(e){e.originalEvent&&(e=e.originalEvent),e.preventDefault(),a.grid.element.removeClass("column-resizing"),o.remove();var i=(d=(e.changedTouches?e.changedTouches[0]:e).clientX-c)-s;if(0===i)return z(),void h();var n=r.findTargetCol(t.col,t.position,g);if(!1!==n.colDef.enableColumnResizing){var l=parseInt(n.drawnWidth+i*g,10);n.width=m(n,l),n.hasCustomWidth=!0,f(),r.fireColumnSizeChanged(a.grid,n.colDef,i),z(),h()}}a.grid.isRTL()&&(t.position="left",g=-1),"left"===t.position?l.addClass("left"):"right"===t.position&&l.addClass("right");var p=function(i,n){i.originalEvent&&(i=i.originalEvent),i.stopPropagation(),c=a.grid.element[0].getBoundingClientRect().left,s=(i.targetTouches?i.targetTouches[0]:i).clientX-c,a.grid.element.append(o),o.css({left:s}),"touchstart"===i.type?(e.on("touchend",v),e.on("touchmove",C),l.off("mousedown",p)):(e.on("mouseup",v),e.on("mousemove",C),l.off("touchstart",p))},h=function(){l.on("mousedown",p),l.on("touchstart",p)},z=function(){e.off("mouseup",v),e.off("touchend",v),e.off("mousemove",C),e.off("touchmove",C),l.off("mousedown",p),l.off("touchstart",p)};h();var R=function(e,o){e.stopPropagation();var u=r.findTargetCol(t.col,t.position,g);if(!1!==u.colDef.enableColumnResizing){var s=0,d=i.closestElm(l,".ui-grid-render-container").querySelectorAll("."+n.COL_CLASS_PREFIX+u.uid+" .ui-grid-cell-contents");Array.prototype.forEach.call(d,(function(e){var n;angular.element(e).parent().hasClass("ui-grid-header-cell")&&(n=angular.element(e).parent()[0].querySelectorAll(".ui-grid-column-menu-button")),i.fakeElement(e,{},(function(e){var r=angular.element(e);r.attr("style","float: left");var o=i.elementWidth(r)+2;n&&(o+=i.elementWidth(n));o>s&&(s=o)}))}));var c=m(u,s),C=c-u.drawnWidth;u.width=c,u.hasCustomWidth=!0,f(),r.fireColumnSizeChanged(a.grid,u.colDef,C)}};l.on("dblclick",R),l.on("$destroy",(function(){l.off("dblclick",R),z()}))}}}])}()},561:(e,i,n)=>{angular.module("ui.grid.resizeColumns").run(["$templateCache",function(e){"use strict";e.put("ui-grid/columnResizer",n(165))}])}},i={};function n(r){var o=i[r];if(void 0!==o)return o.exports;var t=i[r]={exports:{}};return e[r](t,t.exports,n),t.exports}n(305),n(561)})();