@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.
- package/package.json +1 -1
- package/src/{main/uilib/sap → sap}/zen/crosstab/.library +14 -13
- package/src/sap/zen/crosstab/BaseArea.js +933 -0
- package/src/sap/zen/crosstab/CellStyleHandler.js +109 -0
- package/src/sap/zen/crosstab/ColResizer.js +261 -0
- package/src/sap/zen/crosstab/ColumnHeaderArea.js +61 -0
- package/src/sap/zen/crosstab/Crosstab.js +1351 -0
- package/src/sap/zen/crosstab/CrosstabCellApi.js +141 -0
- package/src/sap/zen/crosstab/CrosstabContextMenu.js +96 -0
- package/src/sap/zen/crosstab/CrosstabHeaderInfo.js +699 -0
- package/src/sap/zen/crosstab/CrosstabRenderer.js +258 -0
- package/src/sap/zen/crosstab/CrosstabTestProxy.js +64 -0
- package/src/sap/zen/crosstab/DataArea.js +76 -0
- package/src/sap/zen/crosstab/DataCell.js +187 -0
- package/src/sap/zen/crosstab/DataCellRenderer.js +70 -0
- package/src/sap/zen/crosstab/DimensionHeaderArea.js +34 -0
- package/src/sap/zen/crosstab/EventHandler.js +664 -0
- package/src/sap/zen/crosstab/HeaderCell.js +357 -0
- package/src/sap/zen/crosstab/HeaderCellRenderer.js +333 -0
- package/src/sap/zen/crosstab/HeaderResizer.js +142 -0
- package/src/sap/zen/crosstab/IDataCell.js +34 -0
- package/src/sap/zen/crosstab/IHeaderCell.js +30 -0
- package/src/sap/zen/crosstab/PropertyBag.js +220 -0
- package/src/sap/zen/crosstab/RowHeaderArea.js +78 -0
- package/src/sap/zen/crosstab/SelectionHandler.js +892 -0
- package/src/sap/zen/crosstab/TextConstants.js +22 -0
- package/src/sap/zen/crosstab/TouchHandler.js +413 -0
- package/src/sap/zen/crosstab/datahandler/JsonDataHandler.js +777 -0
- package/src/sap/zen/crosstab/dragdrop/DragDropAreaRenderer.js +446 -0
- package/src/sap/zen/crosstab/dragdrop/DragDropHandler.js +674 -0
- package/src/sap/zen/crosstab/dragdrop/DragDropHoverManager.js +474 -0
- package/src/sap/zen/crosstab/dragdrop/DragDropUtils.js +579 -0
- package/src/sap/zen/crosstab/dragdrop/MemberDragDropHandler.js +1156 -0
- package/src/sap/zen/crosstab/keyboard/CrosstabKeyboardNavHandler.js +585 -0
- package/src/sap/zen/crosstab/library.js +49 -0
- package/src/sap/zen/crosstab/paging/CellMerger.js +266 -0
- package/src/sap/zen/crosstab/paging/Page.js +331 -0
- package/src/sap/zen/crosstab/paging/PageManager.js +396 -0
- package/src/sap/zen/crosstab/paging/PagingConstants.js +19 -0
- package/src/sap/zen/crosstab/paging/RequestHandler.js +103 -0
- package/src/sap/zen/crosstab/paging/RequestStack.js +112 -0
- package/src/sap/zen/crosstab/rendering/CrossRequestManager.js +468 -0
- package/src/sap/zen/crosstab/rendering/DataModel.js +260 -0
- package/src/sap/zen/crosstab/rendering/DomElementProvider.js +24 -0
- package/src/sap/zen/crosstab/rendering/HeaderScrollManager.js +93 -0
- package/src/sap/zen/crosstab/rendering/PixelScrollManager.js +189 -0
- package/src/sap/zen/crosstab/rendering/RenderEngine.js +2694 -0
- package/src/sap/zen/crosstab/rendering/RenderingConstants.js +60 -0
- package/src/sap/zen/crosstab/rendering/ScrollManager.js +614 -0
- package/src/sap/zen/crosstab/rendering/ScrollbarRenderer.js +560 -0
- package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/Chart.less +0 -4
- package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/InfoFeeding.less +120 -120
- package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_hcb/InfoFeeding.less +85 -85
- package/src/sap/zen/crosstab/utils/Measuring.js +236 -0
- package/src/sap/zen/crosstab/utils/Utils.js +485 -0
- package/ui5.yaml +4 -2
- package/src/main/uilib/sap/zen/crosstab/BaseArea.js +0 -1013
- package/src/main/uilib/sap/zen/crosstab/CellStyleHandler.js +0 -111
- package/src/main/uilib/sap/zen/crosstab/ColResizer.js +0 -264
- package/src/main/uilib/sap/zen/crosstab/ColumnHeaderArea.js +0 -52
- package/src/main/uilib/sap/zen/crosstab/Crosstab.js +0 -1662
- package/src/main/uilib/sap/zen/crosstab/CrosstabCellApi.js +0 -142
- package/src/main/uilib/sap/zen/crosstab/CrosstabContextMenu.js +0 -96
- package/src/main/uilib/sap/zen/crosstab/CrosstabHeaderInfo.js +0 -698
- package/src/main/uilib/sap/zen/crosstab/CrosstabRenderer.js +0 -274
- package/src/main/uilib/sap/zen/crosstab/CrosstabTestProxy.js +0 -59
- package/src/main/uilib/sap/zen/crosstab/DataArea.js +0 -74
- package/src/main/uilib/sap/zen/crosstab/DataCell.js +0 -196
- package/src/main/uilib/sap/zen/crosstab/DataCellRenderer.js +0 -71
- package/src/main/uilib/sap/zen/crosstab/DimensionHeaderArea.js +0 -25
- package/src/main/uilib/sap/zen/crosstab/EventHandler.js +0 -651
- package/src/main/uilib/sap/zen/crosstab/HeaderCell.js +0 -329
- package/src/main/uilib/sap/zen/crosstab/HeaderCellRenderer.js +0 -374
- package/src/main/uilib/sap/zen/crosstab/HeaderResizer.js +0 -131
- package/src/main/uilib/sap/zen/crosstab/IDataCell.js +0 -21
- package/src/main/uilib/sap/zen/crosstab/IHeaderCell.js +0 -21
- package/src/main/uilib/sap/zen/crosstab/PropertyBag.js +0 -209
- package/src/main/uilib/sap/zen/crosstab/RowHeaderArea.js +0 -71
- package/src/main/uilib/sap/zen/crosstab/SelectionHandler.js +0 -911
- package/src/main/uilib/sap/zen/crosstab/TextConstants.js +0 -9
- package/src/main/uilib/sap/zen/crosstab/TouchHandler.js +0 -438
- package/src/main/uilib/sap/zen/crosstab/datahandler/JsonDataHandler.js +0 -760
- package/src/main/uilib/sap/zen/crosstab/dragdrop/DragDropAreaRenderer.js +0 -436
- package/src/main/uilib/sap/zen/crosstab/dragdrop/DragDropHandler.js +0 -682
- package/src/main/uilib/sap/zen/crosstab/dragdrop/DragDropHoverManager.js +0 -467
- package/src/main/uilib/sap/zen/crosstab/dragdrop/DragDropUtils.js +0 -580
- package/src/main/uilib/sap/zen/crosstab/dragdrop/MemberDragDropHandler.js +0 -1154
- package/src/main/uilib/sap/zen/crosstab/keyboard/CrosstabKeyboardNavHandler.js +0 -635
- package/src/main/uilib/sap/zen/crosstab/library.js +0 -38
- package/src/main/uilib/sap/zen/crosstab/nonphx/logic.js +0 -11
- package/src/main/uilib/sap/zen/crosstab/paging/CellMerger.js +0 -284
- package/src/main/uilib/sap/zen/crosstab/paging/Page.js +0 -357
- package/src/main/uilib/sap/zen/crosstab/paging/PageManager.js +0 -437
- package/src/main/uilib/sap/zen/crosstab/paging/PagingConstants.js +0 -7
- package/src/main/uilib/sap/zen/crosstab/paging/RequestHandler.js +0 -97
- package/src/main/uilib/sap/zen/crosstab/paging/RequestStack.js +0 -108
- package/src/main/uilib/sap/zen/crosstab/rendering/CrossRequestManager.js +0 -462
- package/src/main/uilib/sap/zen/crosstab/rendering/DataModel.js +0 -250
- package/src/main/uilib/sap/zen/crosstab/rendering/DomElementProvider.js +0 -13
- package/src/main/uilib/sap/zen/crosstab/rendering/HeaderScrollManager.js +0 -97
- package/src/main/uilib/sap/zen/crosstab/rendering/PixelScrollManager.js +0 -180
- package/src/main/uilib/sap/zen/crosstab/rendering/RenderEngine.js +0 -2757
- package/src/main/uilib/sap/zen/crosstab/rendering/RenderingConstants.js +0 -56
- package/src/main/uilib/sap/zen/crosstab/rendering/ScrollManager.js +0 -638
- package/src/main/uilib/sap/zen/crosstab/rendering/ScrollbarRenderer.js +0 -542
- package/src/main/uilib/sap/zen/crosstab/utils/Measuring.js +0 -225
- package/src/main/uilib/sap/zen/crosstab/utils/Utils.js +0 -480
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/ChartTypeSwitch.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/Crosstab.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/FilterBar.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/FilterPanel.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/Footerbar.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/InfoChart.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/NavigationPanel.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/chartconfig.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/CornerTornEffect.png +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/HTornEffect.png +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/HTornEffectData.png +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/HTornEffectHeader.png +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/VTornEffect.png +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/loading.gif +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/img/loading_comp.gif +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/library.source.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/base/zen.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_belize/library.source.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_belize_hcb/library.source.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_belize_hcw/library.source.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_belize_plus/library.source.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_bluecrystal/library.source.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_fiori_3/library.source.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_fiori_3_dark/library.source.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_fiori_3_hcb/library.source.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_fiori_3_hcw/library.source.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_hcb/Chart.less +0 -0
- /package/src/{main/uilib/sap → sap}/zen/crosstab/themes/sap_hcb/ChartTypeSwitch.less +0 -0
- /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
|
-
}
|