@operato/chart 8.0.0-beta.0 → 8.0.0-beta.2

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 (40) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/package.json +6 -6
  3. package/.editorconfig +0 -29
  4. package/.storybook/main.js +0 -3
  5. package/.storybook/preview.js +0 -52
  6. package/.storybook/server.mjs +0 -8
  7. package/demo/index.html +0 -33
  8. package/src/chartjs/config-converter.ts +0 -341
  9. package/src/chartjs/ox-chart-js.ts +0 -207
  10. package/src/editors/configurer.ts +0 -336
  11. package/src/editors/index.ts +0 -8
  12. package/src/editors/input-chart-abstract.ts +0 -202
  13. package/src/editors/input-chart-styles.ts +0 -206
  14. package/src/editors/ox-input-chart-hbar.ts +0 -157
  15. package/src/editors/ox-input-chart-mixed.ts +0 -241
  16. package/src/editors/ox-input-chart-pie.ts +0 -69
  17. package/src/editors/ox-input-chart-radar.ts +0 -56
  18. package/src/editors/ox-input-chart-timeseries.ts +0 -279
  19. package/src/editors/ox-property-editor-chart.ts +0 -72
  20. package/src/editors/templates/annotations.ts +0 -295
  21. package/src/editors/templates/display-value.ts +0 -111
  22. package/src/editors/templates/series.ts +0 -316
  23. package/src/global.d.ts +0 -1
  24. package/src/index.ts +0 -0
  25. package/src/progress/ox-progress-circle.ts +0 -133
  26. package/src/scichart/ox-scichart.ts +0 -151
  27. package/src/scichart/scichart-builder.ts +0 -508
  28. package/src/types.d.ts +0 -124
  29. package/stories/common.ts +0 -87
  30. package/stories/ox-input-chart-bar.stories.ts +0 -188
  31. package/stories/ox-input-chart-doughnut.stories.ts +0 -130
  32. package/stories/ox-input-chart-hbar.stories.ts +0 -188
  33. package/stories/ox-input-chart-line.stories.ts +0 -198
  34. package/stories/ox-input-chart-pie.stories.ts +0 -130
  35. package/stories/ox-input-chart-polar-area.stories.ts +0 -130
  36. package/stories/ox-input-chart-radar.stories.ts +0 -141
  37. package/stories/ox-input-chart-timeseries.stories.ts +0 -268
  38. package/tsconfig.json +0 -25
  39. package/web-dev-server.config.mjs +0 -27
  40. package/web-test-runner.config.mjs +0 -41
@@ -1,241 +0,0 @@
1
- import '@operato/i18n/ox-i18n.js'
2
-
3
- import { html } from 'lit'
4
- import { customElement } from 'lit/decorators.js'
5
- import { ifDefined } from 'lit/directives/if-defined.js'
6
-
7
- import { InputChartAbstract } from './input-chart-abstract'
8
- import './templates/series'
9
-
10
- @customElement('ox-input-chart-mixed')
11
- export class OxInputChartMixed extends InputChartAbstract {
12
- static styles = InputChartAbstract.styles
13
-
14
- subTemplate() {
15
- const configurer = this.configurer
16
-
17
- return html`
18
- <input id="multi-axis" type="checkbox" value-key="multiAxis" ?checked=${configurer.multiAxis} />
19
- <label for="multi-axis"> <ox-i18n msgid="label.multi-axis">Multi Axis</ox-i18n> </label>
20
-
21
- <legend><ox-i18n msgid="label.series">Series</ox-i18n></legend>
22
- <ox-chart-series
23
- .configurer=${configurer}
24
- .chartType=${this.chartType}
25
- value-key="datasets"
26
- fullwidth
27
- ></ox-chart-series>
28
-
29
- <legend><ox-i18n msgid="label.x-axes">X Axes</ox-i18n></legend>
30
-
31
- <label for="series-data-key"> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
32
- <input id="series-data-key" type="text" value-key="labelDataKey" value=${ifDefined(configurer.labelDataKey)} />
33
-
34
- <label for="x-axes0-axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
35
- <input
36
- id="x-axes0-axis-title"
37
- type="text"
38
- value-key="xAxes0.axisTitle"
39
- value=${ifDefined(configurer.xAxes0.axisTitle)}
40
- />
41
-
42
- ${this._hasBarSeries(configurer.value)
43
- ? html`
44
- <label for="bar-spacing"><ox-i18n msgid="label.bar-spacing">Bar Spacing</ox-i18n></label>
45
- <input
46
- id="bar-spacing"
47
- type="number"
48
- min="0"
49
- max="1"
50
- step="0.1"
51
- value-key="xAxes0.barSpacing"
52
- value=${ifDefined(configurer.xAxes0.barSpacing)}
53
- />
54
- <label for="tick-spacing"><ox-i18n msgid="label.tick-spacing">Tick Spacing</ox-i18n></label>
55
- <input
56
- id="tick-spacing"
57
- type="number"
58
- min="0"
59
- max="1"
60
- step="0.1"
61
- value-key="xAxes0.categorySpacing"
62
- value=${ifDefined(configurer.xAxes0.categorySpacing)}
63
- />
64
- `
65
- : html``}
66
-
67
- <input
68
- id="x-grid-line"
69
- type="checkbox"
70
- value-key="value.options.xGridLine"
71
- ?checked=${configurer.config.options?.xGridLine}
72
- />
73
- <label for="x-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
74
-
75
- <input
76
- id="x-axes0-ticks-display"
77
- type="checkbox"
78
- value-key="xAxes0.ticks.display"
79
- ?checked=${configurer.xAxes0.ticks?.display}
80
- />
81
- <label for="x-axes0-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
82
-
83
- <legend><ox-i18n msgid="label.y-axes">Y Axes</ox-i18n></legend>
84
-
85
- <label for="y-axes0-axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
86
- <input
87
- id="y-axes0-axis-title"
88
- type="text"
89
- value-key="yAxes0.axisTitle"
90
- value=${configurer.yAxes0.axisTitle || ''}
91
- />
92
-
93
- <input
94
- id="axis-min-auto"
95
- type="checkbox"
96
- value-key="yAxes0.ticks.autoMin"
97
- ?checked=${configurer.yAxes0.ticks?.autoMin}
98
- />
99
- <label for="axis-min-auto"> <ox-i18n msgid="label.axis-min-auto">Min Auto</ox-i18n> </label>
100
-
101
- <input
102
- id="axis-max-auto"
103
- type="checkbox"
104
- value-key="yAxes0.ticks.autoMax"
105
- ?checked=${configurer.yAxes0.ticks?.autoMax}
106
- />
107
- <label for="axis-max-auto"> <ox-i18n msgid="label.axis-max-auto">Max Auto</ox-i18n> </label>
108
-
109
- ${!configurer.yAxes0.ticks?.autoMin
110
- ? html`
111
- <label for="y-axes0-ticks-min"> <ox-i18n msgid="label.axis-min">Min</ox-i18n> </label>
112
- <input
113
- id="y-axes0-ticks-min"
114
- type="number"
115
- value-key="yAxes0.ticks.min"
116
- value=${ifDefined(configurer.yAxes0.ticks?.min)}
117
- />
118
- `
119
- : html``}
120
- ${!configurer.yAxes0.ticks?.autoMax
121
- ? html`
122
- <label for="y-axes0-ticks-max"> <ox-i18n msgid="label.axis-max">Max</ox-i18n> </label>
123
- <input
124
- id="y-axes0-ticks-max"
125
- type="number"
126
- value-key="yAxes0.ticks.max"
127
- value=${ifDefined(configurer.yAxes0.ticks?.max)}
128
- />
129
- `
130
- : html``}
131
-
132
- <label for="y-axes0-ticks-step-size"> <ox-i18n msgid="label.axis-step-size">StepSize</ox-i18n> </label>
133
- <input
134
- id="y-axes0-ticks-step-size"
135
- type="number"
136
- value-key="yAxes0.ticks.stepSize"
137
- value=${ifDefined(configurer.yAxes0.ticks?.stepSize)}
138
- />
139
-
140
- <input
141
- id="y-grid-line"
142
- type="checkbox"
143
- value-key="value.options.yGridLine"
144
- ?checked=${configurer.config.options?.yGridLine}
145
- />
146
- <label for="y-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
147
-
148
- <input
149
- id="y-axes0-ticks-display"
150
- type="checkbox"
151
- value-key="yAxes0.ticks.display"
152
- ?checked=${configurer.yAxes0.ticks?.display}
153
- />
154
- <label for="y-axes0-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
155
-
156
- ${configurer.config.options?.multiAxis
157
- ? html`
158
- <legend><ox-i18n msgid="label.y-2nd-axes">Y 2nd Axes</ox-i18n></legend>
159
-
160
- <label for="y-axes1.axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
161
- <input
162
- id="y-axes1.axis-title"
163
- type="text"
164
- value-key="yAxes1.axisTitle"
165
- value=${ifDefined(configurer.yAxes1?.axisTitle)}
166
- />
167
-
168
- <input
169
- id="y-axes1-ticks-auto-min"
170
- type="checkbox"
171
- value-key="yAxes1.ticks.autoMin"
172
- ?checked=${configurer.yAxes1?.ticks?.autoMin}
173
- />
174
- <label for="y-axes1-ticks-auto-min"> <ox-i18n msgid="label.axis-min-auto">Min Auto</ox-i18n> </label>
175
-
176
- <input
177
- id="y-axes1-ticks-auto-max"
178
- type="checkbox"
179
- value-key="yAxes1.ticks.autoMax"
180
- ?checked=${configurer.yAxes1?.ticks?.autoMax}
181
- />
182
- <label for="y-axes1-ticks-auto-max"> <ox-i18n msgid="label.axis-max-auto">Max Auto</ox-i18n> </label>
183
-
184
- ${!configurer.yAxes1?.ticks?.autoMin
185
- ? html`
186
- <label for="y-axes1-ticks-min"> <ox-i18n msgid="label.axis-min">Min</ox-i18n> </label>
187
- <input
188
- id="y-axes1-ticks-min"
189
- type="number"
190
- value-key="yAxes1.ticks.min"
191
- value=${ifDefined(configurer.yAxes1?.ticks?.min)}
192
- />
193
- `
194
- : html``}
195
- ${!configurer.yAxes1?.ticks?.autoMax
196
- ? html`
197
- <label for="y-axes1-ticks-max"> <ox-i18n msgid="label.axis-max">Max</ox-i18n> </label>
198
- <input
199
- id="y-axes1-ticks-max"
200
- type="number"
201
- value-key="yAxes1.ticks.max"
202
- value=${ifDefined(configurer.yAxes1?.ticks?.max)}
203
- />
204
- `
205
- : html``}
206
-
207
- <label for="y-axes1-ticks-step-size"> <ox-i18n msgid="label.axis-step-size">StepSize</ox-i18n> </label>
208
- <input
209
- id="y-axes1-ticks-step-size"
210
- type="number"
211
- value-key="yAxes1.ticks.stepSize"
212
- value=${ifDefined(configurer.yAxes1?.ticks?.stepSize)}
213
- />
214
-
215
- <input
216
- id="y-2nd-grid-line"
217
- type="checkbox"
218
- value-key="value.options.y2ndGridLine"
219
- ?checked=${configurer.config.options?.y2ndGridLine}
220
- />
221
- <label for="y-2nd-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
222
-
223
- <input
224
- id="y-axes1-ticks-display"
225
- type="checkbox"
226
- value-key="yAxes1.ticks.display"
227
- ?checked=${configurer.yAxes1?.ticks?.display}
228
- />
229
- <label for="y-axes1-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
230
- `
231
- : html``}
232
- `
233
- }
234
-
235
- _hasBarSeries(config: any) {
236
- var hasBarSeries = false
237
- hasBarSeries = config.data.datasets?.some((s: any) => s.type == 'bar')
238
-
239
- return hasBarSeries
240
- }
241
- }
@@ -1,69 +0,0 @@
1
- import '@operato/i18n/ox-i18n.js'
2
- import '@operato/input/ox-input-multiple-colors.js'
3
-
4
- import { html } from 'lit'
5
- import { customElement } from 'lit/decorators.js'
6
-
7
- import { InputChartAbstract } from './input-chart-abstract'
8
- import './templates/display-value'
9
-
10
- @customElement('ox-input-chart-pie')
11
- export default class OxInputChartPie extends InputChartAbstract {
12
- static styles = InputChartAbstract.styles
13
-
14
- subTemplate() {
15
- const configurer = this.configurer
16
-
17
- return html`
18
- <legend><ox-i18n msgid="label.series">Series</ox-i18n></legend>
19
-
20
- <label for="series-data-key"> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
21
- <input id="series-data-key" type="text" value-key="dataKey" .value=${configurer.series.dataKey || ''} />
22
-
23
- <label for="series-colors"> <ox-i18n msgid="label.color">Color</ox-i18n> </label>
24
- <ox-input-multiple-colors
25
- id="series-colors"
26
- value-key="color"
27
- .value=${configurer.color || []}
28
- ></ox-input-multiple-colors>
29
-
30
- <label></label>
31
- <ox-chart-display-value .configurer=${configurer} fullwidth></ox-chart-display-value>
32
-
33
- <legend><ox-i18n msgid="label.axes">Axes</ox-i18n></legend>
34
-
35
- <label for="series-data-key"> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
36
- <input id="series-data-key" type="text" value-key="labelDataKey" .value=${configurer.labelDataKey || ''} />
37
- `
38
- }
39
-
40
- getDefaultChartConfig(type: OperatoChart.ChartType, datasets?: OperatoChart.Dataset[]): OperatoChart.ChartConfig {
41
- return {
42
- type: 'pie',
43
- data: {
44
- labels: [],
45
- datasets: this.getDefaultDatasets(),
46
- labelDataKey: 'label'
47
- },
48
- options: {
49
- theme: 'dark',
50
- legend: {
51
- display: true,
52
- position: 'top'
53
- }
54
- }
55
- }
56
- }
57
-
58
- getDefaultDatasets(): OperatoChart.Dataset[] {
59
- return [this.getDefaultDataset('pie')]
60
- }
61
-
62
- getDefaultDataset(seriesType: OperatoChart.SeriesType): OperatoChart.Dataset {
63
- return {
64
- backgroundColor: ['#FF6384', '#36A2EB', '#FFCE56'],
65
- borderWidth: 0,
66
- dataKey: 'value'
67
- }
68
- }
69
- }
@@ -1,56 +0,0 @@
1
- import '@operato/i18n/ox-i18n.js'
2
-
3
- import { html } from 'lit'
4
- import { customElement } from 'lit/decorators.js'
5
- import { ifDefined } from 'lit/directives/if-defined.js'
6
-
7
- import { InputChartAbstract } from './input-chart-abstract'
8
-
9
- import './templates/series'
10
-
11
- @customElement('ox-input-chart-radar')
12
- export default class OxInputChartRadar extends InputChartAbstract {
13
- static styles = InputChartAbstract.styles
14
-
15
- subTemplate() {
16
- const configurer = this.configurer
17
-
18
- return html`
19
- <legend><ox-i18n msgid="label.series">Series</ox-i18n></legend>
20
- <ox-chart-series
21
- .configurer=${configurer}
22
- .chartType=${this.chartType}
23
- value-key="datasets"
24
- fullwidth
25
- ></ox-chart-series>
26
-
27
- <legend><ox-i18n msgid="label.axes">Axes</ox-i18n></legend>
28
-
29
- <label for="series-data-key"> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
30
- <input id="series-data-key" type="text" value-key="labelDataKey" value=${ifDefined(configurer.labelDataKey)} />
31
- `
32
- }
33
-
34
- getDefaultDatasets(): OperatoChart.Dataset[] {
35
- return [
36
- {
37
- label: 'Radar Series 1',
38
- data: [10, 20, 30],
39
- backgroundColor: 'rgba(255, 99, 132, 0.2)',
40
- borderColor: 'rgba(255, 99, 132, 1)',
41
- borderWidth: 1,
42
- pointStyle: 'circle',
43
- pointRadius: 3
44
- },
45
- {
46
- label: 'Radar Series 2',
47
- data: [15, 25, 35],
48
- backgroundColor: 'rgba(54, 162, 235, 0.2)',
49
- borderColor: 'rgba(54, 162, 235, 1)',
50
- borderWidth: 1,
51
- pointStyle: 'circle',
52
- pointRadius: 3
53
- }
54
- ]
55
- }
56
- }
@@ -1,279 +0,0 @@
1
- import '@operato/i18n/ox-i18n.js'
2
-
3
- import { html, css } from 'lit'
4
- import { customElement, state } from 'lit/decorators.js'
5
- import { ifDefined } from 'lit/directives/if-defined.js'
6
-
7
- import { InputChartAbstract } from './input-chart-abstract'
8
-
9
- import './templates/annotations'
10
- import './templates/series'
11
-
12
- @customElement('ox-input-chart-timeseries')
13
- export class OxInputChartTimeseries extends InputChartAbstract {
14
- static styles = [
15
- ...InputChartAbstract.styles,
16
- css`
17
- legend[collapsable] {
18
- box-sizing: border-box;
19
- width: 100%;
20
- }
21
-
22
- legend[collapsable] md-icon {
23
- float: right;
24
- font-size: medium;
25
- margin: 0;
26
- }
27
-
28
- [collapsed] {
29
- display: none;
30
- }
31
- `
32
- ]
33
-
34
- @state() annotationExpanded = false
35
-
36
- subTemplate() {
37
- const configurer = this.configurer
38
-
39
- return html`
40
- <input id="multi-axis" type="checkbox" value-key="multiAxis" ?checked=${configurer.multiAxis} />
41
- <label for="multi-axis"> <ox-i18n msgid="label.multi-axis">Multi Axis</ox-i18n> </label>
42
-
43
- <legend><ox-i18n msgid="label.series">Series</ox-i18n></legend>
44
- <ox-chart-series
45
- .configurer=${configurer}
46
- .chartType=${this.chartType}
47
- value-key="datasets"
48
- fullwidth
49
- ></ox-chart-series>
50
-
51
- <legend><ox-i18n msgid="label.x-axes">X Axes</ox-i18n></legend>
52
-
53
- <label for="series-data-key"> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
54
- <input id="series-data-key" type="text" value-key="labelDataKey" value=${ifDefined(configurer.labelDataKey)} />
55
-
56
- <label for="x-axes0-axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
57
- <input
58
- id="x-axes0-axis-title"
59
- type="text"
60
- value-key="xAxes0.axisTitle"
61
- value=${ifDefined(configurer.xAxes0.axisTitle)}
62
- />
63
-
64
- ${this._hasBarSeries(configurer.value)
65
- ? html`
66
- <label for="bar-spacing"><ox-i18n msgid="label.bar-spacing">Bar Spacing</ox-i18n></label>
67
- <input
68
- id="bar-spacing"
69
- type="number"
70
- min="0"
71
- max="1"
72
- step="0.1"
73
- value-key="xAxes0.barSpacing"
74
- value=${ifDefined(configurer.xAxes0.barSpacing)}
75
- />
76
- <label for="tick-spacing"><ox-i18n msgid="label.tick-spacing">Tick Spacing</ox-i18n></label>
77
- <input
78
- id="tick-spacing"
79
- type="number"
80
- min="0"
81
- max="1"
82
- step="0.1"
83
- value-key="xAxes0.categorySpacing"
84
- value=${ifDefined(configurer.xAxes0.categorySpacing)}
85
- />
86
- `
87
- : html``}
88
-
89
- <input
90
- id="x-grid-line"
91
- type="checkbox"
92
- value-key="value.options.xGridLine"
93
- ?checked=${configurer.config.options?.xGridLine}
94
- />
95
- <label for="x-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
96
-
97
- <input
98
- id="x-axes0-ticks-display"
99
- type="checkbox"
100
- value-key="xAxes0.ticks.display"
101
- ?checked=${configurer.xAxes0.ticks?.display}
102
- />
103
- <label for="x-axes0-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
104
-
105
- <legend><ox-i18n msgid="label.y-axes">Y Axes</ox-i18n></legend>
106
-
107
- <label for="y-axes0-axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
108
- <input
109
- id="y-axes0-axis-title"
110
- type="text"
111
- value-key="yAxes0.axisTitle"
112
- value=${configurer.yAxes0.axisTitle || ''}
113
- />
114
-
115
- <input
116
- id="axis-min-auto"
117
- type="checkbox"
118
- value-key="yAxes0.ticks.autoMin"
119
- ?checked=${configurer.yAxes0.ticks?.autoMin}
120
- />
121
- <label for="axis-min-auto"> <ox-i18n msgid="label.axis-min-auto">Min Auto</ox-i18n> </label>
122
-
123
- <input
124
- id="axis-max-auto"
125
- type="checkbox"
126
- value-key="yAxes0.ticks.autoMax"
127
- ?checked=${configurer.yAxes0.ticks?.autoMax}
128
- />
129
- <label for="axis-max-auto"> <ox-i18n msgid="label.axis-max-auto">Max Auto</ox-i18n> </label>
130
-
131
- ${!configurer.yAxes0.ticks?.autoMin
132
- ? html`
133
- <label for="y-axes0-ticks-min"> <ox-i18n msgid="label.axis-min">Min</ox-i18n> </label>
134
- <input
135
- id="y-axes0-ticks-min"
136
- type="number"
137
- value-key="yAxes0.ticks.min"
138
- value=${ifDefined(configurer.yAxes0.ticks?.min)}
139
- />
140
- `
141
- : html``}
142
- ${!configurer.yAxes0.ticks?.autoMax
143
- ? html`
144
- <label for="y-axes0-ticks-max"> <ox-i18n msgid="label.axis-max">Max</ox-i18n> </label>
145
- <input
146
- id="y-axes0-ticks-max"
147
- type="number"
148
- value-key="yAxes0.ticks.max"
149
- value=${ifDefined(configurer.yAxes0.ticks?.max)}
150
- />
151
- `
152
- : html``}
153
-
154
- <label for="y-axes0-ticks-step-size"> <ox-i18n msgid="label.axis-step-size">StepSize</ox-i18n> </label>
155
- <input
156
- id="y-axes0-ticks-step-size"
157
- type="number"
158
- value-key="yAxes0.ticks.stepSize"
159
- value=${ifDefined(configurer.yAxes0.ticks?.stepSize)}
160
- />
161
-
162
- <input
163
- id="y-grid-line"
164
- type="checkbox"
165
- value-key="value.options.yGridLine"
166
- ?checked=${configurer.config.options?.yGridLine}
167
- />
168
- <label for="y-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
169
-
170
- <input
171
- id="y-axes0-ticks-display"
172
- type="checkbox"
173
- value-key="yAxes0.ticks.display"
174
- ?checked=${configurer.yAxes0.ticks?.display}
175
- />
176
- <label for="y-axes0-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
177
-
178
- ${configurer.config.options?.multiAxis
179
- ? html`
180
- <legend><ox-i18n msgid="label.y-2nd-axes">Y 2nd Axes</ox-i18n></legend>
181
-
182
- <label for="y-axes1.axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
183
- <input
184
- id="y-axes1.axis-title"
185
- type="text"
186
- value-key="yAxes1.axisTitle"
187
- value=${ifDefined(configurer.yAxes1?.axisTitle)}
188
- />
189
-
190
- <input
191
- id="y-axes1-ticks-auto-min"
192
- type="checkbox"
193
- value-key="yAxes1.ticks.autoMin"
194
- ?checked=${configurer.yAxes1?.ticks?.autoMin}
195
- />
196
- <label for="y-axes1-ticks-auto-min"> <ox-i18n msgid="label.axis-min-auto">Min Auto</ox-i18n> </label>
197
-
198
- <input
199
- id="y-axes1-ticks-auto-max"
200
- type="checkbox"
201
- value-key="yAxes1.ticks.autoMax"
202
- ?checked=${configurer.yAxes1?.ticks?.autoMax}
203
- />
204
- <label for="y-axes1-ticks-auto-max"> <ox-i18n msgid="label.axis-max-auto">Max Auto</ox-i18n> </label>
205
-
206
- ${!configurer.yAxes1?.ticks?.autoMin
207
- ? html`
208
- <label for="y-axes1-ticks-min"> <ox-i18n msgid="label.axis-min">Min</ox-i18n> </label>
209
- <input
210
- id="y-axes1-ticks-min"
211
- type="number"
212
- value-key="yAxes1.ticks.min"
213
- value=${ifDefined(configurer.yAxes1?.ticks?.min)}
214
- />
215
- `
216
- : html``}
217
- ${!configurer.yAxes1?.ticks?.autoMax
218
- ? html`
219
- <label for="y-axes1-ticks-max"> <ox-i18n msgid="label.axis-max">Max</ox-i18n> </label>
220
- <input
221
- id="y-axes1-ticks-max"
222
- type="number"
223
- value-key="yAxes1.ticks.max"
224
- value=${ifDefined(configurer.yAxes1?.ticks?.max)}
225
- />
226
- `
227
- : html``}
228
-
229
- <label for="y-axes1-ticks-step-size"> <ox-i18n msgid="label.axis-step-size">StepSize</ox-i18n> </label>
230
- <input
231
- id="y-axes1-ticks-step-size"
232
- type="number"
233
- value-key="yAxes1.ticks.stepSize"
234
- value=${ifDefined(configurer.yAxes1?.ticks?.stepSize)}
235
- />
236
-
237
- <input
238
- id="y-2nd-grid-line"
239
- type="checkbox"
240
- value-key="value.options.y2ndGridLine"
241
- ?checked=${configurer.config.options?.y2ndGridLine}
242
- />
243
- <label for="y-2nd-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
244
-
245
- <input
246
- id="y-axes1-ticks-display"
247
- type="checkbox"
248
- value-key="yAxes1.ticks.display"
249
- ?checked=${configurer.yAxes1?.ticks?.display}
250
- />
251
- <label for="y-axes1-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
252
- `
253
- : html``}
254
-
255
- <legend collapsable>
256
- <ox-i18n msgid="label.chart-annotation">Annotations</ox-i18n>
257
- <md-icon
258
- @tap=${() => {
259
- this.annotationExpanded = !this.annotationExpanded
260
- }}
261
- >${this.annotationExpanded ? 'expand_less' : 'expand_more'}</md-icon
262
- >
263
- </legend>
264
- <ox-chart-annotations
265
- .configurer=${configurer}
266
- ?collapsed=${!this.annotationExpanded}
267
- value-key="annotations"
268
- fullwidth
269
- ></ox-chart-annotations>
270
- `
271
- }
272
-
273
- _hasBarSeries(config: any) {
274
- var hasBarSeries = false
275
- hasBarSeries = config.data.datasets?.some((s: any) => s.type == 'bar')
276
-
277
- return hasBarSeries
278
- }
279
- }