@operato/chart 7.0.11 → 7.0.13
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 +18 -0
- package/dist/src/editors/configurer.d.ts +10 -1
- package/dist/src/editors/configurer.js +62 -2
- package/dist/src/editors/configurer.js.map +1 -1
- package/dist/src/editors/input-chart-abstract.d.ts +18 -0
- package/dist/src/editors/input-chart-abstract.js +438 -1
- package/dist/src/editors/input-chart-abstract.js.map +1 -1
- package/dist/src/editors/input-chart-styles.js +18 -9
- package/dist/src/editors/input-chart-styles.js.map +1 -1
- package/dist/src/editors/ox-input-chart-hbar.d.ts +2 -2
- package/dist/src/editors/ox-input-chart-hbar.js +10 -10
- package/dist/src/editors/ox-input-chart-hbar.js.map +1 -1
- package/dist/src/editors/ox-input-chart-mixed.d.ts +2 -2
- package/dist/src/editors/ox-input-chart-mixed.js +3 -3
- package/dist/src/editors/ox-input-chart-mixed.js.map +1 -1
- package/dist/src/editors/ox-input-chart-radar.d.ts +2 -2
- package/dist/src/editors/ox-input-chart-radar.js +3 -3
- package/dist/src/editors/ox-input-chart-radar.js.map +1 -1
- package/dist/src/editors/ox-input-chart-timeseries.d.ts +2 -2
- package/dist/src/editors/ox-input-chart-timeseries.js +6 -4
- package/dist/src/editors/ox-input-chart-timeseries.js.map +1 -1
- package/dist/src/scichart/scichart-builder.js +97 -31
- package/dist/src/scichart/scichart-builder.js.map +1 -1
- package/dist/stories/ox-input-chart-timeseries.stories.js +0 -4
- package/dist/stories/ox-input-chart-timeseries.stories.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/editors/configurer.ts +73 -2
- package/src/editors/input-chart-abstract.ts +459 -2
- package/src/editors/input-chart-styles.ts +18 -9
- package/src/editors/ox-input-chart-hbar.ts +10 -10
- package/src/editors/ox-input-chart-mixed.ts +3 -3
- package/src/editors/ox-input-chart-radar.ts +3 -3
- package/src/editors/ox-input-chart-timeseries.ts +6 -4
- package/src/scichart/scichart-builder.ts +112 -31
- package/src/types.d.ts +19 -0
- package/stories/ox-input-chart-timeseries.stories.ts +0 -4
- package/translations/ko.json +7 -0
- package/dist/src/editors/input-chart-multi-series-abstract.d.ts +0 -17
- package/dist/src/editors/input-chart-multi-series-abstract.js +0 -419
- package/dist/src/editors/input-chart-multi-series-abstract.js.map +0 -1
- package/src/editors/input-chart-multi-series-abstract.ts +0 -430
|
@@ -1,419 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import '@material/web/icon/icon.js';
|
|
3
|
-
import '@operato/i18n/ox-i18n.js';
|
|
4
|
-
import { html } from 'lit';
|
|
5
|
-
import { query } from 'lit/decorators.js';
|
|
6
|
-
import { InputChartAbstract } from './input-chart-abstract';
|
|
7
|
-
export class InputChartMultiSeriesAbstract extends InputChartAbstract {
|
|
8
|
-
static { this.styles = [...InputChartAbstract.styles]; }
|
|
9
|
-
get tabContainer() {
|
|
10
|
-
return this.tabs;
|
|
11
|
-
}
|
|
12
|
-
firstUpdated() {
|
|
13
|
-
this.tabContainer?.addEventListener('scroll', e => {
|
|
14
|
-
this._onTabScroll(e);
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
subTemplate() {
|
|
18
|
-
const configurer = this.configurer;
|
|
19
|
-
return html `
|
|
20
|
-
<input id="multi-axis" type="checkbox" value-key="multiAxis" ?checked=${configurer.multiAxis} />
|
|
21
|
-
<label for="multi-axis"> <ox-i18n msgid="label.multi-axis">Multi Axis</ox-i18n> </label>
|
|
22
|
-
|
|
23
|
-
<legend><ox-i18n msgid="label.series">Series</ox-i18n></legend>
|
|
24
|
-
|
|
25
|
-
${this.multiSeriesTabTemplate()}
|
|
26
|
-
|
|
27
|
-
<legend><ox-i18n msgid="label.x-axes">X Axes</ox-i18n></legend>
|
|
28
|
-
|
|
29
|
-
<label for="label-data-key"> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
|
|
30
|
-
<input id="label-data-key" type="text" value-key="labelDataKey" .value=${configurer.labelDataKey || ''} />
|
|
31
|
-
|
|
32
|
-
<label for="axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
|
|
33
|
-
<input id="axis-title" type="text" value-key="xAxes0.axisTitle" .value=${configurer.xAxes0.axisTitle || ''} />
|
|
34
|
-
|
|
35
|
-
<label for="x-axes0-thickness"> <ox-i18n msgid="label.thickness">Thickness</ox-i18n> </label>
|
|
36
|
-
<input
|
|
37
|
-
id="x-axes0-thickness"
|
|
38
|
-
type="number"
|
|
39
|
-
value-key="xAxes0.barPercentage"
|
|
40
|
-
.value=${String(configurer.xAxes0.barPercentage || 0)}
|
|
41
|
-
/>
|
|
42
|
-
|
|
43
|
-
<input
|
|
44
|
-
for="grid-line"
|
|
45
|
-
type="checkbox"
|
|
46
|
-
value-key="value.options.xGridLine"
|
|
47
|
-
?checked=${configurer.config.options?.xGridLine}
|
|
48
|
-
/>
|
|
49
|
-
<label id="grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
|
|
50
|
-
|
|
51
|
-
<input
|
|
52
|
-
for="x-axes0-ticks-display"
|
|
53
|
-
type="checkbox"
|
|
54
|
-
value-key="xAxes0.ticks.display"
|
|
55
|
-
?checked=${configurer.xAxes0.ticks?.display}
|
|
56
|
-
/>
|
|
57
|
-
<label id="x-axes0-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
|
|
58
|
-
|
|
59
|
-
<legend><ox-i18n msgid="label.y-axes">Y Axes</ox-i18n></legend>
|
|
60
|
-
|
|
61
|
-
<label for="y-axes0-axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
|
|
62
|
-
<input
|
|
63
|
-
id="y-axes0-axis-title"
|
|
64
|
-
type="text"
|
|
65
|
-
value-key="yAxes0.axisTitle"
|
|
66
|
-
.value=${configurer.yAxes0.axisTitle || ''}
|
|
67
|
-
/>
|
|
68
|
-
|
|
69
|
-
<input
|
|
70
|
-
id="y-axes0-ticks-automin"
|
|
71
|
-
type="checkbox"
|
|
72
|
-
value-key="yAxes0.ticks.autoMin"
|
|
73
|
-
?checked=${configurer.yAxes0.ticks?.autoMin}
|
|
74
|
-
/>
|
|
75
|
-
<label for="y-axes0-ticks-automin"> <ox-i18n msgid="label.axis-min-auto">Min Auto</ox-i18n> </label>
|
|
76
|
-
|
|
77
|
-
<input
|
|
78
|
-
id="y-axes0-ticks-automax"
|
|
79
|
-
type="checkbox"
|
|
80
|
-
value-key="yAxes0.ticks.autoMax"
|
|
81
|
-
?checked=${configurer.yAxes0.ticks?.autoMax}
|
|
82
|
-
/>
|
|
83
|
-
<label for="y-axes0-ticks-automax"> <ox-i18n msgid="label.axis-max-auto">Max Auto</ox-i18n> </label>
|
|
84
|
-
|
|
85
|
-
${!configurer.yAxes0.ticks?.autoMin
|
|
86
|
-
? html `
|
|
87
|
-
<label for="y-axes0-ticks-min"> <ox-i18n msgid="label.axis-min">Min</ox-i18n> </label>
|
|
88
|
-
<input
|
|
89
|
-
id="y-axes0-ticks-min"
|
|
90
|
-
type="number"
|
|
91
|
-
value-key="yAxes0.ticks.min"
|
|
92
|
-
.value=${String(configurer.yAxes0.ticks?.min)}
|
|
93
|
-
/>
|
|
94
|
-
`
|
|
95
|
-
: html ``}
|
|
96
|
-
${!configurer.yAxes0.ticks?.autoMax
|
|
97
|
-
? html `
|
|
98
|
-
<label for="y-axes0-ticks-max"> <ox-i18n msgid="label.axis-max">Max</ox-i18n> </label>
|
|
99
|
-
<input
|
|
100
|
-
id="y-axes0-ticks-max"
|
|
101
|
-
type="number"
|
|
102
|
-
value-key="yAxes0.ticks.max"
|
|
103
|
-
.value=${String(configurer.yAxes0.ticks?.max)}
|
|
104
|
-
/>
|
|
105
|
-
`
|
|
106
|
-
: html ``}
|
|
107
|
-
|
|
108
|
-
<label for="y-axes0-ticks-step-size"> <ox-i18n msgid="label.axis-step-size">StepSize</ox-i18n> </label>
|
|
109
|
-
<input
|
|
110
|
-
id="y-axes0-ticks-step-size"
|
|
111
|
-
type="number"
|
|
112
|
-
value-key="yAxes0.ticks.stepSize"
|
|
113
|
-
.value=${String(configurer.yAxes0.ticks?.stepSize)}
|
|
114
|
-
/>
|
|
115
|
-
|
|
116
|
-
<input
|
|
117
|
-
id="y-grid-line"
|
|
118
|
-
type="checkbox"
|
|
119
|
-
value-key="value.options.yGridLine"
|
|
120
|
-
?checked=${configurer.config.options?.yGridLine}
|
|
121
|
-
/>
|
|
122
|
-
<label for="y-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
|
|
123
|
-
|
|
124
|
-
<input
|
|
125
|
-
id="y-axes0-ticks-display"
|
|
126
|
-
type="checkbox"
|
|
127
|
-
value-key="yAxes0.ticks.display"
|
|
128
|
-
?checked=${configurer.yAxes0.ticks?.display}
|
|
129
|
-
/>
|
|
130
|
-
<label for="y-axes0-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
|
|
131
|
-
|
|
132
|
-
${configurer.config.options?.multiAxis
|
|
133
|
-
? html `
|
|
134
|
-
<legend><ox-i18n msgid="label.y-2nd-axes">Y 2nd Axes</ox-i18n></legend>
|
|
135
|
-
|
|
136
|
-
<label for="y-axes1.axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
|
|
137
|
-
<input
|
|
138
|
-
id="y-axes1.axis-title"
|
|
139
|
-
type="text"
|
|
140
|
-
value-key="yAxes1.axisTitle"
|
|
141
|
-
.value=${configurer.yAxes1.axisTitle || ''}
|
|
142
|
-
/>
|
|
143
|
-
|
|
144
|
-
<input
|
|
145
|
-
id="axis-min-auto"
|
|
146
|
-
type="checkbox"
|
|
147
|
-
value-key="yAxes1.ticks.autoMin"
|
|
148
|
-
?checked=${configurer.yAxes1.ticks?.autoMin}
|
|
149
|
-
/>
|
|
150
|
-
<label for="axis-min-auto"> <ox-i18n msgid="label.axis-min-auto">Min Auto</ox-i18n> </label>
|
|
151
|
-
|
|
152
|
-
<input
|
|
153
|
-
id="axis-max-auto"
|
|
154
|
-
type="checkbox"
|
|
155
|
-
value-key="yAxes1.ticks.autoMax"
|
|
156
|
-
?checked=${configurer.yAxes1.ticks?.autoMax}
|
|
157
|
-
/>
|
|
158
|
-
<label for="axis-max-auto"> <ox-i18n msgid="label.axis-max-auto">Max Auto</ox-i18n> </label>
|
|
159
|
-
|
|
160
|
-
${!configurer.yAxes1.ticks?.autoMin
|
|
161
|
-
? html `
|
|
162
|
-
<label for="y-axes1.ticks.min"> <ox-i18n msgid="label.axis-min">Min</ox-i18n> </label>
|
|
163
|
-
<input
|
|
164
|
-
id="y-axes1.ticks.min"
|
|
165
|
-
type="number"
|
|
166
|
-
value-key="yAxes1.ticks.min"
|
|
167
|
-
.value=${String(configurer.yAxes1.ticks?.min)}
|
|
168
|
-
/>
|
|
169
|
-
`
|
|
170
|
-
: html ``}
|
|
171
|
-
${!configurer.yAxes1.ticks?.autoMax
|
|
172
|
-
? html `
|
|
173
|
-
<label for="y-axes1-ticks-max"> <ox-i18n msgid="label.axis-max">Max</ox-i18n> </label>
|
|
174
|
-
<input
|
|
175
|
-
id="y-axes1-ticks-max"
|
|
176
|
-
type="number"
|
|
177
|
-
value-key="yAxes1.ticks.max"
|
|
178
|
-
.value=${String(configurer.yAxes1.ticks?.max)}
|
|
179
|
-
/>
|
|
180
|
-
`
|
|
181
|
-
: html ``}
|
|
182
|
-
|
|
183
|
-
<label for="y-axes1-ticks-step-size"> <ox-i18n msgid="label.axis-step-size">StepSize</ox-i18n> </label>
|
|
184
|
-
<input
|
|
185
|
-
id="y-axes1-ticks-step-size"
|
|
186
|
-
type="number"
|
|
187
|
-
value-key="yAxes1.ticks.stepSize"
|
|
188
|
-
.value=${String(configurer.yAxes1.ticks?.stepSize)}
|
|
189
|
-
/>
|
|
190
|
-
|
|
191
|
-
<input
|
|
192
|
-
id="y2nd-grid-line"
|
|
193
|
-
type="checkbox"
|
|
194
|
-
value-key="value.options.y2ndGridLine"
|
|
195
|
-
?checked=${configurer.config.options.y2ndGridLine}
|
|
196
|
-
/>
|
|
197
|
-
<label for="y2nd-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
|
|
198
|
-
|
|
199
|
-
<input
|
|
200
|
-
id="y-axes1.ticks.display"
|
|
201
|
-
type="checkbox"
|
|
202
|
-
value-key="yAxes1.ticks.display"
|
|
203
|
-
?checked=${configurer.yAxes1.ticks?.display}
|
|
204
|
-
/>
|
|
205
|
-
<label for="y-axes1.ticks.display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
|
|
206
|
-
`
|
|
207
|
-
: html ``}
|
|
208
|
-
`;
|
|
209
|
-
}
|
|
210
|
-
multiSeriesTabTemplate() {
|
|
211
|
-
const configurer = this.configurer;
|
|
212
|
-
return html `
|
|
213
|
-
<div id="series-properties-container" fullwidth>
|
|
214
|
-
<div id="tab-header">
|
|
215
|
-
<md-icon
|
|
216
|
-
id="tab-nav-left-button"
|
|
217
|
-
@tap=${(e) => {
|
|
218
|
-
this._onTabScrollNavLeft(e);
|
|
219
|
-
}}
|
|
220
|
-
disabled
|
|
221
|
-
>chevron_left</md-icon
|
|
222
|
-
>
|
|
223
|
-
<div
|
|
224
|
-
id="tabs"
|
|
225
|
-
@change=${(e) => {
|
|
226
|
-
configurer.currentSeriesIndex = e.target.activeTabIndex;
|
|
227
|
-
}}
|
|
228
|
-
active-tab-index=${configurer.currentSeriesIndex}
|
|
229
|
-
fit-container
|
|
230
|
-
>
|
|
231
|
-
${configurer.datasets.map((dataset, index) => html `
|
|
232
|
-
<div
|
|
233
|
-
data-series=${index + 1}
|
|
234
|
-
data-tab-index=${index}
|
|
235
|
-
tab
|
|
236
|
-
?selected=${index == configurer.currentSeriesIndex}
|
|
237
|
-
@click=${(e) => {
|
|
238
|
-
const target = e.target;
|
|
239
|
-
this.configurer.setCurrentSeriesIndex(Number(target.getAttribute('data-tab-index')));
|
|
240
|
-
this.value = { ...this.configurer.value };
|
|
241
|
-
}}
|
|
242
|
-
>
|
|
243
|
-
${index + 1}
|
|
244
|
-
${!configurer.datasets || (configurer.datasets.length != 1 && configurer.currentSeriesIndex == index)
|
|
245
|
-
? html ` <md-icon @tap=${(e) => this.onTapRemoveCurrentTab(index)}> close </md-icon> `
|
|
246
|
-
: html ``}
|
|
247
|
-
</div>
|
|
248
|
-
`)}
|
|
249
|
-
</div>
|
|
250
|
-
<md-icon
|
|
251
|
-
id="tab-nav-right-button"
|
|
252
|
-
@click=${(e) => {
|
|
253
|
-
this._onTabScrollNavRight(e);
|
|
254
|
-
}}
|
|
255
|
-
disabled
|
|
256
|
-
>chevron_right</md-icon
|
|
257
|
-
>
|
|
258
|
-
</div>
|
|
259
|
-
<div id="add-series-button-container">
|
|
260
|
-
<md-icon id="add-series-button" @tap=${(e) => this.onTapAddTab(e)}>add</md-icon>
|
|
261
|
-
</div>
|
|
262
|
-
|
|
263
|
-
<div class="tab-content">
|
|
264
|
-
<label for="data-key"> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
|
|
265
|
-
<input id="data-key" type="text" value-key="dataKey" .value=${configurer.dataKey || ''} />
|
|
266
|
-
|
|
267
|
-
${this.chartType == 'line' || this.chartType == 'bar'
|
|
268
|
-
? html `
|
|
269
|
-
<label for="series-type"> <ox-i18n msgid="label.series-type">type</ox-i18n> </label>
|
|
270
|
-
<select
|
|
271
|
-
id="series-type"
|
|
272
|
-
class="select-content"
|
|
273
|
-
value-key="series.type"
|
|
274
|
-
.value=${configurer.series.type || ''}
|
|
275
|
-
>
|
|
276
|
-
<option value="bar" selected>bar</option>
|
|
277
|
-
<option value="line">line</option>
|
|
278
|
-
</select>
|
|
279
|
-
`
|
|
280
|
-
: html ``}
|
|
281
|
-
|
|
282
|
-
<label for="series-label"> <ox-i18n msgid="label.label">label</ox-i18n> </label>
|
|
283
|
-
<input id="series-label" type="text" value-key="series.label" .value=${configurer.series.label || ''} />
|
|
284
|
-
|
|
285
|
-
${configurer.series.type == 'line'
|
|
286
|
-
? html `
|
|
287
|
-
<label for="series-line-tension"> <ox-i18n msgid="label.line-tension">line tension</ox-i18n> </label>
|
|
288
|
-
<select
|
|
289
|
-
id="series-line-tension"
|
|
290
|
-
class="select-content"
|
|
291
|
-
value-key="series.lineTension"
|
|
292
|
-
.value=${String(configurer.series.lineTension || 0)}
|
|
293
|
-
>
|
|
294
|
-
<option value="0.4">smooth</option>
|
|
295
|
-
<option value="0">angled</option>
|
|
296
|
-
</select>
|
|
297
|
-
`
|
|
298
|
-
: html ``}
|
|
299
|
-
${configurer.series.type == 'line'
|
|
300
|
-
? html `
|
|
301
|
-
<label for="series-border-width"> <ox-i18n msgid="label.border-width">border width</ox-i18n> </label>
|
|
302
|
-
<input
|
|
303
|
-
id="series-border-width"
|
|
304
|
-
type="number"
|
|
305
|
-
value-key="series.borderWidth"
|
|
306
|
-
.value=${String(configurer.series.borderWidth || 0)}
|
|
307
|
-
/>
|
|
308
|
-
`
|
|
309
|
-
: html ``}
|
|
310
|
-
|
|
311
|
-
<label for="series-color"> <ox-i18n msgid="label.color">color</ox-i18n> </label>
|
|
312
|
-
<ox-input-color id="series-color" value-key="color" .value=${configurer.color}></ox-input-color>
|
|
313
|
-
|
|
314
|
-
${configurer.series.type == 'line'
|
|
315
|
-
? html `
|
|
316
|
-
<label for="series-point-style"> <ox-i18n msgid="label.point-shape">point shape</ox-i18n> </label>
|
|
317
|
-
<select
|
|
318
|
-
id="series-point-style"
|
|
319
|
-
class="select-content"
|
|
320
|
-
value-key="series.pointStyle"
|
|
321
|
-
.value=${configurer.series.pointStyle || ''}
|
|
322
|
-
>
|
|
323
|
-
<option value=""> </option>
|
|
324
|
-
<option value="circle">⚬</option>
|
|
325
|
-
<option value="triangle">▵</option>
|
|
326
|
-
<option value="rect">□</option>
|
|
327
|
-
<option value="rectRot">◇</option>
|
|
328
|
-
<option value="cross">+</option>
|
|
329
|
-
<option value="crossRot">⨉</option>
|
|
330
|
-
<option value="star">✱</option>
|
|
331
|
-
<option value="line">―</option>
|
|
332
|
-
<option value="dash">┄</option>
|
|
333
|
-
</select>
|
|
334
|
-
|
|
335
|
-
<label for="series-point-radius"> <ox-i18n msgid="label.point-size">point size</ox-i18n> </label>
|
|
336
|
-
<input
|
|
337
|
-
id="series-point-radius"
|
|
338
|
-
type="number"
|
|
339
|
-
value-key="series.pointRadius"
|
|
340
|
-
.value=${String(configurer.series.pointRadius || 0)}
|
|
341
|
-
/>
|
|
342
|
-
`
|
|
343
|
-
: html ``} <label for="series-stack"> <ox-i18n msgid="label.stack-group">Stack group</ox-i18n> </label>
|
|
344
|
-
<input id="series-stack" type="text" value-key="series.stack" .value=${configurer.series.stack || ''} />
|
|
345
|
-
${configurer.series.type == 'line'
|
|
346
|
-
? html `
|
|
347
|
-
<input id="seires-fill" type="checkbox" value-key="series.fill" ?checked=${configurer.series.fill} />
|
|
348
|
-
<label for="seires-fill"> <ox-i18n msgid="label.fill">fill</ox-i18n> </label>
|
|
349
|
-
`
|
|
350
|
-
: html ``}
|
|
351
|
-
${configurer.multiAxis
|
|
352
|
-
? html `
|
|
353
|
-
<label for="series-y-axis-id"> <ox-i18n msgid="label.target-axis">target axis</ox-i18n> </label>
|
|
354
|
-
<select
|
|
355
|
-
id="series-y-axis-id"
|
|
356
|
-
class="select-content"
|
|
357
|
-
value-key="series.yAxisID"
|
|
358
|
-
.value=${configurer.series.yAxisID || ''}
|
|
359
|
-
>
|
|
360
|
-
<option value="left">left</option>
|
|
361
|
-
<option value="right">right</option>
|
|
362
|
-
</select>
|
|
363
|
-
`
|
|
364
|
-
: html ``}
|
|
365
|
-
${this.displayValueTemplate()}
|
|
366
|
-
</div>
|
|
367
|
-
</div>
|
|
368
|
-
`;
|
|
369
|
-
}
|
|
370
|
-
_onTabScroll(e) {
|
|
371
|
-
if (!this.tabContainer) {
|
|
372
|
-
return;
|
|
373
|
-
}
|
|
374
|
-
if (this.tabContainer.clientWidth == this.tabContainer.scrollWidth) {
|
|
375
|
-
this.tabNavLeftButton.setAttribute('disabled', '');
|
|
376
|
-
this.tabNavRightButton.setAttribute('disabled', '');
|
|
377
|
-
}
|
|
378
|
-
// left-end
|
|
379
|
-
else if (this.tabContainer.scrollLeft == 0) {
|
|
380
|
-
this.tabNavLeftButton.setAttribute('disabled', '');
|
|
381
|
-
this.tabNavRightButton.removeAttribute('disabled');
|
|
382
|
-
}
|
|
383
|
-
// right-end
|
|
384
|
-
else if (this.tabContainer.scrollLeft + this.tabContainer.clientWidth >= this.tabContainer.scrollWidth) {
|
|
385
|
-
this.tabNavLeftButton.removeAttribute('disabled');
|
|
386
|
-
this.tabNavRightButton.setAttribute('disabled', '');
|
|
387
|
-
}
|
|
388
|
-
else {
|
|
389
|
-
this.tabNavLeftButton.removeAttribute('disabled');
|
|
390
|
-
this.tabNavRightButton.removeAttribute('disabled');
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
_onTabScrollNavLeft(e) {
|
|
394
|
-
if (!this.tabContainer) {
|
|
395
|
-
return;
|
|
396
|
-
}
|
|
397
|
-
this.tabContainer.style.scrollBehavior = 'smooth';
|
|
398
|
-
this.tabContainer.scrollLeft -= this.tabContainer.clientWidth;
|
|
399
|
-
this.tabContainer.style.scrollBehavior = 'auto';
|
|
400
|
-
}
|
|
401
|
-
_onTabScrollNavRight(e) {
|
|
402
|
-
if (!this.tabContainer) {
|
|
403
|
-
return;
|
|
404
|
-
}
|
|
405
|
-
this.tabContainer.style.scrollBehavior = 'smooth';
|
|
406
|
-
this.tabContainer.scrollLeft += this.tabContainer.clientWidth;
|
|
407
|
-
this.tabContainer.style.scrollBehavior = 'auto';
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
__decorate([
|
|
411
|
-
query('#tabs')
|
|
412
|
-
], InputChartMultiSeriesAbstract.prototype, "tabs", void 0);
|
|
413
|
-
__decorate([
|
|
414
|
-
query('#tab-nav-left-button')
|
|
415
|
-
], InputChartMultiSeriesAbstract.prototype, "tabNavLeftButton", void 0);
|
|
416
|
-
__decorate([
|
|
417
|
-
query('#tab-nav-right-button')
|
|
418
|
-
], InputChartMultiSeriesAbstract.prototype, "tabNavRightButton", void 0);
|
|
419
|
-
//# sourceMappingURL=input-chart-multi-series-abstract.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-chart-multi-series-abstract.js","sourceRoot":"","sources":["../../../src/editors/input-chart-multi-series-abstract.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AACnC,OAAO,0BAA0B,CAAA;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAIzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,MAAM,OAAO,6BAA8B,SAAQ,kBAAkB;aAC5D,WAAM,GAAG,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAM9C,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;YAChD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,WAAW;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAElC,OAAO,IAAI,CAAA;8EAC+D,UAAU,CAAC,SAAS;;;;;QAK1F,IAAI,CAAC,sBAAsB,EAAE;;;;;+EAK0C,UAAU,CAAC,YAAY,IAAI,EAAE;;;+EAG7B,UAAU,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE;;;;;;;iBAO/F,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;;;;;;;mBAO1C,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS;;;;;;;;mBAQpC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;iBAWlC,UAAU,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE;;;;;;;mBAO/B,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;;;;;;;;mBAQhC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;;;;QAI3C,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;YACjC,CAAC,CAAC,IAAI,CAAA;;;;;;uBAMS,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;;WAEhD;YACH,CAAC,CAAC,IAAI,CAAA,EAAE;QACR,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;YACjC,CAAC,CAAC,IAAI,CAAA;;;;;;uBAMS,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;;WAEhD;YACH,CAAC,CAAC,IAAI,CAAA,EAAE;;;;;;;iBAOC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;;;;;;;mBAOvC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS;;;;;;;;mBAQpC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;;;;QAI3C,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS;YACpC,CAAC,CAAC,IAAI,CAAA;;;;;;;;uBAQS,UAAU,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE;;;;;;;yBAO/B,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;;;;;;;;yBAQhC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;;;;cAI3C,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;gBACjC,CAAC,CAAC,IAAI,CAAA;;;;;;6BAMS,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;;iBAEhD;gBACH,CAAC,CAAC,IAAI,CAAA,EAAE;cACR,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;gBACjC,CAAC,CAAC,IAAI,CAAA;;;;;;6BAMS,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;;iBAEhD;gBACH,CAAC,CAAC,IAAI,CAAA,EAAE;;;;;;;uBAOC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;;;;;;;yBAOvC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY;;;;;;;;yBAQtC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;;;WAG9C;YACH,CAAC,CAAC,IAAI,CAAA,EAAE;KACX,CAAA;IACH,CAAC;IAED,sBAAsB;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAElC,OAAO,IAAI,CAAA;;;;;mBAKI,CAAC,CAAQ,EAAE,EAAE;YAClB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;QAC7B,CAAC;;;;;;sBAMS,CAAC,CAAQ,EAAE,EAAE;YACrB,UAAU,CAAC,kBAAkB,GAAI,CAAC,CAAC,MAAc,CAAC,cAAc,CAAA;QAClE,CAAC;+BACkB,UAAU,CAAC,kBAAkB;;;cAG9C,UAAU,CAAC,QAAQ,CAAC,GAAG,CACvB,CAAC,OAAY,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,CAAA;;gCAEnB,KAAK,GAAG,CAAC;mCACN,KAAK;;8BAEV,KAAK,IAAI,UAAU,CAAC,kBAAkB;2BACzC,CAAC,CAAQ,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAwB,CAAA;YACzC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;YACpF,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;QAC3C,CAAC;;oBAEC,KAAK,GAAG,CAAC;oBACT,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,UAAU,CAAC,kBAAkB,IAAI,KAAK,CAAC;YACnG,CAAC,CAAC,IAAI,CAAA,kBAAkB,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,qBAAqB;YAC5F,CAAC,CAAC,IAAI,CAAA,EAAE;;eAEb,CACF;;;;qBAIQ,CAAC,CAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC;;;;;;iDAMoC,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;;;;;wEAKV,UAAU,CAAC,OAAO,IAAI,EAAE;;YAEpF,IAAI,CAAC,SAAS,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK;YACnD,CAAC,CAAC,IAAI,CAAA;;;;;;2BAMS,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;;;;;eAKxC;YACH,CAAC,CAAC,IAAI,CAAA,EAAE;;;iFAG6D,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;;YAElG,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM;YAChC,CAAC,CAAC,IAAI,CAAA;;;;;;2BAMS,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;;;;;eAKtD;YACH,CAAC,CAAC,IAAI,CAAA,EAAE;YACR,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM;YAChC,CAAC,CAAC,IAAI,CAAA;;;;;;2BAMS,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;;eAEtD;YACH,CAAC,CAAC,IAAI,CAAA,EAAE;;;uEAGmD,UAAU,CAAC,KAAK;;YAE3E,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM;YAChC,CAAC,CAAC,IAAI,CAAA;;;;;;2BAMS,UAAU,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE;;;;;;;;;;;;;;;;;;;2BAmBlC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;;eAEtD;YACH,CAAC,CAAC,IAAI,CAAA,EAAE;iFAC6D,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAClG,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM;YAChC,CAAC,CAAC,IAAI,CAAA;2FACyE,UAAU,CAAC,MAAM,CAAC,IAAI;;eAElG;YACH,CAAC,CAAC,IAAI,CAAA,EAAE;YACR,UAAU,CAAC,SAAS;YACpB,CAAC,CAAC,IAAI,CAAA;;;;;;2BAMS,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;;;;;eAK3C;YACH,CAAC,CAAC,IAAI,CAAA,EAAE;YACR,IAAI,CAAC,oBAAoB,EAAE;;;KAGlC,CAAA;IACH,CAAC;IAED,YAAY,CAAC,CAAQ;QACnB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAM;QACR,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YACnE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;YAClD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QACrD,CAAC;QACD,WAAW;aACN,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;YAClD,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;QACpD,CAAC;QACD,YAAY;aACP,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YACvG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YACjD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;YACjD,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,CAAQ;QAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAA;QACjD,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAA;QAC7D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,GAAG,MAAM,CAAA;IACjD,CAAC;IAED,oBAAoB,CAAC,CAAQ;QAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAA;QACjD,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAA;QAC7D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,GAAG,MAAM,CAAA;IACjD,CAAC;;AA/Ze;IAAf,KAAK,CAAC,OAAO,CAAC;2DAAmB;AACH;IAA9B,KAAK,CAAC,sBAAsB,CAAC;uEAA0B;AACxB;IAA/B,KAAK,CAAC,uBAAuB,CAAC;wEAA2B","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/i18n/ox-i18n.js'\n\nimport { html } from 'lit'\nimport { query } from 'lit/decorators.js'\n\nimport { MdIcon } from '@material/web/icon/icon.js'\n\nimport { InputChartAbstract } from './input-chart-abstract'\n\nexport class InputChartMultiSeriesAbstract extends InputChartAbstract {\n static styles = [...InputChartAbstract.styles]\n\n @query('#tabs') tabs!: HTMLElement\n @query('#tab-nav-left-button') tabNavLeftButton!: MdIcon\n @query('#tab-nav-right-button') tabNavRightButton!: MdIcon\n\n get tabContainer(): HTMLElement | null | undefined {\n return this.tabs\n }\n\n firstUpdated() {\n this.tabContainer?.addEventListener('scroll', e => {\n this._onTabScroll(e)\n })\n }\n\n subTemplate() {\n const configurer = this.configurer\n\n return html`\n <input id=\"multi-axis\" type=\"checkbox\" value-key=\"multiAxis\" ?checked=${configurer.multiAxis} />\n <label for=\"multi-axis\"> <ox-i18n msgid=\"label.multi-axis\">Multi Axis</ox-i18n> </label>\n\n <legend><ox-i18n msgid=\"label.series\">Series</ox-i18n></legend>\n\n ${this.multiSeriesTabTemplate()}\n\n <legend><ox-i18n msgid=\"label.x-axes\">X Axes</ox-i18n></legend>\n\n <label for=\"label-data-key\"> <ox-i18n msgid=\"label.data-key\">Data Key</ox-i18n> </label>\n <input id=\"label-data-key\" type=\"text\" value-key=\"labelDataKey\" .value=${configurer.labelDataKey || ''} />\n\n <label for=\"axis-title\"> <ox-i18n msgid=\"label.title\">Title</ox-i18n> </label>\n <input id=\"axis-title\" type=\"text\" value-key=\"xAxes0.axisTitle\" .value=${configurer.xAxes0.axisTitle || ''} />\n\n <label for=\"x-axes0-thickness\"> <ox-i18n msgid=\"label.thickness\">Thickness</ox-i18n> </label>\n <input\n id=\"x-axes0-thickness\"\n type=\"number\"\n value-key=\"xAxes0.barPercentage\"\n .value=${String(configurer.xAxes0.barPercentage || 0)}\n />\n\n <input\n for=\"grid-line\"\n type=\"checkbox\"\n value-key=\"value.options.xGridLine\"\n ?checked=${configurer.config.options?.xGridLine}\n />\n <label id=\"grid-line\"> <ox-i18n msgid=\"label.grid-line\">Grid Line</ox-i18n> </label>\n\n <input\n for=\"x-axes0-ticks-display\"\n type=\"checkbox\"\n value-key=\"xAxes0.ticks.display\"\n ?checked=${configurer.xAxes0.ticks?.display}\n />\n <label id=\"x-axes0-ticks-display\"> <ox-i18n msgid=\"label.display-tick\">Display Tick</ox-i18n> </label>\n\n <legend><ox-i18n msgid=\"label.y-axes\">Y Axes</ox-i18n></legend>\n\n <label for=\"y-axes0-axis-title\"> <ox-i18n msgid=\"label.title\">Title</ox-i18n> </label>\n <input\n id=\"y-axes0-axis-title\"\n type=\"text\"\n value-key=\"yAxes0.axisTitle\"\n .value=${configurer.yAxes0.axisTitle || ''}\n />\n\n <input\n id=\"y-axes0-ticks-automin\"\n type=\"checkbox\"\n value-key=\"yAxes0.ticks.autoMin\"\n ?checked=${configurer.yAxes0.ticks?.autoMin}\n />\n <label for=\"y-axes0-ticks-automin\"> <ox-i18n msgid=\"label.axis-min-auto\">Min Auto</ox-i18n> </label>\n\n <input\n id=\"y-axes0-ticks-automax\"\n type=\"checkbox\"\n value-key=\"yAxes0.ticks.autoMax\"\n ?checked=${configurer.yAxes0.ticks?.autoMax}\n />\n <label for=\"y-axes0-ticks-automax\"> <ox-i18n msgid=\"label.axis-max-auto\">Max Auto</ox-i18n> </label>\n\n ${!configurer.yAxes0.ticks?.autoMin\n ? html`\n <label for=\"y-axes0-ticks-min\"> <ox-i18n msgid=\"label.axis-min\">Min</ox-i18n> </label>\n <input\n id=\"y-axes0-ticks-min\"\n type=\"number\"\n value-key=\"yAxes0.ticks.min\"\n .value=${String(configurer.yAxes0.ticks?.min)}\n />\n `\n : html``}\n ${!configurer.yAxes0.ticks?.autoMax\n ? html`\n <label for=\"y-axes0-ticks-max\"> <ox-i18n msgid=\"label.axis-max\">Max</ox-i18n> </label>\n <input\n id=\"y-axes0-ticks-max\"\n type=\"number\"\n value-key=\"yAxes0.ticks.max\"\n .value=${String(configurer.yAxes0.ticks?.max)}\n />\n `\n : html``}\n\n <label for=\"y-axes0-ticks-step-size\"> <ox-i18n msgid=\"label.axis-step-size\">StepSize</ox-i18n> </label>\n <input\n id=\"y-axes0-ticks-step-size\"\n type=\"number\"\n value-key=\"yAxes0.ticks.stepSize\"\n .value=${String(configurer.yAxes0.ticks?.stepSize)}\n />\n\n <input\n id=\"y-grid-line\"\n type=\"checkbox\"\n value-key=\"value.options.yGridLine\"\n ?checked=${configurer.config.options?.yGridLine}\n />\n <label for=\"y-grid-line\"> <ox-i18n msgid=\"label.grid-line\">Grid Line</ox-i18n> </label>\n\n <input\n id=\"y-axes0-ticks-display\"\n type=\"checkbox\"\n value-key=\"yAxes0.ticks.display\"\n ?checked=${configurer.yAxes0.ticks?.display}\n />\n <label for=\"y-axes0-ticks-display\"> <ox-i18n msgid=\"label.display-tick\">Display Tick</ox-i18n> </label>\n\n ${configurer.config.options?.multiAxis\n ? html`\n <legend><ox-i18n msgid=\"label.y-2nd-axes\">Y 2nd Axes</ox-i18n></legend>\n\n <label for=\"y-axes1.axis-title\"> <ox-i18n msgid=\"label.title\">Title</ox-i18n> </label>\n <input\n id=\"y-axes1.axis-title\"\n type=\"text\"\n value-key=\"yAxes1.axisTitle\"\n .value=${configurer.yAxes1.axisTitle || ''}\n />\n\n <input\n id=\"axis-min-auto\"\n type=\"checkbox\"\n value-key=\"yAxes1.ticks.autoMin\"\n ?checked=${configurer.yAxes1.ticks?.autoMin}\n />\n <label for=\"axis-min-auto\"> <ox-i18n msgid=\"label.axis-min-auto\">Min Auto</ox-i18n> </label>\n\n <input\n id=\"axis-max-auto\"\n type=\"checkbox\"\n value-key=\"yAxes1.ticks.autoMax\"\n ?checked=${configurer.yAxes1.ticks?.autoMax}\n />\n <label for=\"axis-max-auto\"> <ox-i18n msgid=\"label.axis-max-auto\">Max Auto</ox-i18n> </label>\n\n ${!configurer.yAxes1.ticks?.autoMin\n ? html`\n <label for=\"y-axes1.ticks.min\"> <ox-i18n msgid=\"label.axis-min\">Min</ox-i18n> </label>\n <input\n id=\"y-axes1.ticks.min\"\n type=\"number\"\n value-key=\"yAxes1.ticks.min\"\n .value=${String(configurer.yAxes1.ticks?.min)}\n />\n `\n : html``}\n ${!configurer.yAxes1.ticks?.autoMax\n ? html`\n <label for=\"y-axes1-ticks-max\"> <ox-i18n msgid=\"label.axis-max\">Max</ox-i18n> </label>\n <input\n id=\"y-axes1-ticks-max\"\n type=\"number\"\n value-key=\"yAxes1.ticks.max\"\n .value=${String(configurer.yAxes1.ticks?.max)}\n />\n `\n : html``}\n\n <label for=\"y-axes1-ticks-step-size\"> <ox-i18n msgid=\"label.axis-step-size\">StepSize</ox-i18n> </label>\n <input\n id=\"y-axes1-ticks-step-size\"\n type=\"number\"\n value-key=\"yAxes1.ticks.stepSize\"\n .value=${String(configurer.yAxes1.ticks?.stepSize)}\n />\n\n <input\n id=\"y2nd-grid-line\"\n type=\"checkbox\"\n value-key=\"value.options.y2ndGridLine\"\n ?checked=${configurer.config.options.y2ndGridLine}\n />\n <label for=\"y2nd-grid-line\"> <ox-i18n msgid=\"label.grid-line\">Grid Line</ox-i18n> </label>\n\n <input\n id=\"y-axes1.ticks.display\"\n type=\"checkbox\"\n value-key=\"yAxes1.ticks.display\"\n ?checked=${configurer.yAxes1.ticks?.display}\n />\n <label for=\"y-axes1.ticks.display\"> <ox-i18n msgid=\"label.display-tick\">Display Tick</ox-i18n> </label>\n `\n : html``}\n `\n }\n\n multiSeriesTabTemplate() {\n const configurer = this.configurer\n\n return html`\n <div id=\"series-properties-container\" fullwidth>\n <div id=\"tab-header\">\n <md-icon\n id=\"tab-nav-left-button\"\n @tap=${(e: Event) => {\n this._onTabScrollNavLeft(e)\n }}\n disabled\n >chevron_left</md-icon\n >\n <div\n id=\"tabs\"\n @change=${(e: Event) => {\n configurer.currentSeriesIndex = (e.target as any).activeTabIndex\n }}\n active-tab-index=${configurer.currentSeriesIndex}\n fit-container\n >\n ${configurer.datasets.map(\n (dataset: any, index: number) => html`\n <div\n data-series=${index + 1}\n data-tab-index=${index}\n tab\n ?selected=${index == configurer.currentSeriesIndex}\n @click=${(e: Event) => {\n const target = e.target as HTMLDivElement\n this.configurer.setCurrentSeriesIndex(Number(target.getAttribute('data-tab-index')))\n this.value = { ...this.configurer.value }\n }}\n >\n ${index + 1}\n ${!configurer.datasets || (configurer.datasets.length != 1 && configurer.currentSeriesIndex == index)\n ? html` <md-icon @tap=${(e: Event) => this.onTapRemoveCurrentTab(index)}> close </md-icon> `\n : html``}\n </div>\n `\n )}\n </div>\n <md-icon\n id=\"tab-nav-right-button\"\n @click=${(e: Event) => {\n this._onTabScrollNavRight(e)\n }}\n disabled\n >chevron_right</md-icon\n >\n </div>\n <div id=\"add-series-button-container\">\n <md-icon id=\"add-series-button\" @tap=${(e: Event) => this.onTapAddTab(e)}>add</md-icon>\n </div>\n\n <div class=\"tab-content\">\n <label for=\"data-key\"> <ox-i18n msgid=\"label.data-key\">Data Key</ox-i18n> </label>\n <input id=\"data-key\" type=\"text\" value-key=\"dataKey\" .value=${configurer.dataKey || ''} />\n\n ${this.chartType == 'line' || this.chartType == 'bar'\n ? html`\n <label for=\"series-type\"> <ox-i18n msgid=\"label.series-type\">type</ox-i18n> </label>\n <select\n id=\"series-type\"\n class=\"select-content\"\n value-key=\"series.type\"\n .value=${configurer.series.type || ''}\n >\n <option value=\"bar\" selected>bar</option>\n <option value=\"line\">line</option>\n </select>\n `\n : html``}\n\n <label for=\"series-label\"> <ox-i18n msgid=\"label.label\">label</ox-i18n> </label>\n <input id=\"series-label\" type=\"text\" value-key=\"series.label\" .value=${configurer.series.label || ''} />\n\n ${configurer.series.type == 'line'\n ? html`\n <label for=\"series-line-tension\"> <ox-i18n msgid=\"label.line-tension\">line tension</ox-i18n> </label>\n <select\n id=\"series-line-tension\"\n class=\"select-content\"\n value-key=\"series.lineTension\"\n .value=${String(configurer.series.lineTension || 0)}\n >\n <option value=\"0.4\">smooth</option>\n <option value=\"0\">angled</option>\n </select>\n `\n : html``}\n ${configurer.series.type == 'line'\n ? html`\n <label for=\"series-border-width\"> <ox-i18n msgid=\"label.border-width\">border width</ox-i18n> </label>\n <input\n id=\"series-border-width\"\n type=\"number\"\n value-key=\"series.borderWidth\"\n .value=${String(configurer.series.borderWidth || 0)}\n />\n `\n : html``}\n\n <label for=\"series-color\"> <ox-i18n msgid=\"label.color\">color</ox-i18n> </label>\n <ox-input-color id=\"series-color\" value-key=\"color\" .value=${configurer.color}></ox-input-color>\n\n ${configurer.series.type == 'line'\n ? html`\n <label for=\"series-point-style\"> <ox-i18n msgid=\"label.point-shape\">point shape</ox-i18n> </label>\n <select\n id=\"series-point-style\"\n class=\"select-content\"\n value-key=\"series.pointStyle\"\n .value=${configurer.series.pointStyle || ''}\n >\n <option value=\"\"> </option>\n <option value=\"circle\">⚬</option>\n <option value=\"triangle\">▵</option>\n <option value=\"rect\">□</option>\n <option value=\"rectRot\">◇</option>\n <option value=\"cross\">+</option>\n <option value=\"crossRot\">⨉</option>\n <option value=\"star\">✱</option>\n <option value=\"line\">―</option>\n <option value=\"dash\">┄</option>\n </select>\n\n <label for=\"series-point-radius\"> <ox-i18n msgid=\"label.point-size\">point size</ox-i18n> </label>\n <input\n id=\"series-point-radius\"\n type=\"number\"\n value-key=\"series.pointRadius\"\n .value=${String(configurer.series.pointRadius || 0)}\n />\n `\n : html``} <label for=\"series-stack\"> <ox-i18n msgid=\"label.stack-group\">Stack group</ox-i18n> </label>\n <input id=\"series-stack\" type=\"text\" value-key=\"series.stack\" .value=${configurer.series.stack || ''} />\n ${configurer.series.type == 'line'\n ? html`\n <input id=\"seires-fill\" type=\"checkbox\" value-key=\"series.fill\" ?checked=${configurer.series.fill} />\n <label for=\"seires-fill\"> <ox-i18n msgid=\"label.fill\">fill</ox-i18n> </label>\n `\n : html``}\n ${configurer.multiAxis\n ? html`\n <label for=\"series-y-axis-id\"> <ox-i18n msgid=\"label.target-axis\">target axis</ox-i18n> </label>\n <select\n id=\"series-y-axis-id\"\n class=\"select-content\"\n value-key=\"series.yAxisID\"\n .value=${configurer.series.yAxisID || ''}\n >\n <option value=\"left\">left</option>\n <option value=\"right\">right</option>\n </select>\n `\n : html``}\n ${this.displayValueTemplate()}\n </div>\n </div>\n `\n }\n\n _onTabScroll(e: Event) {\n if (!this.tabContainer) {\n return\n }\n\n if (this.tabContainer.clientWidth == this.tabContainer.scrollWidth) {\n this.tabNavLeftButton.setAttribute('disabled', '')\n this.tabNavRightButton.setAttribute('disabled', '')\n }\n // left-end\n else if (this.tabContainer.scrollLeft == 0) {\n this.tabNavLeftButton.setAttribute('disabled', '')\n this.tabNavRightButton.removeAttribute('disabled')\n }\n // right-end\n else if (this.tabContainer.scrollLeft + this.tabContainer.clientWidth >= this.tabContainer.scrollWidth) {\n this.tabNavLeftButton.removeAttribute('disabled')\n this.tabNavRightButton.setAttribute('disabled', '')\n } else {\n this.tabNavLeftButton.removeAttribute('disabled')\n this.tabNavRightButton.removeAttribute('disabled')\n }\n }\n\n _onTabScrollNavLeft(e: Event) {\n if (!this.tabContainer) {\n return\n }\n\n this.tabContainer.style.scrollBehavior = 'smooth'\n this.tabContainer.scrollLeft -= this.tabContainer.clientWidth\n this.tabContainer.style.scrollBehavior = 'auto'\n }\n\n _onTabScrollNavRight(e: Event) {\n if (!this.tabContainer) {\n return\n }\n\n this.tabContainer.style.scrollBehavior = 'smooth'\n this.tabContainer.scrollLeft += this.tabContainer.clientWidth\n this.tabContainer.style.scrollBehavior = 'auto'\n }\n}\n"]}
|