cx 24.4.2 → 24.4.4
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/charts.js +6 -6
- package/dist/manifest.js +813 -813
- package/dist/util.js +7 -0
- package/dist/widgets.js +6 -4
- package/package.json +1 -1
- package/src/charts/PieChart.js +6 -6
- package/src/util/Format.js +8 -0
- package/src/widgets/grid/Grid.js +5 -4
package/dist/util.js
CHANGED
|
@@ -244,6 +244,12 @@ var formatFactory = {
|
|
|
244
244
|
};
|
|
245
245
|
}
|
|
246
246
|
},
|
|
247
|
+
zeroPad: function zeroPad(part0, length) {
|
|
248
|
+
return function (value) {
|
|
249
|
+
var s = String(value);
|
|
250
|
+
return s.padStart(length, "0");
|
|
251
|
+
};
|
|
252
|
+
},
|
|
247
253
|
};
|
|
248
254
|
formatFactory.s = formatFactory.str = formatFactory.string;
|
|
249
255
|
formatFactory.f = formatFactory.fixed;
|
|
@@ -253,6 +259,7 @@ formatFactory.ps = formatFactory.percentageSign;
|
|
|
253
259
|
formatFactory.d = formatFactory.date;
|
|
254
260
|
formatFactory.t = formatFactory.time;
|
|
255
261
|
formatFactory.dt = formatFactory.datetime;
|
|
262
|
+
formatFactory.zeropad = formatFactory.zeroPad;
|
|
256
263
|
function buildFormatter(format) {
|
|
257
264
|
var formatter = defaultFormatter,
|
|
258
265
|
nullText = "";
|
package/dist/widgets.js
CHANGED
|
@@ -17296,12 +17296,13 @@ var GridComponent = /*#__PURE__*/ (function (_VDOM$Component) {
|
|
|
17296
17296
|
this.componentDidUpdate();
|
|
17297
17297
|
var instance = this.props.instance;
|
|
17298
17298
|
var widget = instance.widget;
|
|
17299
|
-
if (widget.scrollable)
|
|
17299
|
+
if (widget.scrollable) {
|
|
17300
|
+
//update fixed header/footer on resize
|
|
17300
17301
|
this.offResize = ResizeManager.trackElement(this.dom.scroller, function () {
|
|
17301
|
-
//ignore changes if the element is not visible on the page
|
|
17302
|
-
if (_this10.dom.scroller.offsetWidth == 0) return;
|
|
17303
|
-
//update fixed header/footer
|
|
17304
17302
|
requestAnimationFrame(function () {
|
|
17303
|
+
var _this10$dom$scroller;
|
|
17304
|
+
//ignore changes if the element is not visible on the page
|
|
17305
|
+
if (!((_this10$dom$scroller = _this10.dom.scroller) != null && _this10$dom$scroller.offsetWidth)) return;
|
|
17305
17306
|
_this10.componentDidUpdate();
|
|
17306
17307
|
instance.setState({
|
|
17307
17308
|
dimensionsVersion: instance.state.dimensionsVersion + 1,
|
|
@@ -17309,6 +17310,7 @@ var GridComponent = /*#__PURE__*/ (function (_VDOM$Component) {
|
|
|
17309
17310
|
});
|
|
17310
17311
|
});
|
|
17311
17312
|
});
|
|
17313
|
+
}
|
|
17312
17314
|
if (widget.pipeKeyDown) instance.invoke("pipeKeyDown", this.handleKeyDown.bind(this), instance);
|
|
17313
17315
|
this.unregisterDropZone = registerDropZone(this);
|
|
17314
17316
|
if (widget.infinite) this.ensureData(0, 0);
|
package/package.json
CHANGED
package/src/charts/PieChart.js
CHANGED
|
@@ -98,13 +98,13 @@ class PieCalculator {
|
|
|
98
98
|
}
|
|
99
99
|
while (stack.gap > 0) {
|
|
100
100
|
for (let index = 0; index < stack.r0s.length; index++)
|
|
101
|
-
gapAngleTotal += Math.asin(stack.gap / stack.r0s[index] / 2);
|
|
101
|
+
gapAngleTotal += 2 * Math.asin(stack.gap / stack.r0s[index] / 2);
|
|
102
102
|
|
|
103
103
|
for (let index = 0; index < stack.r0ps.length; index++)
|
|
104
|
-
gapAngleTotal += Math.asin(stack.gap / ((stack.r0ps[index] * this.R) / 100) / 2);
|
|
104
|
+
gapAngleTotal += 2 * Math.asin(stack.gap / ((stack.r0ps[index] * this.R) / 100) / 2);
|
|
105
105
|
|
|
106
106
|
if (gapAngleTotal < 0.25 * this.angleTotal) break;
|
|
107
|
-
stack.gap = stack.gap * 0.
|
|
107
|
+
stack.gap = stack.gap * 0.95;
|
|
108
108
|
gapAngleTotal = 0;
|
|
109
109
|
}
|
|
110
110
|
if (gapAngleTotal == 0) stack.gap = 0;
|
|
@@ -124,7 +124,7 @@ class PieCalculator {
|
|
|
124
124
|
let angle = value * s.angleFactor;
|
|
125
125
|
let startAngle = s.lastAngle;
|
|
126
126
|
let clockFactor = this.clockwise ? -1 : 1;
|
|
127
|
-
let gapAngle = r0 > 0 && s.gap > 0 ? Math.asin(s.gap / r0 / 2) : 0;
|
|
127
|
+
let gapAngle = r0 > 0 && s.gap > 0 ? 2 * Math.asin(s.gap / r0 / 2) : 0;
|
|
128
128
|
s.lastAngle += clockFactor * (angle + gapAngle);
|
|
129
129
|
let endAngle = startAngle + clockFactor * angle + gapAngle;
|
|
130
130
|
|
|
@@ -163,7 +163,7 @@ function createSvgArc(cx, cy, r0 = 0, r, startAngle, endAngle, br = 0, gap = 0)
|
|
|
163
163
|
if (innerSmallArcAngle > (endAngle - startAngle) / 2) {
|
|
164
164
|
innerSmallArcAngle = (endAngle - startAngle) / 2;
|
|
165
165
|
let sin = Math.sin(innerSmallArcAngle);
|
|
166
|
-
innerBr = (r0 * sin - gap2) / (1 - sin);
|
|
166
|
+
innerBr = Math.max((r0 * sin - gap2) / (1 - sin), 0);
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
let innerHipDiagonal = (r0 + innerBr) * Math.cos(innerSmallArcAngle);
|
|
@@ -214,7 +214,7 @@ function createSvgArc(cx, cy, r0 = 0, r, startAngle, endAngle, br = 0, gap = 0)
|
|
|
214
214
|
if (outerSmallArcAngle > (endAngle - startAngle) / 2) {
|
|
215
215
|
outerSmallArcAngle = (endAngle - startAngle) / 2;
|
|
216
216
|
let sin = Math.sin(outerSmallArcAngle);
|
|
217
|
-
outerBr = (r * sin - gap2) / (1 + sin);
|
|
217
|
+
outerBr = Math.max((r * sin - gap2) / (1 + sin), 0);
|
|
218
218
|
}
|
|
219
219
|
|
|
220
220
|
let outerHipDiagonal = Math.cos(outerSmallArcAngle) * (r - outerBr);
|
package/src/util/Format.js
CHANGED
|
@@ -124,6 +124,13 @@ let formatFactory = {
|
|
|
124
124
|
};
|
|
125
125
|
}
|
|
126
126
|
},
|
|
127
|
+
|
|
128
|
+
zeroPad: function (part0, length) {
|
|
129
|
+
return (value) => {
|
|
130
|
+
let s = String(value);
|
|
131
|
+
return s.padStart(length, "0");
|
|
132
|
+
};
|
|
133
|
+
},
|
|
127
134
|
};
|
|
128
135
|
|
|
129
136
|
formatFactory.s = formatFactory.str = formatFactory.string;
|
|
@@ -134,6 +141,7 @@ formatFactory.ps = formatFactory.percentageSign;
|
|
|
134
141
|
formatFactory.d = formatFactory.date;
|
|
135
142
|
formatFactory.t = formatFactory.time;
|
|
136
143
|
formatFactory.dt = formatFactory.datetime;
|
|
144
|
+
formatFactory.zeropad = formatFactory.zeroPad;
|
|
137
145
|
|
|
138
146
|
function buildFormatter(format) {
|
|
139
147
|
let formatter = defaultFormatter,
|
package/src/widgets/grid/Grid.js
CHANGED
|
@@ -1972,12 +1972,12 @@ class GridComponent extends VDOM.Component {
|
|
|
1972
1972
|
this.componentDidUpdate();
|
|
1973
1973
|
let { instance } = this.props;
|
|
1974
1974
|
let { widget } = instance;
|
|
1975
|
-
if (widget.scrollable)
|
|
1975
|
+
if (widget.scrollable) {
|
|
1976
|
+
//update fixed header/footer on resize
|
|
1976
1977
|
this.offResize = ResizeManager.trackElement(this.dom.scroller, () => {
|
|
1977
|
-
//ignore changes if the element is not visible on the page
|
|
1978
|
-
if (this.dom.scroller.offsetWidth == 0) return;
|
|
1979
|
-
//update fixed header/footer
|
|
1980
1978
|
requestAnimationFrame(() => {
|
|
1979
|
+
//ignore changes if the element is not visible on the page
|
|
1980
|
+
if (!this.dom.scroller?.offsetWidth) return;
|
|
1981
1981
|
this.componentDidUpdate();
|
|
1982
1982
|
instance.setState({
|
|
1983
1983
|
dimensionsVersion: instance.state.dimensionsVersion + 1,
|
|
@@ -1985,6 +1985,7 @@ class GridComponent extends VDOM.Component {
|
|
|
1985
1985
|
});
|
|
1986
1986
|
});
|
|
1987
1987
|
});
|
|
1988
|
+
}
|
|
1988
1989
|
if (widget.pipeKeyDown) instance.invoke("pipeKeyDown", this.handleKeyDown.bind(this), instance);
|
|
1989
1990
|
this.unregisterDropZone = registerDropZone(this);
|
|
1990
1991
|
if (widget.infinite) this.ensureData(0, 0);
|