angular-ui-grid
Version:
A data grid for Angular
7 lines (5 loc) • 3.12 kB
JavaScript
/*!
* ui-grid - v4.9.1 - 2020-10-26
* Copyright (c) 2020 ; License: MIT
*/
!function(){"use strict";var n=angular.module("ui.grid.pinning",["ui.grid"]);n.constant("uiGridPinningConstants",{container:{LEFT:"left",RIGHT:"right",NONE:""}}),n.service("uiGridPinningService",["gridUtil","GridRenderContainer","i18nService","uiGridPinningConstants",function(c,n,d,u){var a={initializeGrid:function(e){a.defaultGridOptions(e.options),e.registerColumnBuilder(a.pinningColumnBuilder);var n={events:{pinning:{columnPinned:function(n,i){}}},methods:{pinning:{pinColumn:function(n,i){a.pinColumn(e,n,i)}}}};e.api.registerEventsFromObject(n.events),e.api.registerMethodsFromObject(n.methods)},defaultGridOptions:function(n){n.enablePinning=!1!==n.enablePinning,n.hidePinLeft=n.enablePinning&&n.hidePinLeft,n.hidePinRight=n.enablePinning&&n.hidePinRight},pinningColumnBuilder:function(n,i,e){if(n.enablePinning=void 0===n.enablePinning?e.enablePinning:n.enablePinning,n.hidePinLeft=void 0===n.hidePinLeft?e.hidePinLeft:n.hidePinLeft,n.hidePinRight=void 0===n.hidePinRight?e.hidePinRight:n.hidePinRight,n.pinnedLeft?(i.renderContainer="left",i.grid.createLeftContainer()):n.pinnedRight&&(i.renderContainer="right",i.grid.createRightContainer()),n.enablePinning){var t={name:"ui.grid.pinning.pinLeft",title:d.get().pinning.pinLeft,icon:"ui-grid-icon-left-open",shown:function(){return void 0===this.context.col.renderContainer||!this.context.col.renderContainer||"left"!==this.context.col.renderContainer},action:function(){a.pinColumn(this.context.col.grid,this.context.col,u.container.LEFT)}},r={name:"ui.grid.pinning.pinRight",title:d.get().pinning.pinRight,icon:"ui-grid-icon-right-open",shown:function(){return void 0===this.context.col.renderContainer||!this.context.col.renderContainer||"right"!==this.context.col.renderContainer},action:function(){a.pinColumn(this.context.col.grid,this.context.col,u.container.RIGHT)}},o={name:"ui.grid.pinning.unpin",title:d.get().pinning.unpin,icon:"ui-grid-icon-cancel",shown:function(){return void 0!==this.context.col.renderContainer&&null!==this.context.col.renderContainer&&"body"!==this.context.col.renderContainer},action:function(){a.pinColumn(this.context.col.grid,this.context.col,u.container.NONE)}};n.hidePinLeft||c.arrayContainsObjectWithProperty(i.menuItems,"name","ui.grid.pinning.pinLeft")||i.menuItems.push(t),n.hidePinRight||c.arrayContainsObjectWithProperty(i.menuItems,"name","ui.grid.pinning.pinRight")||i.menuItems.push(r),c.arrayContainsObjectWithProperty(i.menuItems,"name","ui.grid.pinning.unpin")||i.menuItems.push(o)}},pinColumn:function(n,i,e){e===u.container.NONE?(i.renderContainer=null,i.colDef.pinnedLeft=i.colDef.pinnedRight=!1):(i.renderContainer=e)===u.container.LEFT?n.createLeftContainer():e===u.container.RIGHT&&n.createRightContainer(),n.refresh().then(function(){n.api.pinning.raise.columnPinned(i.colDef,e)})}};return a}]),n.directive("uiGridPinning",["gridUtil","uiGridPinningService",function(n,r){return{require:"uiGrid",scope:!1,compile:function(){return{pre:function(n,i,e,t){r.initializeGrid(t.grid)},post:function(n,i,e,t){}}}}}])}();