@deephaven/grid 0.104.1-virtual-webgl.11 → 0.105.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/dist/CellRenderer.d.ts +1 -1
- package/dist/CellRenderer.d.ts.map +1 -1
- package/dist/CellRenderer.js +1 -1
- package/dist/CellRenderer.js.map +1 -1
- package/dist/DataBarCellRenderer.d.ts.map +1 -1
- package/dist/DataBarCellRenderer.js +5 -5
- package/dist/DataBarCellRenderer.js.map +1 -1
- package/dist/GridMetricCalculator.d.ts +21 -10
- package/dist/GridMetricCalculator.d.ts.map +1 -1
- package/dist/GridMetricCalculator.js +89 -33
- package/dist/GridMetricCalculator.js.map +1 -1
- package/dist/GridMetrics.d.ts +2 -1
- package/dist/GridMetrics.d.ts.map +1 -1
- package/dist/GridMetrics.js.map +1 -1
- package/dist/GridRenderer.d.ts +2 -1
- package/dist/GridRenderer.d.ts.map +1 -1
- package/dist/GridRenderer.js +16 -17
- package/dist/GridRenderer.js.map +1 -1
- package/dist/TextCellRenderer.d.ts.map +1 -1
- package/dist/TextCellRenderer.js +11 -10
- package/dist/TextCellRenderer.js.map +1 -1
- package/package.json +3 -3
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"GridRenderer.d.ts","sourceRoot":"","sources":["../src/GridRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAc,MAAM,kBAAkB,CAAC;AAK1D,OAAO,EACL,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAGnE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AASlD;;;;GAIG;AACH,qBAAa,YAAY;IAEvB,MAAM,CAAC,mBAAmB,SAAK;IAE/B,SAAS,CAAC,gBAAgB,mBAA0B;IAEpD,SAAS,CAAC,mBAAmB,sBAA6B;IAE1D;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAQjD;;;;;;;;;OASG;IACH,MAAM,CAAC,qBAAqB,CAC1B,OAAO,EAAE,wBAAwB,EACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,SAAI,EACT,GAAG,SAAa,EAChB,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM;IAuCT;;;;;;;;;;OAUG;IACH,MAAM,CAAC,eAAe,CACpB,OAAO,EAAE,wBAAwB,EACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"GridRenderer.d.ts","sourceRoot":"","sources":["../src/GridRenderer.ts"],"names":[],"mappings":"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"}
|
package/dist/GridRenderer.js
CHANGED
@@ -24,6 +24,9 @@ export class GridRenderer {
|
|
24
24
|
constructor() {
|
25
25
|
_defineProperty(this, "textCellRenderer", new TextCellRenderer());
|
26
26
|
_defineProperty(this, "dataBarCellRenderer", new DataBarCellRenderer());
|
27
|
+
_defineProperty(this, "getCachedHeaderWidth", memoizeClear((context, text) => context.measureText(text).width, {
|
28
|
+
max: 1000
|
29
|
+
}));
|
27
30
|
} // Default radius in pixels for corners for some elements (like the active cell)
|
28
31
|
/**
|
29
32
|
* Truncate a string to the specified length and add ellipses if necessary
|
@@ -100,17 +103,18 @@ export class GridRenderer {
|
|
100
103
|
* @returns The truncated string that fits within the width provided
|
101
104
|
*/
|
102
105
|
static truncateToWidth(context, str, width) {
|
103
|
-
var
|
104
|
-
var
|
106
|
+
var fontWidthLower = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DEFAULT_FONT_WIDTH / 2;
|
107
|
+
var fontWidthUpper = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : DEFAULT_FONT_WIDTH * 2;
|
108
|
+
var truncationChar = arguments.length > 5 ? arguments[5] : undefined;
|
105
109
|
if (width <= 0 || str.length <= 0) {
|
106
110
|
return '';
|
107
111
|
}
|
108
112
|
|
109
113
|
// Estimate the possible low and high boundaries for truncating the text
|
110
|
-
// Use the width of the space divided by the
|
111
|
-
//
|
112
|
-
var lo = Math.min(Math.max(0, Math.floor(width /
|
113
|
-
var hi = Math.min(Math.ceil(width /
|
114
|
+
// Use the width of the space divided by the upper and lower bounds of the width of a character
|
115
|
+
// (minus 5 on the lower bound just to be extra safe)
|
116
|
+
var lo = Math.min(Math.max(0, Math.floor(width / fontWidthUpper) - 5), str.length);
|
117
|
+
var hi = Math.min(Math.ceil(width / fontWidthLower), str.length);
|
114
118
|
return GridRenderer.binaryTruncateToWidth(context, str, width, lo, hi, truncationChar);
|
115
119
|
}
|
116
120
|
|
@@ -1134,7 +1138,6 @@ export class GridRenderer {
|
|
1134
1138
|
}, bounds);
|
1135
1139
|
}
|
1136
1140
|
drawColumnHeader(context, state, columnText, columnX, columnWidth, style, bounds) {
|
1137
|
-
var _fontWidths$get;
|
1138
1141
|
if (columnWidth <= 0) {
|
1139
1142
|
return;
|
1140
1143
|
}
|
@@ -1152,12 +1155,11 @@ export class GridRenderer {
|
|
1152
1155
|
white
|
1153
1156
|
} = theme;
|
1154
1157
|
var {
|
1155
|
-
|
1158
|
+
fontWidthsLower,
|
1159
|
+
fontWidthsUpper,
|
1156
1160
|
width
|
1157
1161
|
} = metrics;
|
1158
|
-
var fontWidth = (_fontWidths$get = fontWidths.get(context.font)) !== null && _fontWidths$get !== void 0 ? _fontWidths$get : DEFAULT_FONT_WIDTH;
|
1159
1162
|
var maxWidth = columnWidth - headerHorizontalPadding * 2;
|
1160
|
-
var maxLength = maxWidth / fontWidth;
|
1161
1163
|
var {
|
1162
1164
|
backgroundColor = headerBackgroundColor,
|
1163
1165
|
separatorColor = headerSeparatorColor
|
@@ -1211,13 +1213,9 @@ export class GridRenderer {
|
|
1211
1213
|
context.rect(columnX, 0, columnWidth, columnHeaderHeight);
|
1212
1214
|
context.clip();
|
1213
1215
|
context.fillStyle = textColor;
|
1214
|
-
var
|
1215
|
-
|
1216
|
-
|
1217
|
-
} else if (renderText.length > maxLength) {
|
1218
|
-
renderText = "".concat(renderText.substring(0, maxLength - 1), "\u2026");
|
1219
|
-
}
|
1220
|
-
var textWidth = renderText.length * fontWidth;
|
1216
|
+
var fontWidthLower = fontWidthsLower.get(context.font);
|
1217
|
+
var fontWidthUpper = fontWidthsUpper.get(context.font);
|
1218
|
+
var renderText = this.textCellRenderer.getCachedTruncatedString(context, columnText, maxWidth, fontWidthLower, fontWidthUpper);
|
1221
1219
|
var x = columnX + columnWidth * 0.5;
|
1222
1220
|
var y = columnHeaderHeight * 0.5;
|
1223
1221
|
minX += headerHorizontalPadding;
|
@@ -1227,6 +1225,7 @@ export class GridRenderer {
|
|
1227
1225
|
var columnRight = columnX + columnWidth - headerHorizontalPadding;
|
1228
1226
|
var visibleRight = clamp(columnRight, minX, maxX);
|
1229
1227
|
var visibleWidth = visibleRight - visibleLeft;
|
1228
|
+
var textWidth = this.getCachedHeaderWidth(context, renderText);
|
1230
1229
|
var isBeyondLeft = x - textWidth * 0.5 < minX;
|
1231
1230
|
var isBeyondRight = x + textWidth * 0.5 > maxX;
|
1232
1231
|
if (isBeyondLeft) {
|