@pie-lib/charting 5.15.7-next.0 → 5.17.0-beta.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/CHANGELOG.md +16 -0
- package/NEXT.CHANGELOG.json +1 -0
- package/lib/__tests__/axes.test.js +181 -0
- package/lib/__tests__/chart-setup.test.js +58 -0
- package/lib/__tests__/chart-type.test.js +42 -0
- package/lib/__tests__/chart.test.js +108 -0
- package/lib/__tests__/grid.test.js +48 -0
- package/lib/__tests__/mark-label.test.js +57 -0
- package/lib/__tests__/utils.js +56 -0
- package/lib/__tests__/utils.test.js +197 -0
- package/lib/axes.js +75 -30
- package/lib/bars/__tests__/bar.test.js +62 -0
- package/lib/bars/__tests__/histogram.test.js +64 -0
- package/lib/bars/__tests__/utils.js +56 -0
- package/lib/bars/bar.js +1 -1
- package/lib/bars/common/__tests__/bars.test.js +100 -0
- package/lib/bars/common/__tests__/utils.js +56 -0
- package/lib/bars/common/bars.js +36 -2
- package/lib/bars/histogram.js +1 -1
- package/lib/chart-setup.js +1 -1
- package/lib/chart-type.js +5 -5
- package/lib/chart-types.js +3 -3
- package/lib/chart.js +26 -11
- package/lib/common/__tests__/drag-handle.test.js +134 -0
- package/lib/common/__tests__/utils.js +56 -0
- package/lib/common/drag-handle.js +12 -6
- package/lib/common/drag-icon.js +8 -25
- package/lib/common/styles.js +1 -1
- package/lib/grid.js +1 -1
- package/lib/index.js +1 -1
- package/lib/line/__tests__/line-cross.test.js +64 -0
- package/lib/line/__tests__/line-dot.test.js +64 -0
- package/lib/line/__tests__/utils.js +56 -0
- package/lib/line/common/__tests__/drag-handle.test.js +134 -0
- package/lib/line/common/__tests__/line.test.js +128 -0
- package/lib/line/common/__tests__/utils.js +56 -0
- package/lib/line/common/drag-handle.js +10 -5
- package/lib/line/common/line.js +1 -1
- package/lib/line/line-cross.js +17 -6
- package/lib/line/line-dot.js +11 -3
- package/lib/mark-label.js +21 -12
- package/lib/plot/__tests__/dot.test.js +64 -0
- package/lib/plot/__tests__/line.test.js +64 -0
- package/lib/plot/__tests__/utils.js +56 -0
- package/lib/plot/common/__tests__/plot.test.js +103 -0
- package/lib/plot/common/__tests__/utils.js +56 -0
- package/lib/plot/common/plot.js +4 -2
- package/lib/plot/dot.js +2 -2
- package/lib/plot/line.js +2 -2
- package/lib/tool-menu.js +1 -5
- package/lib/utils.js +1 -1
- package/package.json +4 -4
- package/src/__tests__/__snapshots__/axes.test.jsx.snap +564 -0
- package/src/__tests__/__snapshots__/chart-type.test.jsx.snap +14 -0
- package/src/__tests__/__snapshots__/chart.test.jsx.snap +610 -0
- package/src/__tests__/__snapshots__/grid.test.jsx.snap +28 -0
- package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +67 -0
- package/src/__tests__/axes.test.jsx +146 -0
- package/src/__tests__/chart-setup.test.jsx +47 -0
- package/src/__tests__/chart-type.test.jsx +29 -0
- package/src/__tests__/chart.test.jsx +87 -0
- package/src/__tests__/grid.test.jsx +25 -0
- package/src/__tests__/mark-label.test.jsx +31 -0
- package/src/__tests__/utils.js +30 -0
- package/src/__tests__/utils.test.js +100 -0
- package/src/axes.jsx +59 -23
- package/src/bars/__tests__/__snapshots__/bar.test.jsx.snap +43 -0
- package/src/bars/__tests__/__snapshots__/histogram.test.jsx.snap +45 -0
- package/src/bars/__tests__/bar.test.jsx +37 -0
- package/src/bars/__tests__/histogram.test.jsx +38 -0
- package/src/bars/__tests__/utils.js +30 -0
- package/src/bars/common/__tests__/__snapshots__/bars.test.jsx.snap +110 -0
- package/src/bars/common/__tests__/bars.test.jsx +69 -0
- package/src/bars/common/__tests__/utils.js +30 -0
- package/src/bars/common/bars.jsx +37 -1
- package/src/chart-type.js +7 -3
- package/src/chart-types.js +2 -2
- package/src/chart.jsx +15 -5
- package/src/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +45 -0
- package/src/common/__tests__/drag-handle.test.jsx +88 -0
- package/src/common/__tests__/utils.js +30 -0
- package/src/common/drag-handle.jsx +18 -10
- package/src/common/drag-icon.jsx +6 -21
- package/src/line/__tests__/__snapshots__/line-cross.test.jsx.snap +45 -0
- package/src/line/__tests__/__snapshots__/line-dot.test.jsx.snap +45 -0
- package/src/line/__tests__/line-cross.test.jsx +38 -0
- package/src/line/__tests__/line-dot.test.jsx +38 -0
- package/src/line/__tests__/utils.js +30 -0
- package/src/line/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +44 -0
- package/src/line/common/__tests__/__snapshots__/line.test.jsx.snap +141 -0
- package/src/line/common/__tests__/drag-handle.test.jsx +88 -0
- package/src/line/common/__tests__/line.test.jsx +82 -0
- package/src/line/common/__tests__/utils.js +30 -0
- package/src/line/common/drag-handle.jsx +9 -4
- package/src/line/line-cross.js +4 -1
- package/src/line/line-dot.js +17 -7
- package/src/mark-label.jsx +19 -7
- package/src/plot/__tests__/__snapshots__/dot.test.jsx.snap +45 -0
- package/src/plot/__tests__/__snapshots__/line.test.jsx.snap +45 -0
- package/src/plot/__tests__/dot.test.jsx +38 -0
- package/src/plot/__tests__/line.test.jsx +38 -0
- package/src/plot/__tests__/utils.js +30 -0
- package/src/plot/common/__tests__/__snapshots__/plot.test.jsx.snap +96 -0
- package/src/plot/common/__tests__/plot.test.jsx +70 -0
- package/src/plot/common/__tests__/utils.js +30 -0
- package/src/plot/common/plot.jsx +6 -1
- package/src/plot/dot.js +1 -1
- package/src/plot/line.js +1 -1
- package/src/tool-menu.jsx +0 -4
- package/lib/axes.js.map +0 -1
- package/lib/bars/bar.js.map +0 -1
- package/lib/bars/common/bars.js.map +0 -1
- package/lib/bars/histogram.js.map +0 -1
- package/lib/chart-setup.js.map +0 -1
- package/lib/chart-type.js.map +0 -1
- package/lib/chart-types.js.map +0 -1
- package/lib/chart.js.map +0 -1
- package/lib/common/drag-handle.js.map +0 -1
- package/lib/common/drag-icon.js.map +0 -1
- package/lib/common/styles.js.map +0 -1
- package/lib/grid.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/line/common/drag-handle.js.map +0 -1
- package/lib/line/common/line.js.map +0 -1
- package/lib/line/line-cross.js.map +0 -1
- package/lib/line/line-dot.js.map +0 -1
- package/lib/mark-label.js.map +0 -1
- package/lib/plot/common/plot.js.map +0 -1
- package/lib/plot/dot.js.map +0 -1
- package/lib/plot/line.js.map +0 -1
- package/lib/tool-menu.js.map +0 -1
- package/lib/utils.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [5.17.0-beta.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.15.6...@pie-lib/charting@5.17.0-beta.0) (2025-07-15)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-lib/charting
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [5.16.0-beta.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.15.6...@pie-lib/charting@5.16.0-beta.0) (2025-07-15)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @pie-lib/charting
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
6
22
|
## [5.15.6](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.15.5...@pie-lib/charting@5.15.6) (2023-10-16)
|
|
7
23
|
|
|
8
24
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
8
|
+
|
|
9
|
+
var _enzyme = require("enzyme");
|
|
10
|
+
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
|
|
13
|
+
var _axes = _interopRequireWildcard(require("../axes"));
|
|
14
|
+
|
|
15
|
+
var _utils = require("./utils");
|
|
16
|
+
|
|
17
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
+
|
|
19
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
|
+
|
|
21
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
22
|
+
|
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24
|
+
|
|
25
|
+
describe('ChartAxes', function () {
|
|
26
|
+
var wrapper = function wrapper(extras) {
|
|
27
|
+
var defaults = {
|
|
28
|
+
classes: {},
|
|
29
|
+
className: 'className',
|
|
30
|
+
graphProps: (0, _utils.graphProps)(),
|
|
31
|
+
xBand: {
|
|
32
|
+
bandwidth: function bandwidth() {}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
37
|
+
|
|
38
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_axes["default"], props));
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
describe('snapshot', function () {
|
|
42
|
+
it('renders', function () {
|
|
43
|
+
return expect(wrapper()).toMatchSnapshot();
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe('RawChartAxes', function () {
|
|
48
|
+
var wrapper = function wrapper(extras) {
|
|
49
|
+
var defaults = {
|
|
50
|
+
classes: {},
|
|
51
|
+
className: 'className',
|
|
52
|
+
graphProps: (0, _utils.graphProps)(),
|
|
53
|
+
xBand: {
|
|
54
|
+
bandwidth: function bandwidth() {},
|
|
55
|
+
rangeRound: function rangeRound() {}
|
|
56
|
+
},
|
|
57
|
+
categories: []
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
61
|
+
|
|
62
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_axes.RawChartAxes, props));
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
describe('snapshot', function () {
|
|
66
|
+
it('renders', function () {
|
|
67
|
+
return expect(wrapper()).toMatchSnapshot();
|
|
68
|
+
});
|
|
69
|
+
it('renders if graphProps is not defined', function () {
|
|
70
|
+
return expect(wrapper({
|
|
71
|
+
graphProps: undefined
|
|
72
|
+
})).toMatchSnapshot();
|
|
73
|
+
});
|
|
74
|
+
it('renders if categories are not defined', function () {
|
|
75
|
+
return expect(wrapper({
|
|
76
|
+
categories: undefined
|
|
77
|
+
})).toMatchSnapshot();
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
describe('splitText method', function () {
|
|
82
|
+
var wrapper = function wrapper(extras) {
|
|
83
|
+
var xBand = jest.fn();
|
|
84
|
+
xBand.bandwidth = jest.fn();
|
|
85
|
+
var defaults = {
|
|
86
|
+
graphProps: (0, _utils.graphProps)(),
|
|
87
|
+
xBand: xBand
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
91
|
+
|
|
92
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_axes.TickComponent, props));
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
it('splits a string into chunks of up to the specified length', function () {
|
|
96
|
+
var w = wrapper();
|
|
97
|
+
var input = 'This is a test string for splitText function';
|
|
98
|
+
var output = w.instance().splitText(input, 20);
|
|
99
|
+
expect(output).toEqual(['This is a test', 'string for splitText', 'function']);
|
|
100
|
+
});
|
|
101
|
+
it('returns an array with a single string when the input is less than the specified length', function () {
|
|
102
|
+
var w = wrapper();
|
|
103
|
+
var input = 'Short text';
|
|
104
|
+
var output = w.instance().splitText(input, 20);
|
|
105
|
+
expect(output).toEqual(['Short text']);
|
|
106
|
+
});
|
|
107
|
+
it('splits a string into chunks of exact length when no spaces are present', function () {
|
|
108
|
+
var w = wrapper();
|
|
109
|
+
var input = 'ThisisateststringforsplitTextfunction';
|
|
110
|
+
var output = w.instance().splitText(input, 10);
|
|
111
|
+
expect(output).toEqual(['Thisisates', 'tstringfor', 'splitTextf', 'unction']);
|
|
112
|
+
});
|
|
113
|
+
it('returns an empty array when the input is an empty string', function () {
|
|
114
|
+
var w = wrapper();
|
|
115
|
+
var input = '';
|
|
116
|
+
var output = w.instance().splitText(input, 20);
|
|
117
|
+
expect(output).toEqual([]);
|
|
118
|
+
});
|
|
119
|
+
it('returns an empty array when the input is null', function () {
|
|
120
|
+
var w = wrapper();
|
|
121
|
+
var input = null;
|
|
122
|
+
var output = w.instance().splitText(input, 20);
|
|
123
|
+
expect(output).toEqual([]);
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
describe('TickComponent', function () {
|
|
127
|
+
var wrapper = function wrapper(extras) {
|
|
128
|
+
var xBand = jest.fn();
|
|
129
|
+
xBand.bandwidth = jest.fn();
|
|
130
|
+
var defaults = {
|
|
131
|
+
graphProps: (0, _utils.graphProps)(),
|
|
132
|
+
xBand: xBand
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
136
|
+
|
|
137
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_axes.TickComponent, props));
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
describe('snapshot', function () {
|
|
141
|
+
it('renders', function () {
|
|
142
|
+
return expect(wrapper()).toMatchSnapshot();
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
describe('snapshot1', function () {
|
|
146
|
+
it('renders', function () {
|
|
147
|
+
return expect(wrapper({
|
|
148
|
+
formattedValue: '0-test',
|
|
149
|
+
categories: [{
|
|
150
|
+
value: 1,
|
|
151
|
+
label: 'test'
|
|
152
|
+
}]
|
|
153
|
+
})).toMatchSnapshot();
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
describe('logic', function () {
|
|
157
|
+
var onChange = jest.fn();
|
|
158
|
+
var onChangeCategory = jest.fn();
|
|
159
|
+
var w = wrapper({
|
|
160
|
+
formattedValue: '0-test',
|
|
161
|
+
categories: [{
|
|
162
|
+
value: 1,
|
|
163
|
+
label: 'test'
|
|
164
|
+
}],
|
|
165
|
+
onChange: onChange,
|
|
166
|
+
onChangeCategory: onChangeCategory
|
|
167
|
+
});
|
|
168
|
+
it('calls onChangeCategory', function () {
|
|
169
|
+
w.instance().changeCategory(0, 'new label');
|
|
170
|
+
expect(onChangeCategory).toHaveBeenCalledWith(0, {
|
|
171
|
+
value: 1,
|
|
172
|
+
label: 'new label'
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
it('calls onChange', function () {
|
|
176
|
+
w.instance().deleteCategory(0);
|
|
177
|
+
expect(onChange).toHaveBeenCalledWith([]);
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vYXhlcy50ZXN0LmpzeCJdLCJuYW1lcyI6WyJkZXNjcmliZSIsIndyYXBwZXIiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJncmFwaFByb3BzIiwieEJhbmQiLCJiYW5kd2lkdGgiLCJwcm9wcyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwicmFuZ2VSb3VuZCIsImNhdGVnb3JpZXMiLCJ1bmRlZmluZWQiLCJqZXN0IiwiZm4iLCJ3IiwiaW5wdXQiLCJvdXRwdXQiLCJpbnN0YW5jZSIsInNwbGl0VGV4dCIsInRvRXF1YWwiLCJmb3JtYXR0ZWRWYWx1ZSIsInZhbHVlIiwibGFiZWwiLCJvbkNoYW5nZSIsIm9uQ2hhbmdlQ2F0ZWdvcnkiLCJjaGFuZ2VDYXRlZ29yeSIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwiZGVsZXRlQ2F0ZWdvcnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7QUFFQUEsUUFBUSxDQUFDLFdBQUQsRUFBYyxZQUFNO0FBQzFCLE1BQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLE1BQUQsRUFBWTtBQUMxQixRQUFNQyxRQUFRLEdBQUc7QUFDZkMsTUFBQUEsT0FBTyxFQUFFLEVBRE07QUFFZkMsTUFBQUEsU0FBUyxFQUFFLFdBRkk7QUFHZkMsTUFBQUEsVUFBVSxFQUFFLHdCQUhHO0FBSWZDLE1BQUFBLEtBQUssRUFBRTtBQUNMQyxRQUFBQSxTQUFTLEVBQUUscUJBQU0sQ0FBRTtBQURkO0FBSlEsS0FBakI7O0FBUUEsUUFBTUMsS0FBSyxtQ0FBUU4sUUFBUixHQUFxQkQsTUFBckIsQ0FBWDs7QUFDQSxXQUFPLG1DQUFRLGdDQUFDLGdCQUFELEVBQWVPLEtBQWYsQ0FBUixDQUFQO0FBQ0QsR0FYRDs7QUFhQVQsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCVSxJQUFBQSxFQUFF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Q3RCLFFBQU0yQixRQUFRLEdBQUdYLElBQUksQ0FBQ0MsRUFBTCxFQUFqQjtBQUNBLFFBQU1XLGdCQUFnQixHQUFHWixJQUFJLENBQUNDLEVBQUwsRUFBekI7QUFDQSxRQUFNQyxDQUFDLEdBQUdqQixPQUFPLENBQUM7QUFDaEJ1QixNQUFBQSxjQUFjLEVBQUUsUUFEQTtBQUVoQlYsTUFBQUEsVUFBVSxFQUFFLENBQUM7QUFBRVcsUUFBQUEsS0FBSyxFQUFFLENBQVQ7QUFBWUMsUUFBQUEsS0FBSyxFQUFFO0FBQW5CLE9BQUQsQ0FGSTtBQUdoQkMsTUFBQUEsUUFBUSxFQUFSQSxRQUhnQjtBQUloQkMsTUFBQUEsZ0JBQWdCLEVBQWhCQTtBQUpnQixLQUFELENBQWpCO0FBT0FsQixJQUFBQSxFQUFFLENBQUMsd0JBQUQsRUFBMkIsWUFBTTtBQUNqQ1EsTUFBQUEsQ0FBQyxDQUFDRyxRQUFGLEdBQWFRLGNBQWIsQ0FBNEIsQ0FBNUIsRUFBK0IsV0FBL0I7QUFDQWxCLE1BQUFBLE1BQU0sQ0FBQ2lCLGdCQUFELENBQU4sQ0FBeUJFLG9CQUF6QixDQUE4QyxDQUE5QyxFQUFpRDtBQUFFTCxRQUFBQSxLQUFLLEVBQUUsQ0FBVDtBQUFZQyxRQUFBQSxLQUFLLEVBQUU7QUFBbkIsT0FBakQ7QUFDRCxLQUhDLENBQUY7QUFLQWhCLElBQUFBLEVBQUUsQ0FBQyxnQkFBRCxFQUFtQixZQUFNO0FBQ3pCUSxNQUFBQSxDQUFDLENBQUNHLFFBQUYsR0FBYVUsY0FBYixDQUE0QixDQUE1QjtBQUNBcEIsTUFBQUEsTUFBTSxDQUFDZ0IsUUFBRCxDQUFOLENBQWlCRyxvQkFBakIsQ0FBc0MsRUFBdEM7QUFDRCxLQUhDLENBQUY7QUFJRCxHQW5CTyxDQUFSO0FBb0JELENBL0NPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ2hhcnRBeGVzLCB7IFRpY2tDb21wb25lbnQsIFJhd0NoYXJ0QXhlcyB9IGZyb20gJy4uL2F4ZXMnO1xuaW1wb3J0IHsgZ3JhcGhQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5kZXNjcmliZSgnQ2hhcnRBeGVzJywgKCkgPT4ge1xuICBjb25zdCB3cmFwcGVyID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgZ3JhcGhQcm9wczogZ3JhcGhQcm9wcygpLFxuICAgICAgeEJhbmQ6IHtcbiAgICAgICAgYmFuZHdpZHRoOiAoKSA9PiB7fSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxDaGFydEF4ZXMgey4uLnByb3BzfSAvPik7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4gZXhwZWN0KHdyYXBwZXIoKSkudG9NYXRjaFNuYXBzaG90KCkpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnUmF3Q2hhcnRBeGVzJywgKCkgPT4ge1xuICBjb25zdCB3cmFwcGVyID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgZ3JhcGhQcm9wczogZ3JhcGhQcm9wcygpLFxuICAgICAgeEJhbmQ6IHtcbiAgICAgICAgYmFuZHdpZHRoOiAoKSA9PiB7fSxcbiAgICAgICAgcmFuZ2VSb3VuZDogKCkgPT4ge30sXG4gICAgICB9LFxuICAgICAgY2F0ZWdvcmllczogW10sXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxSYXdDaGFydEF4ZXMgey4uLnByb3BzfSAvPik7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4gZXhwZWN0KHdyYXBwZXIoKSkudG9NYXRjaFNuYXBzaG90KCkpO1xuXG4gICAgaXQoJ3JlbmRlcnMgaWYgZ3JhcGhQcm9wcyBpcyBub3QgZGVmaW5lZCcsICgpID0+IGV4cGVjdCh3cmFwcGVyKHsgZ3JhcGhQcm9wczogdW5kZWZpbmVkIH0pKS50b01hdGNoU25hcHNob3QoKSk7XG5cbiAgICBpdCgncmVuZGVycyBpZiBjYXRlZ29yaWVzIGFyZSBub3QgZGVmaW5lZCcsICgpID0+IGV4cGVjdCh3cmFwcGVyKHsgY2F0ZWdvcmllczogdW5kZWZpbmVkIH0pKS50b01hdGNoU25hcHNob3QoKSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdzcGxpdFRleHQgbWV0aG9kJywgKCkgPT4ge1xuICBjb25zdCB3cmFwcGVyID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IHhCYW5kID0gamVzdC5mbigpO1xuICAgIHhCYW5kLmJhbmR3aWR0aCA9IGplc3QuZm4oKTtcblxuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgZ3JhcGhQcm9wczogZ3JhcGhQcm9wcygpLFxuICAgICAgeEJhbmQsXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxUaWNrQ29tcG9uZW50IHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGl0KCdzcGxpdHMgYSBzdHJpbmcgaW50byBjaHVua3Mgb2YgdXAgdG8gdGhlIHNwZWNpZmllZCBsZW5ndGgnLCAoKSA9PiB7XG4gICAgY29uc3QgdyA9IHdyYXBwZXIoKTtcbiAgICBjb25zdCBpbnB1dCA9ICdUaGlzIGlzIGEgdGVzdCBzdHJpbmcgZm9yIHNwbGl0VGV4dCBmdW5jdGlvbic7XG4gICAgY29uc3Qgb3V0cHV0ID0gdy5pbnN0YW5jZSgpLnNwbGl0VGV4dChpbnB1dCwgMjApO1xuICAgIGV4cGVjdChvdXRwdXQpLnRvRXF1YWwoWydUaGlzIGlzIGEgdGVzdCcsICdzdHJpbmcgZm9yIHNwbGl0VGV4dCcsICdmdW5jdGlvbiddKTtcbiAgfSk7XG5cbiAgaXQoJ3JldHVybnMgYW4gYXJyYXkgd2l0aCBhIHNpbmdsZSBzdHJpbmcgd2hlbiB0aGUgaW5wdXQgaXMgbGVzcyB0aGFuIHRoZSBzcGVjaWZpZWQgbGVuZ3RoJywgKCkgPT4ge1xuICAgIGNvbnN0IHcgPSB3cmFwcGVyKCk7XG4gICAgY29uc3QgaW5wdXQgPSAnU2hvcnQgdGV4dCc7XG4gICAgY29uc3Qgb3V0cHV0ID0gdy5pbnN0YW5jZSgpLnNwbGl0VGV4dChpbnB1dCwgMjApO1xuICAgIGV4cGVjdChvdXRwdXQpLnRvRXF1YWwoWydTaG9ydCB0ZXh0J10pO1xuICB9KTtcblxuICBpdCgnc3BsaXRzIGEgc3RyaW5nIGludG8gY2h1bmtzIG9mIGV4YWN0IGxlbmd0aCB3aGVuIG5vIHNwYWNlcyBhcmUgcHJlc2VudCcsICgpID0+IHtcbiAgICBjb25zdCB3ID0gd3JhcHBlcigpO1xuICAgIGNvbnN0IGlucHV0ID0gJ1RoaXNpc2F0ZXN0c3RyaW5nZm9yc3BsaXRUZXh0ZnVuY3Rpb24nO1xuICAgIGNvbnN0IG91dHB1dCA9IHcuaW5zdGFuY2UoKS5zcGxpdFRleHQoaW5wdXQsIDEwKTtcbiAgICBleHBlY3Qob3V0cHV0KS50b0VxdWFsKFsnVGhpc2lzYXRlcycsICd0c3RyaW5nZm9yJywgJ3NwbGl0VGV4dGYnLCAndW5jdGlvbiddKTtcbiAgfSk7XG5cbiAgaXQoJ3JldHVybnMgYW4gZW1wdHkgYXJyYXkgd2hlbiB0aGUgaW5wdXQgaXMgYW4gZW1wdHkgc3RyaW5nJywgKCkgPT4ge1xuICAgIGNvbnN0IHcgPSB3cmFwcGVyKCk7XG4gICAgY29uc3QgaW5wdXQgPSAnJztcbiAgICBjb25zdCBvdXRwdXQgPSB3Lmluc3RhbmNlKCkuc3BsaXRUZXh0KGlucHV0LCAyMCk7XG4gICAgZXhwZWN0KG91dHB1dCkudG9FcXVhbChbXSk7XG4gIH0pO1xuXG4gIGl0KCdyZXR1cm5zIGFuIGVtcHR5IGFycmF5IHdoZW4gdGhlIGlucHV0IGlzIG51bGwnLCAoKSA9PiB7XG4gICAgY29uc3QgdyA9IHdyYXBwZXIoKTtcbiAgICBjb25zdCBpbnB1dCA9IG51bGw7XG4gICAgY29uc3Qgb3V0cHV0ID0gdy5pbnN0YW5jZSgpLnNwbGl0VGV4dChpbnB1dCwgMjApO1xuICAgIGV4cGVjdChvdXRwdXQpLnRvRXF1YWwoW10pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnVGlja0NvbXBvbmVudCcsICgpID0+IHtcbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCB4QmFuZCA9IGplc3QuZm4oKTtcbiAgICB4QmFuZC5iYW5kd2lkdGggPSBqZXN0LmZuKCk7XG5cbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGdyYXBoUHJvcHM6IGdyYXBoUHJvcHMoKSxcbiAgICAgIHhCYW5kLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gc2hhbGxvdyg8VGlja0NvbXBvbmVudCB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcblxuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiBleHBlY3Qod3JhcHBlcigpKS50b01hdGNoU25hcHNob3QoKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzbmFwc2hvdDEnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PlxuICAgICAgZXhwZWN0KFxuICAgICAgICB3cmFwcGVyKHtcbiAgICAgICAgICBmb3JtYXR0ZWRWYWx1ZTogJzAtdGVzdCcsXG4gICAgICAgICAgY2F0ZWdvcmllczogW3sgdmFsdWU6IDEsIGxhYmVsOiAndGVzdCcgfV0sXG4gICAgICAgIH0pLFxuICAgICAgKS50b01hdGNoU25hcHNob3QoKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgICBjb25zdCBvbkNoYW5nZUNhdGVnb3J5ID0gamVzdC5mbigpO1xuICAgIGNvbnN0IHcgPSB3cmFwcGVyKHtcbiAgICAgIGZvcm1hdHRlZFZhbHVlOiAnMC10ZXN0JyxcbiAgICAgIGNhdGVnb3JpZXM6IFt7IHZhbHVlOiAxLCBsYWJlbDogJ3Rlc3QnIH1dLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkNoYW5nZUNhdGVnb3J5LFxuICAgIH0pO1xuXG4gICAgaXQoJ2NhbGxzIG9uQ2hhbmdlQ2F0ZWdvcnknLCAoKSA9PiB7XG4gICAgICB3Lmluc3RhbmNlKCkuY2hhbmdlQ2F0ZWdvcnkoMCwgJ25ldyBsYWJlbCcpO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlQ2F0ZWdvcnkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKDAsIHsgdmFsdWU6IDEsIGxhYmVsOiAnbmV3IGxhYmVsJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBvbkNoYW5nZScsICgpID0+IHtcbiAgICAgIHcuaW5zdGFuY2UoKS5kZWxldGVDYXRlZ29yeSgwKTtcbiAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoW10pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _chartSetup = require("../chart-setup");
|
|
4
|
+
|
|
5
|
+
describe('resetValues', function () {
|
|
6
|
+
var data;
|
|
7
|
+
var range;
|
|
8
|
+
var model;
|
|
9
|
+
var onChange;
|
|
10
|
+
beforeEach(function () {
|
|
11
|
+
range = {
|
|
12
|
+
min: 0,
|
|
13
|
+
max: 10,
|
|
14
|
+
step: 1
|
|
15
|
+
};
|
|
16
|
+
data = [{
|
|
17
|
+
value: 2
|
|
18
|
+
}, {
|
|
19
|
+
value: 11
|
|
20
|
+
}, {
|
|
21
|
+
value: 5.5
|
|
22
|
+
}, {
|
|
23
|
+
value: 2.0000000001
|
|
24
|
+
}, // A float close to an integer
|
|
25
|
+
{
|
|
26
|
+
value: 2.9999999999
|
|
27
|
+
} // Another float close to an integer
|
|
28
|
+
];
|
|
29
|
+
model = {
|
|
30
|
+
someField: 'someValue',
|
|
31
|
+
data: data
|
|
32
|
+
};
|
|
33
|
+
onChange = jest.fn();
|
|
34
|
+
});
|
|
35
|
+
it('should reset values greater than range.max to zero', function () {
|
|
36
|
+
(0, _chartSetup.resetValues)(data, true, range, onChange, model);
|
|
37
|
+
expect(data[1].value).toBe(0);
|
|
38
|
+
});
|
|
39
|
+
it('should reset values that are not multiples of range.step to zero', function () {
|
|
40
|
+
(0, _chartSetup.resetValues)(data, true, range, onChange, model);
|
|
41
|
+
expect(data[2].value).toBe(0);
|
|
42
|
+
});
|
|
43
|
+
it('should not reset values that are within range and multiples of range.step', function () {
|
|
44
|
+
(0, _chartSetup.resetValues)(data, true, range, onChange, model);
|
|
45
|
+
expect(data[0].value).toBe(2);
|
|
46
|
+
});
|
|
47
|
+
it('should not reset floating point values that are close to multiples of range.step', function () {
|
|
48
|
+
(0, _chartSetup.resetValues)(data, true, range, onChange, model);
|
|
49
|
+
expect(data[3].value).toBe(2.0000000001); // remains unchanged
|
|
50
|
+
|
|
51
|
+
expect(data[4].value).toBe(2.9999999999); // remains unchanged
|
|
52
|
+
});
|
|
53
|
+
it('should not call onChange when updateModel is false', function () {
|
|
54
|
+
(0, _chartSetup.resetValues)(data, false, range, onChange, model);
|
|
55
|
+
expect(onChange).not.toHaveBeenCalled();
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vY2hhcnQtc2V0dXAudGVzdC5qc3giXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJkYXRhIiwicmFuZ2UiLCJtb2RlbCIsIm9uQ2hhbmdlIiwiYmVmb3JlRWFjaCIsIm1pbiIsIm1heCIsInN0ZXAiLCJ2YWx1ZSIsInNvbWVGaWVsZCIsImplc3QiLCJmbiIsIml0IiwiZXhwZWN0IiwidG9CZSIsIm5vdCIsInRvSGF2ZUJlZW5DYWxsZWQiXSwibWFwcGluZ3MiOiI7O0FBQUE7O0FBRUFBLFFBQVEsQ0FBQyxhQUFELEVBQWdCLFlBQU07QUFDNUIsTUFBSUMsSUFBSjtBQUNBLE1BQUlDLEtBQUo7QUFDQSxNQUFJQyxLQUFKO0FBQ0EsTUFBSUMsUUFBSjtBQUVBQyxFQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmSCxJQUFBQSxLQUFLLEdBQUc7QUFBRUksTUFBQUEsR0FBRyxFQUFFLENBQVA7QUFBVUMsTUFBQUEsR0FBRyxFQUFFLEVBQWY7QUFBbUJDLE1BQUFBLElBQUksRUFBRTtBQUF6QixLQUFSO0FBQ0FQLElBQUFBLElBQUksR0FBRyxDQUNMO0FBQUVRLE1BQUFBLEtBQUssRUFBRTtBQUFULEtBREssRUFFTDtBQUFFQSxNQUFBQSxLQUFLLEVBQUU7QUFBVCxLQUZLLEVBR0w7QUFBRUEsTUFBQUEsS0FBSyxFQUFFO0FBQVQsS0FISyxFQUlMO0FBQUVBLE1BQUFBLEtBQUssRUFBRTtBQUFULEtBSkssRUFJb0I7QUFDekI7QUFBRUEsTUFBQUEsS0FBSyxFQUFFO0FBQVQsS0FMSyxDQUtvQjtBQUxwQixLQUFQO0FBT0FOLElBQUFBLEtBQUssR0FBRztBQUFFTyxNQUFBQSxTQUFTLEVBQUUsV0FBYjtBQUEwQlQsTUFBQUEsSUFBSSxFQUFKQTtBQUExQixLQUFSO0FBQ0FHLElBQUFBLFFBQVEsR0FBR08sSUFBSSxDQUFDQyxFQUFMLEVBQVg7QUFDRCxHQVhTLENBQVY7QUFhQUMsRUFBQUEsRUFBRSxDQUFDLG9EQUFELEVBQXVELFlBQU07QUFDN0QsaUNBQVlaLElBQVosRUFBa0IsSUFBbEIsRUFBd0JDLEtBQXhCLEVBQStCRSxRQUEvQixFQUF5Q0QsS0FBekM7QUFDQVcsSUFBQUEsTUFBTSxDQUFDYixJQUFJLENBQUMsQ0FBRCxDQUFKLENBQVFRLEtBQVQsQ0FBTixDQUFzQk0sSUFBdEIsQ0FBMkIsQ0FBM0I7QUFDRCxHQUhDLENBQUY7QUFLQUYsRUFBQUEsRUFBRSxDQUFDLGtFQUFELEVBQXFFLFlBQU07QUFDM0UsaUNBQVlaLElBQVosRUFBa0IsSUFBbEIsRUFBd0JDLEtBQXhCLEVBQStCRSxRQUEvQixFQUF5Q0QsS0FBekM7QUFDQVcsSUFBQUEsTUFBTSxDQUFDYixJQUFJLENBQUMsQ0FBRCxDQUFKLENBQVFRLEtBQVQsQ0FBTixDQUFzQk0sSUFBdEIsQ0FBMkIsQ0FBM0I7QUFDRCxHQUhDLENBQUY7QUFLQUYsRUFBQUEsRUFBRSxDQUFDLDJFQUFELEVBQThFLFlBQU07QUFDcEYsaUNBQVlaLElBQVosRUFBa0IsSUFBbEIsRUFBd0JDLEtBQXhCLEVBQStCRSxRQUEvQixFQUF5Q0QsS0FBekM7QUFDQVcsSUFBQUEsTUFBTSxDQUFDYixJQUFJLENBQUMsQ0FBRCxDQUFKLENBQVFRLEtBQVQsQ0FBTixDQUFzQk0sSUFBdEIsQ0FBMkIsQ0FBM0I7QUFDRCxHQUhDLENBQUY7QUFLQUYsRUFBQUEsRUFBRSxDQUFDLGtGQUFELEVBQXFGLFlBQU07QUFDM0YsaUNBQVlaLElBQVosRUFBa0IsSUFBbEIsRUFBd0JDLEtBQXhCLEVBQStCRSxRQUEvQixFQUF5Q0QsS0FBekM7QUFDQVcsSUFBQUEsTUFBTSxDQUFDYixJQUFJLENBQUMsQ0FBRCxDQUFKLENBQVFRLEtBQVQsQ0FBTixDQUFzQk0sSUFBdEIsQ0FBMkIsWUFBM0IsRUFGMkYsQ0FFakQ7O0FBQzFDRCxJQUFBQSxNQUFNLENBQUNiLElBQUksQ0FBQyxDQUFELENBQUosQ0FBUVEsS0FBVCxDQUFOLENBQXNCTSxJQUF0QixDQUEyQixZQUEzQixFQUgyRixDQUdqRDtBQUMzQyxHQUpDLENBQUY7QUFNQUYsRUFBQUEsRUFBRSxDQUFDLG9EQUFELEVBQXVELFlBQU07QUFDN0QsaUNBQVlaLElBQVosRUFBa0IsS0FBbEIsRUFBeUJDLEtBQXpCLEVBQWdDRSxRQUFoQyxFQUEwQ0QsS0FBMUM7QUFDQVcsSUFBQUEsTUFBTSxDQUFDVixRQUFELENBQU4sQ0FBaUJZLEdBQWpCLENBQXFCQyxnQkFBckI7QUFDRCxHQUhDLENBQUY7QUFJRCxDQTVDTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVzZXRWYWx1ZXMgfSBmcm9tICcuLi9jaGFydC1zZXR1cCc7XG5cbmRlc2NyaWJlKCdyZXNldFZhbHVlcycsICgpID0+IHtcbiAgbGV0IGRhdGE7XG4gIGxldCByYW5nZTtcbiAgbGV0IG1vZGVsO1xuICBsZXQgb25DaGFuZ2U7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgcmFuZ2UgPSB7IG1pbjogMCwgbWF4OiAxMCwgc3RlcDogMSB9O1xuICAgIGRhdGEgPSBbXG4gICAgICB7IHZhbHVlOiAyIH0sXG4gICAgICB7IHZhbHVlOiAxMSB9LFxuICAgICAgeyB2YWx1ZTogNS41IH0sXG4gICAgICB7IHZhbHVlOiAyLjAwMDAwMDAwMDEgfSwgLy8gQSBmbG9hdCBjbG9zZSB0byBhbiBpbnRlZ2VyXG4gICAgICB7IHZhbHVlOiAyLjk5OTk5OTk5OTkgfSwgLy8gQW5vdGhlciBmbG9hdCBjbG9zZSB0byBhbiBpbnRlZ2VyXG4gICAgXTtcbiAgICBtb2RlbCA9IHsgc29tZUZpZWxkOiAnc29tZVZhbHVlJywgZGF0YSB9O1xuICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJlc2V0IHZhbHVlcyBncmVhdGVyIHRoYW4gcmFuZ2UubWF4IHRvIHplcm8nLCAoKSA9PiB7XG4gICAgcmVzZXRWYWx1ZXMoZGF0YSwgdHJ1ZSwgcmFuZ2UsIG9uQ2hhbmdlLCBtb2RlbCk7XG4gICAgZXhwZWN0KGRhdGFbMV0udmFsdWUpLnRvQmUoMCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmVzZXQgdmFsdWVzIHRoYXQgYXJlIG5vdCBtdWx0aXBsZXMgb2YgcmFuZ2Uuc3RlcCB0byB6ZXJvJywgKCkgPT4ge1xuICAgIHJlc2V0VmFsdWVzKGRhdGEsIHRydWUsIHJhbmdlLCBvbkNoYW5nZSwgbW9kZWwpO1xuICAgIGV4cGVjdChkYXRhWzJdLnZhbHVlKS50b0JlKDApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIG5vdCByZXNldCB2YWx1ZXMgdGhhdCBhcmUgd2l0aGluIHJhbmdlIGFuZCBtdWx0aXBsZXMgb2YgcmFuZ2Uuc3RlcCcsICgpID0+IHtcbiAgICByZXNldFZhbHVlcyhkYXRhLCB0cnVlLCByYW5nZSwgb25DaGFuZ2UsIG1vZGVsKTtcbiAgICBleHBlY3QoZGF0YVswXS52YWx1ZSkudG9CZSgyKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgcmVzZXQgZmxvYXRpbmcgcG9pbnQgdmFsdWVzIHRoYXQgYXJlIGNsb3NlIHRvIG11bHRpcGxlcyBvZiByYW5nZS5zdGVwJywgKCkgPT4ge1xuICAgIHJlc2V0VmFsdWVzKGRhdGEsIHRydWUsIHJhbmdlLCBvbkNoYW5nZSwgbW9kZWwpO1xuICAgIGV4cGVjdChkYXRhWzNdLnZhbHVlKS50b0JlKDIuMDAwMDAwMDAwMSk7IC8vIHJlbWFpbnMgdW5jaGFuZ2VkXG4gICAgZXhwZWN0KGRhdGFbNF0udmFsdWUpLnRvQmUoMi45OTk5OTk5OTk5KTsgLy8gcmVtYWlucyB1bmNoYW5nZWRcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgY2FsbCBvbkNoYW5nZSB3aGVuIHVwZGF0ZU1vZGVsIGlzIGZhbHNlJywgKCkgPT4ge1xuICAgIHJlc2V0VmFsdWVzKGRhdGEsIGZhbHNlLCByYW5nZSwgb25DaGFuZ2UsIG1vZGVsKTtcbiAgICBleHBlY3Qob25DaGFuZ2UpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
+
|
|
7
|
+
var _enzyme = require("enzyme");
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
var _chartType = _interopRequireDefault(require("../chart-type"));
|
|
12
|
+
|
|
13
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
|
+
|
|
15
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
+
|
|
17
|
+
describe('ChartType', function () {
|
|
18
|
+
var wrapper;
|
|
19
|
+
var props;
|
|
20
|
+
var onChange = jest.fn();
|
|
21
|
+
beforeEach(function () {
|
|
22
|
+
props = {
|
|
23
|
+
classes: {},
|
|
24
|
+
value: 'bar',
|
|
25
|
+
onChange: onChange
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
wrapper = function wrapper(newProps) {
|
|
29
|
+
var configureProps = _objectSpread(_objectSpread({}, props), {}, {
|
|
30
|
+
newProps: newProps
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_chartType["default"], configureProps));
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
describe('renders', function () {
|
|
37
|
+
it('snapshot', function () {
|
|
38
|
+
expect(wrapper()).toMatchSnapshot();
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vY2hhcnQtdHlwZS50ZXN0LmpzeCJdLCJuYW1lcyI6WyJkZXNjcmliZSIsIndyYXBwZXIiLCJwcm9wcyIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwiYmVmb3JlRWFjaCIsImNsYXNzZXMiLCJ2YWx1ZSIsIm5ld1Byb3BzIiwiY29uZmlndXJlUHJvcHMiLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBQSxRQUFRLENBQUMsV0FBRCxFQUFjLFlBQU07QUFDMUIsTUFBSUMsT0FBSjtBQUNBLE1BQUlDLEtBQUo7QUFDQSxNQUFNQyxRQUFRLEdBQUdDLElBQUksQ0FBQ0MsRUFBTCxFQUFqQjtBQUVBQyxFQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmSixJQUFBQSxLQUFLLEdBQUc7QUFDTkssTUFBQUEsT0FBTyxFQUFFLEVBREg7QUFFTkMsTUFBQUEsS0FBSyxFQUFFLEtBRkQ7QUFHTkwsTUFBQUEsUUFBUSxFQUFSQTtBQUhNLEtBQVI7O0FBTUFGLElBQUFBLE9BQU8sR0FBRyxpQkFBQ1EsUUFBRCxFQUFjO0FBQ3RCLFVBQU1DLGNBQWMsbUNBQVFSLEtBQVI7QUFBZU8sUUFBQUEsUUFBUSxFQUFSQTtBQUFmLFFBQXBCOztBQUVBLGFBQU8sbUNBQVEsZ0NBQUMscUJBQUQsRUFBZUMsY0FBZixDQUFSLENBQVA7QUFDRCxLQUpEO0FBS0QsR0FaUyxDQUFWO0FBY0FWLEVBQUFBLFFBQVEsQ0FBQyxTQUFELEVBQVksWUFBTTtBQUN4QlcsSUFBQUEsRUFBRSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ25CQyxNQUFBQSxNQUFNLENBQUNYLE9BQU8sRUFBUixDQUFOLENBQWtCWSxlQUFsQjtBQUNELEtBRkMsQ0FBRjtBQUdELEdBSk8sQ0FBUjtBQUtELENBeEJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ2hhcnRUeXBlIGZyb20gJy4uL2NoYXJ0LXR5cGUnO1xuXG5kZXNjcmliZSgnQ2hhcnRUeXBlJywgKCkgPT4ge1xuICBsZXQgd3JhcHBlcjtcbiAgbGV0IHByb3BzO1xuICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBwcm9wcyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgdmFsdWU6ICdiYXInLFxuICAgICAgb25DaGFuZ2UsXG4gICAgfTtcblxuICAgIHdyYXBwZXIgPSAobmV3UHJvcHMpID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZ3VyZVByb3BzID0geyAuLi5wcm9wcywgbmV3UHJvcHMgfTtcblxuICAgICAgcmV0dXJuIHNoYWxsb3coPENoYXJ0VHlwZSB7Li4uY29uZmlndXJlUHJvcHN9IC8+KTtcbiAgICB9O1xuICB9KTtcblxuICBkZXNjcmliZSgncmVuZGVycycsICgpID0+IHtcbiAgICBpdCgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qod3JhcHBlcigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
+
|
|
7
|
+
var _enzyme = require("enzyme");
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
var _chart = require("../chart");
|
|
12
|
+
|
|
13
|
+
var _utils = require("./utils");
|
|
14
|
+
|
|
15
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
16
|
+
|
|
17
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
|
+
|
|
19
|
+
describe('ChartAxes', function () {
|
|
20
|
+
var onDataChange = jest.fn();
|
|
21
|
+
|
|
22
|
+
var wrapper = function wrapper(extras) {
|
|
23
|
+
var defaults = {
|
|
24
|
+
classes: {},
|
|
25
|
+
onDataChange: onDataChange,
|
|
26
|
+
className: 'className',
|
|
27
|
+
graphProps: (0, _utils.graphProps)(),
|
|
28
|
+
xBand: function xBand() {
|
|
29
|
+
return {
|
|
30
|
+
bandwidth: function bandwidth() {}
|
|
31
|
+
};
|
|
32
|
+
},
|
|
33
|
+
charts: [{
|
|
34
|
+
type: 'bar',
|
|
35
|
+
Component: function Component() {
|
|
36
|
+
return /*#__PURE__*/_react["default"].createElement("div", null);
|
|
37
|
+
}
|
|
38
|
+
}],
|
|
39
|
+
chartType: 'bar',
|
|
40
|
+
domain: {},
|
|
41
|
+
range: {
|
|
42
|
+
min: 0,
|
|
43
|
+
max: 10
|
|
44
|
+
},
|
|
45
|
+
size: {
|
|
46
|
+
width: 100,
|
|
47
|
+
height: 100
|
|
48
|
+
},
|
|
49
|
+
data: []
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
53
|
+
|
|
54
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_chart.Chart, props));
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
describe('snapshot', function () {
|
|
58
|
+
it('renders', function () {
|
|
59
|
+
jest.spyOn(_chart.Chart.prototype, 'generateMaskId').mockReturnValue('chart-2645');
|
|
60
|
+
var w = wrapper();
|
|
61
|
+
expect(w).toMatchSnapshot();
|
|
62
|
+
});
|
|
63
|
+
it('renders if size is not defined', function () {
|
|
64
|
+
jest.spyOn(_chart.Chart.prototype, 'generateMaskId').mockReturnValue('chart-1553');
|
|
65
|
+
var w = wrapper({
|
|
66
|
+
size: undefined
|
|
67
|
+
});
|
|
68
|
+
expect(w).toMatchSnapshot();
|
|
69
|
+
});
|
|
70
|
+
it('renders without chartType property', function () {
|
|
71
|
+
jest.spyOn(_chart.Chart.prototype, 'generateMaskId').mockReturnValue('chart-4286');
|
|
72
|
+
var w = wrapper({
|
|
73
|
+
chartType: null
|
|
74
|
+
});
|
|
75
|
+
expect(w).toMatchSnapshot();
|
|
76
|
+
});
|
|
77
|
+
it('renders without chartType and charts properties', function () {
|
|
78
|
+
return expect(wrapper({
|
|
79
|
+
chartType: null,
|
|
80
|
+
charts: null
|
|
81
|
+
})).toMatchSnapshot();
|
|
82
|
+
});
|
|
83
|
+
it('renders without chartType property and empty charts property', function () {
|
|
84
|
+
return expect(wrapper({
|
|
85
|
+
chartType: null,
|
|
86
|
+
charts: []
|
|
87
|
+
})).toMatchSnapshot();
|
|
88
|
+
});
|
|
89
|
+
it('renders with chartType property and empty charts property', function () {
|
|
90
|
+
return expect(wrapper({
|
|
91
|
+
charts: []
|
|
92
|
+
})).toMatchSnapshot();
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
describe('logic', function () {
|
|
96
|
+
it('changeData', function () {
|
|
97
|
+
var w = wrapper();
|
|
98
|
+
w.instance().changeData();
|
|
99
|
+
expect(onDataChange).toHaveBeenCalled();
|
|
100
|
+
});
|
|
101
|
+
it('getChart', function () {
|
|
102
|
+
var w = wrapper();
|
|
103
|
+
var chart = w.instance().getChart();
|
|
104
|
+
expect(chart.type).toEqual('bar');
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vY2hhcnQudGVzdC5qc3giXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJvbkRhdGFDaGFuZ2UiLCJqZXN0IiwiZm4iLCJ3cmFwcGVyIiwiZXh0cmFzIiwiZGVmYXVsdHMiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwiZ3JhcGhQcm9wcyIsInhCYW5kIiwiYmFuZHdpZHRoIiwiY2hhcnRzIiwidHlwZSIsIkNvbXBvbmVudCIsImNoYXJ0VHlwZSIsImRvbWFpbiIsInJhbmdlIiwibWluIiwibWF4Iiwic2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwiZGF0YSIsInByb3BzIiwiaXQiLCJzcHlPbiIsIkNoYXJ0IiwicHJvdG90eXBlIiwibW9ja1JldHVyblZhbHVlIiwidyIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsInVuZGVmaW5lZCIsImluc3RhbmNlIiwiY2hhbmdlRGF0YSIsInRvSGF2ZUJlZW5DYWxsZWQiLCJjaGFydCIsImdldENoYXJ0IiwidG9FcXVhbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBQSxRQUFRLENBQUMsV0FBRCxFQUFjLFlBQU07QUFDMUIsTUFBSUMsWUFBWSxHQUFHQyxJQUFJLENBQUNDLEVBQUwsRUFBbkI7O0FBQ0EsTUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsTUFBRCxFQUFZO0FBQzFCLFFBQU1DLFFBQVEsR0FBRztBQUNmQyxNQUFBQSxPQUFPLEVBQUUsRUFETTtBQUVmTixNQUFBQSxZQUFZLEVBQVpBLFlBRmU7QUFHZk8sTUFBQUEsU0FBUyxFQUFFLFdBSEk7QUFJZkMsTUFBQUEsVUFBVSxFQUFFLHdCQUpHO0FBS2ZDLE1BQUFBLEtBQUssRUFBRSxpQkFBTTtBQUNYLGVBQU87QUFDTEMsVUFBQUEsU0FBUyxFQUFFLHFCQUFNLENBQUU7QUFEZCxTQUFQO0FBR0QsT0FUYztBQVVmQyxNQUFBQSxNQUFNLEVBQUUsQ0FDTjtBQUNFQyxRQUFB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ZSxZQUFNO0FBQ3JCLFVBQUlLLENBQUMsR0FBRzFCLE9BQU8sRUFBZjtBQUVBMEIsTUFBQUEsQ0FBQyxDQUFDSSxRQUFGLEdBQWFDLFVBQWI7QUFFQUosTUFBQUEsTUFBTSxDQUFDOUIsWUFBRCxDQUFOLENBQXFCbUMsZ0JBQXJCO0FBQ0QsS0FOQyxDQUFGO0FBUUFYLElBQUFBLEVBQUUsQ0FBQyxVQUFELEVBQWEsWUFBTTtBQUNuQixVQUFNSyxDQUFDLEdBQUcxQixPQUFPLEVBQWpCO0FBRUEsVUFBTWlDLEtBQUssR0FBR1AsQ0FBQyxDQUFDSSxRQUFGLEdBQWFJLFFBQWIsRUFBZDtBQUVBUCxNQUFBQSxNQUFNLENBQUNNLEtBQUssQ0FBQ3hCLElBQVAsQ0FBTixDQUFtQjBCLE9BQW5CLENBQTJCLEtBQTNCO0FBQ0QsS0FOQyxDQUFGO0FBT0QsR0FoQk8sQ0FBUjtBQWlCRCxDQWpGTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQ2hhcnQgfSBmcm9tICcuLi9jaGFydCc7XG5pbXBvcnQgeyBncmFwaFByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5cbmRlc2NyaWJlKCdDaGFydEF4ZXMnLCAoKSA9PiB7XG4gIGxldCBvbkRhdGFDaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IHdyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIG9uRGF0YUNoYW5nZSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBncmFwaFByb3BzOiBncmFwaFByb3BzKCksXG4gICAgICB4QmFuZDogKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJhbmR3aWR0aDogKCkgPT4ge30sXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgY2hhcnRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnYmFyJyxcbiAgICAgICAgICBDb21wb25lbnQ6ICgpID0+IDxkaXYgLz4sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgY2hhcnRUeXBlOiAnYmFyJyxcbiAgICAgIGRvbWFpbjoge30sXG4gICAgICByYW5nZToge1xuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMTAsXG4gICAgICB9LFxuICAgICAgc2l6ZToge1xuICAgICAgICB3aWR0aDogMTAwLFxuICAgICAgICBoZWlnaHQ6IDEwMCxcbiAgICAgIH0sXG4gICAgICBkYXRhOiBbXSxcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG4gICAgcmV0dXJuIHNoYWxsb3coPENoYXJ0IHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIGplc3Quc3B5T24oQ2hhcnQucHJvdG90eXBlLCAnZ2VuZXJhdGVNYXNrSWQnKS5tb2NrUmV0dXJuVmFsdWUoJ2NoYXJ0LTI2NDUnKTtcbiAgICAgIGxldCB3ID0gd3JhcHBlcigpO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgaWYgc2l6ZSBpcyBub3QgZGVmaW5lZCcsICgpID0+IHtcbiAgICAgIGplc3Quc3B5T24oQ2hhcnQucHJvdG90eXBlLCAnZ2VuZXJhdGVNYXNrSWQnKS5tb2NrUmV0dXJuVmFsdWUoJ2NoYXJ0LTE1NTMnKTtcbiAgICAgIGxldCB3ID0gd3JhcHBlcih7IHNpemU6IHVuZGVmaW5lZCB9KTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY2hhcnRUeXBlIHByb3BlcnR5JywgKCkgPT4ge1xuICAgICAgamVzdC5zcHlPbihDaGFydC5wcm90b3R5cGUsICdnZW5lcmF0ZU1hc2tJZCcpLm1vY2tSZXR1cm5WYWx1ZSgnY2hhcnQtNDI4NicpO1xuICAgICAgbGV0IHcgPSB3cmFwcGVyKHsgY2hhcnRUeXBlOiBudWxsIH0pO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjaGFydFR5cGUgYW5kIGNoYXJ0cyBwcm9wZXJ0aWVzJywgKCkgPT5cbiAgICAgIGV4cGVjdCh3cmFwcGVyKHsgY2hhcnRUeXBlOiBudWxsLCBjaGFydHM6IG51bGwgfSkpLnRvTWF0Y2hTbmFwc2hvdCgpKTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY2hhcnRUeXBlIHByb3BlcnR5IGFuZCBlbXB0eSBjaGFydHMgcHJvcGVydHknLCAoKSA9PlxuICAgICAgZXhwZWN0KHdyYXBwZXIoeyBjaGFydFR5cGU6IG51bGwsIGNoYXJ0czogW10gfSkpLnRvTWF0Y2hTbmFwc2hvdCgpKTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGggY2hhcnRUeXBlIHByb3BlcnR5IGFuZCBlbXB0eSBjaGFydHMgcHJvcGVydHknLCAoKSA9PlxuICAgICAgZXhwZWN0KHdyYXBwZXIoeyBjaGFydHM6IFtdIH0pKS50b01hdGNoU25hcHNob3QoKSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBpdCgnY2hhbmdlRGF0YScsICgpID0+IHtcbiAgICAgIGxldCB3ID0gd3JhcHBlcigpO1xuXG4gICAgICB3Lmluc3RhbmNlKCkuY2hhbmdlRGF0YSgpO1xuXG4gICAgICBleHBlY3Qob25EYXRhQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnZ2V0Q2hhcnQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gd3JhcHBlcigpO1xuXG4gICAgICBjb25zdCBjaGFydCA9IHcuaW5zdGFuY2UoKS5nZXRDaGFydCgpO1xuXG4gICAgICBleHBlY3QoY2hhcnQudHlwZSkudG9FcXVhbCgnYmFyJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
+
|
|
7
|
+
var _enzyme = require("enzyme");
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
var _grid = require("../grid");
|
|
12
|
+
|
|
13
|
+
var _utils = require("./utils");
|
|
14
|
+
|
|
15
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
16
|
+
|
|
17
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
|
+
|
|
19
|
+
describe('Grid', function () {
|
|
20
|
+
var w;
|
|
21
|
+
|
|
22
|
+
var wrapper = function wrapper(extras) {
|
|
23
|
+
var defaults = {
|
|
24
|
+
classes: {},
|
|
25
|
+
className: 'className',
|
|
26
|
+
graphProps: (0, _utils.graphProps)(),
|
|
27
|
+
xBand: {
|
|
28
|
+
bandwidth: function bandwidth() {}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
33
|
+
|
|
34
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_grid.Grid, props));
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
describe('snapshot', function () {
|
|
38
|
+
it('renders', function () {
|
|
39
|
+
return expect(wrapper()).toMatchSnapshot();
|
|
40
|
+
});
|
|
41
|
+
it('renders if graphProps is not defined', function () {
|
|
42
|
+
return expect(wrapper({
|
|
43
|
+
graphProps: undefined
|
|
44
|
+
})).toMatchSnapshot();
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZ3JpZC50ZXN0LmpzeCJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInciLCJ3cmFwcGVyIiwiZXh0cmFzIiwiZGVmYXVsdHMiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwiZ3JhcGhQcm9wcyIsInhCYW5kIiwiYmFuZHdpZHRoIiwicHJvcHMiLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBQSxRQUFRLENBQUMsTUFBRCxFQUFTLFlBQU07QUFDckIsTUFBSUMsQ0FBSjs7QUFDQSxNQUFNQyxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxNQUFELEVBQVk7QUFDMUIsUUFBTUMsUUFBUSxHQUFHO0FBQ2ZDLE1BQUFBLE9BQU8sRUFBRSxFQURNO0FBRWZDLE1BQUFBLFNBQVMsRUFBRSxXQUZJO0FBR2ZDLE1BQUFBLFVBQVUsRUFBRSx3QkFIRztBQUlmQyxNQUFBQSxLQUFLLEVBQUU7QUFDTEMsUUFBQUEsU0FBUyxFQUFFLHFCQUFNLENBQUU7QUFEZDtBQUpRLEtBQWpCOztBQVFBLFFBQU1DLEtBQUssbUNBQVFOLFFBQVIsR0FBcUJELE1BQXJCLENBQVg7O0FBQ0EsV0FBTyxtQ0FBUSxnQ0FBQyxVQUFELEVBQVVPLEtBQVYsQ0FBUixDQUFQO0FBQ0QsR0FYRDs7QUFZQVYsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCVyxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZO0FBQUEsYUFBTUMsTUFBTSxDQUFDVixPQUFPLEVBQVIsQ0FBTixDQUFrQlcsZUFBbEIsRUFBTjtBQUFBLEtBQVosQ0FBRjtBQUVBRixJQUFBQSxFQUFFLENBQUMsc0NBQUQsRUFBeUM7QUFBQSxhQUFNQyxNQUFNLENBQUNWLE9BQU8sQ0FBQztBQUFFSyxRQUFBQSxVQUFVLEVBQUVPO0FBQWQsT0FBRCxDQUFSLENBQU4sQ0FBMkNELGVBQTNDLEVBQU47QUFBQSxLQUF6QyxDQUFGO0FBQ0QsR0FKTyxDQUFSO0FBS0QsQ0FuQk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEdyaWQgfSBmcm9tICcuLi9ncmlkJztcbmltcG9ydCB7IGdyYXBoUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcblxuZGVzY3JpYmUoJ0dyaWQnLCAoKSA9PiB7XG4gIGxldCB3O1xuICBjb25zdCB3cmFwcGVyID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgZ3JhcGhQcm9wczogZ3JhcGhQcm9wcygpLFxuICAgICAgeEJhbmQ6IHtcbiAgICAgICAgYmFuZHdpZHRoOiAoKSA9PiB7fSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxHcmlkIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiBleHBlY3Qod3JhcHBlcigpKS50b01hdGNoU25hcHNob3QoKSk7XG5cbiAgICBpdCgncmVuZGVycyBpZiBncmFwaFByb3BzIGlzIG5vdCBkZWZpbmVkJywgKCkgPT4gZXhwZWN0KHdyYXBwZXIoeyBncmFwaFByb3BzOiB1bmRlZmluZWQgfSkpLnRvTWF0Y2hTbmFwc2hvdCgpKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
+
|
|
7
|
+
var _enzyme = require("enzyme");
|
|
8
|
+
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
|
|
11
|
+
var _markLabel = require("../mark-label");
|
|
12
|
+
|
|
13
|
+
var _utils = require("./utils");
|
|
14
|
+
|
|
15
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
16
|
+
|
|
17
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
|
+
|
|
19
|
+
describe('MarkLabel', function () {
|
|
20
|
+
var w;
|
|
21
|
+
var onChange = jest.fn();
|
|
22
|
+
|
|
23
|
+
var wrapper = function wrapper(extras) {
|
|
24
|
+
var defaults = {
|
|
25
|
+
classes: {},
|
|
26
|
+
defineChart: false,
|
|
27
|
+
className: 'className',
|
|
28
|
+
onChange: onChange,
|
|
29
|
+
mark: {
|
|
30
|
+
x: 1,
|
|
31
|
+
y: 1
|
|
32
|
+
},
|
|
33
|
+
graphProps: (0, _utils.graphProps)(0, 10, 0, 10)
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
37
|
+
|
|
38
|
+
return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_markLabel.MarkLabel, props));
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
describe('snapshot', function () {
|
|
42
|
+
it('renders', function () {
|
|
43
|
+
w = wrapper();
|
|
44
|
+
expect(w).toMatchSnapshot();
|
|
45
|
+
});
|
|
46
|
+
it('renders', function () {
|
|
47
|
+
w = wrapper({
|
|
48
|
+
mark: {
|
|
49
|
+
x: 10,
|
|
50
|
+
y: 10
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
expect(w).toMatchSnapshot();
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWFyay1sYWJlbC50ZXN0LmpzeCJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInciLCJvbkNoYW5nZSIsImplc3QiLCJmbiIsIndyYXBwZXIiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJkZWZpbmVDaGFydCIsImNsYXNzTmFtZSIsIm1hcmsiLCJ4IiwieSIsImdyYXBoUHJvcHMiLCJwcm9wcyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUFBLFFBQVEsQ0FBQyxXQUFELEVBQWMsWUFBTTtBQUMxQixNQUFJQyxDQUFKO0FBQ0EsTUFBSUMsUUFBUSxHQUFHQyxJQUFJLENBQUNDLEVBQUwsRUFBZjs7QUFDQSxNQUFNQyxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxNQUFELEVBQVk7QUFDMUIsUUFBTUMsUUFBUSxHQUFHO0FBQ2ZDLE1BQUFBLE9BQU8sRUFBRSxFQURNO0FBRWZDLE1BQUFBLFdBQVcsRUFBRSxLQUZFO0FBR2ZDLE1BQUFBLFNBQVMsRUFBRSxXQUhJO0FBSWZSLE1BQUFBLFFBQVEsRUFBUkEsUUFKZTtBQUtmUyxNQUFBQSxJQUFJLEVBQUU7QUFBRUMsUUFBQUEsQ0FBQyxFQUFFLENBQUw7QUFBUUMsUUFBQUEsQ0FBQyxFQUFFO0FBQVgsT0FMUztBQU1mQyxNQUFBQSxVQUFVLEVBQUUsdUJBQWMsQ0FBZCxFQUFpQixFQUFqQixFQUFxQixDQUFyQixFQUF3QixFQUF4QjtBQU5HLEtBQWpCOztBQVFBLFFBQU1DLEtBQUssbUNBQVFSLFFBQVIsR0FBcUJELE1BQXJCLENBQVg7O0FBQ0EsV0FBTyxtQ0FBUSxnQ0FBQyxvQkFBRCxFQUFlUyxLQUFmLENBQVIsQ0FBUDtBQUNELEdBWEQ7O0FBWUFmLEVBQUFBLFFBQVEsQ0FBQyxVQUFELEVBQWEsWUFBTTtBQUN6QmdCLElBQUFBLEVBQUUsQ0FBQyxTQUFELEVBQVksWUFBTTtBQUNsQmYsTUFBQUEsQ0FBQyxHQUFHSSxPQUFPLEVBQVg7QUFDQVksTUFBQUEsTUFBTSxDQUFDaEIsQ0FBRCxDQUFOLENBQVVpQixlQUFWO0FBQ0QsS0FIQyxDQUFGO0FBSUFGLElBQUFBLEVBQUUsQ0FBQyxTQUFELEVBQVksWUFBTTtBQUNsQmYsTUFBQUEsQ0FBQyxHQUFHSSxPQUFPLENBQUM7QUFBRU0sUUFBQUEsSUFBSSxFQUFFO0FBQUVDLFVBQUFBLENBQUMsRUFBRSxFQUFMO0FBQVNDLFVBQUFBLENBQUMsRUFBRTtBQUFaO0FBQVIsT0FBRCxDQUFYO0FBQ0FJLE1BQUFBLE1BQU0sQ0FBQ2hCLENBQUQsQ0FBTixDQUFVaUIsZUFBVjtBQUNELEtBSEMsQ0FBRjtBQUlELEdBVE8sQ0FBUjtBQVVELENBekJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNYXJrTGFiZWwgfSBmcm9tICcuLi9tYXJrLWxhYmVsJztcbmltcG9ydCB7IGdyYXBoUHJvcHMgYXMgZ2V0R3JhcGhQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5kZXNjcmliZSgnTWFya0xhYmVsJywgKCkgPT4ge1xuICBsZXQgdztcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCB3cmFwcGVyID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBkZWZpbmVDaGFydDogZmFsc2UsXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBtYXJrOiB7IHg6IDEsIHk6IDEgfSxcbiAgICAgIGdyYXBoUHJvcHM6IGdldEdyYXBoUHJvcHMoMCwgMTAsIDAsIDEwKSxcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG4gICAgcmV0dXJuIHNoYWxsb3coPE1hcmtMYWJlbCB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgdyA9IHdyYXBwZXIoKTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKHsgbWFyazogeyB4OiAxMCwgeTogMTAgfSB9KTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.scaleMock = exports.graphProps = void 0;
|
|
7
|
+
|
|
8
|
+
var scaleMock = function scaleMock() {
|
|
9
|
+
var fn = jest.fn(function (n) {
|
|
10
|
+
return n;
|
|
11
|
+
});
|
|
12
|
+
fn.invert = jest.fn(function (n) {
|
|
13
|
+
return n;
|
|
14
|
+
});
|
|
15
|
+
return fn;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
exports.scaleMock = scaleMock;
|
|
19
|
+
|
|
20
|
+
var graphProps = function graphProps() {
|
|
21
|
+
var dmin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
22
|
+
var dmax = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
23
|
+
var rmin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
24
|
+
var rmax = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
25
|
+
return {
|
|
26
|
+
scale: {
|
|
27
|
+
x: scaleMock(),
|
|
28
|
+
y: scaleMock()
|
|
29
|
+
},
|
|
30
|
+
snap: {
|
|
31
|
+
x: jest.fn(function (n) {
|
|
32
|
+
return n;
|
|
33
|
+
}),
|
|
34
|
+
y: jest.fn(function (n) {
|
|
35
|
+
return n;
|
|
36
|
+
})
|
|
37
|
+
},
|
|
38
|
+
domain: {
|
|
39
|
+
min: dmin,
|
|
40
|
+
max: dmax,
|
|
41
|
+
step: 1
|
|
42
|
+
},
|
|
43
|
+
range: {
|
|
44
|
+
min: rmin,
|
|
45
|
+
max: rmax,
|
|
46
|
+
step: 1
|
|
47
|
+
},
|
|
48
|
+
size: {
|
|
49
|
+
width: 400,
|
|
50
|
+
height: 400
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
exports.graphProps = graphProps;
|
|
56
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdXRpbHMuanMiXSwibmFtZXMiOlsic2NhbGVNb2NrIiwiZm4iLCJqZXN0IiwibiIsImludmVydCIsImdyYXBoUHJvcHMiLCJkbWluIiwiZG1heCIsInJtaW4iLCJybWF4Iiwic2NhbGUiLCJ4IiwieSIsInNuYXAiLCJkb21haW4iLCJtaW4iLCJtYXgiLCJzdGVwIiwicmFuZ2UiLCJzaXplIiwid2lkdGgiLCJoZWlnaHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxJQUFNQSxTQUFTLEdBQUcsU0FBWkEsU0FBWSxHQUFNO0FBQzdCLE1BQU1DLEVBQUUsR0FBR0MsSUFBSSxDQUFDRCxFQUFMLENBQVEsVUFBQ0UsQ0FBRDtBQUFBLFdBQU9BLENBQVA7QUFBQSxHQUFSLENBQVg7QUFDQUYsRUFBQUEsRUFBRSxDQUFDRyxNQUFILEdBQVlGLElBQUksQ0FBQ0QsRUFBTCxDQUFRLFVBQUNFLENBQUQ7QUFBQSxXQUFPQSxDQUFQO0FBQUEsR0FBUixDQUFaO0FBQ0EsU0FBT0YsRUFBUDtBQUNELENBSk07Ozs7QUFNQSxJQUFNSSxVQUFVLEdBQUcsU0FBYkEsVUFBYTtBQUFBLE1BQUNDLElBQUQsdUVBQVEsQ0FBUjtBQUFBLE1BQVdDLElBQVgsdUVBQWtCLENBQWxCO0FBQUEsTUFBcUJDLElBQXJCLHVFQUE0QixDQUE1QjtBQUFBLE1BQStCQyxJQUEvQix1RUFBc0MsQ0FBdEM7QUFBQSxTQUE2QztBQUNyRUMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLENBQUMsRUFBRVgsU0FBUyxFQURQO0FBRUxZLE1BQUFBLENBQUMsRUFBRVosU0FBUztBQUZQLEtBRDhEO0FBS3JFYSxJQUFBQSxJQUFJLEVBQUU7QUFDSkYsTUFBQUEsQ0FBQyxFQUFFVCxJQUFJLENBQUNELEVBQUwsQ0FBUSxVQUFDRSxDQUFEO0FBQUEsZUFBT0EsQ0FBUDtBQUFBLE9BQVIsQ0FEQztBQUVKUyxNQUFBQSxDQUFDLEVBQUVWLElBQUksQ0FBQ0QsRUFBTCxDQUFRLFVBQUNFLENBQUQ7QUFBQSxlQUFPQSxDQUFQO0FBQUEsT0FBUjtBQUZDLEtBTCtEO0FBU3JFVyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsR0FBRyxFQUFFVCxJQURDO0FBRU5VLE1BQUFBLEdBQUcsRUFBRVQsSUFGQztBQUdOVSxNQUFBQSxJQUFJLEVBQUU7QUFIQSxLQVQ2RDtBQWNyRUMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xILE1BQUFBLEdBQUcsRUFBRVAsSUFEQTtBQUVMUSxNQUFBQSxHQUFHLEVBQUVQLElBRkE7QUFHTFEsTUFBQUEsSUFBSSxFQUFFO0FBSEQsS0FkOEQ7QUFtQnJFRSxJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsS0FBSyxFQUFFLEdBREg7QUFFSkMsTUFBQUEsTUFBTSxFQUFFO0FBRko7QUFuQitELEdBQTdDO0FBQUEsQ0FBbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgc2NhbGVNb2NrID0gKCkgPT4ge1xuICBjb25zdCBmbiA9IGplc3QuZm4oKG4pID0+IG4pO1xuICBmbi5pbnZlcnQgPSBqZXN0LmZuKChuKSA9PiBuKTtcbiAgcmV0dXJuIGZuO1xufTtcblxuZXhwb3J0IGNvbnN0IGdyYXBoUHJvcHMgPSAoZG1pbiA9IDAsIGRtYXggPSAxLCBybWluID0gMCwgcm1heCA9IDEpID0+ICh7XG4gIHNjYWxlOiB7XG4gICAgeDogc2NhbGVNb2NrKCksXG4gICAgeTogc2NhbGVNb2NrKCksXG4gIH0sXG4gIHNuYXA6IHtcbiAgICB4OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgICB5OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgfSxcbiAgZG9tYWluOiB7XG4gICAgbWluOiBkbWluLFxuICAgIG1heDogZG1heCxcbiAgICBzdGVwOiAxLFxuICB9LFxuICByYW5nZToge1xuICAgIG1pbjogcm1pbixcbiAgICBtYXg6IHJtYXgsXG4gICAgc3RlcDogMSxcbiAgfSxcbiAgc2l6ZToge1xuICAgIHdpZHRoOiA0MDAsXG4gICAgaGVpZ2h0OiA0MDAsXG4gIH0sXG59KTtcbiJdfQ==
|