@sapui5/sap.zen.crosstab 1.107.0 → 1.109.0
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/sap/zen/crosstab/.library +1 -1
- package/src/sap/zen/crosstab/BaseArea.js +32 -36
- package/src/sap/zen/crosstab/CrosstabRenderer.js +102 -145
- package/src/sap/zen/crosstab/DataCell.js +61 -61
- package/src/sap/zen/crosstab/DataCellRenderer.js +24 -30
- package/src/sap/zen/crosstab/HeaderCell.js +171 -167
- package/src/sap/zen/crosstab/HeaderCellRenderer.js +115 -135
- package/src/sap/zen/crosstab/library.js +1 -1
- package/src/sap/zen/crosstab/themes/base/Chart.less +4 -0
- package/src/sap/zen/crosstab/utils/Utils.js +28 -29
|
@@ -4,31 +4,29 @@
|
|
|
4
4
|
/*global sap*/
|
|
5
5
|
sap.ui.define(
|
|
6
6
|
[
|
|
7
|
-
"jquery.sap.global",
|
|
8
7
|
"sap/zen/crosstab/rendering/RenderingConstants",
|
|
9
8
|
"sap/zen/crosstab/IHeaderCell",
|
|
10
9
|
"sap/zen/crosstab/TextConstants",
|
|
11
10
|
"sap/zen/crosstab/utils/Utils"
|
|
12
11
|
],
|
|
13
|
-
function(
|
|
12
|
+
function(RenderingConstants, IHeaderCell, TextConstants, Utils) {
|
|
14
13
|
"use strict";
|
|
15
|
-
jQuery.sap.declare("sap.zen.crosstab.HeaderCellRenderer");
|
|
16
14
|
/**
|
|
17
|
-
* @
|
|
18
|
-
* @
|
|
15
|
+
* @namespace HeaderCell renderer.
|
|
16
|
+
* @alias sap.zen.crosstab.HeaderCellRenderer
|
|
19
17
|
*/
|
|
20
|
-
|
|
18
|
+
var HeaderCellRenderer = {
|
|
19
|
+
apiVersion: 1 // still uses rm.write to write cell content which might contain markup
|
|
20
|
+
};
|
|
21
21
|
/**
|
|
22
22
|
* Renders the HTML for the given control, using the provided {@link sap.ui.core.RenderManager}.
|
|
23
23
|
*
|
|
24
24
|
* @param {sap.ui.core.RenderManager}
|
|
25
|
-
*
|
|
26
|
-
* @param {sap.
|
|
25
|
+
* rm the RenderManager that can be used for writing to the Render-Output-Buffer
|
|
26
|
+
* @param {sap.zen.crosstab.HeaderCell}
|
|
27
27
|
* oControl an object representation of the control that should be rendered
|
|
28
28
|
*/
|
|
29
|
-
|
|
30
|
-
// convenience variable
|
|
31
|
-
var rm = oRenderManager;
|
|
29
|
+
HeaderCellRenderer.render = function (rm, oControl) {
|
|
32
30
|
var oArea = oControl.getArea();
|
|
33
31
|
var fRenderCallback = oArea.getRenderCellCallback();
|
|
34
32
|
var oCrosstab = oArea.getCrosstab();
|
|
@@ -53,79 +51,67 @@ sap.ui.define(
|
|
|
53
51
|
sCssClasses += " sapzencrosstab-HeaderCellHierarchy";
|
|
54
52
|
}
|
|
55
53
|
// write the HTML into the render manager
|
|
56
|
-
rm.
|
|
57
|
-
rm.
|
|
58
|
-
rm.
|
|
59
|
-
rm.writeAttributeEscaped("tabindex", RenderingConstants.TABINDEX);
|
|
54
|
+
rm.openStart("td", oControl);
|
|
55
|
+
rm.attr("class", sCssClasses);
|
|
56
|
+
rm.attr("tabindex", RenderingConstants.TABINDEX);
|
|
60
57
|
if (iColspan > 1) {
|
|
61
|
-
rm.
|
|
58
|
+
rm.attr("colspan", iColspan);
|
|
62
59
|
}
|
|
63
60
|
if (iRowspan > 1) {
|
|
64
|
-
rm.
|
|
61
|
+
rm.attr("rowspan", iRowspan);
|
|
65
62
|
}
|
|
66
|
-
rm.
|
|
63
|
+
rm.openEnd(); // td element
|
|
67
64
|
// cell layout div
|
|
68
|
-
rm.
|
|
69
|
-
rm.
|
|
70
|
-
rm.
|
|
71
|
-
rm.writeAttribute("class", "sapzencrosstab-cellLayoutDiv");
|
|
65
|
+
rm.openStart("div", oControl.getId() + "_cellLayoutDiv");
|
|
66
|
+
rm.attr("tabindex", RenderingConstants.TABINDEX);
|
|
67
|
+
rm.class("sapzencrosstab-cellLayoutDiv");
|
|
72
68
|
if (oControl.isEntryEnabled()) {
|
|
73
69
|
// prepare for postprocessing logic workaround in adjustColWidths of RenderEngine
|
|
74
|
-
rm.
|
|
75
|
-
rm.writeStyles();
|
|
70
|
+
rm.style("width", "0px");
|
|
76
71
|
}
|
|
77
|
-
rm.
|
|
72
|
+
rm.openEnd(); // div element
|
|
78
73
|
if (oControl.isEntryEnabled()) {
|
|
79
|
-
rm.
|
|
80
|
-
rm.
|
|
81
|
-
rm.
|
|
74
|
+
rm.openStart("table").style("width", "100%").style("border-spacing", "0px").openEnd().openStart("tbody").openEnd();
|
|
75
|
+
rm.openStart("tr").openEnd();
|
|
76
|
+
rm.openStart("td").style("width", "100%").style("padding", "0px 5px 0px 0px").openEnd();
|
|
82
77
|
}
|
|
83
78
|
// cell content div
|
|
84
|
-
rm.
|
|
85
|
-
rm.
|
|
86
|
-
rm.writeAttributeEscaped("tabindex",RenderingConstants.TABINDEX);
|
|
79
|
+
rm.openStart("div", oControl.getId() + "_contentDiv");
|
|
80
|
+
rm.attr("tabindex",RenderingConstants.TABINDEX);
|
|
87
81
|
// tooltip
|
|
88
82
|
if (sRenderText) {
|
|
89
|
-
rm.
|
|
83
|
+
rm.attr("title", sRenderText);
|
|
90
84
|
}
|
|
91
|
-
|
|
85
|
+
rm.class("sapzencrosstab-HeaderCellContentDiv");
|
|
92
86
|
if (oControl.isLoading()) {
|
|
93
|
-
|
|
87
|
+
rm.class("sapzencrosstab-LoadingCellContentDiv");
|
|
94
88
|
}
|
|
95
|
-
rm.writeAttributeEscaped("class", sClasses);
|
|
96
89
|
if (oAdditionalStyles) {
|
|
97
90
|
for ( var sStyleKey in oAdditionalStyles) {
|
|
98
|
-
rm.
|
|
91
|
+
rm.style(sStyleKey, oAdditionalStyles[sStyleKey]);
|
|
99
92
|
}
|
|
100
93
|
}
|
|
101
|
-
rm.writeStyles();
|
|
102
94
|
if (oControl.isEntryEnabled()) {
|
|
103
|
-
rm.
|
|
104
|
-
rm.writeStyles();
|
|
95
|
+
rm.style("width", "100%");
|
|
105
96
|
}
|
|
106
|
-
rm.
|
|
97
|
+
rm.openEnd(); // div element
|
|
107
98
|
renderCellContent();
|
|
108
99
|
renderColResizer();
|
|
109
|
-
rm.
|
|
110
|
-
rm.
|
|
100
|
+
rm.close("div"); // cell content div
|
|
101
|
+
rm.close("div"); // cell layout div
|
|
111
102
|
if (oControl.isEntryEnabled()) {
|
|
112
|
-
rm.
|
|
113
|
-
rm.
|
|
114
|
-
rm.
|
|
115
|
-
rm.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
rm.
|
|
122
|
-
rm.write(">");
|
|
123
|
-
rm.write("</div>");
|
|
124
|
-
rm.write("</td>");
|
|
125
|
-
rm.write("</tr>");
|
|
126
|
-
rm.write("</tbody></table>");
|
|
103
|
+
rm.close("td");
|
|
104
|
+
rm.openStart("td").style("padding", "0px").openEnd();
|
|
105
|
+
rm.openStart("div", "vhlp_" + oControl.getId());
|
|
106
|
+
rm.class("sapzencrosstab-HeaderCellDivValueHelp" + (Utils.isMainMode() ? "-MainMode" : ""));
|
|
107
|
+
rm.class("sapzencrosstab-HeaderCellValueHelp");
|
|
108
|
+
rm.openEnd();
|
|
109
|
+
rm.close("div");
|
|
110
|
+
rm.close("td");
|
|
111
|
+
rm.close("tr");
|
|
112
|
+
rm.close("tbody").close("table");
|
|
127
113
|
}
|
|
128
|
-
rm.
|
|
114
|
+
rm.close("td");
|
|
129
115
|
function renderCellContent() {
|
|
130
116
|
if (sSort || sDrillState) {
|
|
131
117
|
createCellContentTable(sSort, sDrillState);
|
|
@@ -134,28 +120,26 @@ sap.ui.define(
|
|
|
134
120
|
}
|
|
135
121
|
}
|
|
136
122
|
function createCellContent() {
|
|
137
|
-
rm.
|
|
138
|
-
rm.
|
|
139
|
-
rm.writeAttributeEscaped("tabindex", RenderingConstants.TABINDEX);
|
|
123
|
+
rm.openStart("div", oControl.getId() + "_textContentDiv");
|
|
124
|
+
rm.attr("tabindex", RenderingConstants.TABINDEX);
|
|
140
125
|
// ellipsis handling when content is too large
|
|
141
|
-
rm.
|
|
142
|
-
rm.
|
|
143
|
-
rm.
|
|
144
|
-
rm.write(">");
|
|
126
|
+
rm.style("overflow", "hidden");
|
|
127
|
+
rm.style("text-overflow", "ellipsis");
|
|
128
|
+
rm.openEnd();
|
|
145
129
|
rm.write(sRenderText);
|
|
146
|
-
rm.
|
|
130
|
+
rm.close("div");
|
|
147
131
|
}
|
|
148
132
|
function createCellContentTable() {
|
|
149
|
-
rm.
|
|
133
|
+
rm.openStart("table").openEnd().openStart("tbody").openEnd();
|
|
150
134
|
insertColHeaderHierarchySpacerLinesBefore();
|
|
151
|
-
rm.
|
|
135
|
+
rm.openStart("tr").openEnd();
|
|
152
136
|
insertHierarchyActionImage();
|
|
153
137
|
insertTextContent();
|
|
154
138
|
insertSortingImage();
|
|
155
139
|
insertRowHeaderHierarchSpacerDivAfter();
|
|
156
|
-
rm.
|
|
140
|
+
rm.close("tr");
|
|
157
141
|
insertColHeaderHierarchySpacerLinesAfter();
|
|
158
|
-
rm.
|
|
142
|
+
rm.close("tbody").close("table");
|
|
159
143
|
}
|
|
160
144
|
function insertHierarchyActionImage() {
|
|
161
145
|
if (sDrillState) {
|
|
@@ -182,69 +166,67 @@ sap.ui.define(
|
|
|
182
166
|
if (iLevel > 0) {
|
|
183
167
|
if (isRowHeaderArea) {
|
|
184
168
|
var iWidth = iLevel * oCrosstab.getHierarchyIndentWidth();
|
|
185
|
-
rm.
|
|
186
|
-
rm.
|
|
187
|
-
rm.
|
|
188
|
-
rm.
|
|
189
|
-
rm.
|
|
190
|
-
rm.
|
|
191
|
-
rm.
|
|
192
|
-
rm.
|
|
193
|
-
rm.write("</td>");
|
|
169
|
+
rm.openStart("td").openEnd();
|
|
170
|
+
rm.openStart("div");
|
|
171
|
+
rm.attr("tabindex", RenderingConstants.TABINDEX);
|
|
172
|
+
rm.style("width", iWidth + "px");
|
|
173
|
+
rm.class("sapzencrosstab-HierarchySpacerDivBefore");
|
|
174
|
+
rm.attr("xtabspacer-cellid", oControl.getId());
|
|
175
|
+
rm.openEnd().close("div");
|
|
176
|
+
rm.close("td");
|
|
194
177
|
}
|
|
195
178
|
}
|
|
196
179
|
if ((sDrillState === "L" && iLevel > 0) || sDrillState !== "L") {
|
|
197
|
-
rm.
|
|
198
|
-
rm.write("<div");
|
|
180
|
+
rm.openStart("td").openEnd();
|
|
199
181
|
if (oControl.getHierarchyAction()) {
|
|
200
|
-
rm.
|
|
182
|
+
rm.openStart("div", "hier_" + oControl.getId());
|
|
183
|
+
} else {
|
|
184
|
+
rm.openStart("div");
|
|
201
185
|
}
|
|
202
|
-
rm.
|
|
186
|
+
rm.attr("class", sClass);
|
|
203
187
|
// Tooltip
|
|
204
188
|
var sHierarchyTooltip = oControl.getHierarchyTooltip();
|
|
205
189
|
if (sHierarchyTooltip) {
|
|
206
|
-
rm.
|
|
190
|
+
rm.attr("title", sHierarchyTooltip);
|
|
207
191
|
}
|
|
208
|
-
rm.
|
|
209
|
-
rm.
|
|
192
|
+
rm.openEnd().close("div");
|
|
193
|
+
rm.close("td");
|
|
210
194
|
}
|
|
211
195
|
}
|
|
212
196
|
}
|
|
213
197
|
function insertTextContent() {
|
|
214
|
-
rm.
|
|
198
|
+
rm.openStart("td").openEnd();
|
|
215
199
|
createCellContent();
|
|
216
|
-
rm.
|
|
200
|
+
rm.close("td");
|
|
217
201
|
}
|
|
218
202
|
function createSortingImage() {
|
|
219
203
|
if (sSort) {
|
|
220
204
|
var iTextIndex = 0;
|
|
221
|
-
|
|
222
|
-
rm.
|
|
205
|
+
rm.openStart("div", "sort_" + oControl.getId());
|
|
206
|
+
rm.class("sapzencrosstab-HeaderCellDivSortable");
|
|
223
207
|
if (sSort === "NONE") {
|
|
224
|
-
|
|
208
|
+
rm.class("sapzencrosstab-HeaderCellSortNone");
|
|
225
209
|
iTextIndex = 0;
|
|
226
210
|
} else if (sSort === "ASC") {
|
|
227
|
-
|
|
211
|
+
rm.class("sapzencrosstab-HeaderCellSortAsc");
|
|
228
212
|
iTextIndex = 1;
|
|
229
213
|
} else if (sSort === "DESC") {
|
|
230
|
-
|
|
214
|
+
rm.class("sapzencrosstab-HeaderCellSortDesc");
|
|
231
215
|
iTextIndex = 2;
|
|
232
216
|
}
|
|
233
|
-
rm.writeAttributeEscaped("class", sClass);
|
|
234
|
-
rm.writeAttribute("id", "sort_" + oControl.getId());
|
|
235
217
|
// Tooltip
|
|
236
218
|
var sSortTooltip = oCrosstab.getPropertyBag().getSortingToolTip(iTextIndex);
|
|
237
219
|
if (sSortTooltip) {
|
|
238
|
-
rm.
|
|
220
|
+
rm.attr("title", sSortTooltip);
|
|
239
221
|
}
|
|
240
|
-
rm.
|
|
222
|
+
rm.openEnd().close("div");
|
|
241
223
|
}
|
|
242
224
|
}
|
|
243
225
|
function insertSortingImage() {
|
|
244
226
|
if (sSort) {
|
|
245
|
-
rm.
|
|
227
|
+
rm.openStart("td").openEnd();
|
|
246
228
|
createSortingImage();
|
|
247
|
-
rm.
|
|
229
|
+
rm.close("td");
|
|
248
230
|
}
|
|
249
231
|
}
|
|
250
232
|
function insertRowHeaderHierarchSpacerDivAfter () {
|
|
@@ -254,15 +236,14 @@ sap.ui.define(
|
|
|
254
236
|
var iDiff = iMaxLevel - iLevel;
|
|
255
237
|
if (iDiff > 0) {
|
|
256
238
|
var iWidth = iDiff * oCrosstab.getHierarchyIndentWidth();
|
|
257
|
-
rm.
|
|
258
|
-
rm.
|
|
259
|
-
rm.
|
|
260
|
-
rm.
|
|
261
|
-
rm.
|
|
262
|
-
rm.
|
|
263
|
-
rm.
|
|
264
|
-
rm.
|
|
265
|
-
rm.write("</td>");
|
|
239
|
+
rm.openStart("td").openEnd();
|
|
240
|
+
rm.openStart("div");
|
|
241
|
+
rm.attr("tabindex", RenderingConstants.TABINDEX);
|
|
242
|
+
rm.style("width", iWidth + "px");
|
|
243
|
+
rm.class("sapzencrosstab-HierarchySpacerDivAfter");
|
|
244
|
+
rm.attr("xtabspacer-cellid", oControl.getId());
|
|
245
|
+
rm.openEnd().close("div");
|
|
246
|
+
rm.close("td");
|
|
266
247
|
}
|
|
267
248
|
}
|
|
268
249
|
}
|
|
@@ -271,15 +252,14 @@ sap.ui.define(
|
|
|
271
252
|
var iLevel = oControl.getLevel();
|
|
272
253
|
if (iLevel > 0 && oControl.getArea().isColHeaderArea()) {
|
|
273
254
|
var iHeight = iLevel * oCrosstab.getHierarchyIndentHeight();
|
|
274
|
-
rm.
|
|
275
|
-
rm.
|
|
276
|
-
rm.
|
|
277
|
-
rm.
|
|
278
|
-
rm.
|
|
279
|
-
rm.
|
|
280
|
-
rm.
|
|
281
|
-
rm.
|
|
282
|
-
rm.write("</td></tr>");
|
|
255
|
+
rm.openStart("tr").openEnd().openStart("td").openEnd();
|
|
256
|
+
rm.openStart("div");
|
|
257
|
+
rm.attr("tabindex", RenderingConstants.TABINDEX);
|
|
258
|
+
rm.class("sapzencrosstab-HierarchySpacerLinesBefore");
|
|
259
|
+
rm.attr("xtabspacer-cellid", oControl.getId());
|
|
260
|
+
rm.style("height", iHeight + "px");
|
|
261
|
+
rm.openEnd().close("div");
|
|
262
|
+
rm.close("td").close("tr");
|
|
283
263
|
}
|
|
284
264
|
}
|
|
285
265
|
}
|
|
@@ -290,15 +270,14 @@ sap.ui.define(
|
|
|
290
270
|
var iDiff = iMaxLevel - iLevel;
|
|
291
271
|
if (iDiff > 0) {
|
|
292
272
|
var iHeight = iDiff * oCrosstab.getHierarchyIndentHeight();
|
|
293
|
-
rm.
|
|
294
|
-
rm.
|
|
295
|
-
rm.
|
|
296
|
-
rm.
|
|
297
|
-
rm.
|
|
298
|
-
rm.
|
|
299
|
-
rm.
|
|
300
|
-
rm.
|
|
301
|
-
rm.write("</td></tr>");
|
|
273
|
+
rm.openStart("tr").openEnd().openStart("td").openEnd();
|
|
274
|
+
rm.openStart("div");
|
|
275
|
+
rm.attr("tabindex", RenderingConstants.TABINDEX);
|
|
276
|
+
rm.class("sapzencrosstab-HierarchySpacerLinesAfter");
|
|
277
|
+
rm.attr("xtabspacer-cellid", oControl.getId());
|
|
278
|
+
rm.style("height", iHeight + "px");
|
|
279
|
+
rm.openEnd().close("div");
|
|
280
|
+
rm.close("td").close("tr");
|
|
302
281
|
}
|
|
303
282
|
}
|
|
304
283
|
}
|
|
@@ -309,24 +288,25 @@ sap.ui.define(
|
|
|
309
288
|
oControl.setMobileResize(true);
|
|
310
289
|
} else {
|
|
311
290
|
// resize handle div
|
|
312
|
-
rm.
|
|
313
|
-
rm.writeAttributeEscaped("id", "resi_" + oControl.getId());
|
|
291
|
+
rm.openStart("div", "resi_" + oControl.getId());
|
|
314
292
|
if(sSort){
|
|
315
293
|
//Some themes need a different spacing for the resize handle if a sort icon is present in the same cell
|
|
316
|
-
rm.
|
|
294
|
+
rm.class("sapzencrosstab-columnResizeHandleWithSort");
|
|
317
295
|
} else {
|
|
318
|
-
rm.
|
|
296
|
+
rm.class("sapzencrosstab-columnResizeHandle");
|
|
319
297
|
}
|
|
320
|
-
rm.
|
|
298
|
+
rm.attr("title", oCrosstab.getPropertyBag().getText(
|
|
321
299
|
TextConstants.COLWIDTH_ADJUST_TEXT_KEY));
|
|
322
|
-
rm.
|
|
323
|
-
rm.
|
|
300
|
+
rm.openEnd(); // div element
|
|
301
|
+
rm.close("div");
|
|
324
302
|
oControl.setMobileResize(false);
|
|
325
303
|
}
|
|
326
304
|
}
|
|
327
305
|
}
|
|
328
306
|
}
|
|
329
307
|
};
|
|
330
|
-
|
|
331
|
-
|
|
308
|
+
|
|
309
|
+
return HeaderCellRenderer;
|
|
310
|
+
|
|
311
|
+
}, true
|
|
332
312
|
);
|
|
@@ -10,8 +10,7 @@ sap.ui.define(
|
|
|
10
10
|
],
|
|
11
11
|
function(jQuery, Log,RenderingConstants) {
|
|
12
12
|
"use strict";
|
|
13
|
-
|
|
14
|
-
sap.zen.crosstab.utils.Utils = function (oCrosstab) {
|
|
13
|
+
var Utils = function (oCrosstab) {
|
|
15
14
|
var that = this;
|
|
16
15
|
var sQueuedHeaderWidthCommand = null;
|
|
17
16
|
var oProfiles = {};
|
|
@@ -271,45 +270,45 @@ sap.ui.define(
|
|
|
271
270
|
};
|
|
272
271
|
};
|
|
273
272
|
|
|
274
|
-
|
|
273
|
+
Utils.isCozyMode = function() {
|
|
275
274
|
var bIsCozyMode = false;
|
|
276
275
|
|
|
277
|
-
if (
|
|
276
|
+
if (Utils.isDispatcherAvailable() === true) {
|
|
278
277
|
bIsCozyMode = sap.zen.Dispatcher.instance.isMainMode() && !sap.zen.Dispatcher.instance.isCompactMode();
|
|
279
278
|
}
|
|
280
279
|
return bIsCozyMode;
|
|
281
280
|
};
|
|
282
281
|
|
|
283
|
-
|
|
282
|
+
Utils.isMainMode = function() {
|
|
284
283
|
return true;
|
|
285
284
|
};
|
|
286
285
|
|
|
287
|
-
|
|
286
|
+
Utils.unEscapeDisplayString = function (sHtmlString) {
|
|
288
287
|
var sUnEscapedString = sHtmlString.replace(/<br\/>/g, "\r\n");
|
|
289
288
|
sUnEscapedString = sUnEscapedString.replace(/ /g, " ");
|
|
290
289
|
sUnEscapedString = jQuery("<div></div>").html(sUnEscapedString).text();
|
|
291
290
|
return sUnEscapedString;
|
|
292
291
|
};
|
|
293
292
|
|
|
294
|
-
|
|
293
|
+
Utils.prepareStringForRendering = function (sText) {
|
|
295
294
|
var sPrePreparedString = sText.replace(/(\r\n)|(\n\r)|\r|\n/g, "<br/>");
|
|
296
295
|
var sPreparedString = sPrePreparedString.replace(/(
)|(

)|
|
/g, "<br/>");
|
|
297
|
-
var iNumberOfLineBreaks =
|
|
296
|
+
var iNumberOfLineBreaks = Utils.getNumberOfLineBreaks(sPreparedString);
|
|
298
297
|
|
|
299
298
|
sPreparedString = sPreparedString.replace(/ /g, " ");
|
|
300
299
|
return {"text" : sPreparedString, "iNumberOfLineBreaks" : iNumberOfLineBreaks};
|
|
301
300
|
};
|
|
302
301
|
|
|
303
|
-
|
|
302
|
+
Utils.cancelEvent = function (e) {
|
|
304
303
|
if (e) {
|
|
305
304
|
if (e.preventDefault) {
|
|
306
305
|
e.preventDefault();
|
|
307
306
|
}
|
|
308
|
-
|
|
307
|
+
Utils.stopEventPropagation(e);
|
|
309
308
|
}
|
|
310
309
|
};
|
|
311
310
|
|
|
312
|
-
|
|
311
|
+
Utils.stopEventPropagation = function (e) {
|
|
313
312
|
if (e) {
|
|
314
313
|
if (e.stopPropagation) {
|
|
315
314
|
e.stopPropagation();
|
|
@@ -320,7 +319,7 @@ sap.ui.define(
|
|
|
320
319
|
}
|
|
321
320
|
};
|
|
322
321
|
|
|
323
|
-
|
|
322
|
+
Utils.hasEntries = function (oAssocArray) {
|
|
324
323
|
var bHasEntries = false;
|
|
325
324
|
if (oAssocArray) {
|
|
326
325
|
for ( var key in oAssocArray) {
|
|
@@ -335,7 +334,7 @@ sap.ui.define(
|
|
|
335
334
|
return bHasEntries;
|
|
336
335
|
};
|
|
337
336
|
|
|
338
|
-
|
|
337
|
+
Utils.padWithZeroes = function (iNumber, iLength) {
|
|
339
338
|
var s = iNumber.toString();
|
|
340
339
|
if (s.length < iLength) {
|
|
341
340
|
s = ("0000000000" + s).slice(-iLength);
|
|
@@ -343,7 +342,7 @@ sap.ui.define(
|
|
|
343
342
|
return s;
|
|
344
343
|
};
|
|
345
344
|
|
|
346
|
-
|
|
345
|
+
Utils.selectTextInElement = function (oDomTextContainer) {
|
|
347
346
|
var oRange;
|
|
348
347
|
var oSelection;
|
|
349
348
|
if (oDomTextContainer.innerHTML) {
|
|
@@ -372,7 +371,7 @@ sap.ui.define(
|
|
|
372
371
|
}
|
|
373
372
|
};
|
|
374
373
|
|
|
375
|
-
|
|
374
|
+
Utils.getWidthFromStyle = function (oJqElement) {
|
|
376
375
|
var i = 0;
|
|
377
376
|
var sStyle = "";
|
|
378
377
|
var aStyleDef = null;
|
|
@@ -399,11 +398,11 @@ sap.ui.define(
|
|
|
399
398
|
return sWidth;
|
|
400
399
|
};
|
|
401
400
|
|
|
402
|
-
|
|
401
|
+
Utils.sign = function(x) {
|
|
403
402
|
return x > 0 ? 1 : x < 0 ? -1 : 0;
|
|
404
403
|
};
|
|
405
404
|
|
|
406
|
-
|
|
405
|
+
Utils.getCssIntProperty = function(oJqElement, sCss) {
|
|
407
406
|
var iCssProperty = 0;
|
|
408
407
|
if (oJqElement && oJqElement.length > 0) {
|
|
409
408
|
iCssProperty = parseInt(oJqElement.css(sCss), 10);
|
|
@@ -414,15 +413,15 @@ sap.ui.define(
|
|
|
414
413
|
return iCssProperty;
|
|
415
414
|
};
|
|
416
415
|
|
|
417
|
-
|
|
418
|
-
var iMarginWidth =
|
|
419
|
-
var iBorderWidth =
|
|
420
|
-
var iPaddingWidth =
|
|
416
|
+
Utils.getWidthOfMarginBorderPadding = function(oJqElement) {
|
|
417
|
+
var iMarginWidth = Utils.getCssIntProperty(oJqElement, "margin-left") + Utils.getCssIntProperty(oJqElement, "margin-right");
|
|
418
|
+
var iBorderWidth = Utils.getCssIntProperty(oJqElement, "border-left") + Utils.getCssIntProperty(oJqElement, "border-right");
|
|
419
|
+
var iPaddingWidth = Utils.getCssIntProperty(oJqElement, "padding-left") + Utils.getCssIntProperty(oJqElement, "padding-right");
|
|
421
420
|
var iTotalWidth = iMarginWidth + iBorderWidth + iPaddingWidth;
|
|
422
421
|
return iTotalWidth;
|
|
423
422
|
};
|
|
424
423
|
|
|
425
|
-
|
|
424
|
+
Utils.getNumberOfLineBreaks = function(sEscapedString) {
|
|
426
425
|
var counter = 0;
|
|
427
426
|
if (sEscapedString && sEscapedString.length > 0) {
|
|
428
427
|
var regEx = /<br\/>/g;
|
|
@@ -432,7 +431,7 @@ sap.ui.define(
|
|
|
432
431
|
}
|
|
433
432
|
return counter;
|
|
434
433
|
};
|
|
435
|
-
|
|
434
|
+
Utils.getSizeOf = function(oObject) {
|
|
436
435
|
var iSize = 0;
|
|
437
436
|
for (var key in oObject) {
|
|
438
437
|
if (
|
|
@@ -443,7 +442,7 @@ sap.ui.define(
|
|
|
443
442
|
}
|
|
444
443
|
return iSize;
|
|
445
444
|
};
|
|
446
|
-
|
|
445
|
+
Utils.isDispatcherAvailable = function() {
|
|
447
446
|
var bDispatcherAvailable = false;
|
|
448
447
|
if (typeof sap !== "undefined" && sap) {
|
|
449
448
|
if (typeof sap.zen !== "undefined" && sap.zen) {
|
|
@@ -457,7 +456,7 @@ sap.ui.define(
|
|
|
457
456
|
return bDispatcherAvailable;
|
|
458
457
|
};
|
|
459
458
|
|
|
460
|
-
|
|
459
|
+
Utils.swapText = function(sText, sSeparator) {
|
|
461
460
|
var aTextParts;
|
|
462
461
|
var i;
|
|
463
462
|
var sNewText = "";
|
|
@@ -474,11 +473,11 @@ sap.ui.define(
|
|
|
474
473
|
}
|
|
475
474
|
return sNewText;
|
|
476
475
|
};
|
|
477
|
-
|
|
476
|
+
Utils.swapPivotKeyText = function(sText) {
|
|
478
477
|
var sNewText;
|
|
479
|
-
sNewText =
|
|
478
|
+
sNewText = Utils.swapText(sText, " | ");
|
|
480
479
|
return sNewText;
|
|
481
480
|
};
|
|
482
|
-
return
|
|
483
|
-
}
|
|
481
|
+
return Utils;
|
|
482
|
+
}, true
|
|
484
483
|
);
|