@wcardinal/wcardinal-ui 0.282.0 → 0.283.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.
Files changed (52) hide show
  1. package/dist/types/wcardinal/ui/d-chart-axis-bar.d.ts +5 -0
  2. package/dist/types/wcardinal/ui/d-chart-axis-base-bar.d.ts +20 -0
  3. package/dist/types/wcardinal/ui/d-chart-axis-base-options-parser.d.ts +19 -24
  4. package/dist/types/wcardinal/ui/d-chart-axis-base-tick-container.d.ts +29 -0
  5. package/dist/types/wcardinal/ui/d-chart-axis-base-tick-major-gridline.d.ts +19 -0
  6. package/dist/types/wcardinal/ui/d-chart-axis-base-tick-major.d.ts +20 -0
  7. package/dist/types/wcardinal/ui/d-chart-axis-base-tick-minor.d.ts +17 -0
  8. package/dist/types/wcardinal/ui/d-chart-axis-base.d.ts +11 -19
  9. package/dist/types/wcardinal/ui/d-chart-axis-container-impl.d.ts +3 -3
  10. package/dist/types/wcardinal/ui/d-chart-axis-container.d.ts +3 -3
  11. package/dist/types/wcardinal/ui/d-chart-axis-tick-container.d.ts +7 -0
  12. package/dist/types/wcardinal/ui/d-chart-axis-tick-major-gridline.d.ts +5 -0
  13. package/dist/types/wcardinal/ui/d-chart-axis-tick-major.d.ts +7 -0
  14. package/dist/types/wcardinal/ui/d-chart-axis-tick-minor.d.ts +5 -0
  15. package/dist/types/wcardinal/ui/d-chart-axis.d.ts +4 -0
  16. package/dist/wcardinal/ui/d-chart-axis-bar.js +6 -0
  17. package/dist/wcardinal/ui/d-chart-axis-bar.js.map +1 -0
  18. package/dist/wcardinal/ui/d-chart-axis-base-bar.js +105 -0
  19. package/dist/wcardinal/ui/d-chart-axis-base-bar.js.map +1 -0
  20. package/dist/wcardinal/ui/d-chart-axis-base-options-parser.js +3 -7
  21. package/dist/wcardinal/ui/d-chart-axis-base-options-parser.js.map +1 -1
  22. package/dist/wcardinal/ui/d-chart-axis-base-tick-container.js +225 -0
  23. package/dist/wcardinal/ui/d-chart-axis-base-tick-container.js.map +1 -0
  24. package/dist/wcardinal/ui/d-chart-axis-base-tick-major-gridline.js +83 -0
  25. package/dist/wcardinal/ui/d-chart-axis-base-tick-major-gridline.js.map +1 -0
  26. package/dist/wcardinal/ui/d-chart-axis-base-tick-major.js +89 -0
  27. package/dist/wcardinal/ui/d-chart-axis-base-tick-major.js.map +1 -0
  28. package/dist/wcardinal/ui/d-chart-axis-base-tick-minor.js +75 -0
  29. package/dist/wcardinal/ui/d-chart-axis-base-tick-minor.js.map +1 -0
  30. package/dist/wcardinal/ui/d-chart-axis-base.js +35 -388
  31. package/dist/wcardinal/ui/d-chart-axis-base.js.map +1 -1
  32. package/dist/wcardinal/ui/d-chart-axis-container-impl.js +5 -3
  33. package/dist/wcardinal/ui/d-chart-axis-container-impl.js.map +1 -1
  34. package/dist/wcardinal/ui/d-chart-axis-container.js.map +1 -1
  35. package/dist/wcardinal/ui/d-chart-axis-tick-container.js +6 -0
  36. package/dist/wcardinal/ui/d-chart-axis-tick-container.js.map +1 -0
  37. package/dist/wcardinal/ui/d-chart-axis-tick-major-gridline.js +6 -0
  38. package/dist/wcardinal/ui/d-chart-axis-tick-major-gridline.js.map +1 -0
  39. package/dist/wcardinal/ui/d-chart-axis-tick-major.js +6 -0
  40. package/dist/wcardinal/ui/d-chart-axis-tick-major.js.map +1 -0
  41. package/dist/wcardinal/ui/d-chart-axis-tick-minor.js +6 -0
  42. package/dist/wcardinal/ui/d-chart-axis-tick-minor.js.map +1 -0
  43. package/dist/wcardinal/ui/d-chart-axis.js.map +1 -1
  44. package/dist/wcardinal-ui-theme-dark.js +1 -1
  45. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  46. package/dist/wcardinal-ui-theme-white.js +1 -1
  47. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  48. package/dist/wcardinal-ui.cjs.js +488 -286
  49. package/dist/wcardinal-ui.js +488 -286
  50. package/dist/wcardinal-ui.min.js +2 -2
  51. package/dist/wcardinal-ui.min.js.map +1 -1
  52. package/package.json +1 -1
@@ -0,0 +1,75 @@
1
+ import { EShapePointsStyle } from "./shape/e-shape-points-style";
2
+ import { EShapeBar } from "./shape/variant/e-shape-bar";
3
+ var DChartAxisBaseTickMinor = /** @class */ (function () {
4
+ function DChartAxisBaseTickMinor(parser) {
5
+ this._parser = parser;
6
+ this._index = 0;
7
+ }
8
+ Object.defineProperty(DChartAxisBaseTickMinor.prototype, "shapes", {
9
+ get: function () {
10
+ var result = this._shapes;
11
+ if (result == null) {
12
+ result = this.newShapes();
13
+ this._shapes = result;
14
+ }
15
+ return result;
16
+ },
17
+ enumerable: false,
18
+ configurable: true
19
+ });
20
+ DChartAxisBaseTickMinor.prototype.newShapes = function () {
21
+ var _a;
22
+ var result = [];
23
+ var tick = this._parser.tick;
24
+ if (tick.enable) {
25
+ var minor = tick.minor;
26
+ var count = minor.count;
27
+ var size = minor.size;
28
+ var position = minor.position;
29
+ var style = (_a = minor.style) !== null && _a !== void 0 ? _a : EShapePointsStyle.NONE;
30
+ var major = tick.major;
31
+ for (var i = 0, imax = (major.capacity + 1) * count; i < imax; ++i) {
32
+ var shape = new EShapeBar();
33
+ shape.points.position = position;
34
+ shape.points.size = size;
35
+ shape.points.style = style;
36
+ shape.stroke.copy(minor.stroke);
37
+ shape.size.set(0, 0);
38
+ result.push(shape);
39
+ }
40
+ }
41
+ return result;
42
+ };
43
+ DChartAxisBaseTickMinor.prototype.bind = function (container, index) {
44
+ this._container = container;
45
+ this._index = index;
46
+ var shapes = this.shapes;
47
+ var containerContainer = container.container;
48
+ for (var i = 0, imax = shapes.length; i < imax; ++i) {
49
+ shapes[i].attach(containerContainer);
50
+ }
51
+ };
52
+ DChartAxisBaseTickMinor.prototype.unbind = function () {
53
+ var shapes = this._shapes;
54
+ if (shapes != null) {
55
+ for (var i = 0, imax = shapes.length; i < imax; ++i) {
56
+ shapes[i].detach();
57
+ }
58
+ }
59
+ this._index = 0;
60
+ this._container = undefined;
61
+ };
62
+ DChartAxisBaseTickMinor.prototype.destroy = function () {
63
+ var shapes = this._shapes;
64
+ if (shapes != null) {
65
+ for (var i = 0, imax = shapes.length; i < imax; ++i) {
66
+ shapes[i].destroy();
67
+ }
68
+ }
69
+ this._index = 0;
70
+ this._container = undefined;
71
+ };
72
+ return DChartAxisBaseTickMinor;
73
+ }());
74
+ export { DChartAxisBaseTickMinor };
75
+ //# sourceMappingURL=d-chart-axis-base-tick-minor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d-chart-axis-base-tick-minor.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-axis-base-tick-minor.ts"],"names":[],"mappings":"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","sourcesContent":["import { DBase } from \"./d-base\";\nimport { DChartAxisBaseOptionParser } from \"./d-chart-axis-base-options-parser\";\nimport { DChartAxisContainer } from \"./d-chart-axis-container\";\nimport { DChartAxisTickMinor } from \"./d-chart-axis-tick-minor\";\nimport { EShape } from \"./shape/e-shape\";\nimport { EShapePointsStyle } from \"./shape/e-shape-points-style\";\nimport { EShapeBar } from \"./shape/variant/e-shape-bar\";\n\nexport class DChartAxisBaseTickMinor<CHART extends DBase> implements DChartAxisTickMinor<CHART> {\n\tprotected _parser: DChartAxisBaseOptionParser;\n\tprotected _container?: DChartAxisContainer<CHART>;\n\tprotected _index: number;\n\tprotected _shapes?: EShape[];\n\n\tconstructor(parser: DChartAxisBaseOptionParser) {\n\t\tthis._parser = parser;\n\t\tthis._index = 0;\n\t}\n\n\tget shapes(): EShape[] {\n\t\tlet result = this._shapes;\n\t\tif (result == null) {\n\t\t\tresult = this.newShapes();\n\t\t\tthis._shapes = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newShapes(): EShape[] {\n\t\tconst result: EShape[] = [];\n\t\tconst tick = this._parser.tick;\n\t\tif (tick.enable) {\n\t\t\tconst minor = tick.minor;\n\t\t\tconst count = minor.count;\n\t\t\tconst size = minor.size;\n\t\t\tconst position = minor.position;\n\t\t\tconst style = minor.style ?? EShapePointsStyle.NONE;\n\t\t\tconst major = tick.major;\n\t\t\tfor (let i = 0, imax = (major.capacity + 1) * count; i < imax; ++i) {\n\t\t\t\tconst shape = new EShapeBar();\n\t\t\t\tshape.points.position = position;\n\t\t\t\tshape.points.size = size;\n\t\t\t\tshape.points.style = style;\n\t\t\t\tshape.stroke.copy(minor.stroke);\n\t\t\t\tshape.size.set(0, 0);\n\t\t\t\tresult.push(shape);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tbind(container: DChartAxisContainer<CHART>, index: number): void {\n\t\tthis._container = container;\n\t\tthis._index = index;\n\t\tconst shapes = this.shapes;\n\t\tconst containerContainer = container.container;\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tshapes[i].attach(containerContainer);\n\t\t}\n\t}\n\n\tunbind(): void {\n\t\tconst shapes = this._shapes;\n\t\tif (shapes != null) {\n\t\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\t\tshapes[i].detach();\n\t\t\t}\n\t\t}\n\t\tthis._index = 0;\n\t\tthis._container = undefined;\n\t}\n\n\tdestroy(): void {\n\t\tconst shapes = this._shapes;\n\t\tif (shapes != null) {\n\t\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\t\tshapes[i].destroy();\n\t\t\t}\n\t\t}\n\t\tthis._index = 0;\n\t\tthis._container = undefined;\n\t}\n}\n"]}
@@ -3,423 +3,70 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { DApplications } from "./d-applications";
6
+ import { DChartAxisBaseBar } from "./d-chart-axis-base-bar";
6
7
  import { DChartAxisBaseOptionParser } from "./d-chart-axis-base-options-parser";
7
- import { DChartAxisPosition } from "./d-chart-axis-position";
8
- import { EShapePointsStyle } from "./shape/e-shape-points-style";
9
- import { EShapeBar } from "./shape/variant/e-shape-bar";
10
- import { EShapeBarPosition } from "./shape/variant/e-shape-bar-position";
8
+ import { DChartAxisBaseTickContainer } from "./d-chart-axis-base-tick-container";
11
9
  import { DThemes } from "./theme/d-themes";
12
- import { isNaN } from "./util/is-nan";
13
10
  var DChartAxisBase = /** @class */ (function () {
14
11
  function DChartAxisBase(options) {
15
12
  var theme = this.toTheme(options);
16
13
  this._theme = theme;
17
- this._index = 0;
18
14
  var parser = new DChartAxisBaseOptionParser(theme, options);
19
- this._coordinateIndex = parser.coordinateIndex;
20
- this._padding = parser.padding;
21
- this._position = parser.position;
22
- var tick = parser.tick;
23
- this._tick = tick;
24
- this._label = parser.label;
25
- this._bar = parser.bar;
26
- this._majorTicks = [];
27
- this._minorTicks = [];
15
+ this._parser = parser;
16
+ this._index = 0;
17
+ this._bar = new DChartAxisBaseBar(parser);
18
+ this._tick = new DChartAxisBaseTickContainer(parser);
28
19
  }
29
20
  Object.defineProperty(DChartAxisBase.prototype, "position", {
30
21
  get: function () {
31
- return this._position;
22
+ return this._parser.position;
23
+ },
24
+ enumerable: false,
25
+ configurable: true
26
+ });
27
+ Object.defineProperty(DChartAxisBase.prototype, "bar", {
28
+ get: function () {
29
+ return this._bar;
30
+ },
31
+ enumerable: false,
32
+ configurable: true
33
+ });
34
+ Object.defineProperty(DChartAxisBase.prototype, "tick", {
35
+ get: function () {
36
+ return this._tick;
32
37
  },
33
38
  enumerable: false,
34
39
  configurable: true
35
40
  });
36
- DChartAxisBase.prototype.updateBar = function (container) {
37
- var bar = this._bar;
38
- var shape = bar.shape;
39
- if (shape) {
40
- var plotArea = container.plotArea;
41
- var plotAreaWidth = plotArea.width;
42
- var plotAreaHeight = plotArea.height;
43
- var padding = this._padding * this._index;
44
- shape.disallowUploadedUpdate();
45
- var position = shape.transform.position;
46
- var size = shape.size;
47
- switch (this._position) {
48
- case DChartAxisPosition.TOP:
49
- position.set(plotAreaWidth * 0.5, 0 - padding);
50
- size.set(plotAreaWidth, 0);
51
- break;
52
- case DChartAxisPosition.BOTTOM:
53
- position.set(plotAreaWidth * 0.5, plotAreaHeight + padding);
54
- size.set(plotAreaWidth, 0);
55
- break;
56
- case DChartAxisPosition.LEFT:
57
- position.set(0 - padding, plotAreaHeight * 0.5);
58
- size.set(0, plotAreaHeight);
59
- break;
60
- case DChartAxisPosition.RIGHT:
61
- position.set(plotAreaWidth + padding, plotAreaHeight * 0.5);
62
- size.set(0, plotAreaHeight);
63
- break;
64
- }
65
- shape.allowUploadedUpdate();
66
- return true;
67
- }
68
- return false;
69
- };
70
- DChartAxisBase.prototype.updateTicksX = function (domainMin, domainMax, coordinate, majorShapes, minorShapes, gridlineShapes, shapePositionY, transform, plotAreaHeight) {
71
- var tick = this._tick;
72
- var majorTick = tick.major;
73
- var majorCount = majorTick.count;
74
- var majorCapacity = majorTick.capacity;
75
- var majorStep = majorTick.step;
76
- var majorFormatter = majorTick.formatter;
77
- var minorTick = tick.minor;
78
- var minorCountPerMajor = minorTick.count;
79
- var minorCount = (majorCapacity + 1) * minorCountPerMajor;
80
- var minorStep = minorTick.step;
81
- var majorTicks = this._majorTicks;
82
- var minorTicks = this._minorTicks;
83
- coordinate.ticks(domainMin, domainMax, majorCount, majorCapacity, majorStep, minorCountPerMajor, minorCount, minorStep, majorTicks, minorTicks);
84
- var a = transform.a;
85
- var tx = transform.tx;
86
- for (var i = 0; i < majorCapacity; ++i) {
87
- var majorShape = majorShapes[i];
88
- var imajorTick = i * 3;
89
- var majorTickPosition = majorTicks[imajorTick + 0];
90
- if (!isNaN(majorTickPosition)) {
91
- var majorTickProjectedPosition = majorTicks[imajorTick + 1];
92
- var majotTickPositionX = a * majorTickProjectedPosition + tx;
93
- var majorTickStep = majorTicks[imajorTick + 2];
94
- majorShape.disallowUploadedUpdate();
95
- majorShape.visible = true;
96
- majorShape.transform.position.set(majotTickPositionX, shapePositionY);
97
- majorShape.text.value = majorFormatter.format(majorTickPosition, majorTickStep);
98
- majorShape.allowUploadedUpdate();
99
- if (gridlineShapes) {
100
- var gridlineShape = gridlineShapes[i];
101
- gridlineShape.disallowUploadedUpdate();
102
- gridlineShape.visible = true;
103
- gridlineShape.transform.position.set(majotTickPositionX, plotAreaHeight * 0.5);
104
- gridlineShape.size.set(0, plotAreaHeight);
105
- gridlineShape.allowUploadedUpdate();
106
- }
107
- }
108
- else {
109
- majorShape.visible = false;
110
- if (gridlineShapes) {
111
- gridlineShapes[i].visible = false;
112
- }
113
- }
114
- }
115
- for (var i = 0; i < minorCount; ++i) {
116
- var minorShape = minorShapes[i];
117
- var iminorTick = i * 3;
118
- var minorTickPosition = minorTicks[iminorTick + 0];
119
- var minorTickProjectedPosition = minorTicks[iminorTick + 1];
120
- if (!isNaN(minorTickPosition)) {
121
- minorShape.disallowUploadedUpdate();
122
- minorShape.visible = true;
123
- minorShape.transform.position.set(a * minorTickProjectedPosition + tx, shapePositionY);
124
- minorShape.allowUploadedUpdate();
125
- }
126
- else {
127
- minorShape.visible = false;
128
- }
129
- }
130
- return true;
131
- };
132
- DChartAxisBase.prototype.updateTicksY = function (domainMin, domainMax, coordinate, majorShapes, minorShapes, gridlineShapes, shapePositionX, transform, plotAreaWidth) {
133
- var tick = this._tick;
134
- var majorTick = tick.major;
135
- var majorCount = majorTick.count;
136
- var majorCapacity = majorTick.capacity;
137
- var majorStep = majorTick.step;
138
- var majorFormatter = majorTick.formatter;
139
- var minorTick = tick.minor;
140
- var minorCountPerMajor = minorTick.count;
141
- var minorCount = (majorCapacity + 1) * minorCountPerMajor;
142
- var minorStep = minorTick.step;
143
- var majorTicks = this._majorTicks;
144
- var minorTicks = this._minorTicks;
145
- coordinate.ticks(domainMin, domainMax, majorCount, majorCapacity, majorStep, minorCountPerMajor, minorCount, minorStep, majorTicks, minorTicks);
146
- var d = transform.d;
147
- var ty = transform.ty;
148
- for (var i = 0; i < majorCapacity; ++i) {
149
- var majorShape = majorShapes[i];
150
- var imajorTick = i * 3;
151
- var majorTickPosition = majorTicks[imajorTick + 0];
152
- if (!isNaN(majorTickPosition)) {
153
- var majorTickProjectedPosition = majorTicks[imajorTick + 1];
154
- var majotTickPositionY = d * majorTickProjectedPosition + ty;
155
- var majorTickStep = majorTicks[imajorTick + 2];
156
- majorShape.disallowUploadedUpdate();
157
- majorShape.visible = true;
158
- majorShape.transform.position.set(shapePositionX, majotTickPositionY);
159
- majorShape.text.value = majorFormatter.format(majorTickPosition, majorTickStep);
160
- majorShape.allowUploadedUpdate();
161
- if (gridlineShapes) {
162
- var gridlineShape = gridlineShapes[i];
163
- gridlineShape.disallowUploadedUpdate();
164
- gridlineShape.visible = true;
165
- gridlineShape.transform.position.set(plotAreaWidth * 0.5, majotTickPositionY);
166
- gridlineShape.size.set(plotAreaWidth, 0);
167
- gridlineShape.allowUploadedUpdate();
168
- }
169
- }
170
- else {
171
- majorShape.visible = false;
172
- if (gridlineShapes) {
173
- gridlineShapes[i].visible = false;
174
- }
175
- }
176
- }
177
- for (var i = 0; i < minorCount; ++i) {
178
- var minorShape = minorShapes[i];
179
- var iminorTick = i * 3;
180
- var minorTickPosition = minorTicks[iminorTick + 0];
181
- var minorTickProjectedPosition = minorTicks[iminorTick + 1];
182
- if (!isNaN(minorTickPosition)) {
183
- minorShape.disallowUploadedUpdate();
184
- minorShape.visible = true;
185
- minorShape.transform.position.set(shapePositionX, d * minorTickProjectedPosition + ty);
186
- minorShape.allowUploadedUpdate();
187
- }
188
- else {
189
- minorShape.visible = false;
190
- }
191
- }
192
- return true;
193
- };
194
- DChartAxisBase.prototype.updateTicks = function (container) {
195
- var tick = this._tick;
196
- var majorShapes = tick.major.shapes;
197
- var minorShapes = tick.minor.shapes;
198
- if (majorShapes && minorShapes) {
199
- var plotArea = container.plotArea;
200
- var bounds = plotArea.getBoundsInContainer();
201
- var transform = plotArea.container.transform.localTransform;
202
- var gridlineShapes = tick.major.gridline.shapes;
203
- var coordinateIndex = this._coordinateIndex;
204
- var padding = this._padding * this._index;
205
- var coordinate = void 0;
206
- switch (this._position) {
207
- case DChartAxisPosition.TOP:
208
- coordinate = plotArea.coordinate.x.get(coordinateIndex);
209
- if (coordinate) {
210
- var domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.x));
211
- var domainTo = coordinate.unmap(coordinate.transform.unmap(bounds.x + bounds.width));
212
- var plotAreaHeight = plotArea.height;
213
- return this.updateTicksX(domainFrom, domainTo, coordinate, majorShapes, minorShapes, gridlineShapes, 0 - padding, transform, plotAreaHeight);
214
- }
215
- break;
216
- case DChartAxisPosition.BOTTOM:
217
- coordinate = plotArea.coordinate.x.get(coordinateIndex);
218
- if (coordinate) {
219
- var domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.x));
220
- var domainTo = coordinate.unmap(coordinate.transform.unmap(bounds.x + bounds.width));
221
- var plotAreaHeight = plotArea.height;
222
- return this.updateTicksX(domainFrom, domainTo, coordinate, majorShapes, minorShapes, gridlineShapes, plotAreaHeight + padding, transform, plotAreaHeight);
223
- }
224
- break;
225
- case DChartAxisPosition.LEFT:
226
- coordinate = plotArea.coordinate.y.get(coordinateIndex);
227
- if (coordinate) {
228
- var domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.y));
229
- var domainTo = coordinate.unmap(coordinate.transform.unmap(bounds.y + bounds.height));
230
- var plotAreaWidth = plotArea.width;
231
- return this.updateTicksY(domainFrom, domainTo, coordinate, majorShapes, minorShapes, gridlineShapes, 0 - padding, transform, plotAreaWidth);
232
- }
233
- break;
234
- case DChartAxisPosition.RIGHT:
235
- coordinate = plotArea.coordinate.y.get(coordinateIndex);
236
- if (coordinate) {
237
- var domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.y));
238
- var domainTo = coordinate.unmap(coordinate.transform.unmap(bounds.y + bounds.height));
239
- var plotAreaWidth = plotArea.width;
240
- return this.updateTicksY(domainFrom, domainTo, coordinate, majorShapes, minorShapes, gridlineShapes, plotAreaWidth + padding, transform, plotAreaWidth);
241
- }
242
- break;
243
- }
244
- }
245
- return false;
246
- };
247
41
  DChartAxisBase.prototype.bind = function (container, index) {
248
42
  this._container = container;
249
43
  this._index = index;
250
- var tickShapeContainer = container.container;
251
- // Bar
252
- var bar = this._bar;
253
- var barShape = bar.shape;
254
- if (!barShape) {
255
- var position = this._position;
256
- var barPosition = position === DChartAxisPosition.LEFT || position === DChartAxisPosition.RIGHT
257
- ? EShapeBarPosition.TOP
258
- : EShapeBarPosition.LEFT;
259
- var barStyle = bar.style || EShapePointsStyle.NONE;
260
- barShape = new EShapeBar();
261
- barShape.points.position = barPosition;
262
- barShape.points.style = barStyle;
263
- barShape.stroke.copy(bar.stroke);
264
- barShape.text.copy(this._label);
265
- this._bar.shape = barShape;
266
- }
267
- barShape.attach(container.container);
268
- // Major tick gridline
269
- var tick = this._tick;
270
- var tickMajor = tick.major;
271
- var gridline = tickMajor.gridline;
272
- var gridlineShapes = gridline.shapes;
273
- if (!gridlineShapes && tick.enable && gridline.enable) {
274
- gridlineShapes = [];
275
- gridline.shapes = gridlineShapes;
276
- var position = this._position;
277
- var gridlinePosition = position === DChartAxisPosition.LEFT || position === DChartAxisPosition.RIGHT
278
- ? EShapeBarPosition.LEFT
279
- : EShapeBarPosition.TOP;
280
- var gridlineCapacity = tickMajor.capacity;
281
- var gridlineStyle = gridline.style || EShapePointsStyle.NONE;
282
- for (var i = 0; i < gridlineCapacity; ++i) {
283
- var gridlineShape = new EShapeBar();
284
- gridlineShape.points.position = gridlinePosition;
285
- gridlineShape.points.style = gridlineStyle;
286
- gridlineShape.stroke.copy(gridline.stroke);
287
- gridlineShapes.push(gridlineShape);
288
- }
289
- }
290
- if (gridlineShapes) {
291
- for (var i = 0, imax = gridlineShapes.length; i < imax; ++i) {
292
- gridlineShapes[i].attach(tickShapeContainer);
293
- }
294
- }
295
- // Major ticks
296
- var tickMajorShapes = tickMajor.shapes;
297
- if (!tickMajorShapes && tick.enable) {
298
- tickMajorShapes = [];
299
- tickMajor.shapes = tickMajorShapes;
300
- var tickMajorCapacity = tickMajor.capacity;
301
- var tickMajorSize = tickMajor.size;
302
- var tickMajorPosition = tickMajor.position;
303
- var tickMajorStyle = tickMajor.style || EShapePointsStyle.NONE;
304
- for (var i = 0; i < tickMajorCapacity; ++i) {
305
- var tickMajorShape = new EShapeBar();
306
- tickMajorShape.points.position = tickMajorPosition;
307
- tickMajorShape.points.size = tickMajorSize;
308
- tickMajorShape.points.style = tickMajorStyle;
309
- tickMajorShape.stroke.copy(tickMajor.stroke);
310
- tickMajorShape.text.copy(tickMajor.text);
311
- tickMajorShape.size.set(0, 0);
312
- tickMajorShapes.push(tickMajorShape);
313
- }
314
- }
315
- if (tickMajorShapes) {
316
- for (var i = 0, imax = tickMajorShapes.length; i < imax; ++i) {
317
- tickMajorShapes[i].attach(tickShapeContainer);
318
- }
319
- }
320
- // Minor ticks
321
- var tickMinor = tick.minor;
322
- var tickMinorShapes = tickMinor.shapes;
323
- if (!tickMinorShapes && tick.enable) {
324
- tickMinorShapes = [];
325
- tickMinor.shapes = tickMinorShapes;
326
- var tickMinorCount = tickMinor.count;
327
- var tickMinorSize = tickMinor.size;
328
- var tickMinorPosition = tickMinor.position;
329
- var tickMinorStyle = tickMinor.style || EShapePointsStyle.NONE;
330
- for (var i = 0, imax = (tickMajor.capacity + 1) * tickMinorCount; i < imax; ++i) {
331
- var tickMinorShape = new EShapeBar();
332
- tickMinorShape.points.position = tickMinorPosition;
333
- tickMinorShape.points.size = tickMinorSize;
334
- tickMinorShape.points.style = tickMinorStyle;
335
- tickMinorShape.stroke.copy(tickMinor.stroke);
336
- tickMinorShape.size.set(0, 0);
337
- tickMinorShapes.push(tickMinorShape);
338
- }
339
- }
340
- if (tickMinorShapes) {
341
- for (var i = 0, imax = tickMinorShapes.length; i < imax; ++i) {
342
- tickMinorShapes[i].attach(tickShapeContainer);
343
- }
344
- }
44
+ this._bar.bind(container, index);
45
+ this._tick.bind(container, index);
345
46
  };
346
47
  DChartAxisBase.prototype.unbind = function () {
347
- // Bar
348
- var barShape = this._bar.shape;
349
- if (barShape) {
350
- barShape.detach();
351
- }
352
- // Major ticks
353
- var tick = this._tick;
354
- var tickMajorShapes = tick.major.shapes;
355
- if (tickMajorShapes) {
356
- for (var i = 0, imax = tickMajorShapes.length; i < imax; ++i) {
357
- tickMajorShapes[i].detach();
358
- }
359
- }
360
- // Major tick gridlines
361
- var tickMajorGridlineShapes = tick.major.gridline.shapes;
362
- if (tickMajorGridlineShapes) {
363
- for (var i = 0, imax = tickMajorGridlineShapes.length; i < imax; ++i) {
364
- tickMajorGridlineShapes[i].detach();
365
- }
366
- }
367
- // Minor ticks
368
- var tickMinorShapes = tick.minor.shapes;
369
- if (tickMinorShapes) {
370
- for (var i = 0, imax = tickMinorShapes.length; i < imax; ++i) {
371
- tickMinorShapes[i].detach();
372
- }
373
- }
374
- //
48
+ this._tick.unbind();
49
+ this._bar.unbind();
50
+ this._index = 0;
375
51
  this._container = undefined;
376
52
  };
377
53
  DChartAxisBase.prototype.update = function () {
378
- var container = this._container;
379
- if (container) {
380
- var isBarUpdated = this.updateBar(container);
381
- var isTicksUpdated = this.updateTicks(container);
382
- if (isBarUpdated || isTicksUpdated) {
54
+ var isBarUpdated = this._bar.update();
55
+ var isTicksUpdated = this._tick.update();
56
+ if (isBarUpdated || isTicksUpdated) {
57
+ var container = this._container;
58
+ if (container) {
383
59
  DApplications.update(container.plotArea);
384
60
  }
385
61
  }
386
62
  };
387
63
  DChartAxisBase.prototype.onRender = function () {
388
- var container = this._container;
389
- if (container) {
390
- this.updateBar(container);
391
- this.updateTicks(container);
392
- }
64
+ this._bar.update();
65
+ this._tick.update();
393
66
  };
394
67
  DChartAxisBase.prototype.destroy = function () {
395
- // Bar
396
- var barShape = this._bar.shape;
397
- if (barShape) {
398
- barShape.destroy();
399
- }
400
- // Major ticks
401
- var tick = this._tick;
402
- var tickMajorShapes = tick.major.shapes;
403
- if (tickMajorShapes) {
404
- for (var i = 0, imax = tickMajorShapes.length; i < imax; ++i) {
405
- tickMajorShapes[i].destroy();
406
- }
407
- }
408
- // Major tick gridlines
409
- var tickMajorGridlineShapes = tick.major.gridline.shapes;
410
- if (tickMajorGridlineShapes) {
411
- for (var i = 0, imax = tickMajorGridlineShapes.length; i < imax; ++i) {
412
- tickMajorGridlineShapes[i].destroy();
413
- }
414
- }
415
- // Minor ticks
416
- var tickMinorShapes = tick.minor.shapes;
417
- if (tickMinorShapes) {
418
- for (var i = 0, imax = tickMinorShapes.length; i < imax; ++i) {
419
- tickMinorShapes[i].destroy();
420
- }
421
- }
422
- //
68
+ this._bar.destroy();
69
+ this._tick.destroy();
423
70
  this._container = undefined;
424
71
  };
425
72
  DChartAxisBase.prototype.toTheme = function (options) {
@@ -1 +1 @@
1
- {"version":3,"file":"d-chart-axis-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-axis-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase } from \"./d-base\";\nimport { DChartAxis } from \"./d-chart-axis\";\nimport { DChartAxisBaseOptions, DThemeChartAxisBase } from \"./d-chart-axis-base-options\";\nimport {\n\tDChartAxisBaseBar,\n\tDChartAxisBaseOptionParser,\n\tDChartAxisBaseTickContainer\n} from \"./d-chart-axis-base-options-parser\";\nimport { DChartAxisContainer } from \"./d-chart-axis-container\";\nimport { DChartAxisPosition } from \"./d-chart-axis-position\";\nimport { DChartCoordinate } from \"./d-chart-coordinate\";\nimport { EShapePointsStyle } from \"./shape/e-shape-points-style\";\nimport { EShapeTextLike } from \"./shape/e-shape-text\";\nimport { EShapeBar } from \"./shape/variant/e-shape-bar\";\nimport { EShapeBarPosition } from \"./shape/variant/e-shape-bar-position\";\nimport { DThemes } from \"./theme/d-themes\";\nimport { DeepPartial } from \"./util/deep-partial\";\nimport { isNaN } from \"./util/is-nan\";\n\nexport class DChartAxisBase<\n\tCHART extends DBase = DBase,\n\tOPTIONS extends DChartAxisBaseOptions = DChartAxisBaseOptions\n> implements DChartAxis<CHART>\n{\n\tprotected _coordinateIndex: number;\n\tprotected _padding: number;\n\tprotected _position: DChartAxisPosition;\n\tprotected _container?: DChartAxisContainer<CHART>;\n\tprotected _bar: DChartAxisBaseBar;\n\tprotected _index: number;\n\tprotected _tick: DChartAxisBaseTickContainer;\n\tprotected _majorTicks: number[];\n\tprotected _minorTicks: number[];\n\tprotected _label?: DeepPartial<EShapeTextLike>;\n\tprotected _theme: DThemeChartAxisBase;\n\n\tconstructor(options?: OPTIONS) {\n\t\tconst theme = this.toTheme(options);\n\t\tthis._theme = theme;\n\t\tthis._index = 0;\n\n\t\tconst parser = new DChartAxisBaseOptionParser(theme, options);\n\t\tthis._coordinateIndex = parser.coordinateIndex;\n\t\tthis._padding = parser.padding;\n\t\tthis._position = parser.position;\n\t\tconst tick = parser.tick;\n\t\tthis._tick = tick;\n\t\tthis._label = parser.label;\n\t\tthis._bar = parser.bar;\n\t\tthis._majorTicks = [];\n\t\tthis._minorTicks = [];\n\t}\n\n\tget position(): DChartAxisPosition {\n\t\treturn this._position;\n\t}\n\n\tprotected updateBar(container: DChartAxisContainer<CHART>): boolean {\n\t\tconst bar = this._bar;\n\t\tconst shape = bar.shape;\n\t\tif (shape) {\n\t\t\tconst plotArea = container.plotArea;\n\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\tconst padding = this._padding * this._index;\n\t\t\tshape.disallowUploadedUpdate();\n\t\t\tconst position = shape.transform.position;\n\t\t\tconst size = shape.size;\n\t\t\tswitch (this._position) {\n\t\t\t\tcase DChartAxisPosition.TOP:\n\t\t\t\t\tposition.set(plotAreaWidth * 0.5, 0 - padding);\n\t\t\t\t\tsize.set(plotAreaWidth, 0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.BOTTOM:\n\t\t\t\t\tposition.set(plotAreaWidth * 0.5, plotAreaHeight + padding);\n\t\t\t\t\tsize.set(plotAreaWidth, 0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.LEFT:\n\t\t\t\t\tposition.set(0 - padding, plotAreaHeight * 0.5);\n\t\t\t\t\tsize.set(0, plotAreaHeight);\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.RIGHT:\n\t\t\t\t\tposition.set(plotAreaWidth + padding, plotAreaHeight * 0.5);\n\t\t\t\t\tsize.set(0, plotAreaHeight);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tshape.allowUploadedUpdate();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected updateTicksX(\n\t\tdomainMin: number,\n\t\tdomainMax: number,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tmajorShapes: EShapeBar[],\n\t\tminorShapes: EShapeBar[],\n\t\tgridlineShapes: EShapeBar[] | undefined,\n\t\tshapePositionY: number,\n\t\ttransform: Matrix,\n\t\tplotAreaHeight: number\n\t): boolean {\n\t\tconst tick = this._tick;\n\t\tconst majorTick = tick.major;\n\t\tconst majorCount = majorTick.count;\n\t\tconst majorCapacity = majorTick.capacity;\n\t\tconst majorStep = majorTick.step;\n\t\tconst majorFormatter = majorTick.formatter;\n\t\tconst minorTick = tick.minor;\n\t\tconst minorCountPerMajor = minorTick.count;\n\t\tconst minorCount = (majorCapacity + 1) * minorCountPerMajor;\n\t\tconst minorStep = minorTick.step;\n\t\tconst majorTicks = this._majorTicks;\n\t\tconst minorTicks = this._minorTicks;\n\t\tcoordinate.ticks(\n\t\t\tdomainMin,\n\t\t\tdomainMax,\n\t\t\tmajorCount,\n\t\t\tmajorCapacity,\n\t\t\tmajorStep,\n\t\t\tminorCountPerMajor,\n\t\t\tminorCount,\n\t\t\tminorStep,\n\t\t\tmajorTicks,\n\t\t\tminorTicks\n\t\t);\n\n\t\tconst a = transform.a;\n\t\tconst tx = transform.tx;\n\t\tfor (let i = 0; i < majorCapacity; ++i) {\n\t\t\tconst majorShape = majorShapes[i];\n\t\t\tconst imajorTick = i * 3;\n\t\t\tconst majorTickPosition = majorTicks[imajorTick + 0];\n\t\t\tif (!isNaN(majorTickPosition)) {\n\t\t\t\tconst majorTickProjectedPosition = majorTicks[imajorTick + 1];\n\t\t\t\tconst majotTickPositionX = a * majorTickProjectedPosition + tx;\n\t\t\t\tconst majorTickStep = majorTicks[imajorTick + 2];\n\n\t\t\t\tmajorShape.disallowUploadedUpdate();\n\t\t\t\tmajorShape.visible = true;\n\t\t\t\tmajorShape.transform.position.set(majotTickPositionX, shapePositionY);\n\t\t\t\tmajorShape.text.value = majorFormatter.format(majorTickPosition, majorTickStep);\n\t\t\t\tmajorShape.allowUploadedUpdate();\n\n\t\t\t\tif (gridlineShapes) {\n\t\t\t\t\tconst gridlineShape = gridlineShapes[i];\n\t\t\t\t\tgridlineShape.disallowUploadedUpdate();\n\t\t\t\t\tgridlineShape.visible = true;\n\t\t\t\t\tgridlineShape.transform.position.set(majotTickPositionX, plotAreaHeight * 0.5);\n\t\t\t\t\tgridlineShape.size.set(0, plotAreaHeight);\n\t\t\t\t\tgridlineShape.allowUploadedUpdate();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmajorShape.visible = false;\n\t\t\t\tif (gridlineShapes) {\n\t\t\t\t\tgridlineShapes[i].visible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < minorCount; ++i) {\n\t\t\tconst minorShape = minorShapes[i];\n\t\t\tconst iminorTick = i * 3;\n\t\t\tconst minorTickPosition = minorTicks[iminorTick + 0];\n\t\t\tconst minorTickProjectedPosition = minorTicks[iminorTick + 1];\n\t\t\tif (!isNaN(minorTickPosition)) {\n\t\t\t\tminorShape.disallowUploadedUpdate();\n\t\t\t\tminorShape.visible = true;\n\t\t\t\tminorShape.transform.position.set(\n\t\t\t\t\ta * minorTickProjectedPosition + tx,\n\t\t\t\t\tshapePositionY\n\t\t\t\t);\n\t\t\t\tminorShape.allowUploadedUpdate();\n\t\t\t} else {\n\t\t\t\tminorShape.visible = false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tprotected updateTicksY(\n\t\tdomainMin: number,\n\t\tdomainMax: number,\n\t\tcoordinate: DChartCoordinate<CHART>,\n\t\tmajorShapes: EShapeBar[],\n\t\tminorShapes: EShapeBar[],\n\t\tgridlineShapes: EShapeBar[] | undefined,\n\t\tshapePositionX: number,\n\t\ttransform: Matrix,\n\t\tplotAreaWidth: number\n\t): boolean {\n\t\tconst tick = this._tick;\n\t\tconst majorTick = tick.major;\n\t\tconst majorCount = majorTick.count;\n\t\tconst majorCapacity = majorTick.capacity;\n\t\tconst majorStep = majorTick.step;\n\t\tconst majorFormatter = majorTick.formatter;\n\t\tconst minorTick = tick.minor;\n\t\tconst minorCountPerMajor = minorTick.count;\n\t\tconst minorCount = (majorCapacity + 1) * minorCountPerMajor;\n\t\tconst minorStep = minorTick.step;\n\t\tconst majorTicks = this._majorTicks;\n\t\tconst minorTicks = this._minorTicks;\n\t\tcoordinate.ticks(\n\t\t\tdomainMin,\n\t\t\tdomainMax,\n\t\t\tmajorCount,\n\t\t\tmajorCapacity,\n\t\t\tmajorStep,\n\t\t\tminorCountPerMajor,\n\t\t\tminorCount,\n\t\t\tminorStep,\n\t\t\tmajorTicks,\n\t\t\tminorTicks\n\t\t);\n\n\t\tconst d = transform.d;\n\t\tconst ty = transform.ty;\n\t\tfor (let i = 0; i < majorCapacity; ++i) {\n\t\t\tconst majorShape = majorShapes[i];\n\t\t\tconst imajorTick = i * 3;\n\t\t\tconst majorTickPosition = majorTicks[imajorTick + 0];\n\t\t\tif (!isNaN(majorTickPosition)) {\n\t\t\t\tconst majorTickProjectedPosition = majorTicks[imajorTick + 1];\n\t\t\t\tconst majotTickPositionY = d * majorTickProjectedPosition + ty;\n\t\t\t\tconst majorTickStep = majorTicks[imajorTick + 2];\n\n\t\t\t\tmajorShape.disallowUploadedUpdate();\n\t\t\t\tmajorShape.visible = true;\n\t\t\t\tmajorShape.transform.position.set(shapePositionX, majotTickPositionY);\n\t\t\t\tmajorShape.text.value = majorFormatter.format(majorTickPosition, majorTickStep);\n\t\t\t\tmajorShape.allowUploadedUpdate();\n\n\t\t\t\tif (gridlineShapes) {\n\t\t\t\t\tconst gridlineShape = gridlineShapes[i];\n\t\t\t\t\tgridlineShape.disallowUploadedUpdate();\n\t\t\t\t\tgridlineShape.visible = true;\n\t\t\t\t\tgridlineShape.transform.position.set(plotAreaWidth * 0.5, majotTickPositionY);\n\t\t\t\t\tgridlineShape.size.set(plotAreaWidth, 0);\n\t\t\t\t\tgridlineShape.allowUploadedUpdate();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmajorShape.visible = false;\n\t\t\t\tif (gridlineShapes) {\n\t\t\t\t\tgridlineShapes[i].visible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < minorCount; ++i) {\n\t\t\tconst minorShape = minorShapes[i];\n\t\t\tconst iminorTick = i * 3;\n\t\t\tconst minorTickPosition = minorTicks[iminorTick + 0];\n\t\t\tconst minorTickProjectedPosition = minorTicks[iminorTick + 1];\n\t\t\tif (!isNaN(minorTickPosition)) {\n\t\t\t\tminorShape.disallowUploadedUpdate();\n\t\t\t\tminorShape.visible = true;\n\t\t\t\tminorShape.transform.position.set(\n\t\t\t\t\tshapePositionX,\n\t\t\t\t\td * minorTickProjectedPosition + ty\n\t\t\t\t);\n\t\t\t\tminorShape.allowUploadedUpdate();\n\t\t\t} else {\n\t\t\t\tminorShape.visible = false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tprotected updateTicks(container: DChartAxisContainer<CHART>): boolean {\n\t\tconst tick = this._tick;\n\t\tconst majorShapes = tick.major.shapes;\n\t\tconst minorShapes = tick.minor.shapes;\n\t\tif (majorShapes && minorShapes) {\n\t\t\tconst plotArea = container.plotArea;\n\t\t\tconst bounds = plotArea.getBoundsInContainer();\n\t\t\tconst transform = plotArea.container.transform.localTransform;\n\t\t\tconst gridlineShapes = tick.major.gridline.shapes;\n\n\t\t\tconst coordinateIndex = this._coordinateIndex;\n\t\t\tconst padding = this._padding * this._index;\n\t\t\tlet coordinate: DChartCoordinate<CHART> | null;\n\t\t\tswitch (this._position) {\n\t\t\t\tcase DChartAxisPosition.TOP:\n\t\t\t\t\tcoordinate = plotArea.coordinate.x.get(coordinateIndex);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.x));\n\t\t\t\t\t\tconst domainTo = coordinate.unmap(\n\t\t\t\t\t\t\tcoordinate.transform.unmap(bounds.x + bounds.width)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\t\t\t\treturn this.updateTicksX(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\t0 - padding,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaHeight\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.BOTTOM:\n\t\t\t\t\tcoordinate = plotArea.coordinate.x.get(coordinateIndex);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.x));\n\t\t\t\t\t\tconst domainTo = coordinate.unmap(\n\t\t\t\t\t\t\tcoordinate.transform.unmap(bounds.x + bounds.width)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst plotAreaHeight = plotArea.height;\n\t\t\t\t\t\treturn this.updateTicksX(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\tplotAreaHeight + padding,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaHeight\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.LEFT:\n\t\t\t\t\tcoordinate = plotArea.coordinate.y.get(coordinateIndex);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.y));\n\t\t\t\t\t\tconst domainTo = coordinate.unmap(\n\t\t\t\t\t\t\tcoordinate.transform.unmap(bounds.y + bounds.height)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\t\t\t\treturn this.updateTicksY(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\t0 - padding,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaWidth\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase DChartAxisPosition.RIGHT:\n\t\t\t\t\tcoordinate = plotArea.coordinate.y.get(coordinateIndex);\n\t\t\t\t\tif (coordinate) {\n\t\t\t\t\t\tconst domainFrom = coordinate.unmap(coordinate.transform.unmap(bounds.y));\n\t\t\t\t\t\tconst domainTo = coordinate.unmap(\n\t\t\t\t\t\t\tcoordinate.transform.unmap(bounds.y + bounds.height)\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst plotAreaWidth = plotArea.width;\n\t\t\t\t\t\treturn this.updateTicksY(\n\t\t\t\t\t\t\tdomainFrom,\n\t\t\t\t\t\t\tdomainTo,\n\t\t\t\t\t\t\tcoordinate,\n\t\t\t\t\t\t\tmajorShapes,\n\t\t\t\t\t\t\tminorShapes,\n\t\t\t\t\t\t\tgridlineShapes,\n\t\t\t\t\t\t\tplotAreaWidth + padding,\n\t\t\t\t\t\t\ttransform,\n\t\t\t\t\t\t\tplotAreaWidth\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tbind(container: DChartAxisContainer<CHART>, index: number): void {\n\t\tthis._container = container;\n\t\tthis._index = index;\n\t\tconst tickShapeContainer = container.container;\n\n\t\t// Bar\n\t\tconst bar = this._bar;\n\t\tlet barShape = bar.shape;\n\t\tif (!barShape) {\n\t\t\tconst position = this._position;\n\t\t\tconst barPosition =\n\t\t\t\tposition === DChartAxisPosition.LEFT || position === DChartAxisPosition.RIGHT\n\t\t\t\t\t? EShapeBarPosition.TOP\n\t\t\t\t\t: EShapeBarPosition.LEFT;\n\t\t\tconst barStyle = bar.style || EShapePointsStyle.NONE;\n\t\t\tbarShape = new EShapeBar();\n\t\t\tbarShape.points.position = barPosition;\n\t\t\tbarShape.points.style = barStyle;\n\t\t\tbarShape.stroke.copy(bar.stroke);\n\t\t\tbarShape.text.copy(this._label);\n\t\t\tthis._bar.shape = barShape;\n\t\t}\n\t\tbarShape.attach(container.container);\n\n\t\t// Major tick gridline\n\t\tconst tick = this._tick;\n\t\tconst tickMajor = tick.major;\n\t\tconst gridline = tickMajor.gridline;\n\t\tlet gridlineShapes = gridline.shapes;\n\t\tif (!gridlineShapes && tick.enable && gridline.enable) {\n\t\t\tgridlineShapes = [];\n\t\t\tgridline.shapes = gridlineShapes;\n\t\t\tconst position = this._position;\n\t\t\tconst gridlinePosition =\n\t\t\t\tposition === DChartAxisPosition.LEFT || position === DChartAxisPosition.RIGHT\n\t\t\t\t\t? EShapeBarPosition.LEFT\n\t\t\t\t\t: EShapeBarPosition.TOP;\n\t\t\tconst gridlineCapacity = tickMajor.capacity;\n\t\t\tconst gridlineStyle = gridline.style || EShapePointsStyle.NONE;\n\t\t\tfor (let i = 0; i < gridlineCapacity; ++i) {\n\t\t\t\tconst gridlineShape = new EShapeBar();\n\t\t\t\tgridlineShape.points.position = gridlinePosition;\n\t\t\t\tgridlineShape.points.style = gridlineStyle;\n\t\t\t\tgridlineShape.stroke.copy(gridline.stroke);\n\t\t\t\tgridlineShapes.push(gridlineShape);\n\t\t\t}\n\t\t}\n\t\tif (gridlineShapes) {\n\t\t\tfor (let i = 0, imax = gridlineShapes.length; i < imax; ++i) {\n\t\t\t\tgridlineShapes[i].attach(tickShapeContainer);\n\t\t\t}\n\t\t}\n\n\t\t// Major ticks\n\t\tlet tickMajorShapes = tickMajor.shapes;\n\t\tif (!tickMajorShapes && tick.enable) {\n\t\t\ttickMajorShapes = [];\n\t\t\ttickMajor.shapes = tickMajorShapes;\n\t\t\tconst tickMajorCapacity = tickMajor.capacity;\n\t\t\tconst tickMajorSize = tickMajor.size;\n\t\t\tconst tickMajorPosition = tickMajor.position;\n\t\t\tconst tickMajorStyle = tickMajor.style || EShapePointsStyle.NONE;\n\t\t\tfor (let i = 0; i < tickMajorCapacity; ++i) {\n\t\t\t\tconst tickMajorShape = new EShapeBar();\n\t\t\t\ttickMajorShape.points.position = tickMajorPosition;\n\t\t\t\ttickMajorShape.points.size = tickMajorSize;\n\t\t\t\ttickMajorShape.points.style = tickMajorStyle;\n\t\t\t\ttickMajorShape.stroke.copy(tickMajor.stroke);\n\t\t\t\ttickMajorShape.text.copy(tickMajor.text);\n\t\t\t\ttickMajorShape.size.set(0, 0);\n\t\t\t\ttickMajorShapes.push(tickMajorShape);\n\t\t\t}\n\t\t}\n\t\tif (tickMajorShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorShapes[i].attach(tickShapeContainer);\n\t\t\t}\n\t\t}\n\n\t\t// Minor ticks\n\t\tconst tickMinor = tick.minor;\n\t\tlet tickMinorShapes = tickMinor.shapes;\n\t\tif (!tickMinorShapes && tick.enable) {\n\t\t\ttickMinorShapes = [];\n\t\t\ttickMinor.shapes = tickMinorShapes;\n\t\t\tconst tickMinorCount = tickMinor.count;\n\t\t\tconst tickMinorSize = tickMinor.size;\n\t\t\tconst tickMinorPosition = tickMinor.position;\n\t\t\tconst tickMinorStyle = tickMinor.style || EShapePointsStyle.NONE;\n\t\t\tfor (let i = 0, imax = (tickMajor.capacity + 1) * tickMinorCount; i < imax; ++i) {\n\t\t\t\tconst tickMinorShape = new EShapeBar();\n\t\t\t\ttickMinorShape.points.position = tickMinorPosition;\n\t\t\t\ttickMinorShape.points.size = tickMinorSize;\n\t\t\t\ttickMinorShape.points.style = tickMinorStyle;\n\t\t\t\ttickMinorShape.stroke.copy(tickMinor.stroke);\n\t\t\t\ttickMinorShape.size.set(0, 0);\n\t\t\t\ttickMinorShapes.push(tickMinorShape);\n\t\t\t}\n\t\t}\n\t\tif (tickMinorShapes) {\n\t\t\tfor (let i = 0, imax = tickMinorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMinorShapes[i].attach(tickShapeContainer);\n\t\t\t}\n\t\t}\n\t}\n\n\tunbind(): void {\n\t\t// Bar\n\t\tconst barShape = this._bar.shape;\n\t\tif (barShape) {\n\t\t\tbarShape.detach();\n\t\t}\n\n\t\t// Major ticks\n\t\tconst tick = this._tick;\n\t\tconst tickMajorShapes = tick.major.shapes;\n\t\tif (tickMajorShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorShapes[i].detach();\n\t\t\t}\n\t\t}\n\n\t\t// Major tick gridlines\n\t\tconst tickMajorGridlineShapes = tick.major.gridline.shapes;\n\t\tif (tickMajorGridlineShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorGridlineShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorGridlineShapes[i].detach();\n\t\t\t}\n\t\t}\n\n\t\t// Minor ticks\n\t\tconst tickMinorShapes = tick.minor.shapes;\n\t\tif (tickMinorShapes) {\n\t\t\tfor (let i = 0, imax = tickMinorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMinorShapes[i].detach();\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tthis._container = undefined;\n\t}\n\n\tupdate(): void {\n\t\tconst container = this._container;\n\t\tif (container) {\n\t\t\tconst isBarUpdated = this.updateBar(container);\n\t\t\tconst isTicksUpdated = this.updateTicks(container);\n\t\t\tif (isBarUpdated || isTicksUpdated) {\n\t\t\t\tDApplications.update(container.plotArea);\n\t\t\t}\n\t\t}\n\t}\n\n\tonRender(): void {\n\t\tconst container = this._container;\n\t\tif (container) {\n\t\t\tthis.updateBar(container);\n\t\t\tthis.updateTicks(container);\n\t\t}\n\t}\n\n\tdestroy(): void {\n\t\t// Bar\n\t\tconst barShape = this._bar.shape;\n\t\tif (barShape) {\n\t\t\tbarShape.destroy();\n\t\t}\n\n\t\t// Major ticks\n\t\tconst tick = this._tick;\n\t\tconst tickMajorShapes = tick.major.shapes;\n\t\tif (tickMajorShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorShapes[i].destroy();\n\t\t\t}\n\t\t}\n\n\t\t// Major tick gridlines\n\t\tconst tickMajorGridlineShapes = tick.major.gridline.shapes;\n\t\tif (tickMajorGridlineShapes) {\n\t\t\tfor (let i = 0, imax = tickMajorGridlineShapes.length; i < imax; ++i) {\n\t\t\t\ttickMajorGridlineShapes[i].destroy();\n\t\t\t}\n\t\t}\n\n\t\t// Minor ticks\n\t\tconst tickMinorShapes = tick.minor.shapes;\n\t\tif (tickMinorShapes) {\n\t\t\tfor (let i = 0, imax = tickMinorShapes.length; i < imax; ++i) {\n\t\t\t\ttickMinorShapes[i].destroy();\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tthis._container = undefined;\n\t}\n\n\tprotected toTheme(options?: DChartAxisBaseOptions): DThemeChartAxisBase {\n\t\treturn (options && options.theme) || this.getThemeDefault();\n\t}\n\n\tprotected getThemeDefault(): DThemeChartAxisBase {\n\t\treturn DThemes.getInstance().get(this.getType());\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DChartAxisBase\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-chart-axis-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-axis-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplications } from \"./d-applications\";\nimport { DBase } from \"./d-base\";\nimport { DChartAxis } from \"./d-chart-axis\";\nimport { DChartAxisBar } from \"./d-chart-axis-bar\";\nimport { DChartAxisBaseBar } from \"./d-chart-axis-base-bar\";\nimport { DChartAxisBaseOptions, DThemeChartAxisBase } from \"./d-chart-axis-base-options\";\nimport { DChartAxisBaseOptionParser } from \"./d-chart-axis-base-options-parser\";\nimport { DChartAxisBaseTickContainer } from \"./d-chart-axis-base-tick-container\";\nimport { DChartAxisContainer } from \"./d-chart-axis-container\";\nimport { DChartAxisPosition } from \"./d-chart-axis-position\";\nimport { DChartAxisTickContainer } from \"./d-chart-axis-tick-container\";\nimport { DThemes } from \"./theme/d-themes\";\n\nexport class DChartAxisBase<\n\tCHART extends DBase = DBase,\n\tOPTIONS extends DChartAxisBaseOptions = DChartAxisBaseOptions\n> implements DChartAxis<CHART>\n{\n\tprotected _theme: DThemeChartAxisBase;\n\tprotected _parser: DChartAxisBaseOptionParser;\n\tprotected _container?: DChartAxisContainer<CHART>;\n\tprotected _index: number;\n\tprotected _bar: DChartAxisBaseBar<CHART>;\n\tprotected _tick: DChartAxisBaseTickContainer<CHART>;\n\n\tconstructor(options?: OPTIONS) {\n\t\tconst theme = this.toTheme(options);\n\t\tthis._theme = theme;\n\t\tconst parser = new DChartAxisBaseOptionParser(theme, options);\n\t\tthis._parser = parser;\n\t\tthis._index = 0;\n\t\tthis._bar = new DChartAxisBaseBar(parser);\n\t\tthis._tick = new DChartAxisBaseTickContainer(parser);\n\t}\n\n\tget position(): DChartAxisPosition {\n\t\treturn this._parser.position;\n\t}\n\n\tget bar(): DChartAxisBar<CHART> {\n\t\treturn this._bar;\n\t}\n\n\tget tick(): DChartAxisTickContainer<CHART> {\n\t\treturn this._tick;\n\t}\n\n\tbind(container: DChartAxisContainer<CHART>, index: number): void {\n\t\tthis._container = container;\n\t\tthis._index = index;\n\t\tthis._bar.bind(container, index);\n\t\tthis._tick.bind(container, index);\n\t}\n\n\tunbind(): void {\n\t\tthis._tick.unbind();\n\t\tthis._bar.unbind();\n\t\tthis._index = 0;\n\t\tthis._container = undefined;\n\t}\n\n\tupdate(): void {\n\t\tconst isBarUpdated = this._bar.update();\n\t\tconst isTicksUpdated = this._tick.update();\n\t\tif (isBarUpdated || isTicksUpdated) {\n\t\t\tconst container = this._container;\n\t\t\tif (container) {\n\t\t\t\tDApplications.update(container.plotArea);\n\t\t\t}\n\t\t}\n\t}\n\n\tonRender(): void {\n\t\tthis._bar.update();\n\t\tthis._tick.update();\n\t}\n\n\tdestroy(): void {\n\t\tthis._bar.destroy();\n\t\tthis._tick.destroy();\n\t\tthis._container = undefined;\n\t}\n\n\tprotected toTheme(options?: DChartAxisBaseOptions): DThemeChartAxisBase {\n\t\treturn (options && options.theme) || this.getThemeDefault();\n\t}\n\n\tprotected getThemeDefault(): DThemeChartAxisBase {\n\t\treturn DThemes.getInstance().get(this.getType());\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DChartAxisBase\";\n\t}\n}\n"]}