@sapui5/sap.zen.crosstab 1.84.33 → 1.84.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/package.json +1 -1
  2. package/src/{main/uilib/sap → sap}/zen/crosstab/.library +14 -13
  3. package/src/sap/zen/crosstab/BaseArea.js +933 -0
  4. package/src/sap/zen/crosstab/CellStyleHandler.js +109 -0
  5. package/src/sap/zen/crosstab/ColResizer.js +261 -0
  6. package/src/sap/zen/crosstab/ColumnHeaderArea.js +61 -0
  7. package/src/sap/zen/crosstab/Crosstab.js +1351 -0
  8. package/src/sap/zen/crosstab/CrosstabCellApi.js +141 -0
  9. package/src/sap/zen/crosstab/CrosstabContextMenu.js +96 -0
  10. package/src/sap/zen/crosstab/CrosstabHeaderInfo.js +699 -0
  11. package/src/sap/zen/crosstab/CrosstabRenderer.js +258 -0
  12. package/src/sap/zen/crosstab/CrosstabTestProxy.js +64 -0
  13. package/src/sap/zen/crosstab/DataArea.js +76 -0
  14. package/src/sap/zen/crosstab/DataCell.js +187 -0
  15. package/src/sap/zen/crosstab/DataCellRenderer.js +70 -0
  16. package/src/sap/zen/crosstab/DimensionHeaderArea.js +34 -0
  17. package/src/sap/zen/crosstab/EventHandler.js +664 -0
  18. package/src/sap/zen/crosstab/HeaderCell.js +357 -0
  19. package/src/sap/zen/crosstab/HeaderCellRenderer.js +333 -0
  20. package/src/sap/zen/crosstab/HeaderResizer.js +142 -0
  21. package/src/sap/zen/crosstab/IDataCell.js +34 -0
  22. package/src/sap/zen/crosstab/IHeaderCell.js +30 -0
  23. package/src/sap/zen/crosstab/PropertyBag.js +220 -0
  24. package/src/sap/zen/crosstab/RowHeaderArea.js +78 -0
  25. package/src/sap/zen/crosstab/SelectionHandler.js +892 -0
  26. package/src/sap/zen/crosstab/TextConstants.js +22 -0
  27. package/src/sap/zen/crosstab/TouchHandler.js +413 -0
  28. package/src/sap/zen/crosstab/datahandler/JsonDataHandler.js +777 -0
  29. package/src/sap/zen/crosstab/dragdrop/DragDropAreaRenderer.js +446 -0
  30. package/src/sap/zen/crosstab/dragdrop/DragDropHandler.js +674 -0
  31. package/src/sap/zen/crosstab/dragdrop/DragDropHoverManager.js +474 -0
  32. package/src/sap/zen/crosstab/dragdrop/DragDropUtils.js +579 -0
  33. package/src/sap/zen/crosstab/dragdrop/MemberDragDropHandler.js +1156 -0
  34. package/src/sap/zen/crosstab/keyboard/CrosstabKeyboardNavHandler.js +585 -0
  35. package/src/sap/zen/crosstab/library.js +49 -0
  36. package/src/sap/zen/crosstab/paging/CellMerger.js +266 -0
  37. package/src/sap/zen/crosstab/paging/Page.js +331 -0
  38. package/src/sap/zen/crosstab/paging/PageManager.js +396 -0
  39. package/src/sap/zen/crosstab/paging/PagingConstants.js +19 -0
  40. package/src/sap/zen/crosstab/paging/RequestHandler.js +103 -0
  41. package/src/sap/zen/crosstab/paging/RequestStack.js +112 -0
  42. package/src/sap/zen/crosstab/rendering/CrossRequestManager.js +468 -0
  43. package/src/sap/zen/crosstab/rendering/DataModel.js +260 -0
  44. package/src/sap/zen/crosstab/rendering/DomElementProvider.js +24 -0
  45. package/src/sap/zen/crosstab/rendering/HeaderScrollManager.js +93 -0
  46. package/src/sap/zen/crosstab/rendering/PixelScrollManager.js +189 -0
  47. package/src/sap/zen/crosstab/rendering/RenderEngine.js +2694 -0
  48. package/src/sap/zen/crosstab/rendering/RenderingConstants.js +60 -0
  49. package/src/sap/zen/crosstab/rendering/ScrollManager.js +614 -0
  50. package/src/sap/zen/crosstab/rendering/ScrollbarRenderer.js +560 -0
  51. package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/Chart.less +0 -4
  52. package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/InfoFeeding.less +120 -120
  53. package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_hcb/InfoFeeding.less +85 -85
  54. package/src/sap/zen/crosstab/utils/Measuring.js +236 -0
  55. package/src/sap/zen/crosstab/utils/Utils.js +485 -0
  56. package/ui5.yaml +4 -2
  57. package/src/main/uilib/sap/zen/crosstab/BaseArea.js +0 -1013
  58. package/src/main/uilib/sap/zen/crosstab/CellStyleHandler.js +0 -111
  59. package/src/main/uilib/sap/zen/crosstab/ColResizer.js +0 -264
  60. package/src/main/uilib/sap/zen/crosstab/ColumnHeaderArea.js +0 -52
  61. package/src/main/uilib/sap/zen/crosstab/Crosstab.js +0 -1662
  62. package/src/main/uilib/sap/zen/crosstab/CrosstabCellApi.js +0 -142
  63. package/src/main/uilib/sap/zen/crosstab/CrosstabContextMenu.js +0 -96
  64. package/src/main/uilib/sap/zen/crosstab/CrosstabHeaderInfo.js +0 -698
  65. package/src/main/uilib/sap/zen/crosstab/CrosstabRenderer.js +0 -274
  66. package/src/main/uilib/sap/zen/crosstab/CrosstabTestProxy.js +0 -59
  67. package/src/main/uilib/sap/zen/crosstab/DataArea.js +0 -74
  68. package/src/main/uilib/sap/zen/crosstab/DataCell.js +0 -196
  69. package/src/main/uilib/sap/zen/crosstab/DataCellRenderer.js +0 -71
  70. package/src/main/uilib/sap/zen/crosstab/DimensionHeaderArea.js +0 -25
  71. package/src/main/uilib/sap/zen/crosstab/EventHandler.js +0 -651
  72. package/src/main/uilib/sap/zen/crosstab/HeaderCell.js +0 -329
  73. package/src/main/uilib/sap/zen/crosstab/HeaderCellRenderer.js +0 -374
  74. package/src/main/uilib/sap/zen/crosstab/HeaderResizer.js +0 -131
  75. package/src/main/uilib/sap/zen/crosstab/IDataCell.js +0 -21
  76. package/src/main/uilib/sap/zen/crosstab/IHeaderCell.js +0 -21
  77. package/src/main/uilib/sap/zen/crosstab/PropertyBag.js +0 -209
  78. package/src/main/uilib/sap/zen/crosstab/RowHeaderArea.js +0 -71
  79. package/src/main/uilib/sap/zen/crosstab/SelectionHandler.js +0 -911
  80. package/src/main/uilib/sap/zen/crosstab/TextConstants.js +0 -9
  81. package/src/main/uilib/sap/zen/crosstab/TouchHandler.js +0 -438
  82. package/src/main/uilib/sap/zen/crosstab/datahandler/JsonDataHandler.js +0 -760
  83. package/src/main/uilib/sap/zen/crosstab/dragdrop/DragDropAreaRenderer.js +0 -436
  84. package/src/main/uilib/sap/zen/crosstab/dragdrop/DragDropHandler.js +0 -682
  85. package/src/main/uilib/sap/zen/crosstab/dragdrop/DragDropHoverManager.js +0 -467
  86. package/src/main/uilib/sap/zen/crosstab/dragdrop/DragDropUtils.js +0 -580
  87. package/src/main/uilib/sap/zen/crosstab/dragdrop/MemberDragDropHandler.js +0 -1154
  88. package/src/main/uilib/sap/zen/crosstab/keyboard/CrosstabKeyboardNavHandler.js +0 -635
  89. package/src/main/uilib/sap/zen/crosstab/library.js +0 -38
  90. package/src/main/uilib/sap/zen/crosstab/nonphx/logic.js +0 -11
  91. package/src/main/uilib/sap/zen/crosstab/paging/CellMerger.js +0 -284
  92. package/src/main/uilib/sap/zen/crosstab/paging/Page.js +0 -357
  93. package/src/main/uilib/sap/zen/crosstab/paging/PageManager.js +0 -437
  94. package/src/main/uilib/sap/zen/crosstab/paging/PagingConstants.js +0 -7
  95. package/src/main/uilib/sap/zen/crosstab/paging/RequestHandler.js +0 -97
  96. package/src/main/uilib/sap/zen/crosstab/paging/RequestStack.js +0 -108
  97. package/src/main/uilib/sap/zen/crosstab/rendering/CrossRequestManager.js +0 -462
  98. package/src/main/uilib/sap/zen/crosstab/rendering/DataModel.js +0 -250
  99. package/src/main/uilib/sap/zen/crosstab/rendering/DomElementProvider.js +0 -13
  100. package/src/main/uilib/sap/zen/crosstab/rendering/HeaderScrollManager.js +0 -97
  101. package/src/main/uilib/sap/zen/crosstab/rendering/PixelScrollManager.js +0 -180
  102. package/src/main/uilib/sap/zen/crosstab/rendering/RenderEngine.js +0 -2757
  103. package/src/main/uilib/sap/zen/crosstab/rendering/RenderingConstants.js +0 -56
  104. package/src/main/uilib/sap/zen/crosstab/rendering/ScrollManager.js +0 -638
  105. package/src/main/uilib/sap/zen/crosstab/rendering/ScrollbarRenderer.js +0 -542
  106. package/src/main/uilib/sap/zen/crosstab/utils/Measuring.js +0 -225
  107. package/src/main/uilib/sap/zen/crosstab/utils/Utils.js +0 -480
  108. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/ChartTypeSwitch.less +0 -0
  109. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/Crosstab.less +0 -0
  110. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/FilterBar.less +0 -0
  111. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/FilterPanel.less +0 -0
  112. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/Footerbar.less +0 -0
  113. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/InfoChart.less +0 -0
  114. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/NavigationPanel.less +0 -0
  115. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/chartconfig.less +0 -0
  116. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/CornerTornEffect.png +0 -0
  117. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/HTornEffect.png +0 -0
  118. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/HTornEffectData.png +0 -0
  119. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/HTornEffectHeader.png +0 -0
  120. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/VTornEffect.png +0 -0
  121. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/loading.gif +0 -0
  122. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/loading_comp.gif +0 -0
  123. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/library.source.less +0 -0
  124. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/zen.less +0 -0
  125. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_belize/library.source.less +0 -0
  126. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_belize_hcb/library.source.less +0 -0
  127. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_belize_hcw/library.source.less +0 -0
  128. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_belize_plus/library.source.less +0 -0
  129. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_bluecrystal/library.source.less +0 -0
  130. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_fiori_3/library.source.less +0 -0
  131. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_fiori_3_dark/library.source.less +0 -0
  132. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_fiori_3_hcb/library.source.less +0 -0
  133. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_fiori_3_hcw/library.source.less +0 -0
  134. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_hcb/Chart.less +0 -0
  135. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_hcb/ChartTypeSwitch.less +0 -0
  136. /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_hcb/library.source.less +0 -0
@@ -0,0 +1,141 @@
1
+ /*!
2
+ * SAPUI5
3
+ * (c) Copyright 2009-2024 SAP SE. All rights reserved.
4
+ */
5
+ /*global sap*/
6
+ sap.ui.define(
7
+ [
8
+ "jquery.sap.global"
9
+ ],
10
+ function(jQuery){
11
+ "use strict";
12
+ jQuery.sap.declare("sap.zen.crosstab.CrosstabCellApi");
13
+ // for external API to the outside: iRow/iCol is zero-based in the grid
14
+ sap.zen.crosstab.CrosstabCellApi = function (
15
+ oCrosstab, iFixedRowHeaders, iFixedColHeaders, iTotalDataColumns, iTotalDataRows
16
+ ) {
17
+ var oDataArea = oCrosstab.getDataArea();
18
+ var oColHeaderArea = oCrosstab.getColumnHeaderArea();
19
+ var oRowHeaderArea = oCrosstab.getRowHeaderArea();
20
+ var oDimensionHeaderArea = oCrosstab.getDimensionHeaderArea();
21
+ var iMaxDimHeaderRow = iFixedColHeaders - 1;
22
+ var iMaxDimHeaderCol = iFixedRowHeaders - 1;
23
+ this.getTableCell = function (iRow, iCol) {
24
+ var oCell = null;
25
+ if (iCol >= iFixedRowHeaders && iRow >= iFixedColHeaders) {
26
+ // data cell
27
+ oCell = oDataArea.getCell(iRow - iFixedColHeaders, iCol - iFixedRowHeaders);
28
+ } else if (iCol < iFixedRowHeaders && iRow < iFixedColHeaders) {
29
+ // dim header cell
30
+ oCell = oDimensionHeaderArea.getCell(iRow, iCol);
31
+ } else if (iCol >= iFixedRowHeaders && iRow < iFixedColHeaders) {
32
+ // col header cell
33
+ oCell = oColHeaderArea.getCell(iRow, iCol - iFixedRowHeaders);
34
+ } else if (iCol < iFixedRowHeaders && iRow >= iFixedColHeaders) {
35
+ // row header cell
36
+ oCell = oRowHeaderArea.getCell(iRow - iFixedColHeaders, iCol);
37
+ }
38
+ return oCell;
39
+ };
40
+ this.getTableCellWithColSpan = function (iRow, iCol) {
41
+ var oCell = null;
42
+ if (iCol >= iFixedRowHeaders && iRow >= iFixedColHeaders) {
43
+ // data cell
44
+ oCell = oDataArea.getDataModel().getCellWithColSpan(iRow - iFixedColHeaders, iCol - iFixedRowHeaders, true);
45
+ } else if (iCol < iFixedRowHeaders && iRow < iFixedColHeaders) {
46
+ // dim header cell
47
+ oCell = oDimensionHeaderArea.getDataModel().getCellWithColSpan(iRow, iCol, true);
48
+ } else if (iCol >= iFixedRowHeaders && iRow < iFixedColHeaders) {
49
+ // col header cell
50
+ oCell = oColHeaderArea.getDataModel().getCellWithColSpan(iRow, iCol - iFixedRowHeaders, true);
51
+ } else if (iCol < iFixedRowHeaders && iRow >= iFixedColHeaders) {
52
+ // row header cell
53
+ oCell = oRowHeaderArea.getDataModel().getCellWithColSpan(iRow - iFixedColHeaders, iCol, true);
54
+ }
55
+ return oCell;
56
+ };
57
+ this.getTableCellWithRowSpan = function (iRow, iCol) {
58
+ var oCell = null;
59
+ if (iCol >= iFixedRowHeaders && iRow >= iFixedColHeaders) {
60
+ // data cell
61
+ oCell = oDataArea.getDataModel().getCellWithRowSpan(iRow - iFixedColHeaders, iCol - iFixedRowHeaders, true);
62
+ } else if (iCol < iFixedRowHeaders && iRow < iFixedColHeaders) {
63
+ // dim header cell
64
+ oCell = oDimensionHeaderArea.getDataModel().getCellWithRowSpan(iRow, iCol, true);
65
+ } else if (iCol >= iFixedRowHeaders && iRow < iFixedColHeaders) {
66
+ // col header cell
67
+ oCell = oColHeaderArea.getDataModel().getCellWithRowSpan(iRow, iCol - iFixedRowHeaders, true);
68
+ } else if (iCol < iFixedRowHeaders && iRow >= iFixedColHeaders) {
69
+ // row header cell
70
+ oCell = oRowHeaderArea.getDataModel().getCellWithRowSpan(iRow - iFixedColHeaders, iCol, true);
71
+ }
72
+ return oCell;
73
+ };
74
+ // gets a table cell when arbitrary row/col is given.
75
+ // iRow/iCol may point to a NULL cell in case a cell
76
+ // has row or col span > 1. In that case, return
77
+ // the "actual" non-null cell that belongs to the coordinates
78
+ this.getTableCellWithSpans = function (iRow, iCol) {
79
+ var oCell = this.getTableCell(iRow, iCol);
80
+ // search backward horizontally first
81
+ // on each horizontal position, search for a vertical cell
82
+ var iColIdx = iCol--;
83
+ while (!oCell && iColIdx >= 0) {
84
+ var iRowIdx = iRow;
85
+ oCell = this.getTableCell(iRowIdx, iColIdx);
86
+ if (oCell && oCell.isLoading()) {
87
+ // stop processing when finding loading cell
88
+ // caller must react and cancel all calculations
89
+ return oCell;
90
+ }
91
+ if (!oCell) {
92
+ iRowIdx--;
93
+ while (!oCell && iRowIdx >= 0) {
94
+ oCell = this.getTableCell(iRowIdx, iColIdx);
95
+ iRowIdx--;
96
+ }
97
+ if (oCell) {
98
+ if (oCell.isLoading()) {
99
+ return oCell;
100
+ }
101
+ var iLastRow = oCell.getTableRow() + oCell.getRowSpan() - 1;
102
+ if (iLastRow < iRow) {
103
+ // plausibility check: the found cell must have the
104
+ // initial row in its rowspan, otherwise it is
105
+ // a different cell already which we don't want
106
+ oCell = null;
107
+ }
108
+ }
109
+ }
110
+ iColIdx--;
111
+ }
112
+ return oCell;
113
+ };
114
+ this.getTableRowCnt = function () {
115
+ return iTotalDataRows + iFixedColHeaders;
116
+ };
117
+ this.getTableColCnt = function () {
118
+ return iTotalDataColumns + iFixedRowHeaders;
119
+ };
120
+ this.getTableMaxScrollRowCnt = function () {
121
+ return iTotalDataRows;
122
+ };
123
+ this.getTableMaxScrollColCnt = function () {
124
+ return iTotalDataColumns;
125
+ };
126
+ this.getTableFixedRowHeaderColCnt = function () {
127
+ return iFixedRowHeaders;
128
+ };
129
+ this.getTableFixedColHeaderRowCnt = function () {
130
+ return iFixedColHeaders;
131
+ };
132
+ this.getTableMaxDimHeaderRow = function() {
133
+ return iMaxDimHeaderRow;
134
+ };
135
+ this.getTableMaxDimHeaderCol = function() {
136
+ return iMaxDimHeaderCol;
137
+ };
138
+ };
139
+ return sap.zen.crosstab.CrosstabCellApi;
140
+ }
141
+ );
@@ -0,0 +1,96 @@
1
+ /*!
2
+ * SAPUI5
3
+ * (c) Copyright 2009-2024 SAP SE. All rights reserved.
4
+ */
5
+ /*global sap*/
6
+ sap.ui.define(
7
+ [
8
+ "jquery.sap.global",
9
+ "sap/zen/crosstab/rendering/RenderingConstants"
10
+ ],
11
+ function(jQuery, RenderingConstants){
12
+ "use strict";
13
+ jQuery.sap.declare("sap.zen.crosstab.CrosstabContextMenu");
14
+ sap.zen.crosstab.CrosstabContextMenu = function (oCrosstab) {
15
+ this.getContextMenuAction = function (sContextMenuComponentId, oDomClickedElement) {
16
+ var oCore = sap.ui.getCore();
17
+ var oElement = oDomClickedElement;
18
+ while (!oCore.byId(oElement.attr("id"))) {
19
+ oElement = oElement.parent();
20
+ }
21
+ if (oElement.attr("id") === oCrosstab.getId()) {
22
+ return null;
23
+ }
24
+ var oCell = oCore.byId(oElement.attr("id"));
25
+ var sCellType = null;
26
+ if (oCell.getCellType) {
27
+ sCellType = oCell.getCellType();
28
+ } else {
29
+ return null;
30
+ }
31
+ var bRemoveSelection = false;
32
+ var sCssClass = null;
33
+ if (oCrosstab.isSelectable() === true) {
34
+ var oSelectionHandler = oCrosstab.getSelectionHandler();
35
+ if (oSelectionHandler && oSelectionHandler.hasSelection() === true) {
36
+ if (oCell.getArea().isDataArea() === true) {
37
+ sCssClass = "sapzencrosstab-DataCellSelectData";
38
+ } else if (oCell.getArea().isRowHeaderArea() === true) {
39
+ sCssClass = "sapzencrosstab-HeaderCellSelectRow";
40
+ } else if (oCell.getArea().isColHeaderArea() === true) {
41
+ sCssClass = "sapzencrosstab-HeaderCellSelectCol";
42
+ }
43
+ bRemoveSelection = !(jQuery(oElement).hasClass(sCssClass));
44
+ }
45
+ }
46
+ var sAreaType = oCell.getArea().getAreaType();
47
+ var sAxis = "";
48
+ if (sAreaType === RenderingConstants.TYPE_COLUMN_HEADER_AREA) {
49
+ sAxis = "COLS";
50
+ } else if (sAreaType === RenderingConstants.TYPE_ROW_HEADER_AREA) {
51
+ sAxis = "ROWS";
52
+ } else if (sAreaType === RenderingConstants.TYPE_DIMENSION_HEADER_AREA) {
53
+ var oDimInfo;
54
+ if (oCell.isSplitPivotCell()) {
55
+ var oDimInfo1 = oCrosstab.getHeaderInfo().getDimensionInfoByRowCol(oCell, "ROWS");
56
+ var oDimInfo2 = oCrosstab.getHeaderInfo().getDimensionInfoByRowCol(oCell, "COLS");
57
+ // dimension takes precedence over measure structure. If it is a "real" split cell with
58
+ // two dimensions leave oDimInfo === null => no context menu on split cell
59
+ if (oDimInfo1 && oDimInfo1.bIsMeasureStructure) {
60
+ oDimInfo = oDimInfo2;
61
+ } else if (oDimInfo2 && oDimInfo2.bIsMeasureStructure) {
62
+ oDimInfo = oDimInfo1;
63
+ }
64
+ } else {
65
+ oDimInfo = oCrosstab.getHeaderInfo().getDimensionInfoByRowCol(oCell);
66
+ }
67
+ if (!oDimInfo) {
68
+ return null;
69
+ }
70
+ sAxis = oDimInfo.sAxisName;
71
+ } else if (sCellType === RenderingConstants.TYPE_DATA_CELL) {
72
+ sAxis = "DATA";
73
+ } else {
74
+ return null;
75
+ }
76
+ var iRow = oCell.getTableRow();
77
+ var iCol = oCell.getTableCol();
78
+ var sContextMenuCommand = oCrosstab.getPropertyBag().getContextMenuCommand();
79
+ sContextMenuCommand = sContextMenuCommand.replace("__AXIS__", sAxis);
80
+ sContextMenuCommand = sContextMenuCommand.replace("__ROW__", iRow);
81
+ sContextMenuCommand = sContextMenuCommand.replace("__COL__", iCol);
82
+ sContextMenuCommand = sContextMenuCommand.replace("__ID__", sContextMenuComponentId);
83
+ sContextMenuCommand = sContextMenuCommand.replace("__DOM_REF_ID__", oDomClickedElement.attr("id"));
84
+ if (sContextMenuCommand.indexOf("__REMOVE_SELECTION__") >= 0) {
85
+ sContextMenuCommand = sContextMenuCommand.replace("__REMOVE_SELECTION__", bRemoveSelection);
86
+ }
87
+ var execFunction = function() {
88
+ oCrosstab.getUtils().executeCommandAction(sContextMenuCommand);
89
+ };
90
+ oCrosstab.enableClick();
91
+ return execFunction;
92
+ };
93
+ };
94
+ return sap.zen.crosstab.CrosstabContextMenu;
95
+ }
96
+ );