@operato/chart 7.0.16 → 7.0.17
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 +9 -0
- package/dist/src/editors/input-chart-abstract.d.ts +2 -2
- package/dist/src/editors/input-chart-abstract.js +267 -258
- package/dist/src/editors/input-chart-abstract.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/editors/input-chart-abstract.ts +328 -312
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
### [7.0.17](https://github.com/hatiolab/operato/compare/v7.0.16...v7.0.17) (2024-07-14)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :bug: Bug Fix
|
|
10
|
+
|
|
11
|
+
* apply keyed directive for chart modeling input ([21caa4d](https://github.com/hatiolab/operato/commit/21caa4d1886b084cc89ac7bbe398555c3044d338))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
6
15
|
### [7.0.16](https://github.com/hatiolab/operato/compare/v7.0.15...v7.0.16) (2024-07-14)
|
|
7
16
|
|
|
8
17
|
|
|
@@ -38,8 +38,8 @@ export declare class InputChartAbstract extends OxFormField {
|
|
|
38
38
|
lastSeriesColor: TinyColor;
|
|
39
39
|
}): any;
|
|
40
40
|
_getElementValue(element: HTMLElement): any;
|
|
41
|
-
annotationsTabTemplate(): import("lit-html").
|
|
42
|
-
multiSeriesTabTemplate(): import("lit-html").
|
|
41
|
+
annotationsTabTemplate(): import("lit-html/directive").DirectiveResult<typeof import("lit-html/directives/keyed").Keyed>;
|
|
42
|
+
multiSeriesTabTemplate(): import("lit-html/directive").DirectiveResult<typeof import("lit-html/directives/keyed").Keyed>;
|
|
43
43
|
_onTabScroll(e: Event, type: 'series' | 'annotations'): void;
|
|
44
44
|
_onTabScrollNavLeft(e: Event, type: 'series' | 'annotations'): void;
|
|
45
45
|
_onTabScrollNavRight(e: Event, type: 'series' | 'annotations'): void;
|
|
@@ -2,6 +2,7 @@ import { __decorate } from "tslib";
|
|
|
2
2
|
import '@operato/i18n/ox-i18n.js';
|
|
3
3
|
import { html } from 'lit';
|
|
4
4
|
import { property, query } from 'lit/decorators.js';
|
|
5
|
+
import { keyed } from 'lit/directives/keyed.js';
|
|
5
6
|
import { random as randomColor, TinyColor } from '@ctrl/tinycolor';
|
|
6
7
|
import { InputChartStyles } from './input-chart-styles';
|
|
7
8
|
import { Configurer } from './configurer';
|
|
@@ -334,323 +335,331 @@ export class InputChartAbstract extends OxFormField {
|
|
|
334
335
|
annotationsTabTemplate() {
|
|
335
336
|
const configurer = this.configurer;
|
|
336
337
|
const currentAnnotation = configurer.annotations[configurer.currentAnnotationIndex] || {};
|
|
337
|
-
return html `
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
338
|
+
return keyed(configurer.currentAnnotationIndex, html `
|
|
339
|
+
<div id="annotations-properties-container" fullwidth>
|
|
340
|
+
<div id="annotations-tab-header">
|
|
341
|
+
<md-icon
|
|
342
|
+
id="annotations-tab-nav-left-button"
|
|
343
|
+
@tap=${(e) => {
|
|
343
344
|
this._onTabScrollNavLeft(e, 'annotations');
|
|
344
345
|
}}
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
346
|
+
disabled
|
|
347
|
+
>chevron_left</md-icon
|
|
348
|
+
>
|
|
349
|
+
<div
|
|
350
|
+
id="annotations-tabs"
|
|
351
|
+
@change=${(e) => {
|
|
351
352
|
configurer.currentAnnotationIndex = e.target.activeTabIndex;
|
|
352
353
|
}}
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
354
|
+
active-tab-index=${configurer.currentAnnotationIndex}
|
|
355
|
+
fit-container
|
|
356
|
+
>
|
|
357
|
+
${configurer.annotations.map((annotation, index) => html `
|
|
358
|
+
<div
|
|
359
|
+
data-annotation=${index + 1}
|
|
360
|
+
data-tab-index=${index}
|
|
361
|
+
tab
|
|
362
|
+
?selected=${index == configurer.currentAnnotationIndex}
|
|
363
|
+
@click=${(e) => {
|
|
363
364
|
const target = e.target;
|
|
364
365
|
this.configurer.setCurrentAnnotationIndex(Number(target.getAttribute('data-tab-index')));
|
|
365
366
|
this.value = { ...this.configurer.value };
|
|
366
367
|
}}
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
368
|
+
>
|
|
369
|
+
${index + 1}
|
|
370
|
+
${!configurer.annotations ||
|
|
370
371
|
(configurer.annotations.length != 1 && configurer.currentAnnotationIndex == index)
|
|
371
|
-
? html `
|
|
372
|
+
? html `
|
|
373
|
+
<md-icon @tap=${(e) => this.onTapRemoveCurrentAnnotation(index)}> close </md-icon>
|
|
374
|
+
`
|
|
372
375
|
: html ``}
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
376
|
+
</div>
|
|
377
|
+
`)}
|
|
378
|
+
</div>
|
|
379
|
+
<md-icon
|
|
380
|
+
id="annotations-tab-nav-right-button"
|
|
381
|
+
@click=${(e) => {
|
|
379
382
|
this._onTabScrollNavRight(e, 'annotations');
|
|
380
383
|
}}
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
384
|
+
disabled
|
|
385
|
+
>chevron_right</md-icon
|
|
386
|
+
>
|
|
387
|
+
</div>
|
|
388
|
+
<div id="add-annotation-button-container">
|
|
389
|
+
<md-icon id="add-annotation-button" @tap=${(e) => this.onTapAddAnnotation(e)}>add</md-icon>
|
|
390
|
+
</div>
|
|
388
391
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
392
|
+
<div class="tab-content">
|
|
393
|
+
<label for="annotation-type"> <ox-i18n msgid="label.chart-annotation-type">Type</ox-i18n> </label>
|
|
394
|
+
<select
|
|
395
|
+
id="annotation-type"
|
|
396
|
+
class="select-content"
|
|
397
|
+
value-key="annotation.type"
|
|
398
|
+
.value=${currentAnnotation.type || ''}
|
|
399
|
+
>
|
|
400
|
+
<option value="line">Line</option>
|
|
401
|
+
<option value="text">Text</option>
|
|
402
|
+
<option value="box">Box</option>
|
|
403
|
+
<option value="horizontalLine">Horizontal Line</option>
|
|
404
|
+
<option value="verticalLine">Vertical Line</option>
|
|
405
|
+
<option value="custom">Custom</option>
|
|
406
|
+
</select>
|
|
404
407
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
408
|
+
<label for="annotation-x1">X1</label>
|
|
409
|
+
<input
|
|
410
|
+
id="annotation-x1"
|
|
411
|
+
type="number"
|
|
412
|
+
value-key="annotation.x1"
|
|
413
|
+
.value=${String(currentAnnotation.x1 || 0)}
|
|
414
|
+
/>
|
|
412
415
|
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
416
|
+
<label for="annotation-y1">Y1</label>
|
|
417
|
+
<input
|
|
418
|
+
id="annotation-y1"
|
|
419
|
+
type="number"
|
|
420
|
+
value-key="annotation.y1"
|
|
421
|
+
.value=${String(currentAnnotation.y1 || 0)}
|
|
422
|
+
/>
|
|
420
423
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
424
|
+
<label for="annotation-x2">X2</label>
|
|
425
|
+
<input
|
|
426
|
+
id="annotation-x2"
|
|
427
|
+
type="number"
|
|
428
|
+
value-key="annotation.x2"
|
|
429
|
+
.value=${String(currentAnnotation.x2 || 0)}
|
|
430
|
+
/>
|
|
428
431
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
432
|
+
<label for="annotation-y2">Y2</label>
|
|
433
|
+
<input
|
|
434
|
+
id="annotation-y2"
|
|
435
|
+
type="number"
|
|
436
|
+
value-key="annotation.y2"
|
|
437
|
+
.value=${String(currentAnnotation.y2 || 0)}
|
|
438
|
+
/>
|
|
436
439
|
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
440
|
+
<label for="annotation-stroke"> <ox-i18n msgid="label.stroke-style">Stroke Style</ox-i18n> </label>
|
|
441
|
+
<ox-input-color
|
|
442
|
+
id="annotation-stroke"
|
|
443
|
+
value-key="annotation.stroke"
|
|
444
|
+
.value=${currentAnnotation.stroke}
|
|
445
|
+
></ox-input-color>
|
|
443
446
|
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
447
|
+
<label for="annotation-stroke-thickness">
|
|
448
|
+
<ox-i18n msgid="label.stroke-thickness">Stroke Thickness</ox-i18n>
|
|
449
|
+
</label>
|
|
450
|
+
<input
|
|
451
|
+
id="annotation-stroke-thickness"
|
|
452
|
+
type="number"
|
|
453
|
+
value-key="annotation.strokeThickness"
|
|
454
|
+
.value=${String(currentAnnotation.strokeThickness || 1)}
|
|
455
|
+
/>
|
|
453
456
|
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
457
|
+
<label for="annotation-fill"> <ox-i18n msgid="label.fill">Fill</ox-i18n> </label>
|
|
458
|
+
<ox-input-color
|
|
459
|
+
id="annotation-fill"
|
|
460
|
+
value-key="annotation.fill"
|
|
461
|
+
.value=${currentAnnotation.fill}
|
|
462
|
+
></ox-input-color>
|
|
460
463
|
|
|
461
|
-
|
|
462
|
-
|
|
464
|
+
<label for="annotation-text"> <ox-i18n msgid="label.annotation-text">Text</ox-i18n> </label>
|
|
465
|
+
<input
|
|
466
|
+
id="annotation-text"
|
|
467
|
+
type="text"
|
|
468
|
+
value-key="annotation.text"
|
|
469
|
+
.value=${currentAnnotation.text || ''}
|
|
470
|
+
/>
|
|
463
471
|
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
472
|
+
<label for="annotation-horizontal-anchor">
|
|
473
|
+
<ox-i18n msgid="label.horizontal-anchor">Horizontal Anchor</ox-i18n>
|
|
474
|
+
</label>
|
|
475
|
+
<select
|
|
476
|
+
id="annotation-horizontal-anchor"
|
|
477
|
+
class="select-content"
|
|
478
|
+
value-key="annotation.horizontalAnchorPoint"
|
|
479
|
+
.value=${currentAnnotation.horizontalAnchorPoint || ''}
|
|
480
|
+
>
|
|
481
|
+
<option value="Left">Left</option>
|
|
482
|
+
<option value="Center">Center</option>
|
|
483
|
+
<option value="Right">Right</option>
|
|
484
|
+
</select>
|
|
477
485
|
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
486
|
+
<label for="annotation-vertical-anchor">
|
|
487
|
+
<ox-i18n msgid="label.vertical-anchor">Vertical Anchor</ox-i18n>
|
|
488
|
+
</label>
|
|
489
|
+
<select
|
|
490
|
+
id="annotation-vertical-anchor"
|
|
491
|
+
class="select-content"
|
|
492
|
+
value-key="annotation.verticalAnchorPoint"
|
|
493
|
+
.value=${currentAnnotation.verticalAnchorPoint || ''}
|
|
494
|
+
>
|
|
495
|
+
<option value="Top">Top</option>
|
|
496
|
+
<option value="Center">Center</option>
|
|
497
|
+
<option value="Bottom">Bottom</option>
|
|
498
|
+
</select>
|
|
499
|
+
</div>
|
|
491
500
|
</div>
|
|
492
|
-
|
|
493
|
-
`;
|
|
501
|
+
`);
|
|
494
502
|
}
|
|
495
503
|
multiSeriesTabTemplate() {
|
|
496
504
|
const configurer = this.configurer;
|
|
497
|
-
return html `
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
505
|
+
return keyed(configurer.currentSeriesIndex, html `
|
|
506
|
+
<div id="series-properties-container" fullwidth>
|
|
507
|
+
<div id="series-tab-header">
|
|
508
|
+
<md-icon
|
|
509
|
+
id="series-tab-nav-left-button"
|
|
510
|
+
@tap=${(e) => {
|
|
503
511
|
this._onTabScrollNavLeft(e, 'series');
|
|
504
512
|
}}
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
513
|
+
disabled
|
|
514
|
+
>chevron_left</md-icon
|
|
515
|
+
>
|
|
516
|
+
<div
|
|
517
|
+
id="series-tabs"
|
|
518
|
+
@change=${(e) => {
|
|
511
519
|
configurer.currentSeriesIndex = e.target.activeTabIndex;
|
|
512
520
|
}}
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
521
|
+
active-tab-index=${configurer.currentSeriesIndex}
|
|
522
|
+
fit-container
|
|
523
|
+
>
|
|
524
|
+
${configurer.datasets.map((dataset, index) => html `
|
|
525
|
+
<div
|
|
526
|
+
data-series=${index + 1}
|
|
527
|
+
data-tab-index=${index}
|
|
528
|
+
tab
|
|
529
|
+
?selected=${index == configurer.currentSeriesIndex}
|
|
530
|
+
@click=${(e) => {
|
|
523
531
|
const target = e.target;
|
|
524
532
|
this.configurer.setCurrentSeriesIndex(Number(target.getAttribute('data-tab-index')));
|
|
525
533
|
this.value = { ...this.configurer.value };
|
|
526
534
|
}}
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
535
|
+
>
|
|
536
|
+
${index + 1}
|
|
537
|
+
${!configurer.datasets ||
|
|
538
|
+
(configurer.datasets.length != 1 && configurer.currentSeriesIndex == index)
|
|
530
539
|
? html ` <md-icon @tap=${(e) => this.onTapRemoveCurrentTab(index)}> close </md-icon> `
|
|
531
540
|
: html ``}
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
541
|
+
</div>
|
|
542
|
+
`)}
|
|
543
|
+
</div>
|
|
544
|
+
<md-icon
|
|
545
|
+
id="series-tab-nav-right-button"
|
|
546
|
+
@click=${(e) => {
|
|
538
547
|
this._onTabScrollNavRight(e, 'series');
|
|
539
548
|
}}
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
549
|
+
disabled
|
|
550
|
+
>chevron_right</md-icon
|
|
551
|
+
>
|
|
552
|
+
</div>
|
|
553
|
+
<div id="add-series-button-container">
|
|
554
|
+
<md-icon id="add-series-button" @tap=${(e) => this.onTapAddTab(e)}>add</md-icon>
|
|
555
|
+
</div>
|
|
547
556
|
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
557
|
+
<div class="tab-content">
|
|
558
|
+
<label for="data-key"> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
|
|
559
|
+
<input id="data-key" type="text" value-key="dataKey" .value=${configurer.dataKey || ''} />
|
|
551
560
|
|
|
552
|
-
|
|
561
|
+
${this.chartType == 'line' || this.chartType == 'bar'
|
|
553
562
|
? html `
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
563
|
+
<label for="series-type"> <ox-i18n msgid="label.series-type">Type</ox-i18n> </label>
|
|
564
|
+
<select
|
|
565
|
+
id="series-type"
|
|
566
|
+
class="select-content"
|
|
567
|
+
value-key="series.type"
|
|
568
|
+
.value=${configurer.series.type || ''}
|
|
569
|
+
>
|
|
570
|
+
<option value="bar" selected>Bar</option>
|
|
571
|
+
<option value="line">Line</option>
|
|
572
|
+
</select>
|
|
573
|
+
`
|
|
565
574
|
: html ``}
|
|
566
575
|
|
|
567
|
-
|
|
568
|
-
|
|
576
|
+
<label for="series-label"> <ox-i18n msgid="label.label">Label</ox-i18n> </label>
|
|
577
|
+
<input id="series-label" type="text" value-key="series.label" .value=${configurer.series.label || ''} />
|
|
569
578
|
|
|
570
|
-
|
|
579
|
+
${configurer.series.type == 'line'
|
|
571
580
|
? html `
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
581
|
+
<label for="series-line-tension"> <ox-i18n msgid="label.line-tension">Line Tension</ox-i18n> </label>
|
|
582
|
+
<select
|
|
583
|
+
id="series-line-tension"
|
|
584
|
+
class="select-content"
|
|
585
|
+
value-key="series.lineTension"
|
|
586
|
+
.value=${String(configurer.series.lineTension || 0)}
|
|
587
|
+
>
|
|
588
|
+
<option value="0.4">Smooth</option>
|
|
589
|
+
<option value="0">Angled</option>
|
|
590
|
+
</select>
|
|
591
|
+
`
|
|
583
592
|
: html ``}
|
|
584
|
-
|
|
593
|
+
${configurer.series.type == 'line'
|
|
585
594
|
? html `
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
595
|
+
<label for="series-border-width"> <ox-i18n msgid="label.border-width">Border Width</ox-i18n> </label>
|
|
596
|
+
<input
|
|
597
|
+
id="series-border-width"
|
|
598
|
+
type="number"
|
|
599
|
+
value-key="series.borderWidth"
|
|
600
|
+
.value=${String(configurer.series.borderWidth || 0)}
|
|
601
|
+
/>
|
|
602
|
+
`
|
|
594
603
|
: html ``}
|
|
595
604
|
|
|
596
|
-
|
|
597
|
-
|
|
605
|
+
<label for="series-color"> <ox-i18n msgid="label.color">Color</ox-i18n> </label>
|
|
606
|
+
<ox-input-color id="series-color" value-key="color" .value=${configurer.color}></ox-input-color>
|
|
598
607
|
|
|
599
|
-
|
|
608
|
+
${configurer.series.type == 'line'
|
|
600
609
|
? html `
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
610
|
+
<label for="series-point-style"> <ox-i18n msgid="label.point-shape">Point Shape</ox-i18n> </label>
|
|
611
|
+
<select
|
|
612
|
+
id="series-point-style"
|
|
613
|
+
class="select-content"
|
|
614
|
+
value-key="series.pointStyle"
|
|
615
|
+
.value=${configurer.series.pointStyle || ''}
|
|
616
|
+
>
|
|
617
|
+
<option value=""> </option>
|
|
618
|
+
<option value="circle">⚬</option>
|
|
619
|
+
<option value="triangle">▵</option>
|
|
620
|
+
<option value="rect">□</option>
|
|
621
|
+
<option value="rectRot">◇</option>
|
|
622
|
+
<option value="cross">+</option>
|
|
623
|
+
<option value="crossRot">⨉</option>
|
|
624
|
+
<option value="star">✱</option>
|
|
625
|
+
<option value="line">―</option>
|
|
626
|
+
<option value="dash">┄</option>
|
|
627
|
+
</select>
|
|
619
628
|
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
629
|
+
<label for="series-point-radius"> <ox-i18n msgid="label.point-size">Point Size</ox-i18n> </label>
|
|
630
|
+
<input
|
|
631
|
+
id="series-point-radius"
|
|
632
|
+
type="number"
|
|
633
|
+
value-key="series.pointRadius"
|
|
634
|
+
.value=${String(configurer.series.pointRadius || 0)}
|
|
635
|
+
/>
|
|
636
|
+
`
|
|
628
637
|
: html ``} <label for="series-stack"> <ox-i18n msgid="label.stack-group">Stack group</ox-i18n> </label>
|
|
629
|
-
|
|
630
|
-
|
|
638
|
+
<input id="series-stack" type="text" value-key="series.stack" .value=${configurer.series.stack || ''} />
|
|
639
|
+
${configurer.series.type == 'line'
|
|
631
640
|
? html `
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
641
|
+
<input id="seires-fill" type="checkbox" value-key="series.fill" ?checked=${configurer.series.fill} />
|
|
642
|
+
<label for="seires-fill"> <ox-i18n msgid="label.fill">Fill</ox-i18n> </label>
|
|
643
|
+
`
|
|
635
644
|
: html ``}
|
|
636
|
-
|
|
645
|
+
${configurer.multiAxis
|
|
637
646
|
? html `
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
647
|
+
<label for="series-y-axis-id"> <ox-i18n msgid="label.target-axis">Target Axis</ox-i18n> </label>
|
|
648
|
+
<select
|
|
649
|
+
id="series-y-axis-id"
|
|
650
|
+
class="select-content"
|
|
651
|
+
value-key="series.yAxisID"
|
|
652
|
+
.value=${configurer.series.yAxisID || ''}
|
|
653
|
+
>
|
|
654
|
+
<option value="left">Left</option>
|
|
655
|
+
<option value="right">Right</option>
|
|
656
|
+
</select>
|
|
657
|
+
`
|
|
649
658
|
: html ``}
|
|
650
|
-
|
|
659
|
+
${this.displayValueTemplate()}
|
|
660
|
+
</div>
|
|
651
661
|
</div>
|
|
652
|
-
|
|
653
|
-
`;
|
|
662
|
+
`);
|
|
654
663
|
}
|
|
655
664
|
_onTabScroll(e, type) {
|
|
656
665
|
let tabContainer;
|