@operato/chart 2.0.0-beta.25

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 (114) hide show
  1. package/.editorconfig +29 -0
  2. package/.storybook/main.js +3 -0
  3. package/.storybook/preview.js +29 -0
  4. package/.storybook/server.mjs +8 -0
  5. package/CHANGELOG.md +17 -0
  6. package/README.md +0 -0
  7. package/assets/images/icon-editor-gradient-direction.png +0 -0
  8. package/assets/images/icon-properties-label.png +0 -0
  9. package/assets/images/icon-properties-line-type.png +0 -0
  10. package/assets/images/icon-properties-table.png +0 -0
  11. package/assets/images/no-image.png +0 -0
  12. package/demo/index.html +33 -0
  13. package/dist/src/chartjs/config-converter.d.ts +29 -0
  14. package/dist/src/chartjs/config-converter.js +218 -0
  15. package/dist/src/chartjs/config-converter.js.map +1 -0
  16. package/dist/src/chartjs/ox-chart-js.d.ts +17 -0
  17. package/dist/src/chartjs/ox-chart-js.js +46 -0
  18. package/dist/src/chartjs/ox-chart-js.js.map +1 -0
  19. package/dist/src/editors/configurer.d.ts +52 -0
  20. package/dist/src/editors/configurer.js +198 -0
  21. package/dist/src/editors/configurer.js.map +1 -0
  22. package/dist/src/editors/index.d.ts +6 -0
  23. package/dist/src/editors/index.js +8 -0
  24. package/dist/src/editors/index.js.map +1 -0
  25. package/dist/src/editors/input-chart-abstract.d.ts +27 -0
  26. package/dist/src/editors/input-chart-abstract.js +273 -0
  27. package/dist/src/editors/input-chart-abstract.js.map +1 -0
  28. package/dist/src/editors/input-chart-multi-series-abstract.d.ts +17 -0
  29. package/dist/src/editors/input-chart-multi-series-abstract.js +418 -0
  30. package/dist/src/editors/input-chart-multi-series-abstract.js.map +1 -0
  31. package/dist/src/editors/input-chart-styles.d.ts +1 -0
  32. package/dist/src/editors/input-chart-styles.js +167 -0
  33. package/dist/src/editors/input-chart-styles.js.map +1 -0
  34. package/dist/src/editors/ox-input-chart-hbar.d.ts +11 -0
  35. package/dist/src/editors/ox-input-chart-hbar.js +220 -0
  36. package/dist/src/editors/ox-input-chart-hbar.js.map +1 -0
  37. package/dist/src/editors/ox-input-chart-mixed.d.ts +8 -0
  38. package/dist/src/editors/ox-input-chart-mixed.js +237 -0
  39. package/dist/src/editors/ox-input-chart-mixed.js.map +1 -0
  40. package/dist/src/editors/ox-input-chart-pie.d.ts +11 -0
  41. package/dist/src/editors/ox-input-chart-pie.js +67 -0
  42. package/dist/src/editors/ox-input-chart-pie.js.map +1 -0
  43. package/dist/src/editors/ox-input-chart-radar.d.ts +8 -0
  44. package/dist/src/editors/ox-input-chart-radar.js +52 -0
  45. package/dist/src/editors/ox-input-chart-radar.js.map +1 -0
  46. package/dist/src/editors/ox-property-editor-chart.d.ts +10 -0
  47. package/dist/src/editors/ox-property-editor-chart.js +79 -0
  48. package/dist/src/editors/ox-property-editor-chart.js.map +1 -0
  49. package/dist/src/index.d.ts +0 -0
  50. package/dist/src/index.js +2 -0
  51. package/dist/src/index.js.map +1 -0
  52. package/dist/src/scichart/ox-scichart.d.ts +35 -0
  53. package/dist/src/scichart/ox-scichart.js +122 -0
  54. package/dist/src/scichart/ox-scichart.js.map +1 -0
  55. package/dist/src/scichart/scichart-builder.d.ts +8 -0
  56. package/dist/src/scichart/scichart-builder.js +46 -0
  57. package/dist/src/scichart/scichart-builder.js.map +1 -0
  58. package/dist/stories/common.d.ts +2 -0
  59. package/dist/stories/common.js +44 -0
  60. package/dist/stories/common.js.map +1 -0
  61. package/dist/stories/ox-input-chart-hbar.stories.d.ts +25 -0
  62. package/dist/stories/ox-input-chart-hbar.stories.js +171 -0
  63. package/dist/stories/ox-input-chart-hbar.stories.js.map +1 -0
  64. package/dist/stories/ox-input-chart-mixed.stories.d.ts +25 -0
  65. package/dist/stories/ox-input-chart-mixed.stories.js +180 -0
  66. package/dist/stories/ox-input-chart-mixed.stories.js.map +1 -0
  67. package/dist/stories/ox-input-chart-pie.stories.d.ts +27 -0
  68. package/dist/stories/ox-input-chart-pie.stories.js +111 -0
  69. package/dist/stories/ox-input-chart-pie.stories.js.map +1 -0
  70. package/dist/stories/ox-input-chart-radar.stories.d.ts +27 -0
  71. package/dist/stories/ox-input-chart-radar.stories.js +122 -0
  72. package/dist/stories/ox-input-chart-radar.stories.js.map +1 -0
  73. package/dist/tsconfig.tsbuildinfo +1 -0
  74. package/package.json +104 -0
  75. package/src/chartjs/config-converter.ts +307 -0
  76. package/src/chartjs/ox-chart-js.ts +46 -0
  77. package/src/editors/configurer.ts +243 -0
  78. package/src/editors/index.ts +8 -0
  79. package/src/editors/input-chart-abstract.ts +315 -0
  80. package/src/editors/input-chart-multi-series-abstract.ts +429 -0
  81. package/src/editors/input-chart-styles.ts +167 -0
  82. package/src/editors/ox-input-chart-hbar.ts +226 -0
  83. package/src/editors/ox-input-chart-mixed.ts +240 -0
  84. package/src/editors/ox-input-chart-pie.ts +75 -0
  85. package/src/editors/ox-input-chart-radar.ts +54 -0
  86. package/src/editors/ox-property-editor-chart.ts +79 -0
  87. package/src/globat.d.ts +1 -0
  88. package/src/index.ts +0 -0
  89. package/src/scichart/ox-scichart.ts +143 -0
  90. package/src/scichart/scichart-builder.ts +87 -0
  91. package/src/types.d.ts +74 -0
  92. package/stories/common.ts +47 -0
  93. package/stories/ox-input-chart-hbar.stories.ts +185 -0
  94. package/stories/ox-input-chart-mixed.stories.ts +194 -0
  95. package/stories/ox-input-chart-pie.stories.ts +126 -0
  96. package/stories/ox-input-chart-radar.stories.ts +137 -0
  97. package/themes/dark-hc.css +151 -0
  98. package/themes/dark-mc.css +151 -0
  99. package/themes/dark.css +151 -0
  100. package/themes/grist-theme.css +177 -0
  101. package/themes/light-hc.css +151 -0
  102. package/themes/light-mc.css +151 -0
  103. package/themes/light.css +151 -0
  104. package/themes/md-typescale-styles.css +100 -0
  105. package/themes/spacing.css +43 -0
  106. package/themes/state-color.css +6 -0
  107. package/translations/en.json +44 -0
  108. package/translations/ja.json +44 -0
  109. package/translations/ko.json +44 -0
  110. package/translations/ms.json +8 -0
  111. package/translations/zh.json +44 -0
  112. package/tsconfig.json +24 -0
  113. package/web-dev-server.config.mjs +27 -0
  114. package/web-test-runner.config.mjs +41 -0
@@ -0,0 +1,220 @@
1
+ import { __decorate } from "tslib";
2
+ import '@material/web/icon/icon.js';
3
+ import '@operato/input/ox-input-color.js';
4
+ import '@operato/i18n/ox-i18n.js';
5
+ import { html } from 'lit';
6
+ import { customElement } from 'lit/decorators.js';
7
+ import { ifDefined } from 'lit/directives/if-defined.js';
8
+ import { InputChartMultiSeriesAbstract } from './input-chart-multi-series-abstract';
9
+ let OxInputChartHBar = class OxInputChartHBar extends InputChartMultiSeriesAbstract {
10
+ static { this.styles = [...InputChartMultiSeriesAbstract.styles]; }
11
+ getChartType() {
12
+ return 'horizontalBar';
13
+ }
14
+ subTemplate() {
15
+ const configurer = this.configurer;
16
+ return html `
17
+ <legend><ox-i18n msgid="label.series">Series</ox-i18n></legend>
18
+ ${this.multiSeriesTabTemplate()}
19
+
20
+ <legend><ox-i18n msgid="label.y-axes">Y Axes</ox-i18n></legend>
21
+
22
+ <label for="label-data-key"> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
23
+ <input id="label-data-key" type="text" value-key="labelDataKey" value=${ifDefined(configurer.labelDataKey)} />
24
+
25
+ <label for="y-axes0-axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
26
+ <input
27
+ id="y-axes0-axis-title"
28
+ type="text"
29
+ value-key="yAxes0.axisTitle"
30
+ value=${ifDefined(configurer.yAxes0.axisTitle)}
31
+ />
32
+
33
+ <label for="y-axes0-bar-spacing"><ox-i18n msgid="label.bar-spacing">Bar Spacing</ox-i18n></label>
34
+ <input
35
+ id="y-axes0-bar-spacing"
36
+ type="number"
37
+ min="0"
38
+ max="1"
39
+ step="0.1"
40
+ value-key="yAxes0.barSpacing"
41
+ value=${ifDefined(configurer.yAxes0.barSpacing)}
42
+ />
43
+ <label for="y-axes0-category-spacing"><ox-i18n msgid="label.tick-spacing">Tick Spacing</ox-i18n></label>
44
+ <input
45
+ id="y-axes0-category-spacing"
46
+ type="number"
47
+ min="0"
48
+ max="1"
49
+ step="0.1"
50
+ value-key="yAxes0.categorySpacing"
51
+ value=${ifDefined(configurer.yAxes0.categorySpacing)}
52
+ />
53
+
54
+ <input
55
+ id="x-grid-line"
56
+ type="checkbox"
57
+ value-key="value.options.xGridLine"
58
+ ?checked=${configurer.config.options?.xGridLine}
59
+ />
60
+ <label for="x-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
61
+
62
+ <input
63
+ id="x-axes0-ticks-display"
64
+ type="checkbox"
65
+ value-key="xAxes0.ticks.display"
66
+ ?checked=${configurer.xAxes0.ticks?.display}
67
+ />
68
+ <label for="x-axes0-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
69
+
70
+ <legend><ox-i18n msgid="label.x-axes">X Axes</ox-i18n></legend>
71
+
72
+ <label for="x-axes0-axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
73
+ <input
74
+ id="x-axes0-axis-title"
75
+ type="text"
76
+ value-key="xAxes0.axisTitle"
77
+ .value=${configurer.xAxes0.axisTitle || ''}
78
+ />
79
+
80
+ <input
81
+ id="x-axes0-axis-min-auto"
82
+ type="checkbox"
83
+ value-key="xAxes0.ticks.autoMin"
84
+ ?checked=${configurer.xAxes0.ticks?.autoMin}
85
+ />
86
+ <label for="x-axes0-axis-min-auto"> <ox-i18n msgid="label.axis-min-auto">Axis Min Auto</ox-i18n> </label>
87
+
88
+ <input
89
+ id="x-axes0-ticks-auto-max"
90
+ type="checkbox"
91
+ value-key="xAxes0.ticks.autoMax"
92
+ ?checked=${configurer.xAxes0.ticks?.autoMax}
93
+ />
94
+ <label for="x-axes0-ticks-auto-max"> <ox-i18n msgid="label.axis-max-auto">Axis Max Auto</ox-i18n> </label>
95
+
96
+ ${!configurer.xAxes0.ticks?.autoMin
97
+ ? html `
98
+ <label for="x-axes0-ticks-min"> <ox-i18n msgid="label.axis-min">Axis Min</ox-i18n> </label>
99
+ <input
100
+ id="x-axes0-ticks-min"
101
+ type="number"
102
+ value-key="xAxes0.ticks.min"
103
+ value=${ifDefined(configurer.xAxes0.ticks?.min)}
104
+ />
105
+ `
106
+ : html ``}
107
+ ${!configurer.xAxes0.ticks?.autoMax
108
+ ? html `
109
+ <label for="x-axes0-ticks-max"> <ox-i18n msgid="label.axis-max">Axis Max</ox-i18n> </label>
110
+ <input
111
+ id="x-axes0-ticks-max"
112
+ type="number"
113
+ value-key="xAxes0.ticks.max"
114
+ value=${ifDefined(configurer.xAxes0.ticks?.max)}
115
+ />
116
+ `
117
+ : html ``}
118
+
119
+ <label for="y-axes0-ticks-step-size"> <ox-i18n msgid="label.axis-step-size">Axis Step Size</ox-i18n> </label>
120
+ <input
121
+ id="y-axes0-ticks-step-size"
122
+ type="number"
123
+ value-key="yAxes0.ticks.stepSize"
124
+ value=${ifDefined(configurer.yAxes0.ticks?.stepSize)}
125
+ />
126
+
127
+ <input
128
+ id="y-grid-line"
129
+ type="checkbox"
130
+ value-key="value.options.yGridLine"
131
+ ?checked=${configurer.config.options?.yGridLine}
132
+ />
133
+ <label for="y-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
134
+
135
+ <input
136
+ id="y-axes0-ticks-display"
137
+ type="checkbox"
138
+ value-key="yAxes0.ticks.display"
139
+ ?checked=${configurer.yAxes0.ticks?.display}
140
+ />
141
+ <label for="y-axes0-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
142
+ `;
143
+ }
144
+ multiSeriesTabTemplate() {
145
+ const configurer = this.configurer;
146
+ return html `
147
+ <div id="series-properties-container" fullwidth>
148
+ <div id="tab-header">
149
+ <md-icon
150
+ id="tab-nav-left-button"
151
+ @tap=${(e) => {
152
+ this._onTabScrollNavLeft(e);
153
+ }}
154
+ disabled
155
+ >chevron_left</md-icon
156
+ >
157
+ <div
158
+ id="tabs"
159
+ @change=${(e) => {
160
+ configurer.currentSeriesIndex = e.target.activeTabIndex;
161
+ }}
162
+ active-tab-index=${configurer.currentSeriesIndex}
163
+ fit-container
164
+ >
165
+ ${configurer.datasets.map((dataset, index) => html `
166
+ <div
167
+ data-series=${index + 1}
168
+ data-tab-index=${index}
169
+ tab
170
+ ?selected=${index == configurer.currentSeriesIndex}
171
+ @click=${(e) => {
172
+ const target = e.target;
173
+ this.configurer.setCurrentSeriesIndex(Number(target.getAttribute('data-tab-index')));
174
+ this.value = { ...this.configurer.value };
175
+ }}
176
+ >
177
+ ${index + 1}
178
+ ${!configurer.datasets || (configurer.datasets.length != 1 && configurer.currentSeriesIndex == index)
179
+ ? html ` <md-icon @tap="${(e) => this.onTapRemoveCurrentTab(e)}"> close </md-icon> `
180
+ : html ``}
181
+ </div>
182
+ `)}
183
+ </div>
184
+ <md-icon
185
+ id="tab-nav-right-button"
186
+ @click=${(e) => {
187
+ this._onTabScrollNavRight(e);
188
+ }}
189
+ disabled
190
+ >chevron_right</md-icon
191
+ >
192
+ </div>
193
+ <div id="add-series-button-container">
194
+ <md-icon id="add-series-button" @tap=${(e) => this.onTapAddTab(e)}>add</md-icon>
195
+ </div>
196
+
197
+ <div class="tab-content">
198
+ <label for="data-key"> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
199
+ <input id="data-key" type="text" value-key="dataKey" .value=${configurer.dataKey || ''} />
200
+ <label for="series-label"> <ox-i18n msgid="label.label">Label</ox-i18n> </label>
201
+ <input id="series-label" type="text" value-key="series.label" .value=${configurer.series.label || ''} />
202
+ <label for="series-color"> <ox-i18n msgid="label.color">Color</ox-i18n> </label>
203
+ <ox-input-color id="series-color" value-key="color" .value=${configurer.color || '#000'}></ox-input-color>
204
+ <label for="series-stack"> <ox-i18n msgid="label.stack-group">Stack Group</ox-i18n> </label>
205
+ <input id="series-stack" type="text" value-key="series.stack" .value=${configurer.series.stack || ''} />
206
+
207
+ ${this.displayValueTemplate()}
208
+ </div>
209
+ </div>
210
+ `;
211
+ }
212
+ getDefaultDatasets() {
213
+ return [this.getDefaultDataset('horizontalBar')];
214
+ }
215
+ };
216
+ OxInputChartHBar = __decorate([
217
+ customElement('ox-input-chart-hbar')
218
+ ], OxInputChartHBar);
219
+ export { OxInputChartHBar };
220
+ //# sourceMappingURL=ox-input-chart-hbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-input-chart-hbar.js","sourceRoot":"","sources":["../../../src/editors/ox-input-chart-hbar.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/input/ox-input-color.js'\nimport '@operato/i18n/ox-i18n.js'\n\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { InputChartMultiSeriesAbstract } from './input-chart-multi-series-abstract'\n\n@customElement('ox-input-chart-hbar')\nexport class OxInputChartHBar extends InputChartMultiSeriesAbstract {\n static styles = [...InputChartMultiSeriesAbstract.styles]\n\n getChartType(): 'bar' | 'horizontalBar' | 'line' | 'radar' | 'pie' | 'mixed' {\n return 'horizontalBar'\n }\n\n subTemplate() {\n const configurer = this.configurer\n\n return html`\n <legend><ox-i18n msgid=\"label.series\">Series</ox-i18n></legend>\n ${this.multiSeriesTabTemplate()}\n\n <legend><ox-i18n msgid=\"label.y-axes\">Y 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=${ifDefined(configurer.labelDataKey)} />\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=${ifDefined(configurer.yAxes0.axisTitle)}\n />\n\n <label for=\"y-axes0-bar-spacing\"><ox-i18n msgid=\"label.bar-spacing\">Bar Spacing</ox-i18n></label>\n <input\n id=\"y-axes0-bar-spacing\"\n type=\"number\"\n min=\"0\"\n max=\"1\"\n step=\"0.1\"\n value-key=\"yAxes0.barSpacing\"\n value=${ifDefined(configurer.yAxes0.barSpacing)}\n />\n <label for=\"y-axes0-category-spacing\"><ox-i18n msgid=\"label.tick-spacing\">Tick Spacing</ox-i18n></label>\n <input\n id=\"y-axes0-category-spacing\"\n type=\"number\"\n min=\"0\"\n max=\"1\"\n step=\"0.1\"\n value-key=\"yAxes0.categorySpacing\"\n value=${ifDefined(configurer.yAxes0.categorySpacing)}\n />\n\n <input\n id=\"x-grid-line\"\n type=\"checkbox\"\n value-key=\"value.options.xGridLine\"\n ?checked=${configurer.config.options?.xGridLine}\n />\n <label for=\"x-grid-line\"> <ox-i18n msgid=\"label.grid-line\">Grid Line</ox-i18n> </label>\n\n <input\n id=\"x-axes0-ticks-display\"\n type=\"checkbox\"\n value-key=\"xAxes0.ticks.display\"\n ?checked=${configurer.xAxes0.ticks?.display}\n />\n <label for=\"x-axes0-ticks-display\"> <ox-i18n msgid=\"label.display-tick\">Display Tick</ox-i18n> </label>\n\n <legend><ox-i18n msgid=\"label.x-axes\">X Axes</ox-i18n></legend>\n\n <label for=\"x-axes0-axis-title\"> <ox-i18n msgid=\"label.title\">Title</ox-i18n> </label>\n <input\n id=\"x-axes0-axis-title\"\n type=\"text\"\n value-key=\"xAxes0.axisTitle\"\n .value=${configurer.xAxes0.axisTitle || ''}\n />\n\n <input\n id=\"x-axes0-axis-min-auto\"\n type=\"checkbox\"\n value-key=\"xAxes0.ticks.autoMin\"\n ?checked=${configurer.xAxes0.ticks?.autoMin}\n />\n <label for=\"x-axes0-axis-min-auto\"> <ox-i18n msgid=\"label.axis-min-auto\">Axis Min Auto</ox-i18n> </label>\n\n <input\n id=\"x-axes0-ticks-auto-max\"\n type=\"checkbox\"\n value-key=\"xAxes0.ticks.autoMax\"\n ?checked=${configurer.xAxes0.ticks?.autoMax}\n />\n <label for=\"x-axes0-ticks-auto-max\"> <ox-i18n msgid=\"label.axis-max-auto\">Axis Max Auto</ox-i18n> </label>\n\n ${!configurer.xAxes0.ticks?.autoMin\n ? html`\n <label for=\"x-axes0-ticks-min\"> <ox-i18n msgid=\"label.axis-min\">Axis Min</ox-i18n> </label>\n <input\n id=\"x-axes0-ticks-min\"\n type=\"number\"\n value-key=\"xAxes0.ticks.min\"\n value=${ifDefined(configurer.xAxes0.ticks?.min)}\n />\n `\n : html``}\n ${!configurer.xAxes0.ticks?.autoMax\n ? html`\n <label for=\"x-axes0-ticks-max\"> <ox-i18n msgid=\"label.axis-max\">Axis Max</ox-i18n> </label>\n <input\n id=\"x-axes0-ticks-max\"\n type=\"number\"\n value-key=\"xAxes0.ticks.max\"\n value=${ifDefined(configurer.xAxes0.ticks?.max)}\n />\n `\n : html``}\n\n <label for=\"y-axes0-ticks-step-size\"> <ox-i18n msgid=\"label.axis-step-size\">Axis Step Size</ox-i18n> </label>\n <input\n id=\"y-axes0-ticks-step-size\"\n type=\"number\"\n value-key=\"yAxes0.ticks.stepSize\"\n value=${ifDefined(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 }\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(e)}\"> 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 <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 <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 || '#000'}></ox-input-color>\n <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\n ${this.displayValueTemplate()}\n </div>\n </div>\n `\n }\n\n getDefaultDatasets(): OperatoChart.Dataset[] {\n return [this.getDefaultDataset('horizontalBar')]\n }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import '@operato/i18n/ox-i18n.js';
2
+ import { InputChartMultiSeriesAbstract } from './input-chart-multi-series-abstract';
3
+ export declare class OxInputChartMixed extends InputChartMultiSeriesAbstract {
4
+ static styles: import("lit").CSSResult[];
5
+ getChartType(): 'bar' | 'line' | 'pie' | 'radar' | 'mixed';
6
+ subTemplate(): import("lit-html").TemplateResult<1>;
7
+ _hasBarSeries(config: any): boolean;
8
+ }
@@ -0,0 +1,237 @@
1
+ import { __decorate } from "tslib";
2
+ import '@operato/i18n/ox-i18n.js';
3
+ import { html } from 'lit';
4
+ import { customElement } from 'lit/decorators.js';
5
+ import { ifDefined } from 'lit/directives/if-defined.js';
6
+ import { InputChartMultiSeriesAbstract } from './input-chart-multi-series-abstract';
7
+ let OxInputChartMixed = class OxInputChartMixed extends InputChartMultiSeriesAbstract {
8
+ static { this.styles = InputChartMultiSeriesAbstract.styles; }
9
+ getChartType() {
10
+ return 'mixed';
11
+ }
12
+ subTemplate() {
13
+ const configurer = this.configurer;
14
+ return html `
15
+ <input id="multi-axis" type="checkbox" value-key="multiAxis" ?checked=${configurer.multiAxis} />
16
+ <label for="multi-axis"> <ox-i18n msgid="label.multi-axis">Multi Axis</ox-i18n> </label>
17
+
18
+ <legend><ox-i18n msgid="label.series">Series</ox-i18n></legend>
19
+
20
+ <div fullwidth>${this.multiSeriesTabTemplate()}</div>
21
+
22
+ <legend><ox-i18n msgid="label.x-axes">X Axes</ox-i18n></legend>
23
+
24
+ <label for="series-data-key"> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
25
+ <input id="series-data-key" type="text" value-key="labelDataKey" value=${ifDefined(configurer.labelDataKey)} />
26
+
27
+ <label for="x-axes0-axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
28
+ <input
29
+ id="x-axes0-axis-title"
30
+ type="text"
31
+ value-key="xAxes0.axisTitle"
32
+ value=${ifDefined(configurer.xAxes0.axisTitle)}
33
+ />
34
+
35
+ ${this._hasBarSeries(configurer.value)
36
+ ? html `
37
+ <label for="bar-spacing"><ox-i18n msgid="label.bar-spacing">Bar Spacing</ox-i18n></label>
38
+ <input
39
+ id="bar-spacing"
40
+ type="number"
41
+ min="0"
42
+ max="1"
43
+ step="0.1"
44
+ value-key="xAxes0.barSpacing"
45
+ value=${ifDefined(configurer.xAxes0.barSpacing)}
46
+ />
47
+ <label for="tick-spacing"><ox-i18n msgid="label.tick-spacing">Tick Spacing</ox-i18n></label>
48
+ <input
49
+ id="tick-spacing"
50
+ type="number"
51
+ min="0"
52
+ max="1"
53
+ step="0.1"
54
+ value-key="xAxes0.categorySpacing"
55
+ value=${ifDefined(configurer.xAxes0.categorySpacing)}
56
+ />
57
+ `
58
+ : html ``}
59
+
60
+ <input
61
+ id="x-grid-line"
62
+ type="checkbox"
63
+ value-key="value.options.xGridLine"
64
+ ?checked=${configurer.config.options?.xGridLine}
65
+ />
66
+ <label for="x-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
67
+
68
+ <input
69
+ id="x-axes0-ticks-display"
70
+ type="checkbox"
71
+ value-key="xAxes0.ticks.display"
72
+ ?checked=${configurer.xAxes0.ticks?.display}
73
+ />
74
+ <label for="x-axes0-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
75
+
76
+ <legend><ox-i18n msgid="label.y-axes">Y Axes</ox-i18n></legend>
77
+
78
+ <label for="y-axes0-axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
79
+ <input
80
+ id="y-axes0-axis-title"
81
+ type="text"
82
+ value-key="yAxes0.axisTitle"
83
+ value=${configurer.yAxes0.axisTitle || ''}
84
+ />
85
+
86
+ <input
87
+ id="axis-min-auto"
88
+ type="checkbox"
89
+ value-key="yAxes0.ticks.autoMin"
90
+ ?checked=${configurer.yAxes0.ticks?.autoMin}
91
+ />
92
+ <label for="axis-min-auto"> <ox-i18n msgid="label.axis-min-auto">Min Auto</ox-i18n> </label>
93
+
94
+ <input
95
+ id="axis-max-auto"
96
+ type="checkbox"
97
+ value-key="yAxes0.ticks.autoMax"
98
+ ?checked=${configurer.yAxes0.ticks?.autoMax}
99
+ />
100
+ <label for="axis-max-auto"> <ox-i18n msgid="label.axis-max-auto">Max Auto</ox-i18n> </label>
101
+
102
+ ${!configurer.yAxes0.ticks?.autoMin
103
+ ? html `
104
+ <label for="y-axes0-ticks-min"> <ox-i18n msgid="label.axis-min">Min</ox-i18n> </label>
105
+ <input
106
+ id="y-axes0-ticks-min"
107
+ type="number"
108
+ value-key="yAxes0.ticks.min"
109
+ value=${ifDefined(configurer.yAxes0.ticks?.min)}
110
+ />
111
+ `
112
+ : html ``}
113
+ ${!configurer.yAxes0.ticks?.autoMax
114
+ ? html `
115
+ <label for="y-axes0-ticks-max"> <ox-i18n msgid="label.axis-max">Max</ox-i18n> </label>
116
+ <input
117
+ id="y-axes0-ticks-max"
118
+ type="number"
119
+ value-key="yAxes0.ticks.max"
120
+ value=${ifDefined(configurer.yAxes0.ticks?.max)}
121
+ />
122
+ `
123
+ : html ``}
124
+
125
+ <label for="y-axes0-ticks-step-size"> <ox-i18n msgid="label.axis-step-size">StepSize</ox-i18n> </label>
126
+ <input
127
+ id="y-axes0-ticks-step-size"
128
+ type="number"
129
+ value-key="yAxes0.ticks.stepSize"
130
+ value=${ifDefined(configurer.yAxes0.ticks?.stepSize)}
131
+ />
132
+
133
+ <input
134
+ id="y-grid-line"
135
+ type="checkbox"
136
+ value-key="value.options.yGridLine"
137
+ ?checked=${configurer.config.options?.yGridLine}
138
+ />
139
+ <label for="y-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
140
+
141
+ <input
142
+ id="y-axes0-ticks-display"
143
+ type="checkbox"
144
+ value-key="yAxes0.ticks.display"
145
+ ?checked=${configurer.yAxes0.ticks?.display}
146
+ />
147
+ <label for="y-axes0-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
148
+
149
+ ${configurer.config.options?.multiAxis
150
+ ? html `
151
+ <legend><ox-i18n msgid="label.y-2nd-axes">Y 2nd Axes</ox-i18n></legend>
152
+
153
+ <label for="y-axes1.axis-title"> <ox-i18n msgid="label.title">Title</ox-i18n> </label>
154
+ <input
155
+ id="y-axes1.axis-title"
156
+ type="text"
157
+ value-key="yAxes1.axisTitle"
158
+ value=${ifDefined(configurer.yAxes1?.axisTitle)}
159
+ />
160
+
161
+ <input
162
+ id="y-axes1-ticks-auto-min"
163
+ type="checkbox"
164
+ value-key="yAxes1.ticks.autoMin"
165
+ ?checked=${configurer.yAxes1?.ticks?.autoMin}
166
+ />
167
+ <label for="y-axes1-ticks-auto-min"> <ox-i18n msgid="label.axis-min-auto">Min Auto</ox-i18n> </label>
168
+
169
+ <input
170
+ id="y-axes1-ticks-auto-max"
171
+ type="checkbox"
172
+ value-key="yAxes1.ticks.autoMax"
173
+ ?checked=${configurer.yAxes1?.ticks?.autoMax}
174
+ />
175
+ <label for="y-axes1-ticks-auto-max"> <ox-i18n msgid="label.axis-max-auto">Max Auto</ox-i18n> </label>
176
+
177
+ ${!configurer.yAxes1?.ticks?.autoMin
178
+ ? html `
179
+ <label for="y-axes1-ticks-min"> <ox-i18n msgid="label.axis-min">Min</ox-i18n> </label>
180
+ <input
181
+ id="y-axes1-ticks-min"
182
+ type="number"
183
+ value-key="yAxes1.ticks.min"
184
+ value=${ifDefined(configurer.yAxes1?.ticks?.min)}
185
+ />
186
+ `
187
+ : html ``}
188
+ ${!configurer.yAxes1?.ticks?.autoMax
189
+ ? html `
190
+ <label for="y-axes1-ticks-max"> <ox-i18n msgid="label.axis-max">Max</ox-i18n> </label>
191
+ <input
192
+ id="y-axes1-ticks-max"
193
+ type="number"
194
+ value-key="yAxes1.ticks.max"
195
+ value=${ifDefined(configurer.yAxes1?.ticks?.max)}
196
+ />
197
+ `
198
+ : html ``}
199
+
200
+ <label for="y-axes1-ticks-step-size"> <ox-i18n msgid="label.axis-step-size">StepSize</ox-i18n> </label>
201
+ <input
202
+ id="y-axes1-ticks-step-size"
203
+ type="number"
204
+ value-key="yAxes1.ticks.stepSize"
205
+ value=${ifDefined(configurer.yAxes1?.ticks?.stepSize)}
206
+ />
207
+
208
+ <input
209
+ id="y-2nd-grid-line"
210
+ type="checkbox"
211
+ value-key="value.options.y2ndGridLine"
212
+ ?checked=${configurer.config.options?.y2ndGridLine}
213
+ />
214
+ <label for="y-2nd-grid-line"> <ox-i18n msgid="label.grid-line">Grid Line</ox-i18n> </label>
215
+
216
+ <input
217
+ id="y-axes1-ticks-display"
218
+ type="checkbox"
219
+ value-key="yAxes1.ticks.display"
220
+ ?checked=${configurer.yAxes1?.ticks?.display}
221
+ />
222
+ <label for="y-axes1-ticks-display"> <ox-i18n msgid="label.display-tick">Display Tick</ox-i18n> </label>
223
+ `
224
+ : html ``}
225
+ `;
226
+ }
227
+ _hasBarSeries(config) {
228
+ var hasBarSeries = false;
229
+ hasBarSeries = config.data.datasets?.some((s) => s.type == 'bar');
230
+ return hasBarSeries;
231
+ }
232
+ };
233
+ OxInputChartMixed = __decorate([
234
+ customElement('ox-input-chart-mixed')
235
+ ], OxInputChartMixed);
236
+ export { OxInputChartMixed };
237
+ //# sourceMappingURL=ox-input-chart-mixed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-input-chart-mixed.js","sourceRoot":"","sources":["../../../src/editors/ox-input-chart-mixed.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/i18n/ox-i18n.js'\n\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { InputChartMultiSeriesAbstract } from './input-chart-multi-series-abstract'\n\n@customElement('ox-input-chart-mixed')\nexport class OxInputChartMixed extends InputChartMultiSeriesAbstract {\n static styles = InputChartMultiSeriesAbstract.styles\n\n getChartType(): 'bar' | 'line' | 'pie' | 'radar' | 'mixed' {\n return 'mixed'\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 <div fullwidth>${this.multiSeriesTabTemplate()}</div>\n\n <legend><ox-i18n msgid=\"label.x-axes\">X Axes</ox-i18n></legend>\n\n <label for=\"series-data-key\"> <ox-i18n msgid=\"label.data-key\">Data Key</ox-i18n> </label>\n <input id=\"series-data-key\" type=\"text\" value-key=\"labelDataKey\" value=${ifDefined(configurer.labelDataKey)} />\n\n <label for=\"x-axes0-axis-title\"> <ox-i18n msgid=\"label.title\">Title</ox-i18n> </label>\n <input\n id=\"x-axes0-axis-title\"\n type=\"text\"\n value-key=\"xAxes0.axisTitle\"\n value=${ifDefined(configurer.xAxes0.axisTitle)}\n />\n\n ${this._hasBarSeries(configurer.value)\n ? html`\n <label for=\"bar-spacing\"><ox-i18n msgid=\"label.bar-spacing\">Bar Spacing</ox-i18n></label>\n <input\n id=\"bar-spacing\"\n type=\"number\"\n min=\"0\"\n max=\"1\"\n step=\"0.1\"\n value-key=\"xAxes0.barSpacing\"\n value=${ifDefined(configurer.xAxes0.barSpacing)}\n />\n <label for=\"tick-spacing\"><ox-i18n msgid=\"label.tick-spacing\">Tick Spacing</ox-i18n></label>\n <input\n id=\"tick-spacing\"\n type=\"number\"\n min=\"0\"\n max=\"1\"\n step=\"0.1\"\n value-key=\"xAxes0.categorySpacing\"\n value=${ifDefined(configurer.xAxes0.categorySpacing)}\n />\n `\n : html``}\n\n <input\n id=\"x-grid-line\"\n type=\"checkbox\"\n value-key=\"value.options.xGridLine\"\n ?checked=${configurer.config.options?.xGridLine}\n />\n <label for=\"x-grid-line\"> <ox-i18n msgid=\"label.grid-line\">Grid Line</ox-i18n> </label>\n\n <input\n id=\"x-axes0-ticks-display\"\n type=\"checkbox\"\n value-key=\"xAxes0.ticks.display\"\n ?checked=${configurer.xAxes0.ticks?.display}\n />\n <label for=\"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=\"axis-min-auto\"\n type=\"checkbox\"\n value-key=\"yAxes0.ticks.autoMin\"\n ?checked=${configurer.yAxes0.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=\"yAxes0.ticks.autoMax\"\n ?checked=${configurer.yAxes0.ticks?.autoMax}\n />\n <label for=\"axis-max-auto\"> <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=${ifDefined(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=${ifDefined(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=${ifDefined(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=${ifDefined(configurer.yAxes1?.axisTitle)}\n />\n\n <input\n id=\"y-axes1-ticks-auto-min\"\n type=\"checkbox\"\n value-key=\"yAxes1.ticks.autoMin\"\n ?checked=${configurer.yAxes1?.ticks?.autoMin}\n />\n <label for=\"y-axes1-ticks-auto-min\"> <ox-i18n msgid=\"label.axis-min-auto\">Min Auto</ox-i18n> </label>\n\n <input\n id=\"y-axes1-ticks-auto-max\"\n type=\"checkbox\"\n value-key=\"yAxes1.ticks.autoMax\"\n ?checked=${configurer.yAxes1?.ticks?.autoMax}\n />\n <label for=\"y-axes1-ticks-auto-max\"> <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=${ifDefined(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=${ifDefined(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=${ifDefined(configurer.yAxes1?.ticks?.stepSize)}\n />\n\n <input\n id=\"y-2nd-grid-line\"\n type=\"checkbox\"\n value-key=\"value.options.y2ndGridLine\"\n ?checked=${configurer.config.options?.y2ndGridLine}\n />\n <label for=\"y-2nd-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 _hasBarSeries(config: any) {\n var hasBarSeries = false\n hasBarSeries = config.data.datasets?.some((s: any) => s.type == 'bar')\n\n return hasBarSeries\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import '@operato/i18n/ox-i18n.js';
2
+ import '@operato/input/ox-input-multiple-colors.js';
3
+ import { InputChartAbstract } from './input-chart-abstract';
4
+ export default class OxInputChartPie extends InputChartAbstract {
5
+ static styles: import("lit").CSSResult[];
6
+ getChartType(): 'bar' | 'line' | 'pie' | 'radar';
7
+ subTemplate(): import("lit-html").TemplateResult<1>;
8
+ getDefaultChartConfig(type: 'bar' | 'horizontalBar' | 'line' | 'radar' | 'pie' | 'mixed', datasets?: OperatoChart.Dataset[]): OperatoChart.ChartConfig;
9
+ getDefaultDatasets(): OperatoChart.Dataset[];
10
+ getDefaultDataset(seriesType: 'bar' | 'horizontalBar' | 'line' | 'radar' | 'pie'): OperatoChart.Dataset;
11
+ }
@@ -0,0 +1,67 @@
1
+ import { __decorate } from "tslib";
2
+ import '@operato/i18n/ox-i18n.js';
3
+ import '@operato/input/ox-input-multiple-colors.js';
4
+ import { html } from 'lit';
5
+ import { customElement } from 'lit/decorators.js';
6
+ import { InputChartAbstract } from './input-chart-abstract';
7
+ let OxInputChartPie = class OxInputChartPie extends InputChartAbstract {
8
+ static { this.styles = InputChartAbstract.styles; }
9
+ getChartType() {
10
+ return 'pie';
11
+ }
12
+ subTemplate() {
13
+ const configurer = this.configurer;
14
+ return html `
15
+ <legend><ox-i18n msgid="label.series">Series</ox-i18n></legend>
16
+
17
+ <label for="series-data-key"> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
18
+ <input id="series-data-key" type="text" value-key="dataKey" .value=${configurer.series.dataKey || ''} />
19
+
20
+ <label for="series-colors"> <ox-i18n msgid="label.color">Color</ox-i18n> </label>
21
+ <ox-input-multiple-colors
22
+ id="series-colors"
23
+ value-key="color"
24
+ .value=${configurer.color || []}
25
+ ></ox-input-multiple-colors>
26
+
27
+ ${this.displayValueTemplate()}
28
+
29
+ <legend><ox-i18n msgid="label.axes">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=${configurer.labelDataKey || ''} />
33
+ `;
34
+ }
35
+ getDefaultChartConfig(type, datasets) {
36
+ return {
37
+ type: 'pie',
38
+ data: {
39
+ labels: [],
40
+ datasets: this.getDefaultDatasets(),
41
+ labelDataKey: 'label'
42
+ },
43
+ options: {
44
+ theme: 'dark',
45
+ legend: {
46
+ display: true,
47
+ position: 'top'
48
+ }
49
+ }
50
+ };
51
+ }
52
+ getDefaultDatasets() {
53
+ return [this.getDefaultDataset('pie')];
54
+ }
55
+ getDefaultDataset(seriesType) {
56
+ return {
57
+ backgroundColor: ['#FF6384', '#36A2EB', '#FFCE56'],
58
+ borderWidth: 0,
59
+ dataKey: 'value'
60
+ };
61
+ }
62
+ };
63
+ OxInputChartPie = __decorate([
64
+ customElement('ox-input-chart-pie')
65
+ ], OxInputChartPie);
66
+ export default OxInputChartPie;
67
+ //# sourceMappingURL=ox-input-chart-pie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ox-input-chart-pie.js","sourceRoot":"","sources":["../../../src/editors/ox-input-chart-pie.ts"],"names":[],"mappings":";AAAA,OAAO,0BAA0B,CAAA;AACjC,OAAO,4CAA4C,CAAA;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAG5C,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,kBAAkB;aACtD,WAAM,GAAG,kBAAkB,CAAC,MAAM,AAA5B,CAA4B;IAEzC,YAAY;QACV,OAAO,KAAK,CAAA;IACd,CAAC;IAED,WAAW;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAElC,OAAO,IAAI,CAAA;;;;2EAI4D,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;;;;;;iBAMzF,UAAU,CAAC,KAAK,IAAI,EAAE;;;QAG/B,IAAI,CAAC,oBAAoB,EAAE;;;;;gFAK6C,UAAU,CAAC,YAAY,IAAI,EAAE;KACxG,CAAA;IACH,CAAC;IAED,qBAAqB,CACnB,IAAkE,EAClE,QAAiC;QAEjC,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE;gBACJ,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE;gBACnC,YAAY,EAAE,OAAO;aACtB;YACD,OAAO,EAAE;gBACP,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,KAAK;iBAChB;aACF;SACF,CAAA;IACH,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,iBAAiB,CAAC,UAA8D;QAC9E,OAAO;YACL,eAAe,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;YAClD,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,OAAO;SACjB,CAAA;IACH,CAAC;;AA/DkB,eAAe;IADnC,aAAa,CAAC,oBAAoB,CAAC;GACf,eAAe,CAgEnC;eAhEoB,eAAe","sourcesContent":["import '@operato/i18n/ox-i18n.js'\nimport '@operato/input/ox-input-multiple-colors.js'\n\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { InputChartAbstract } from './input-chart-abstract'\n\n@customElement('ox-input-chart-pie')\nexport default class OxInputChartPie extends InputChartAbstract {\n static styles = InputChartAbstract.styles\n\n getChartType(): 'bar' | 'line' | 'pie' | 'radar' {\n return 'pie'\n }\n\n subTemplate() {\n const configurer = this.configurer\n\n return html`\n <legend><ox-i18n msgid=\"label.series\">Series</ox-i18n></legend>\n\n <label for=\"series-data-key\"> <ox-i18n msgid=\"label.data-key\">Data Key</ox-i18n> </label>\n <input id=\"series-data-key\" type=\"text\" value-key=\"dataKey\" .value=${configurer.series.dataKey || ''} />\n\n <label for=\"series-colors\"> <ox-i18n msgid=\"label.color\">Color</ox-i18n> </label>\n <ox-input-multiple-colors\n id=\"series-colors\"\n value-key=\"color\"\n .value=${configurer.color || []}\n ></ox-input-multiple-colors>\n\n ${this.displayValueTemplate()}\n\n <legend><ox-i18n msgid=\"label.axes\">Axes</ox-i18n></legend>\n\n <label for=\"series-data-key\"> <ox-i18n msgid=\"label.data-key\">Data Key</ox-i18n> </label>\n <input id=\"series-data-key\" type=\"text\" value-key=\"labelDataKey\" .value=${configurer.labelDataKey || ''} />\n `\n }\n\n getDefaultChartConfig(\n type: 'bar' | 'horizontalBar' | 'line' | 'radar' | 'pie' | 'mixed',\n datasets?: OperatoChart.Dataset[]\n ): OperatoChart.ChartConfig {\n return {\n type: 'pie',\n data: {\n labels: [],\n datasets: this.getDefaultDatasets(),\n labelDataKey: 'label'\n },\n options: {\n theme: 'dark',\n legend: {\n display: true,\n position: 'top'\n }\n }\n }\n }\n\n getDefaultDatasets(): OperatoChart.Dataset[] {\n return [this.getDefaultDataset('pie')]\n }\n\n getDefaultDataset(seriesType: 'bar' | 'horizontalBar' | 'line' | 'radar' | 'pie'): OperatoChart.Dataset {\n return {\n backgroundColor: ['#FF6384', '#36A2EB', '#FFCE56'],\n borderWidth: 0,\n dataKey: 'value'\n }\n }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import '@operato/i18n/ox-i18n.js';
2
+ import { InputChartMultiSeriesAbstract } from './input-chart-multi-series-abstract';
3
+ export default class OxInputChartRadar extends InputChartMultiSeriesAbstract {
4
+ static styles: import("lit").CSSResult[];
5
+ getChartType(): 'bar' | 'line' | 'pie' | 'radar';
6
+ subTemplate(): import("lit-html").TemplateResult<1>;
7
+ getDefaultDatasets(): OperatoChart.Dataset[];
8
+ }