UNPKG

angular-ui-grid

Version:

A data grid for Angular

2 lines 14.9 kB
/*! For license information please see ui-grid.tree-base.min.js.LICENSE.txt */ (()=>{var e={953:e=>{e.exports='<div\n class="ui-grid-tree-base-row-header-buttons"\n tabindex="0"\n ng-class="headerButtonClass()"\n ng-click="headerButtonClick($event)"\n ng-keydown="headerButtonKeyDown($event)">\n</div>\n'},589:e=>{e.exports='<div>\n <div\n class="ui-grid-cell-contents"\n col-index="renderIndex">\n <ui-grid-tree-base-expand-all-buttons\n ng-if="grid.options.enableExpandAll">\n </ui-grid-tree-base-expand-all-buttons>\n </div>\n</div>\n'},825:e=>{e.exports='<div\n class="ui-grid-cell-contents">\n <ui-grid-tree-base-row-header-buttons>\n </ui-grid-tree-base-row-header-buttons>\n</div>\n'},670:e=>{e.exports='<div\n class="ui-grid-tree-base-row-header-buttons"\n ng-class="{\'ui-grid-tree-base-header\': row.treeLevel > -1 }"\n tabindex="0"\n ng-keydown="treeButtonKeyDown(row, $event)"\n ng-click="treeButtonClick(row, $event)">\n <i\n ng-class="treeButtonClass(row)"\n ng-style="{\'padding-left\': grid.options.treeIndent * row.treeLevel + \'px\'}">\n </i>\n &nbsp;\n</div>\n'},145:()=>{!function(){"use strict";var e=angular.module("ui.grid.treeBase",["ui.grid"]);e.constant("uiGridTreeBaseConstants",{featureName:"treeBase",rowHeaderColName:"treeBaseRowHeaderCol",EXPANDED:"expanded",COLLAPSED:"collapsed",aggregation:{COUNT:"count",SUM:"sum",MAX:"max",MIN:"min",AVG:"avg"}}),e.service("uiGridTreeBaseService",["$q","uiGridTreeBaseConstants","gridUtil","GridRow","gridClassFactory","i18nService","uiGridConstants","rowSorter",function(e,t,r,n,o,a,i,l){var g={initializeGrid:function(e){e.treeBase={},e.treeBase.numberLevels=0,e.treeBase.expandAll=!1,e.treeBase.tree=[],g.defaultGridOptions(e.options),e.registerRowsProcessor(g.treeRows,410),e.registerColumnBuilder(g.treeBaseColumnBuilder),g.createRowHeader(e);var t={events:{treeBase:{rowExpanded:{},rowCollapsed:{}}},methods:{treeBase:{expandAllRows:function(){g.expandAllRows(e)},collapseAllRows:function(){g.collapseAllRows(e)},toggleRowTreeState:function(t){g.toggleRowTreeState(e,t)},expandRow:function(t,r){g.expandRow(e,t,r)},expandRowChildren:function(t){g.expandRowChildren(e,t)},collapseRow:function(t){g.collapseRow(e,t)},collapseRowChildren:function(t){g.collapseRowChildren(e,t)},getTreeExpandedState:function(){return{expandedState:g.getTreeState(e)}},setTreeState:function(t){g.setTreeState(e,t)},getRowChildren:function(e){return e.treeNode.children.map((function(e){return e.row}))}}}};e.api.registerEventsFromObject(t.events),e.api.registerMethodsFromObject(t.methods)},defaultGridOptions:function(e){e.treeRowHeaderBaseWidth=e.treeRowHeaderBaseWidth||30,e.treeIndent=null!=e.treeIndent?e.treeIndent:10,e.showTreeRowHeader=!1!==e.showTreeRowHeader,e.showTreeExpandNoChildren=!1!==e.showTreeExpandNoChildren,e.treeRowHeaderAlwaysVisible=!1!==e.treeRowHeaderAlwaysVisible,e.treeCustomAggregations=e.treeCustomAggregations||{},e.enableExpandAll=!1!==e.enableExpandAll},treeBaseColumnBuilder:function(e,t,r){void 0!==e.customTreeAggregationFn&&(t.treeAggregationFn=e.customTreeAggregationFn),void 0!==e.treeAggregationType&&(t.treeAggregation={type:e.treeAggregationType},void 0!==r.treeCustomAggregations[e.treeAggregationType]?(t.treeAggregationFn=r.treeCustomAggregations[e.treeAggregationType].aggregationFn,t.treeAggregationFinalizerFn=r.treeCustomAggregations[e.treeAggregationType].finalizerFn,t.treeAggregation.label=r.treeCustomAggregations[e.treeAggregationType].label):void 0!==g.nativeAggregations()[e.treeAggregationType]&&(t.treeAggregationFn=g.nativeAggregations()[e.treeAggregationType].aggregationFn,t.treeAggregation.label=g.nativeAggregations()[e.treeAggregationType].label)),void 0!==e.treeAggregationLabel&&(void 0===t.treeAggregation&&(t.treeAggregation={}),t.treeAggregation.label=e.treeAggregationLabel),t.treeAggregationUpdateEntity=!1!==e.treeAggregationUpdateEntity,void 0===t.customTreeAggregationFinalizerFn&&(t.customTreeAggregationFinalizerFn=e.customTreeAggregationFinalizerFn)},createRowHeader:function(e){var r={name:t.rowHeaderColName,displayName:"",width:e.options.treeRowHeaderBaseWidth,minWidth:10,cellTemplate:"ui-grid/treeBaseRowHeader",headerCellTemplate:"ui-grid/treeBaseHeaderCell",enableColumnResizing:!1,enableColumnMenu:!1,exporterSuppressExport:!0,allowCellFocus:!0};r.visible=e.options.treeRowHeaderAlwaysVisible,e.addRowHeaderColumn(r,-100)},expandAllRows:function(e){e.treeBase.tree.forEach((function(r){g.setAllNodes(e,r,t.EXPANDED)})),e.treeBase.expandAll=!0,e.queueGridRefresh()},collapseAllRows:function(e){e.treeBase.tree.forEach((function(r){g.setAllNodes(e,r,t.COLLAPSED)})),e.treeBase.expandAll=!1,e.queueGridRefresh()},setAllNodes:function(e,r,n){void 0!==r.state&&r.state!==n&&(r.state=n,n===t.EXPANDED?e.api.treeBase.raise.rowExpanded(r.row):e.api.treeBase.raise.rowCollapsed(r.row)),r.children&&r.children.forEach((function(t){g.setAllNodes(e,t,n)}))},toggleRowTreeState:function(e,r){void 0===r.treeLevel||null===r.treeLevel||r.treeLevel<0||(r.treeNode.state===t.EXPANDED?g.collapseRow(e,r):g.expandRow(e,r,!1),e.queueGridRefresh())},expandRow:function(e,r,n){if(n){for(var o=[];r&&void 0!==r.treeLevel&&null!==r.treeLevel&&r.treeLevel>=0&&r.treeNode.state!==t.EXPANDED;)o.push(r),r=r.treeNode.parentRow;if(o.length>0){for(r=o.pop();r;)r.treeNode.state=t.EXPANDED,e.api.treeBase.raise.rowExpanded(r),r=o.pop();e.treeBase.expandAll=g.allExpanded(e.treeBase.tree),e.queueGridRefresh()}}else{if(void 0===r.treeLevel||null===r.treeLevel||r.treeLevel<0)return;r.treeNode.state!==t.EXPANDED&&(r.treeNode.state=t.EXPANDED,e.api.treeBase.raise.rowExpanded(r),e.treeBase.expandAll=g.allExpanded(e.treeBase.tree),e.queueGridRefresh())}},expandRowChildren:function(e,r){void 0===r.treeLevel||null===r.treeLevel||r.treeLevel<0||(g.setAllNodes(e,r.treeNode,t.EXPANDED),e.treeBase.expandAll=g.allExpanded(e.treeBase.tree),e.queueGridRefresh())},collapseRow:function(e,r){void 0===r.treeLevel||null===r.treeLevel||r.treeLevel<0||r.treeNode.state!==t.COLLAPSED&&(r.treeNode.state=t.COLLAPSED,e.treeBase.expandAll=!1,e.api.treeBase.raise.rowCollapsed(r),e.queueGridRefresh())},collapseRowChildren:function(e,r){void 0===r.treeLevel||null===r.treeLevel||r.treeLevel<0||(g.setAllNodes(e,r.treeNode,t.COLLAPSED),e.treeBase.expandAll=!1,e.queueGridRefresh())},allExpanded:function(e){var t=!0;return e.forEach((function(e){g.allExpandedInternal(e)||(t=!1)})),t},allExpandedInternal:function(e){if(e.children&&e.children.length>0){if(e.state===t.COLLAPSED)return!1;var r=!0;return e.children.forEach((function(e){g.allExpandedInternal(e)||(r=!1)})),r}return!0},treeRows:function(e){var t=this;return 0===e.length?(g.updateRowHeaderWidth(t),e):(t.treeBase.tree=g.createTree(t,e),g.updateRowHeaderWidth(t),g.sortTree(t),g.fixFilter(t),g.renderTree(t.treeBase.tree))},updateRowHeaderWidth:function(e){var r=e.getColumn(t.rowHeaderColName),n=e.options.treeRowHeaderBaseWidth+e.options.treeIndent*Math.max(e.treeBase.numberLevels-1,0);r&&n!==r.width&&(r.width=n,e.queueRefresh());var o=!0;!1===e.options.showTreeRowHeader&&(o=!1),!1===e.options.treeRowHeaderAlwaysVisible&&e.treeBase.numberLevels<=0&&(o=!1),r&&r.visible!==o&&(r.visible=o,r.colDef.visible=o,e.queueGridRefresh())},renderTree:function(e){var r=[];return e.forEach((function(e){e.row.visible&&r.push(e.row),e.state===t.EXPANDED&&e.children&&e.children.length>0&&(r=r.concat(g.renderTree(e.children)))})),r},createTree:function(e,r){var n=-1,o={},a=[];e.treeBase.tree=[],e.treeBase.numberLevels=0;var i=g.getAggregations(e);for(r.forEach((function(r){if(r.internalRow||r.treeLevel===r.entity.$$treeLevel||(r.treeLevel=r.entity.$$treeLevel),r.treeLevel<=n){for(;r.treeLevel<=n;){var l=a.pop();g.finaliseAggregations(l),n--}a.length>0?g.setCurrentState(a):t.EXPANDED}void 0!==r.treeLevel&&null!==r.treeLevel&&r.treeLevel>=0&&o.hasOwnProperty(r.uid)&&a.push(o[r.uid]),(void 0===r.treeLevel||null===r.treeLevel||r.treeLevel<0)&&r.visible&&g.aggregate(e,r,a),o.hasOwnProperty(r.uid)||g.addOrUseNode(e,r,a,i),void 0!==r.treeLevel&&null!==r.treeLevel&&r.treeLevel>=0&&(o.hasOwnProperty(r.uid)||(o[r.uid]=r,a.push(r)),n++,g.setCurrentState(a)),e.treeBase.numberLevels<r.treeLevel+1&&(e.treeBase.numberLevels=r.treeLevel+1)}));a.length>0;){var l=a.pop();g.finaliseAggregations(l)}return e.treeBase.tree},addOrUseNode:function(e,r,n,o){var a=[];o.forEach((function(e){a.push(g.buildAggregationObject(e.col))}));var i={state:t.COLLAPSED,row:r,parentRow:null,aggregations:a,children:[]};r.treeNode&&(i.state=r.treeNode.state),n.length>0&&(i.parentRow=n[n.length-1]),r.treeNode=i,0===n.length?e.treeBase.tree.push(i):n[n.length-1].treeNode.children.push(i)},setCurrentState:function(e){var r=t.EXPANDED;return e.forEach((function(e){e.treeNode.state===t.COLLAPSED&&(r=t.COLLAPSED)})),r},sortTree:function(e){e.columns.forEach((function(e){e.sort&&e.sort.ignoreSort&&delete e.sort.ignoreSort})),e.treeBase.tree=g.sortInternal(e,e.treeBase.tree)},sortInternal:function(e,r){var n=r.map((function(e){return e.row})),o=(n=l.sort(e,n,e.columns)).map((function(e){return e.treeNode}));return o.forEach((function(r){r.state===t.EXPANDED&&r.children&&r.children.length>0&&(r.children=g.sortInternal(e,r.children))})),o},fixFilter:function(e){var t;e.treeBase.tree.forEach((function(e){e.children&&e.children.length>0&&(t=e.row.visible,g.fixFilterInternal(e.children,t))}))},fixFilterInternal:function(e,t){return e.forEach((function(e){e.row.visible&&!t&&(g.setParentsVisible(e),t=!0),e.children&&e.children.length>0&&g.fixFilterInternal(e.children,t&&e.row.visible)&&(t=!0)})),t},setParentsVisible:function(e){for(;e.parentRow;)e.parentRow.visible=!0,e=e.parentRow.treeNode},buildAggregationObject:function(e){var t={col:e};return e.treeAggregation&&e.treeAggregation.type&&(t.type=e.treeAggregation.type),e.treeAggregation&&e.treeAggregation.label&&(t.label=e.treeAggregation.label),t},getAggregations:function(e){var t=[];return e.columns.forEach((function(r){void 0!==r.treeAggregationFn&&(t.push(g.buildAggregationObject(r)),e.options.showColumnFooter&&void 0===r.colDef.aggregationType&&r.treeAggregation&&(r.treeFooterAggregation=g.buildAggregationObject(r),r.aggregationType=g.treeFooterAggregationType))})),t},aggregate:function(e,t,r){0===r.length&&t.treeNode&&t.treeNode.aggregations&&t.treeNode.aggregations.forEach((function(r){if(void 0!==r.col.treeFooterAggregation){var n=e.getCellValue(t,r.col),o=Number(n);r.col.treeAggregationFn?r.col.treeAggregationFn(r.col.treeFooterAggregation,n,o,t):r.col.treeFooterAggregation.value=void 0}})),r.forEach((function(r,n){r.treeNode.aggregations&&r.treeNode.aggregations.forEach((function(r){var o=e.getCellValue(t,r.col),a=Number(o);r.col.treeAggregationFn(r,o,a,t),0===n&&void 0!==r.col.treeFooterAggregation&&(r.col.treeAggregationFn?r.col.treeAggregationFn(r.col.treeFooterAggregation,o,a,t):r.col.treeFooterAggregation.value=void 0)}))}))},nativeAggregations:function(){return{count:{label:a.get().aggregation.count,menuTitle:a.get().grouping.aggregate_count,aggregationFn:function(e,t,r){void 0===e.value?e.value=1:e.value++}},sum:{label:a.get().aggregation.sum,menuTitle:a.get().grouping.aggregate_sum,aggregationFn:function(e,t,r){isNaN(r)||(void 0===e.value?e.value=r:e.value+=r)}},min:{label:a.get().aggregation.min,menuTitle:a.get().grouping.aggregate_min,aggregationFn:function(e,t,r){(void 0===e.value||null!=t&&(t<e.value||null===e.value))&&(e.value=t)}},max:{label:a.get().aggregation.max,menuTitle:a.get().grouping.aggregate_max,aggregationFn:function(e,t,r){(void 0===e.value||null!=t&&(t>e.value||null===e.value))&&(e.value=t)}},avg:{label:a.get().aggregation.avg,menuTitle:a.get().grouping.aggregate_avg,aggregationFn:function(e,t,r){void 0===e.count?e.count=1:e.count++,isNaN(r)||(void 0===e.value||void 0===e.sum?(e.value=r,e.sum=r):(e.sum+=r,e.value=e.sum/e.count))}}}},finaliseAggregation:function(e,t){t.col.treeAggregationUpdateEntity&&void 0!==e&&void 0!==e.entity["$$"+t.col.uid]&&angular.extend(t,e.entity["$$"+t.col.uid]),"function"==typeof t.col.treeAggregationFinalizerFn&&t.col.treeAggregationFinalizerFn(t),"function"==typeof t.col.customTreeAggregationFinalizerFn&&t.col.customTreeAggregationFinalizerFn(t),void 0===t.rendered&&(t.rendered=t.label?t.label+t.value:t.value)},finaliseAggregations:function(e){null!=e&&void 0!==e.treeNode.aggregations&&e.treeNode.aggregations.forEach((function(t){if(g.finaliseAggregation(e,t),t.col.treeAggregationUpdateEntity){var r={};angular.forEach(t,(function(e,n){t.hasOwnProperty(n)&&"col"!==n&&(r[n]=e)})),e.entity["$$"+t.col.uid]=r}}))},treeFooterAggregationType:function(e,t){return g.finaliseAggregation(void 0,t.treeFooterAggregation),void 0===t.treeFooterAggregation.value||null===t.treeFooterAggregation.rendered?"":t.treeFooterAggregation.rendered}};return g}]),e.directive("uiGridTreeBaseRowHeaderButtons",["$templateCache","uiGridTreeBaseService",function(e,t){return{replace:!0,restrict:"E",template:e.get("ui-grid/treeBaseRowHeaderButtons"),scope:!0,require:"^uiGrid",link:function(e,r,n,o){var a=o.grid;e.treeButtonClass=function(e){if(a.options.showTreeExpandNoChildren&&e.treeLevel>-1||e.treeNode.children&&e.treeNode.children.length>0){if("expanded"===e.treeNode.state)return"ui-grid-icon-minus-squared";if("collapsed"===e.treeNode.state)return"ui-grid-icon-plus-squared"}},e.treeButtonClick=function(e,r){r.stopPropagation(),t.toggleRowTreeState(a,e,r)},e.treeButtonKeyDown=function(t,r){32!==r.keyCode&&13!==r.keyCode||e.treeButtonClick(t,r)}}}}]),e.directive("uiGridTreeBaseExpandAllButtons",["$templateCache","uiGridTreeBaseService",function(e,t){return{replace:!0,restrict:"E",template:e.get("ui-grid/treeBaseExpandAllButtons"),scope:!1,link:function(e){var r=e.col.grid;e.headerButtonClass=function(){return r.treeBase.numberLevels>0&&r.treeBase.expandAll?"ui-grid-icon-minus-squared":r.treeBase.numberLevels>0&&!r.treeBase.expandAll?"ui-grid-icon-plus-squared":void 0},e.headerButtonClick=function(e,n){r.treeBase.expandAll?t.collapseAllRows(r,n):t.expandAllRows(r,n)},e.headerButtonKeyDown=function(t){32!==t.keyCode&&13!==t.keyCode||e.headerButtonClick(r,t)}}}}]),e.directive("uiGridViewport",(function(){return{priority:-200,scope:!1,compile:function(e){var t=angular.element(e.children().children()[0]),r=t.attr("ng-class"),n="";return n=r?r.slice(0,-1)+",'ui-grid-tree-header-row': row.treeLevel > -1}":"{'ui-grid-tree-header-row': row.treeLevel > -1}",t.attr("ng-class",n),{pre:function(e,t,r,n){},post:function(e,t,r,n){}}}}}))}()},561:(e,t,r)=>{angular.module("ui.grid.treeBase").run(["$templateCache",function(e){"use strict";e.put("ui-grid/treeBaseExpandAllButtons",r(953)),e.put("ui-grid/treeBaseHeaderCell",r(589)),e.put("ui-grid/treeBaseRowHeader",r(825)),e.put("ui-grid/treeBaseRowHeaderButtons",r(670))}])}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r(145),r(561)})();