@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
@@ -1,436 +0,0 @@
1
- jQuery.sap.declare("sap.zen.crosstab.dragdrop.DragDropAreaRenderer");
2
-
3
- sap.zen.crosstab.dragdrop.DragDropAreaRenderer = function (oCrosstab) {
4
- "use strict"
5
-
6
- var oHeaderInfo;
7
- var iMaxDimHeaderRow;
8
- var iMaxDimHeaderCol;
9
- var oPivotCell;
10
- var iDropAreaBeginMin;
11
- var iDropAreaMinTop;
12
- var iDropAreaMaxHeight;
13
- var iDropAreaMaxWidth;
14
- var bIsRtl;
15
- var oDragDropUtils;
16
- var oDimHeaderDropAreaAboveInfo = {"sIdSuffix" : "droparea_above", "sCssClassName" : "sapzencrosstab-rowAboveCellDropArea"};
17
- var oDimHeaderDropAreaBelowInfo = {"sIdSuffix" : "droparea_below", "sCssClassName" : "sapzencrosstab-rowBelowCellDropArea"};
18
- var oDimHeaderDropAreaBeforeInfo = {"sIdSuffix" : "droparea_before", "sCssClassName" : "sapzencrosstab-columnBeforeCellDropArea"};
19
- var oDimHeaderDropAreaAfterInfo = {"sIdSuffix" : "droparea_after", "sCssClassName" : "sapzencrosstab-columnAfterCellDropArea"};
20
- var oDimHeaderDropAreaAfterWithSortInfo = {"sIdSuffix" : "droparea_after", "sCssClassName" : "sapzencrosstab-columnAfterCellDropAreaWithSort"};
21
-
22
- this.addStylesToHtmlString = function(sHtml, oCssStyles) {
23
- if (oCssStyles) {
24
- for (var sStyle in oCssStyles) {
25
- if (oCssStyles.hasOwnProperty(sStyle)) {
26
- sHtml = sHtml + sStyle + ":" + oCssStyles[sStyle] + ";";
27
- }
28
- }
29
- }
30
- return sHtml;
31
- };
32
-
33
- this.applyCssStyles = function(oJqElement, oCssStyles) {
34
- if (oCssStyles && oJqElement) {
35
- for (var sStyle in oCssStyles) {
36
- if (oCssStyles.hasOwnProperty(sStyle)) {
37
- oJqElement.css(sStyle, oCssStyles[sStyle]);
38
- }
39
- }
40
- }
41
- };
42
-
43
- this.createDiv = function(oCell, sIdSuffix, sCssClassName, oCssStyles, oAfterBurnerStyles, fAfterBurnerFunction, bPrepend) {
44
- return this.createFlexDiv(oCell, oCrosstab.getRenderSizeDiv(), sIdSuffix, sCssClassName, oCssStyles, oAfterBurnerStyles, fAfterBurnerFunction, bPrepend);
45
- };
46
-
47
- this.createFlexDiv = function(oCell, oJqParent, sIdSuffix, sCssClassName, oCssStyles, oAfterBurnerStyles, fAfterBurnerFunction, bPrepend) {
48
- var sId = oCell.getId() + "_" + sIdSuffix;
49
- var oJqArea;
50
- var sHtml;
51
-
52
- oJqArea = $(document.getElementById(sId));
53
- if (oJqArea.length === 0) {
54
- sHtml = "<div id=\"" + sId + "\" class=\"" + sCssClassName + "\" style=\"";
55
- if (oCssStyles) {
56
- sHtml = this.addStylesToHtmlString(sHtml, oCssStyles);
57
- }
58
- sHtml = sHtml + "\"></div>";
59
-
60
- if (!bPrepend) {
61
- oJqParent.append(sHtml);
62
- } else {
63
- oJqParent.prepend(sHtml);
64
- }
65
- oJqArea = $(document.getElementById(sId));
66
- oJqArea.data("xtabcellid", oCell.getId());
67
- }
68
-
69
- if (oAfterBurnerStyles) {
70
- this.applyCssStyles(oJqArea, oAfterBurnerStyles);
71
- }
72
-
73
- if (fAfterBurnerFunction) {
74
- fAfterBurnerFunction(oJqArea);
75
- }
76
-
77
- return oJqArea;
78
- };
79
-
80
- this.createBeforeDropArea = function(oCell, oInfo) {
81
- var oRect;
82
- var iBegin;
83
- var iTop;
84
- var iHeight;
85
- var oStyles;
86
-
87
- oRect = oDragDropUtils.getBoundingClientRect(document.getElementById(oCell.getId()));
88
- iBegin = (oRect.begin - iDropAreaBeginMin);
89
-
90
- iTop = 0;
91
- iHeight = iDropAreaMaxHeight;
92
-
93
- if (oInfo.iTop) {
94
- iTop = oInfo.iTop - iDropAreaMinTop;
95
- iHeight = iDropAreaMaxHeight - iTop;
96
- }
97
-
98
- if (oInfo.iBottom) {
99
- iHeight = oInfo.iBottom - iDropAreaMinTop - iTop;
100
- }
101
-
102
- oStyles = {"top" : iTop + "px", "height" : iHeight + "px"};
103
-
104
- if (bIsRtl) {
105
- oStyles.right = iBegin + "px";
106
- } else {
107
- oStyles.left = iBegin + "px";
108
- }
109
-
110
- return this.createDiv(oCell, oInfo.sIdSuffix, oInfo.sCssClassName, null, oStyles);
111
- };
112
-
113
- this.createAfterDropArea = function(oCell, oInfo) {
114
- var oRect;
115
- var iBegin;
116
- var sCssClassName;
117
- var oStyles = null;
118
- var fAfterBurner = null;
119
- var iTop;
120
- var iHeight;
121
- var sBegin;
122
-
123
- oRect = oDragDropUtils.getBoundingClientRect(document.getElementById(oCell.getId()));
124
- iBegin = (oRect.end - iDropAreaBeginMin);
125
-
126
- iTop = 0;
127
- iHeight = iDropAreaMaxHeight;
128
-
129
- if (oInfo.iTop) {
130
- iTop = oInfo.iTop - iDropAreaMinTop;
131
- iHeight = iDropAreaMaxHeight - iTop;
132
- }
133
-
134
- if (oInfo.iBottom) {
135
- iHeight = oInfo.iBottom - iDropAreaMinTop - iTop;
136
- }
137
-
138
- oStyles = {"top" : iTop + "px", "height" : iHeight + "px"};
139
-
140
- if (bIsRtl) {
141
- oStyles.right = iBegin + "px";
142
- sBegin = "right";
143
- } else {
144
- oStyles.left = iBegin + "px";
145
- sBegin = "left";
146
- }
147
-
148
- fAfterBurner = function(oJqArea) {
149
- oJqArea.css(sBegin, (iBegin - (oJqArea.outerWidth() / 2.0)) + "px");
150
- };
151
-
152
- return this.createDiv(oCell, oInfo.sIdSuffix, oInfo.sCssClassName, null, oStyles, fAfterBurner);
153
- };
154
-
155
- this.createAboveDropArea = function(oCell, oInfo) {
156
- var oRect;
157
- var iTop;
158
- var iWidth;
159
- var iBegin;
160
- var oStyles;
161
-
162
- oRect = oDragDropUtils.getBoundingClientRect(document.getElementById(oCell.getId()));
163
- iTop = oRect.top - iDropAreaMinTop;
164
-
165
- iBegin = 0;
166
- iWidth = iDropAreaMaxWidth;
167
-
168
- // mind the following: oInfo stuff is bounding client rect info
169
- // iLeft and iWidth to be calculated is stuff for CSS, relative to the render size DIV!
170
- // That also applies to the code found in the creation functions for the other drop areas
171
- if (oInfo.iBegin) {
172
- iBegin = (oInfo.iBegin - iDropAreaBeginMin);
173
- iWidth = iDropAreaMaxWidth - iBegin;
174
- }
175
-
176
- if (oInfo.iEnd) {
177
- iWidth = oInfo.iEnd - iDropAreaBeginMin - iBegin;
178
- }
179
-
180
- oStyles = {"top" : iTop + "px", "width" : iWidth + "px"};
181
-
182
- if (bIsRtl) {
183
- oStyles.right = iBegin + "px";
184
- } else {
185
- oStyles.left = iBegin + "px";
186
- }
187
-
188
- return this.createDiv(oCell, oInfo.sIdSuffix, oInfo.sCssClassName, null, oStyles);
189
- };
190
-
191
- this.createBelowDropArea = function(oCell, oInfo) {
192
- var oRect;
193
- var iTop;
194
- var oStyles = null;
195
- var fAfterBurner = null;
196
- var iWidth;
197
- var iBegin;
198
-
199
- oRect = oDragDropUtils.getBoundingClientRect(document.getElementById(oCell.getId()));
200
- iTop = oRect.bottom - iDropAreaMinTop;
201
-
202
- iBegin = 0;
203
- iWidth = iDropAreaMaxWidth;
204
-
205
- if (oInfo.iBegin) {
206
- iBegin = (oInfo.iBegin - iDropAreaBeginMin);
207
- iWidth = iDropAreaMaxWidth - iBegin;
208
- }
209
-
210
- if (oInfo.iEnd) {
211
- iWidth = oInfo.iEnd - iDropAreaBeginMin - iBegin;
212
- }
213
-
214
- oStyles = {"top" : iTop + "px", "width" : iWidth + "px"};
215
-
216
- if (bIsRtl) {
217
- oStyles.right = iBegin + "px";
218
- } else {
219
- oStyles.left = iBegin + "px";
220
- }
221
-
222
- fAfterBurner = function(oJqArea) {
223
- oJqArea.css("top", (iTop - (oJqArea.outerHeight() / 2.0)) + "px");
224
- };
225
-
226
- return this.createDiv(oCell, oInfo.sIdSuffix, oInfo.sCssClassName, null, oStyles, fAfterBurner);
227
- };
228
-
229
- this.createDropAreasForPivotDimHeaderCell = function(oCell) {
230
- var sScalingAxisName;
231
-
232
- if (iMaxDimHeaderCol === 0) {
233
- this.createBeforeDropArea(oCell, oDimHeaderDropAreaBeforeInfo);
234
- } else if (iMaxDimHeaderRow === 0) {
235
- this.createAboveDropArea(oCell, oDimHeaderDropAreaAboveInfo);
236
- }
237
- this.createBelowDropArea(oCell, oDimHeaderDropAreaBelowInfo);
238
- this.createAfterDropArea(oCell, oCell.getSort() ? oDimHeaderDropAreaAfterWithSortInfo : oDimHeaderDropAreaAfterInfo);
239
- };
240
-
241
- this.checkNeedsDropAreaByLookAheadCell = function(oLookAheadCell, sAxisName, sDimensionName) {
242
- var bIncludeDropArea = true;
243
- var oLookAheadDimInfo = null;
244
-
245
- if (oLookAheadCell) {
246
- if (oLookAheadCell.isSplitPivotCell() === true) {
247
- oLookAheadDimInfo = oHeaderInfo.getDimensionInfoByRowCol(oLookAheadCell, sAxisName);
248
- } else {
249
- oLookAheadDimInfo = oHeaderInfo.getDimensionInfoByRowCol(oLookAheadCell);
250
- }
251
- if (oLookAheadDimInfo) {
252
- bIncludeDropArea = oLookAheadDimInfo.sDimensionName !== sDimensionName;
253
- }
254
-
255
- }
256
- return bIncludeDropArea;
257
- };
258
-
259
- this.createDropAreasForDimHeaderCell = function(oCell) {
260
- var sCssClassName = null;
261
- var sDimensionName = "";
262
- var bIncludeDropArea = false;
263
- var iLookAheadIndex;
264
- var oLookAheadCell = null;
265
- var iCol = oCell.getTableCol();
266
- var iRow = oCell.getTableRow();
267
-
268
- if (oCrosstab.getHeaderInfo().isBottomRightDimHeaderCell(oCell) === true) {
269
- if (iMaxDimHeaderCol === 0) {
270
- this.createBeforeDropArea(oCell, oDimHeaderDropAreaBeforeInfo);
271
- } else if (iMaxDimHeaderRow === 0) {
272
- this.createAboveDropArea(oCell, oDimHeaderDropAreaAboveInfo);
273
- }
274
- if (!oCell.getScalingAxis() || oCell.getScalingAxis() === "ROWS") {
275
- this.createBelowDropArea(oCell, oDimHeaderDropAreaBelowInfo);
276
- }
277
- if (!oCell.getScalingAxis() || oCell.getScalingAxis() === "COLS") {
278
- this.createAfterDropArea(oCell, oCell.getSort() ? oDimHeaderDropAreaAfterWithSortInfo : oDimHeaderDropAreaAfterInfo);
279
- }
280
- } else if ((iRow < iMaxDimHeaderRow && oCrosstab.getHeaderInfo().isRightColDimHeaderCell(oCell) === true) || (oCrosstab.getHeaderInfo().isBottomRowDimHeaderCell(oCell) === true && iCol < iMaxDimHeaderCol)) {
281
- // examine all cells except last cell in row/col
282
- sDimensionName = oHeaderInfo.getDimensionInfoByRowCol(oCell).sDimensionName;
283
- if (oCrosstab.getHeaderInfo().isBottomRowDimHeaderCell(oCell) === true) {
284
- if (iCol === 0) {
285
- this.createBeforeDropArea(oCell, oDimHeaderDropAreaBeforeInfo);
286
- }
287
- bIncludeDropArea = true;
288
- iLookAheadIndex = iCol + oCell.getColSpan();
289
- if (iLookAheadIndex <= iMaxDimHeaderCol) {
290
- oLookAheadCell = oCrosstab.getTableCellWithColSpan(iRow, iLookAheadIndex);
291
- bIncludeDropArea = (oLookAheadCell.getScalingAxis() && oLookAheadCell.getScalingAxis() === "ROWS") || this.checkNeedsDropAreaByLookAheadCell(oLookAheadCell, "ROWS", sDimensionName);
292
- }
293
- if (bIncludeDropArea) {
294
- this.createAfterDropArea(oCell, oCell.getSort() ? oDimHeaderDropAreaAfterWithSortInfo : oDimHeaderDropAreaAfterInfo);
295
- }
296
- }
297
- if (oCrosstab.getHeaderInfo().isRightColDimHeaderCell(oCell) === true) {
298
- if (iRow === 0) {
299
- this.createAboveDropArea(oCell, oDimHeaderDropAreaAboveInfo);
300
- }
301
- bIncludeDropArea = true;
302
- iLookAheadIndex = iRow + oCell.getRowSpan();
303
- if (iLookAheadIndex <= iMaxDimHeaderRow) {
304
- oLookAheadCell = oCrosstab.getTableCellWithRowSpan(iLookAheadIndex, iCol);
305
- bIncludeDropArea = (oLookAheadCell.getScalingAxis() && oLookAheadCell.getScalingAxis() === "COLS") || this.checkNeedsDropAreaByLookAheadCell(oLookAheadCell, "COLS", sDimensionName);
306
- }
307
- if (bIncludeDropArea === true) {
308
- this.createBelowDropArea(oCell, oDimHeaderDropAreaBelowInfo);
309
- }
310
- }
311
- }
312
- };
313
-
314
- this.init = function(poPivotCell, poDragDropUtils) {
315
- oPivotCell = poPivotCell;
316
- oDragDropUtils = poDragDropUtils;
317
- oHeaderInfo = oCrosstab.getHeaderInfo();
318
- iMaxDimHeaderRow = oCrosstab.getTableMaxDimHeaderRow();
319
- iMaxDimHeaderCol = oCrosstab.getTableMaxDimHeaderCol();
320
-
321
- iDropAreaMaxHeight = oCrosstab.getRenderSizeDiv().outerHeight();
322
- iDropAreaMaxWidth = oCrosstab.getRenderSizeDiv().outerWidth();
323
-
324
- bIsRtl = oCrosstab.getPropertyBag().isRtl();
325
-
326
- var oRect = oDragDropUtils.getBoundingClientRect(oCrosstab.getRenderSizeDiv()[0]);
327
- iDropAreaBeginMin = oRect.begin;
328
- iDropAreaMinTop = oRect.top;
329
- };
330
-
331
- this.renderDimHeaderDropAreas = function() {
332
- var iRow = 0;
333
- var iCol = 0;
334
- var oCell = null;
335
- var iMaxRow = oPivotCell.getTableRow();
336
- var iMaxCol = oPivotCell.getTableCol();
337
-
338
- // last row
339
- while (iCol < iMaxCol) {
340
- oCell = oCrosstab.getTableCellWithColSpan(iMaxRow, iCol);
341
- if (oCell) {
342
- this.createDropAreasForDimHeaderCell(oCell);
343
- iCol = iCol + oCell.getColSpan();
344
- }
345
- }
346
- // last col, including pivot cell
347
- while (iRow <= iMaxRow) {
348
- oCell = oCrosstab.getTableCellWithRowSpan(iRow, iMaxCol);
349
- if (oCell) {
350
- this.createDropAreasForDimHeaderCell(oCell);
351
- iRow = iRow + oCell.getRowSpan();
352
- }
353
- }
354
- };
355
-
356
- this.renderSplitPivotCellDragAreas = function(oCell, oJqCell) {
357
- if (oCrosstab.getPropertyBag().isRtl()) {
358
- this.createFlexDiv(oCell, oJqCell, "dragarea_rows", "sapzencrosstab-pivotCellRowsDimDragArea",
359
- {"position" : "absolute",
360
- "bottom" : "0px",
361
- "right" : "0px",
362
- "border-left" : "0px solid transparent;"},
363
- {
364
- "border-bottom-width" : oJqCell.outerHeight() + "px",
365
- "border-left-width" : oJqCell.outerWidth() + "px"
366
- },
367
- null,
368
- true);
369
-
370
- this.createFlexDiv(oCell, oJqCell, "dragarea_cols", "sapzencrosstab-pivotCellColsDimDragArea",
371
- {"position" : "absolute",
372
- "top" : "0px",
373
- "left" : "0px",
374
- "border-right" : "0px solid transparent;"},
375
- {
376
- "border-top-width" : oJqCell.outerHeight() + "px",
377
- "border-right-width" : oJqCell.outerWidth() + "px"
378
- },
379
- null,
380
- true);
381
- } else {
382
- this.createFlexDiv(oCell, oJqCell, "dragarea_rows", "sapzencrosstab-pivotCellRowsDimDragArea",
383
- {"position" : "absolute",
384
- "bottom" : "0px",
385
- "left" : "0px",
386
- "border-right" : "0px solid transparent;"},
387
- {
388
- "border-bottom-width" : oJqCell.outerHeight() + "px",
389
- "border-right-width" : oJqCell.outerWidth() + "px"
390
- },
391
- null,
392
- true);
393
-
394
- this.createFlexDiv(oCell, oJqCell, "dragarea_cols", "sapzencrosstab-pivotCellColsDimDragArea",
395
- {"position" : "absolute",
396
- "top" : "0px",
397
- "right" : "0px",
398
- "border-left" : "0px solid transparent;"},
399
- {
400
- "border-top-width" : oJqCell.outerHeight() + "px",
401
- "border-left-width" : oJqCell.outerWidth() + "px"
402
- },
403
- null,
404
- true);
405
- }
406
- };
407
-
408
- this.repositionDropAreasForHeaderScrolling = function() {
409
- var aDropAreas;
410
- var oJqDropArea;
411
- var iBegin;
412
- var oJqCell;
413
- var oCellRect;
414
-
415
- if (oCrosstab.isHeaderHScrolling()) {
416
- aDropAreas = oCrosstab.getRenderSizeDiv().find("div .sapzencrosstab-columnAfterCellDropArea, .sapzencrosstab-columnAfterCellDropAreaWithSort");
417
- if (aDropAreas) {
418
- $.each(aDropAreas, function(iIndex, oDomDropArea) {
419
- oJqDropArea = $(oDomDropArea);
420
- oJqCell = oCrosstab.getRenderSizeDiv().find("#" + $.sap.encodeCSS(oJqDropArea.data("xtabcellid")));
421
- if (oJqCell.length > 0) {
422
- oCellRect = oDragDropUtils.getBoundingClientRect(oJqCell[0]);
423
- iBegin = oCellRect.end - iDropAreaBeginMin - oJqDropArea.outerWidth() / 2.0;
424
- oJqDropArea.css(bIsRtl ? "right" : "left", iBegin + "px");
425
- }
426
- });
427
- }
428
- }
429
- };
430
-
431
- this.createExternalDimDropAreasForMemberCell = function(oCell) {
432
- var oJqAboveArea = this.createAboveDropArea(oCell, oDimHeaderDropAreaAboveInfo);
433
- var oJqBeforeArea = this.createBeforeDropArea(oCell, oDimHeaderDropAreaBeforeInfo);
434
- return {"oJqAboveArea" : oJqAboveArea, "oJqBeforeArea" : oJqBeforeArea};
435
- };
436
- };