@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,9 +0,0 @@
1
- jQuery.sap.declare("sap.zen.crosstab.TextConstants");
2
-
3
- sap.zen.crosstab.TextConstants = sap.zen.crosstab.TextConstants || {};
4
-
5
- sap.zen.crosstab.TextConstants.ROW_TEXT_KEY = "ROW_TEXT";
6
- sap.zen.crosstab.TextConstants.COL_TEXT_KEY = "COL_TEXT";
7
- sap.zen.crosstab.TextConstants.COLWIDTH_ADJUST_TEXT_KEY = "COLWIDTH_ADJUST_TEXT";
8
- sap.zen.crosstab.TextConstants.MOBILE_MENUITEM_COLWIDTH_ADJUST_TEXT_KEY = "MOBILE_MENUITEM_COLWIDTH_ADJUST";
9
- sap.zen.crosstab.TextConstants.MEASURE_STRUCTURE_TEXT_KEY = "MEASURE_STRUCTURE_TEXT";
@@ -1,438 +0,0 @@
1
- jQuery.sap.declare("sap.zen.crosstab.TouchHandler");
2
- jQuery.sap.require("sap.zen.crosstab.utils.Utils");
3
-
4
- sap.zen.crosstab.TouchHandler = function (oEventHandler, oCrosstab) {
5
-
6
- var oDataArea = oCrosstab.getDataArea();
7
- var oRowHeaderArea = oCrosstab.getRowHeaderArea();
8
- var oColHeaderArea = oCrosstab.getColumnHeaderArea();
9
- var oDimensionHeaderArea = oCrosstab.getDimensionHeaderArea();
10
- var iLastMouseX = 0;
11
- var iLastMouseY = 0;
12
- var bTouchStartReceived = false;
13
- var bMoveAction = false;
14
- var oDomDataArea = $(document.getElementById(oDataArea.getId()));
15
- var oDomRowHeaderArea = $(document.getElementById(oRowHeaderArea.getId()));
16
- var oDomColHeaderArea = $(document.getElementById(oColHeaderArea.getId()));
17
- var oDomDimensionHeaderArea = $(document.getElementById(oDimensionHeaderArea.getId()));
18
- var sTargetAreaId = "";
19
- var oTimeout = null;
20
- var iDelay = "800";
21
- var iVScrollCnt = 0;
22
- var iHScrollCnt = 0;
23
- var iRowCntLength = 0;
24
- var iColCntLength = 0;
25
- var iNewVScrollPos = 0;
26
- var iNewHScrollPos = 0;
27
- var iOldVScrollPos = 0;
28
- var iOldHScrollPos = 0;
29
- var oPopup = null;
30
- var oPopupContent = null;
31
- var iIpadFactor = 2;
32
- var oResizeMenu = null;
33
- var oVScrollbar = null;
34
- var oHScrollbar = null;
35
- var bIsHeaderScrolling = false;
36
- var oColResizer;
37
-
38
- function getMobileResizeableCell (e) {
39
- var oResizeableCell = null;
40
- var i = 0;
41
- var oCell = sap.ui.getCore().getControl(e.target.id);
42
- var oDomCell = null;
43
- var sCellId = null;
44
-
45
- if (oCell && (oCell.isMobileResize && oCell.isMobileResize())) {
46
- oResizeableCell = oCell;
47
- } else {
48
- // see if we have a selectable cell as parent
49
- var aParentCells = $(e.target).parents("td");
50
- if (aParentCells) {
51
- for (i = 0; i < aParentCells.length; i++) {
52
- oDomCell = $(aParentCells[i]);
53
- sCellId = oDomCell.attr("id");
54
- if (sCellId && sCellId.length > 0) {
55
- oCell = sap.ui.getCore().getControl(sCellId);
56
- if (oCell && (oCell.isMobileResize && oCell.isMobileResize())) {
57
- oResizeableCell = oCell;
58
- break;
59
- }
60
- }
61
- }
62
- }
63
- }
64
- return oResizeableCell;
65
- }
66
-
67
- function menuResizeEntrySelected (oEvent) {
68
- if (oColResizer) {
69
- var oCell = oEvent.getParameter("item").oSelectedCell;
70
- if (oCell) {
71
- oColResizer.resizeCol(oCell, -1);
72
- }
73
- }
74
- }
75
-
76
- function ensureResizeMenu () {
77
- if (!oResizeMenu) {
78
- // Create the menu
79
-
80
- oResizeMenu = sap.ui.getCore().getControl("resizemenu");
81
- if (oResizeMenu) {
82
- oResizeMenu.getItems()[0].destroy();
83
- oResizeMenu.destroy();
84
- }
85
- if (sap.zen.crosstab.utils.Utils.isDispatcherAvailable() === true && sap.zen.Dispatcher.instance.isMainMode()) {
86
- $.sap.require("sap.ui.unified.Menu");
87
- oResizeMenu = new sap.ui.unified.Menu("resizemenu", {
88
- ariaDescription: "Crosstab Menu",
89
- tooltip: "Menu containing crosstab related actions"
90
- });
91
- } else {
92
- oResizeMenu = new sap.ui.commons.Menu("resizemenu", {
93
- ariaDescription: "Crosstab Menu",
94
- tooltip: "Menu containing crosstab related actions"
95
- });
96
- }
97
-
98
-
99
-
100
- oResizeMenu.addStyleClass("sapzencrosstab-MenuStyle");
101
- // Create the items and add them to the menu
102
- var oMenuItem = null;
103
- if (sap.zen.crosstab.utils.Utils.isDispatcherAvailable() === true && sap.zen.Dispatcher.instance.isMainMode()) {
104
- oMenuItem = new sap.ui.unified.MenuItem("item1", {
105
- text: oCrosstab.getPropertyBag().getText(
106
- sap.zen.crosstab.TextConstants.MOBILE_MENUITEM_COLWIDTH_ADJUST_TEXT_KEY)
107
- });
108
- } else {
109
- oMenuItem = new sap.ui.commons.MenuItem("item1", {
110
- text: oCrosstab.getPropertyBag().getText(
111
- sap.zen.crosstab.TextConstants.MOBILE_MENUITEM_COLWIDTH_ADJUST_TEXT_KEY)
112
- });
113
- }
114
- oMenuItem.attachSelect(menuResizeEntrySelected);
115
- oResizeMenu.addItem(oMenuItem);
116
- }
117
- }
118
-
119
- function prepareRowColPopup () {
120
- iRowCntLength = (oDataArea.getRowCnt() + "").length;
121
- iColCntLength = (oDataArea.getColCnt() + "").length;
122
- // Prepare row/col popup
123
- oPopup = new sap.ui.core.Popup();
124
-
125
- var oTextComponent = null;
126
- if (sap.zen.crosstab.utils.Utils.isDispatcherAvailable() === true && sap.zen.Dispatcher.instance.isMainMode()) {
127
- oTextComponent = new sap.m.Text();
128
- } else {
129
- oTextComponent = new sap.ui.commons.TextView()
130
- }
131
-
132
- oPopup.setContent(oTextComponent);
133
- oPopup.setDurations(125, 500);
134
- oPopup.setAutoClose(true);
135
-
136
- oPopupContent = oPopup.getContent();
137
-
138
- oPopupContent.addStyleClass("sapzencrosstab-ScrollPopup");
139
- oPopupContent.setWrapping(false);
140
-
141
- var eDock = sap.ui.core.Popup.Dock;
142
- oPopup.setPosition(eDock.CenterCenter, eDock.CenterCenter, document.getElementById(oCrosstab.getId() + "_renderSizeDiv"),
143
- "0");
144
- }
145
-
146
- function rerenderRowColPopup () {
147
- var sRowText = oCrosstab.getPropertyBag().getText(sap.zen.crosstab.TextConstants.ROW_TEXT_KEY) + ": "
148
- + sap.zen.crosstab.utils.Utils.padWithZeroes(iNewVScrollPos + 1, iRowCntLength) + "/"
149
- + oRowHeaderArea.getRowCnt();
150
- var sColText = oCrosstab.getPropertyBag().getText(sap.zen.crosstab.TextConstants.COL_TEXT_KEY) + ": "
151
- + sap.zen.crosstab.utils.Utils.padWithZeroes(iNewHScrollPos + 1, iColCntLength) + "/"
152
- + oColHeaderArea.getColCnt();
153
- var sText = sRowText + " " + sColText;
154
- oPopup.getContent().setProperty("text", sText, true);
155
- oPopup.getContent().rerender();
156
- }
157
-
158
- function onTouchStart (e) {
159
- sap.zen.crosstab.utils.Utils.cancelEvent(e);
160
-
161
- iVScrollCnt = 0;
162
- iHScrollCnt = 0;
163
- iNewVScrollPos = 0;
164
- iNewHScrollPos = 0;
165
-
166
- if (oResizeMenu) {
167
- oResizeMenu.close();
168
- }
169
-
170
- sTargetAreaId = e.currentTarget.getAttribute("id");
171
- oCurrentlyHoveredCell = null;
172
-
173
- if (e.originalEvent.touches && e.originalEvent.touches.length) {
174
- e = e.originalEvent.touches[0];
175
- } else if (e.originalEvent.changedTouches && e.originalEvent.changedTouches.length) {
176
- e = e.originalEvent.changedTouches[0];
177
- }
178
-
179
- iLastMouseX = e.pageX;
180
- iLastMouseY = e.pageY;
181
- bTouchStartReceived = true;
182
- bMoveAction = false;
183
-
184
- if (oTimeout) {
185
- window.clearTimeout(oTimeout);
186
- oTimeout = null;
187
- }
188
- oTimeout = setTimeout(function () {
189
- bTouchStartReceived = false;
190
- bMoveAction = false;
191
-
192
- var oCell = getMobileResizeableCell(e);
193
- if (oCell) {
194
- ensureResizeMenu();
195
- var oDomCell = $(document.getElementById(oCell.getId()));
196
- if (oDomCell.length > 0) {
197
- var eDock = sap.ui.core.Popup.Dock;
198
- // provide context (i. e. the selected cell) for selection event
199
- oResizeMenu.getItems()[0].oSelectedCell = oCell;
200
- oResizeMenu.open(false /* First item already highlighted */,
201
- oDomCell /* Dom reference which gets the focus back when the menu is closed */,
202
- eDock.BeginBottom, /* "Edge" of the menu (see sap.ui.core.Popup) */
203
- eDock.BeginTop, /* "Edge" of the related opener position (see sap.ui.core.Popup) */
204
- oDomCell, /* Related opener position (see sap.ui.core.Popup) */
205
- 0 + " " + 0, /* Offset */
206
- sap.ui.core.Collision.flip /* Collision detection */);
207
-
208
- }
209
- }
210
- }, iDelay);
211
- }
212
-
213
- function handleHeaderScrolling(iDx, iAbsDx) {
214
- var oHeaderScrollbar = oCrosstab.getHorizontalHeaderScrollbar();
215
- if (oHeaderScrollbar) {
216
- iOldHScrollPos = oHeaderScrollbar.getScrollPosition();
217
- iNewHScrollPos = Math.max(iOldHScrollPos - iDx, 0);
218
- if (iAbsDx > 0) {
219
- oCrosstab.scrollHeaderHorizontal(iNewHScrollPos);
220
- }
221
- }
222
- }
223
-
224
- function handleDataScrolling(iDx, iDy, iAbsDx, iAbsDy) {
225
- if (oCrosstab.getPropertyBag().isPixelScrolling()) {
226
- if (oVScrollbar) {
227
- iOldVScrollPos = oVScrollbar.getScrollPosition();
228
- iNewVScrollPos = Math.max(iOldVScrollPos - iDy, 0);
229
- }
230
- if (oHScrollbar) {
231
- iOldHScrollPos = oHScrollbar.getScrollPosition();
232
- iNewHScrollPos = Math.max(iOldHScrollPos - iDx, 0);
233
- }
234
- if (oVScrollbar && iAbsDy > 0) {
235
- oCrosstab.scrollVertical(iNewVScrollPos);
236
- }
237
- if (oHScrollbar && iAbsDx > 0) {
238
- oCrosstab.scrollHorizontal(iNewHScrollPos);
239
- }
240
-
241
- } else {
242
- if (oPopup.getOpenState() === sap.ui.core.OpenState.CLOSED) {
243
- oPopup.open(-1);
244
- }
245
- if (oVScrollbar) {
246
- if (oCrosstab.getRenderEngine().isVScrolledToEnd()) {
247
- if (sap.zen.crosstab.utils.Utils.sign(iDy) > 0) {
248
- iVScrollCnt -= sap.zen.crosstab.utils.Utils.sign(iDy);
249
- } else {
250
- iVScrollCnt = 0;
251
- }
252
- } else {
253
- iVScrollCnt -= sap.zen.crosstab.utils.Utils.sign(iDy);
254
- }
255
- iOldVScrollPos = oRowHeaderArea.getRenderStartRow();
256
- iNewVScrollPos = Math.max(Math.floor(iVScrollCnt / iIpadFactor) + iOldVScrollPos, 0);
257
- iNewVScrollPos = Math.min(oDataArea.getRowCnt() - 1, iNewVScrollPos);
258
- }
259
-
260
- if (oHScrollbar) {
261
- if (oCrosstab.getRenderEngine().isHScrolledToEnd()) {
262
- if (sap.zen.crosstab.utils.Utils.sign(iDx) > 0) {
263
- iHScrollCnt -= sap.zen.crosstab.utils.Utils.sign(iDx);
264
- } else {
265
- iHScrollCnt = 0;
266
- }
267
- } else {
268
- iHScrollCnt -= sap.zen.crosstab.utils.Utils.sign(iDx);
269
- }
270
- iOldHScrollPos = oColHeaderArea.getRenderStartCol();
271
- iNewHScrollPos = Math.max(Math.floor(iHScrollCnt / iIpadFactor) + iOldHScrollPos, 0);
272
- iNewHScrollPos = Math.min(oDataArea.getColCnt() - 1, iNewHScrollPos);
273
- }
274
-
275
- rerenderRowColPopup();
276
- }
277
- }
278
-
279
- function onTouchMove (e) {
280
- sap.zen.crosstab.utils.Utils.cancelEvent(e);
281
- if (bTouchStartReceived == false) {
282
- return true;
283
- }
284
-
285
- if (e.originalEvent.touches && e.originalEvent.touches.length) {
286
- e = e.originalEvent.touches[0];
287
- } else if (e.originalEvent.changedTouches && e.originalEvent.changedTouches.length) {
288
- e = e.originalEvent.changedTouches[0];
289
- }
290
-
291
- var actMouseX = e.pageX;
292
- var actMouseY = e.pageY;
293
-
294
- var iDx = actMouseX - iLastMouseX;
295
- var iDy = actMouseY - iLastMouseY;
296
-
297
- var iAbsDy = Math.abs(iDy);
298
- var iAbsDx = Math.abs(iDx);
299
-
300
- if (iAbsDy > iAbsDx && iAbsDx < 10) {
301
- iDx = 0;
302
- iAbsDx = 0;
303
- } else if (iAbsDx > iAbsDy && iAbsDy < 10) {
304
- iDy = 0;
305
- iAbsDy = 0;
306
- }
307
-
308
- if (iDx == 0 && iDy == 0) {
309
- bMoveAction = false;
310
- return true;
311
- }
312
-
313
- bMoveAction = true;
314
-
315
- if (oTimeout) {
316
- window.clearTimeout(oTimeout);
317
- oTimeout = null;
318
- }
319
-
320
- oVScrollbar = oCrosstab.getVScrollbar();
321
- oHScrollbar = oCrosstab.getHScrollbar();
322
-
323
- bIsHeaderScrolling = false;
324
- if (sTargetAreaId === oRowHeaderArea.getId()) {
325
- bIsHeaderScrolling = oCrosstab.isHeaderHScrolling() && (iDx !== 0);
326
- if (!bIsHeaderScrolling) {
327
- iDx = 0;
328
- iAbsDx = 0;
329
- }
330
- } else if (sTargetAreaId === oColHeaderArea.getId()) {
331
- iDy = 0;
332
- iAbsDy = 0;
333
- } else if (sTargetAreaId === oDimensionHeaderArea.getId()) {
334
- bIsHeaderScrolling = oCrosstab.isHeaderHScrolling() && (iDx !== 0);
335
- if (!bIsHeaderScrolling) {
336
- iDx = 0;
337
- iAbsDx = 0;
338
- }
339
- iDy = 0;
340
- iAbsDy = 0;
341
- }
342
-
343
- if (bIsHeaderScrolling === true) {
344
- handleHeaderScrolling(iDx, iAbsDx);
345
- } else {
346
- handleDataScrolling(iDx, iDy, iAbsDx, iAbsDy);
347
- }
348
-
349
- iLastMouseX = e.pageX;
350
- iLastMouseY = e.pageY;
351
- }
352
-
353
- function onTouchEnd (e) {
354
- sap.zen.crosstab.utils.Utils.cancelEvent(e);
355
-
356
- if (oTimeout) {
357
- window.clearTimeout(oTimeout);
358
- oTimeout = null;
359
- }
360
-
361
- if (bTouchStartReceived == false) {
362
- return true;
363
- }
364
- if (!bMoveAction) {
365
- oEventHandler.executeOnClickAction(e);
366
- }
367
-
368
- bTouchStartReceived = false;
369
- bMoveAction = false;
370
-
371
- if (!bIsHeaderScrolling) {
372
- if (!oCrosstab.getPropertyBag().isPixelScrolling()) {
373
- if ((oPopup.getOpenState() === sap.ui.core.OpenState.OPEN) || (oPopup.getOpenState() === sap.ui.core.OpenState.OPENING)) {
374
- oPopup.close();
375
- }
376
- var bReattachEvents = false;
377
- if (iNewVScrollPos !== iOldVScrollPos) {
378
- oCrosstab.scrollVertical(iNewVScrollPos);
379
- bReattachEvents = true;
380
- }
381
- if (iNewHScrollPos !== iOldHScrollPos) {
382
- oCrosstab.scrollHorizontal(iNewHScrollPos);
383
- bReattachEvents = true;
384
- }
385
-
386
- if (bReattachEvents === true) {
387
- oEventHandler.attachEvents();
388
- }
389
- }
390
- iVScrollCnt = 0;
391
- iHScrollCnt = 0;
392
- }
393
- }
394
-
395
- this.registerTouchEvents = function (oDomRenderSizeDiv) {
396
- prepareRowColPopup();
397
-
398
- // TOUCHSTART
399
- // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
400
- var sEventToHandle = "touchstart";
401
- if (oCrosstab.getPropertyBag().isTestMobileMode() && !oCrosstab.getPropertyBag().isMobileMode()) {
402
- sEventToHandle = "mousedown";
403
- }
404
- oDomDataArea.unbind(sEventToHandle);
405
- oDomDataArea.bind(sEventToHandle, onTouchStart);
406
-
407
- oDomRowHeaderArea.unbind(sEventToHandle);
408
- oDomRowHeaderArea.bind(sEventToHandle, onTouchStart);
409
-
410
- oDomColHeaderArea.unbind(sEventToHandle);
411
- oDomColHeaderArea.bind(sEventToHandle, onTouchStart);
412
-
413
- oDomDimensionHeaderArea.unbind(sEventToHandle);
414
- oDomDimensionHeaderArea.bind(sEventToHandle, onTouchStart);
415
-
416
- // TOUCHMOVE
417
- // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
418
- sEventToHandle = "touchmove";
419
- if (oCrosstab.getPropertyBag().isTestMobileMode() && !oCrosstab.getPropertyBag().isMobileMode()) {
420
- sEventToHandle = "mousemove";
421
- }
422
- oDomRenderSizeDiv.unbind(sEventToHandle);
423
- oDomRenderSizeDiv.bind(sEventToHandle, onTouchMove);
424
-
425
- // TOUCHEND
426
- // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
427
- sEventToHandle = "touchend";
428
- if (oCrosstab.getPropertyBag().isTestMobileMode() && !oCrosstab.getPropertyBag().isMobileMode()) {
429
- sEventToHandle = "mouseup";
430
- }
431
- oDomRenderSizeDiv.unbind(sEventToHandle);
432
- oDomRenderSizeDiv.bind(sEventToHandle, onTouchEnd);
433
- };
434
-
435
- this.setColResizer = function(poColResizer) {
436
- oColResizer = poColResizer;
437
- };
438
- }