UNPKG

4.59 kBJavaScriptView Raw
1/**
2 * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components
3 * @version v18.1.2
4 * @link http://www.ag-grid.com/
5 * @license MIT
6 */
7"use strict";
8var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
9 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12 return c > 3 && r && Object.defineProperty(target, key, r), r;
13};
14var __metadata = (this && this.__metadata) || function (k, v) {
15 if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
16};
17Object.defineProperty(exports, "__esModule", { value: true });
18var dragAndDropService_1 = require("../dragAndDrop/dragAndDropService");
19var columnController_1 = require("../columnController/columnController");
20var context_1 = require("../context/context");
21var gridOptionsWrapper_1 = require("../gridOptionsWrapper");
22var BodyDropPivotTarget = (function () {
23 function BodyDropPivotTarget(pinned) {
24 this.columnsToAggregate = [];
25 this.columnsToGroup = [];
26 this.columnsToPivot = [];
27 this.pinned = pinned;
28 }
29 /** Callback for when drag enters */
30 BodyDropPivotTarget.prototype.onDragEnter = function (draggingEvent) {
31 var _this = this;
32 this.clearColumnsList();
33 // in pivot mode, we don't accept any drops if functions are read only
34 if (this.gridOptionsWrapper.isFunctionsReadOnly()) {
35 return;
36 }
37 var dragColumns = draggingEvent.dragItem.columns;
38 dragColumns.forEach(function (column) {
39 // we don't allow adding secondary columns
40 if (!column.isPrimary()) {
41 return;
42 }
43 if (column.isAnyFunctionActive()) {
44 return;
45 }
46 if (column.isAllowValue()) {
47 _this.columnsToAggregate.push(column);
48 }
49 else if (column.isAllowRowGroup()) {
50 _this.columnsToGroup.push(column);
51 }
52 else if (column.isAllowRowGroup()) {
53 _this.columnsToPivot.push(column);
54 }
55 });
56 };
57 BodyDropPivotTarget.prototype.getIconName = function () {
58 var totalColumns = this.columnsToAggregate.length + this.columnsToGroup.length + this.columnsToPivot.length;
59 if (totalColumns > 0) {
60 return this.pinned ? dragAndDropService_1.DragAndDropService.ICON_PINNED : dragAndDropService_1.DragAndDropService.ICON_MOVE;
61 }
62 else {
63 return null;
64 }
65 };
66 /** Callback for when drag leaves */
67 BodyDropPivotTarget.prototype.onDragLeave = function (draggingEvent) {
68 // if we are taking columns out of the center, then we remove them from the report
69 this.clearColumnsList();
70 };
71 BodyDropPivotTarget.prototype.clearColumnsList = function () {
72 this.columnsToAggregate.length = 0;
73 this.columnsToGroup.length = 0;
74 this.columnsToPivot.length = 0;
75 };
76 /** Callback for when dragging */
77 BodyDropPivotTarget.prototype.onDragging = function (draggingEvent) {
78 };
79 /** Callback for when drag stops */
80 BodyDropPivotTarget.prototype.onDragStop = function (draggingEvent) {
81 if (this.columnsToAggregate.length > 0) {
82 this.columnController.addValueColumns(this.columnsToAggregate, "toolPanelDragAndDrop");
83 }
84 if (this.columnsToGroup.length > 0) {
85 this.columnController.addRowGroupColumns(this.columnsToGroup, "toolPanelDragAndDrop");
86 }
87 if (this.columnsToPivot.length > 0) {
88 this.columnController.addPivotColumns(this.columnsToPivot, "toolPanelDragAndDrop");
89 }
90 };
91 __decorate([
92 context_1.Autowired('columnController'),
93 __metadata("design:type", columnController_1.ColumnController)
94 ], BodyDropPivotTarget.prototype, "columnController", void 0);
95 __decorate([
96 context_1.Autowired('gridOptionsWrapper'),
97 __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper)
98 ], BodyDropPivotTarget.prototype, "gridOptionsWrapper", void 0);
99 return BodyDropPivotTarget;
100}());
101exports.BodyDropPivotTarget = BodyDropPivotTarget;