@progress/kendo-angular-chart-wizard 16.9.0-develop.11 → 16.9.0-develop.12

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.
@@ -3,27 +3,28 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
- import { Injectable, EventEmitter, Component, ChangeDetectionStrategy, Input, Output, HostBinding, ViewChild, Directive, HostListener, NgModule } from '@angular/core';
6
+ import { Injectable, Component, ChangeDetectionStrategy, ViewChild, Input, EventEmitter, Output, HostBinding, Directive, HostListener, NgModule } from '@angular/core';
7
7
  import { shouldShowValidationUI, WatermarkOverlayComponent, isPresent, ResizeBatchService } from '@progress/kendo-angular-common';
8
- import * as i2 from '@progress/kendo-angular-l10n';
8
+ import * as i2$1 from '@progress/kendo-angular-l10n';
9
9
  import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
10
10
  import { validatePackage } from '@progress/kendo-licensing';
11
11
  import { Subscription } from 'rxjs';
12
+ import { ChartWizardCommon } from '@progress/kendo-charts';
12
13
  import { trashIcon, plusIcon, exportIcon, chartBarClusteredIcon, chartBarStackedIcon, chartBarStacked100Icon, chartPieIcon, chartColumnClusteredIcon, chartColumnStackedIcon, chartColumnStacked100Icon, chartLineIcon, chartLineStackedIcon, chartLineStacked100Icon, chartScatterIcon, filePdfIcon, fileIcon, fileImageIcon } from '@progress/kendo-svg-icons';
13
- import { ChartComponent, TitleComponent, SubtitleComponent, ChartAreaComponent, CategoryAxisComponent, CategoryAxisItemComponent, ValueAxisComponent, ValueAxisItemComponent, SeriesComponent, SeriesItemComponent, XAxisComponent, XAxisItemComponent, YAxisComponent, YAxisItemComponent, LegendComponent, ThemeService } from '@progress/kendo-angular-charts';
14
+ import { ChartComponent, TitleComponent, SubtitleComponent, ChartAreaComponent, CategoryAxisComponent, CategoryAxisItemComponent, ValueAxisComponent, ValueAxisItemComponent, SeriesComponent, SeriesItemComponent, LegendComponent, XAxisComponent, XAxisItemComponent, YAxisComponent, YAxisItemComponent, ThemeService } from '@progress/kendo-angular-charts';
14
15
  import { saveAs } from '@progress/kendo-file-saver';
15
16
  import { exportPDF } from '@progress/kendo-drawing';
16
- import { DropDownListComponent, ComboBoxComponent, ValueTemplateDirective } from '@progress/kendo-angular-dropdowns';
17
- import { NumericTextBoxComponent, ColorPickerComponent, TextBoxComponent, CheckBoxComponent, SwitchComponent } from '@progress/kendo-angular-inputs';
18
- import { LabelComponent } from '@progress/kendo-angular-label';
19
- import { NgIf, NgFor } from '@angular/common';
20
- import { ExpansionPanelComponent, SplitterComponent, SplitterPaneComponent, TabStripComponent, TabStripTabComponent, TabContentDirective } from '@progress/kendo-angular-layout';
21
- import * as i2$1 from '@angular/forms';
17
+ import * as i2 from '@angular/forms';
22
18
  import * as i1 from '@progress/kendo-angular-grid';
23
19
  import { GridComponent, ReactiveEditingDirective, DataBindingDirective, ToolbarTemplateDirective, RowReorderColumnComponent, ColumnComponent, CommandColumnComponent, CellTemplateDirective, GridToolbarFocusableDirective, RemoveCommandDirective } from '@progress/kendo-angular-grid';
20
+ import { NgIf, NgFor } from '@angular/common';
21
+ import { ExpansionPanelComponent, SplitterComponent, SplitterPaneComponent, TabStripComponent, TabStripTabComponent, TabContentDirective } from '@progress/kendo-angular-layout';
22
+ import { DropDownListComponent, ValueTemplateDirective, ComboBoxComponent } from '@progress/kendo-angular-dropdowns';
24
23
  import { ButtonComponent, FocusableDirective, DropDownButtonComponent } from '@progress/kendo-angular-buttons';
25
24
  import { SVGIconComponent, IconsService } from '@progress/kendo-angular-icons';
26
25
  import { WindowComponent, DialogContainerService, DialogService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
26
+ import { NumericTextBoxComponent, ColorPickerComponent, TextBoxComponent, CheckBoxComponent, SwitchComponent } from '@progress/kendo-angular-inputs';
27
+ import { LabelComponent } from '@progress/kendo-angular-label';
27
28
  import { PopupService } from '@progress/kendo-angular-popup';
28
29
  import { getter } from '@progress/kendo-common';
29
30
 
@@ -34,525 +35,63 @@ const packageMetadata = {
34
35
  name: '@progress/kendo-angular-chart-wizard',
35
36
  productName: 'Kendo UI for Angular',
36
37
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
37
- publishDate: 1725288184,
38
- version: '16.9.0-develop.11',
38
+ publishDate: 1725536262,
39
+ version: '16.9.0-develop.12',
39
40
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning',
40
41
  };
41
42
 
42
43
  /**
43
44
  * @hidden
44
45
  */
45
- const fontSizes = [
46
- { text: '16', value: '16px' },
47
- { text: '20', value: '20px' },
48
- { text: '24', value: '24px' },
49
- { text: '48', value: '48px' },
50
- { text: '60', value: '60px' },
51
- { text: '96', value: '96px' },
52
- ];
53
- /**
54
- * @hidden
55
- */
56
- const fontNames = [
57
- { text: 'Arial', value: 'Arial, Helvetica, sans-serif',
58
- style: { fontFamily: 'Arial, Helvetica, sans-serif' } },
59
- { text: 'Courier New', value: '\'Courier New\', Courier, monospace',
60
- style: { fontFamily: '\'Courier New\', Courier, monospace' } },
61
- { text: 'Georgia', value: 'Georgia, serif',
62
- style: { fontFamily: 'Georgia, serif' } },
63
- { text: 'Impact', value: 'Impact, Charcoal, sans-serif',
64
- style: { fontFamily: 'Impact, Charcoal, sans-serif' } },
65
- { text: 'Lucida Console', value: '\'Lucida Console\', Monaco, monospace',
66
- style: { fontFamily: '\'Lucida Console\', Monaco, monospace' } },
67
- { text: 'Tahoma', value: 'Tahoma, Geneva, sans-serif',
68
- style: { fontFamily: 'Tahoma, Geneva, sans-serif' } },
69
- { text: 'Times New Roman', value: '\'Times New Roman\', Times,serif',
70
- style: { fontFamily: '\'Times New Roman\', Times,serif' } },
71
- { text: 'Trebuchet MS', value: '\'Trebuchet MS\', Helvetica, sans-serif',
72
- style: { fontFamily: '\'Trebuchet MS\', Helvetica, sans-serif' } },
73
- { text: 'Verdana', value: 'Verdana, Geneva, sans-serif',
74
- style: { fontFamily: 'Verdana, Geneva, sans-serif' } }
75
- ];
46
+ const fontSizes = ChartWizardCommon.fontSizes;
76
47
  /**
77
48
  * @hidden
78
49
  */
79
- const rotations = [
80
- { text: 'Auto', value: 'auto' },
81
- { text: '0°', value: 0 },
82
- { text: '45°', value: 45 },
83
- { text: '90°', value: 90 },
84
- { text: '135°', value: 135 },
85
- { text: '180°', value: 180 }
86
- ];
50
+ const fontNames = ChartWizardCommon.fontNames;
87
51
  /**
88
52
  * @hidden
89
53
  */
90
- const positions = [
91
- { text: 'Top', value: 'top' },
92
- { text: 'Bottom', value: 'bottom' },
93
- { text: 'Left', value: 'left' },
94
- { text: 'Right', value: 'right' }
95
- ];
96
- const columnType = 'column';
97
- const barType = 'bar';
98
- const lineType = 'line';
99
- const pieType = 'pie';
100
- const scatterType = 'scatter';
101
- const categoricalTypes = [columnType, barType, lineType, scatterType];
102
- const scatterSeries = {
103
- type: lineType,
104
- width: 0
105
- };
54
+ const createState = ChartWizardCommon.createState;
106
55
  /**
107
56
  * @hidden
108
57
  */
109
- const isCategorical = (type) => type && categoricalTypes.includes(type);
110
- const categoryTypes = ['string', 'date', 'number'];
111
- const valueTypes = ['number'];
112
- const axesDefinitions = {
113
- bar: [
114
- { axisType: 'category', types: categoryTypes },
115
- { axisType: 'value', types: valueTypes },
116
- ],
117
- column: [
118
- { axisType: 'category', types: categoryTypes },
119
- { axisType: 'value', types: valueTypes },
120
- ],
121
- line: [
122
- { axisType: 'category', types: categoryTypes },
123
- { axisType: 'value', types: valueTypes },
124
- ],
125
- pie: [
126
- { axisType: 'category', types: categoryTypes },
127
- { axisType: 'value', types: valueTypes, count: 1 },
128
- ],
129
- scatter: [
130
- { axisType: 'category', types: categoryTypes },
131
- { axisType: 'value', types: valueTypes }
132
- ]
133
- };
134
- const getFont = (font, size) => `${size || ''} ${font || ''}`.trim();
58
+ const updateState = ChartWizardCommon.updateState;
135
59
  /**
136
60
  * @hidden
137
61
  */
138
- const parseFont = (font) => {
139
- const spaceIndex = (font || '').indexOf(' ');
140
- const size = font?.substring(0, spaceIndex);
141
- const name = font?.substring(spaceIndex + 1);
142
- return { size, name };
143
- };
144
- const updateFontName = (fontName, defaultSize, currentFont) => {
145
- const { size } = parseFont(currentFont);
146
- return fontName ? getFont(fontName, size || defaultSize) : '';
147
- };
148
- const updateFontSize = (fontSize, defaultFontName, currentFont) => {
149
- const { name } = parseFont(currentFont);
150
- return fontSize ? getFont(name || defaultFontName, fontSize) : '';
151
- };
152
- const getCategoryColumnIndex = (data, categoryDef) => {
153
- const candidates = [];
154
- const firstRecord = data[0].slice();
155
- categoryDef.types.forEach((type) => {
156
- firstRecord.forEach((item, i) => {
157
- if (typeof item.value === type) {
158
- candidates.push(i);
159
- }
160
- });
161
- });
162
- const result = candidates.findIndex((index) => {
163
- const values = data.map((record) => record[index].value);
164
- return new Set(values).size === values.length;
165
- });
166
- return Math.max(result, 0);
167
- };
168
- const getValueColumnIndexes = (data, valuesDef) => {
169
- const candidates = [];
170
- const firstRecord = data[0].slice();
171
- valuesDef.forEach((def) => {
172
- def.types.forEach((type) => {
173
- firstRecord.forEach((item, i) => {
174
- if (typeof item.value === type) {
175
- candidates.push(i);
176
- }
177
- });
178
- });
179
- });
180
- return candidates;
181
- };
182
- const emptyState = () => structuredClone({
183
- columns: [],
184
- data: [],
185
- series: [],
186
- initialSeries: [],
187
- categoryAxis: [],
188
- valueAxis: [{ labels: { visible: true, rotation: 'auto' } }],
189
- area: {
190
- margin: { left: undefined, right: undefined, top: undefined, bottom: undefined }
191
- },
192
- stack: false
193
- });
194
- const categoryValueChartState = (data, seriesType, options) => {
195
- const state = emptyState();
196
- state.seriesType = seriesType;
197
- state.data = data;
198
- const chartDef = axesDefinitions[seriesType];
199
- if (!chartDef) {
200
- return state;
201
- }
202
- const firstRecord = data[0].slice();
203
- state.columns = data[0].map(i => String(i.field));
204
- const categoryDef = chartDef.find(def => def.axisType === 'category');
205
- let catIndex = -1;
206
- if (categoryDef) {
207
- catIndex = options?.categoryAxis ? state.columns.indexOf(options?.categoryAxis) : getCategoryColumnIndex(data, categoryDef);
208
- }
209
- const valuesDef = chartDef.filter(def => def.axisType === 'value');
210
- let valuesIndexes = getValueColumnIndexes(data, valuesDef);
211
- if (valuesIndexes.includes(catIndex)) {
212
- valuesIndexes = valuesIndexes.filter(index => index !== catIndex);
213
- }
214
- const series = [];
215
- valuesIndexes.forEach(index => {
216
- const valuesColumn = firstRecord[index];
217
- const valuesResult = [];
218
- data.forEach(record => {
219
- valuesResult.push(record[index].value);
220
- });
221
- series.push({
222
- name: valuesColumn.field,
223
- type: seriesType,
224
- data: valuesResult,
225
- stack: false,
226
- labels: { visible: false },
227
- ...(seriesType === scatterType ? scatterSeries : {})
228
- });
229
- });
230
- const categories = catIndex > -1 ? data.map(item => String(item[catIndex].value)) : [];
231
- if (series.length) {
232
- state.series = series.map((s, i) => ({ ...s, id: i }));
233
- state.initialSeries = structuredClone(state.series);
234
- }
235
- if (categories.length) {
236
- state.categoryAxis = [{ categories, labels: { visible: true, rotation: 'auto' } }];
237
- state.categoryField = state.columns[catIndex];
238
- }
239
- state.legend = { visible: true, position: 'bottom' };
240
- state.title = { text: null };
241
- state.subtitle = { text: null };
242
- return state;
243
- };
244
- const pieChartState = (data, seriesType, options) => {
245
- const state = emptyState();
246
- state.seriesType = seriesType;
247
- state.data = data;
248
- const chartDef = axesDefinitions[seriesType];
249
- if (!chartDef) {
250
- return state;
251
- }
252
- const categoriesAxis = data[0].map(i => i.field);
253
- const categoryDef = chartDef.find(def => def.axisType === 'category');
254
- let catIndex = -1;
255
- if (categoryDef) {
256
- catIndex = options?.categoryAxis ? categoriesAxis.indexOf(options?.categoryAxis) : getCategoryColumnIndex(data, categoryDef);
257
- }
258
- const valuesDef = chartDef.filter(def => def.axisType === 'value');
259
- let valuesIndexes = [];
260
- if (options?.valueAxis) {
261
- valuesIndexes = [categoriesAxis.indexOf(options.valueAxis)];
262
- }
263
- else {
264
- valuesIndexes = getValueColumnIndexes(data, valuesDef);
265
- }
266
- if (valuesIndexes.includes(catIndex) && valuesIndexes.length > 1) {
267
- valuesIndexes = valuesIndexes.filter(index => index !== catIndex);
268
- }
269
- if (typeof valuesDef[0].count === 'number') {
270
- valuesIndexes = valuesIndexes.slice(0, valuesDef[0].count);
271
- }
272
- const categories = catIndex > -1 ? data.map(item => String(item[catIndex].value)) : [];
273
- const flatData = [];
274
- data.forEach(item => {
275
- const record = {};
276
- valuesIndexes.forEach((index) => {
277
- const col = item[index];
278
- record[col.field] = col.value;
279
- record[item[catIndex].field] = item[catIndex].value;
280
- });
281
- flatData.push(record);
282
- });
283
- state.columns = categoriesAxis;
284
- state.categoryAxis = [{ categories, title: { text: '' } }];
285
- state.series = [{
286
- id: 0,
287
- data: flatData,
288
- type: seriesType,
289
- name: categoriesAxis[catIndex],
290
- labels: { visible: true },
291
- categoryField: categoriesAxis[catIndex],
292
- field: categoriesAxis[valuesIndexes[0]]
293
- }];
294
- state.categoryField = categoriesAxis[catIndex];
295
- state.valueField = categoriesAxis[valuesIndexes[0]];
296
- state.initialSeries = structuredClone(state.series);
297
- return state;
298
- };
299
- const hasValue = (value) => value !== undefined && value !== null;
62
+ const mergeStates = ChartWizardCommon.mergeStates;
300
63
  /**
301
64
  * @hidden
302
65
  */
303
- const createInitialState = (data, seriesType, defaultState) => {
304
- const state = createState(data, defaultState?.seriesType || seriesType);
305
- return typeof defaultState?.stack !== 'undefined' ?
306
- updateState(state, ActionTypes.stacked, defaultState.stack) : state;
307
- };
66
+ const isCategorical = ChartWizardCommon.isCategorical;
308
67
  /**
309
68
  * @hidden
310
69
  */
311
- const createState = (data, seriesType) => {
312
- return (isCategorical(seriesType) ? categoryValueChartState : pieChartState)(data, seriesType);
313
- };
70
+ const parseFont = ChartWizardCommon.parseFont;
314
71
  /**
315
72
  * @hidden
316
73
  */
317
- var ActionTypes;
318
- (function (ActionTypes) {
319
- ActionTypes[ActionTypes["seriesType"] = 0] = "seriesType";
320
- ActionTypes[ActionTypes["stacked"] = 1] = "stacked";
321
- ActionTypes[ActionTypes["categoryAxisX"] = 2] = "categoryAxisX";
322
- ActionTypes[ActionTypes["valueAxisY"] = 3] = "valueAxisY";
323
- ActionTypes[ActionTypes["seriesChange"] = 4] = "seriesChange";
324
- ActionTypes[ActionTypes["areaMarginLeft"] = 5] = "areaMarginLeft";
325
- ActionTypes[ActionTypes["areaMarginRight"] = 6] = "areaMarginRight";
326
- ActionTypes[ActionTypes["areaMarginTop"] = 7] = "areaMarginTop";
327
- ActionTypes[ActionTypes["areaMarginBottom"] = 8] = "areaMarginBottom";
328
- ActionTypes[ActionTypes["areaBackground"] = 9] = "areaBackground";
329
- ActionTypes[ActionTypes["titleText"] = 10] = "titleText";
330
- ActionTypes[ActionTypes["titleFontName"] = 11] = "titleFontName";
331
- ActionTypes[ActionTypes["titleFontSize"] = 12] = "titleFontSize";
332
- ActionTypes[ActionTypes["titleColor"] = 13] = "titleColor";
333
- ActionTypes[ActionTypes["subtitleText"] = 14] = "subtitleText";
334
- ActionTypes[ActionTypes["subtitleFontName"] = 15] = "subtitleFontName";
335
- ActionTypes[ActionTypes["subtitleFontSize"] = 16] = "subtitleFontSize";
336
- ActionTypes[ActionTypes["subtitleColor"] = 17] = "subtitleColor";
337
- ActionTypes[ActionTypes["seriesColor"] = 18] = "seriesColor";
338
- ActionTypes[ActionTypes["seriesLabel"] = 19] = "seriesLabel";
339
- ActionTypes[ActionTypes["legendVisible"] = 20] = "legendVisible";
340
- ActionTypes[ActionTypes["legendFontName"] = 21] = "legendFontName";
341
- ActionTypes[ActionTypes["legendFontSize"] = 22] = "legendFontSize";
342
- ActionTypes[ActionTypes["legendColor"] = 23] = "legendColor";
343
- ActionTypes[ActionTypes["legendPosition"] = 24] = "legendPosition";
344
- ActionTypes[ActionTypes["categoryAxisTitleText"] = 25] = "categoryAxisTitleText";
345
- ActionTypes[ActionTypes["categoryAxisTitleFontName"] = 26] = "categoryAxisTitleFontName";
346
- ActionTypes[ActionTypes["categoryAxisTitleFontSize"] = 27] = "categoryAxisTitleFontSize";
347
- ActionTypes[ActionTypes["categoryAxisTitleColor"] = 28] = "categoryAxisTitleColor";
348
- ActionTypes[ActionTypes["categoryAxisLabelsFontName"] = 29] = "categoryAxisLabelsFontName";
349
- ActionTypes[ActionTypes["categoryAxisLabelsFontSize"] = 30] = "categoryAxisLabelsFontSize";
350
- ActionTypes[ActionTypes["categoryAxisLabelsColor"] = 31] = "categoryAxisLabelsColor";
351
- ActionTypes[ActionTypes["categoryAxisLabelsRotation"] = 32] = "categoryAxisLabelsRotation";
352
- ActionTypes[ActionTypes["categoryAxisReverseOrder"] = 33] = "categoryAxisReverseOrder";
353
- ActionTypes[ActionTypes["valueAxisTitleText"] = 34] = "valueAxisTitleText";
354
- ActionTypes[ActionTypes["valueAxisTitleFontName"] = 35] = "valueAxisTitleFontName";
355
- ActionTypes[ActionTypes["valueAxisTitleFontSize"] = 36] = "valueAxisTitleFontSize";
356
- ActionTypes[ActionTypes["valueAxisTitleColor"] = 37] = "valueAxisTitleColor";
357
- ActionTypes[ActionTypes["valueAxisLabelsFormat"] = 38] = "valueAxisLabelsFormat";
358
- ActionTypes[ActionTypes["valueAxisLabelsFontName"] = 39] = "valueAxisLabelsFontName";
359
- ActionTypes[ActionTypes["valueAxisLabelsFontSize"] = 40] = "valueAxisLabelsFontSize";
360
- ActionTypes[ActionTypes["valueAxisLabelsColor"] = 41] = "valueAxisLabelsColor";
361
- ActionTypes[ActionTypes["valueAxisLabelsRotation"] = 42] = "valueAxisLabelsRotation";
362
- })(ActionTypes || (ActionTypes = {}));
74
+ const ActionTypes = ChartWizardCommon.ActionTypes;
363
75
  /**
364
76
  * @hidden
365
77
  */
366
- const mergeStates = (state, newState) => {
367
- newState.legend = state.legend;
368
- newState.area = state.area;
369
- newState.title = state.title;
370
- newState.subtitle = state.subtitle;
371
- if (newState.series.length === state.series.length) {
372
- for (let i = 0; i < newState.series.length; i++) {
373
- newState.series[i].color = state.series[i].color;
374
- newState.series[i].labels = state.series[i].labels;
375
- }
376
- }
377
- if (state.series.every(s => s.labels?.visible) && isCategorical(newState.seriesType) && isCategorical(state.seriesType)) {
378
- newState.series.forEach(s => {
379
- s.labels = s.labels || {};
380
- s.labels.visible = true;
381
- });
382
- }
383
- return newState;
384
- };
78
+ const rotations = [
79
+ { text: 'Auto', value: 'auto' },
80
+ { text: '0°', value: 0 },
81
+ { text: '45°', value: 45 },
82
+ { text: '90°', value: 90 },
83
+ { text: '135°', value: 135 },
84
+ { text: '180°', value: 180 }
85
+ ];
385
86
  /**
386
87
  * @hidden
387
88
  */
388
- const updateState = (currentState, action, value) => {
389
- const state = { ...currentState };
390
- switch (action) {
391
- case ActionTypes.seriesType:
392
- return createState(state.data, value);
393
- case ActionTypes.stacked:
394
- state.series = state.series.map(s => ({ ...s, stack: value }));
395
- return state;
396
- case ActionTypes.categoryAxisX: {
397
- if (state.seriesType && isCategorical(state.seriesType)) {
398
- const newState = categoryValueChartState(state.data, state.seriesType, { categoryAxis: value });
399
- return mergeStates(state, newState);
400
- }
401
- else if (state.seriesType === pieType) {
402
- const newState = pieChartState(state.data, state.seriesType, { categoryAxis: value });
403
- return mergeStates(state, newState);
404
- }
405
- return state;
406
- }
407
- case ActionTypes.valueAxisY: {
408
- if (state.seriesType === pieType) {
409
- const newState = pieChartState(state.data, state.seriesType, { categoryAxis: state.categoryField, valueAxis: value });
410
- return mergeStates(state, newState);
411
- }
412
- return state;
413
- }
414
- case ActionTypes.seriesChange:
415
- state.series = value;
416
- return state;
417
- case ActionTypes.areaMarginLeft:
418
- state.area = { ...state.area, margin: { ...(state.area?.margin || {}), left: value } };
419
- return state;
420
- case ActionTypes.areaMarginRight:
421
- state.area = { ...state.area, margin: { ...(state.area?.margin || {}), right: value } };
422
- return state;
423
- case ActionTypes.areaMarginTop:
424
- state.area = { ...state.area, margin: { ...(state.area?.margin || {}), top: value } };
425
- return state;
426
- case ActionTypes.areaMarginBottom:
427
- state.area = { ...state.area, margin: { ...(state.area?.margin || {}), bottom: value } };
428
- return state;
429
- case ActionTypes.areaBackground:
430
- state.area = { ...state.area, background: value };
431
- return state;
432
- case ActionTypes.titleText:
433
- state.title = { ...state.title, text: value };
434
- return state;
435
- case ActionTypes.titleFontName: {
436
- state.title = { ...state.title, font: updateFontName(value, fontSizes[0].value, state.title?.font) };
437
- return state;
438
- }
439
- case ActionTypes.titleFontSize:
440
- state.title = { ...state.title, font: updateFontSize(value, fontNames[0].value, state.title?.font) };
441
- return state;
442
- case ActionTypes.titleColor:
443
- state.title = { ...state.title, color: value };
444
- return state;
445
- case ActionTypes.subtitleText:
446
- state.subtitle = { ...state.subtitle, text: value };
447
- return state;
448
- case ActionTypes.subtitleFontName:
449
- state.subtitle = { ...state.subtitle, font: updateFontName(value, fontSizes[0].value, state.subtitle?.font) };
450
- return state;
451
- case ActionTypes.subtitleFontSize:
452
- state.subtitle = { ...state.subtitle, font: updateFontSize(value, fontNames[0].value, state.subtitle?.font) };
453
- return state;
454
- case ActionTypes.subtitleColor:
455
- state.subtitle = { ...state.subtitle, color: value };
456
- return state;
457
- case ActionTypes.seriesColor:
458
- state.series = state.series.map(s => ({ ...s, color: value.seriesName === s.name ? value.color : s.color }));
459
- return state;
460
- case ActionTypes.seriesLabel:
461
- state.series = state.series.map(s => {
462
- if (value.all || value.seriesName === s.name) {
463
- return { ...s, labels: { visible: value.visible } };
464
- }
465
- return s;
466
- });
467
- return state;
468
- case ActionTypes.legendVisible:
469
- state.legend = { ...state.legend, visible: value };
470
- return state;
471
- case ActionTypes.legendFontName: {
472
- state.legend = { ...state.legend, labels: { ...state.legend?.labels, font: updateFontName(value, fontSizes[0].value, state.legend?.labels?.font) } };
473
- return state;
474
- }
475
- case ActionTypes.legendFontSize:
476
- state.legend = { ...state.legend, labels: { ...state.legend?.labels, font: updateFontSize(value, fontNames[0].value, state.legend?.labels?.font) } };
477
- return state;
478
- case ActionTypes.legendColor:
479
- state.legend = { ...state.legend, labels: { ...state.legend?.labels, color: value } };
480
- return state;
481
- case ActionTypes.legendPosition:
482
- state.legend = { ...state.legend, position: value };
483
- return state;
484
- case ActionTypes.categoryAxisTitleText:
485
- state.categoryAxis = state.categoryAxis?.map(axis => ({ ...axis, title: { ...axis.title, text: value } }));
486
- return state;
487
- case ActionTypes.categoryAxisTitleFontName: {
488
- state.categoryAxis = state.categoryAxis?.map(axis => ({ ...axis, title: { ...axis.title, font: updateFontName(value, fontSizes[0].value, axis.title?.font) } }));
489
- return state;
490
- }
491
- case ActionTypes.categoryAxisTitleFontSize:
492
- state.categoryAxis = state.categoryAxis?.map(axis => ({ ...axis, title: { ...axis.title, font: updateFontSize(value, fontNames[0].value, axis.title?.font) } }));
493
- return state;
494
- case ActionTypes.categoryAxisTitleColor:
495
- state.categoryAxis = state.categoryAxis?.map(axis => ({ ...axis, title: { ...axis.title, color: value } }));
496
- return state;
497
- case ActionTypes.categoryAxisLabelsFontName: {
498
- state.categoryAxis = state.categoryAxis?.map(axis => ({ ...axis, labels: { ...axis.labels, font: updateFontName(value, fontSizes[0].value, axis.labels?.font) } }));
499
- return state;
500
- }
501
- case ActionTypes.categoryAxisLabelsFontSize:
502
- state.categoryAxis = state.categoryAxis?.map(axis => ({ ...axis, labels: { ...axis.labels, font: updateFontSize(value, fontNames[0].value, axis.labels?.font) } }));
503
- return state;
504
- case ActionTypes.categoryAxisLabelsColor:
505
- state.categoryAxis = state.categoryAxis?.map(axis => ({ ...axis, labels: { ...axis.labels, color: value } }));
506
- return state;
507
- case ActionTypes.categoryAxisLabelsRotation: {
508
- const rotation = hasValue(value) ? value : 'auto';
509
- state.categoryAxis = state.categoryAxis?.map(axis => ({ ...axis, labels: { ...axis.labels, rotation } }));
510
- return state;
511
- }
512
- case ActionTypes.categoryAxisReverseOrder:
513
- state.categoryAxis = state.categoryAxis?.map(axis => ({ ...axis, reverse: value }));
514
- return state;
515
- case ActionTypes.valueAxisTitleText: {
516
- if (!state.valueAxis || state.valueAxis.length === 0) {
517
- state.valueAxis = [{ title: { text: value } }];
518
- }
519
- else {
520
- state.valueAxis = state.valueAxis?.map(axis => ({ ...axis, title: { ...axis.title, text: value } }));
521
- }
522
- return state;
523
- }
524
- case ActionTypes.valueAxisTitleFontName: {
525
- state.valueAxis = state.valueAxis?.map(axis => ({ ...axis, title: { ...axis.title, font: updateFontName(value, fontSizes[0].value, axis.title?.font) } }));
526
- return state;
527
- }
528
- case ActionTypes.valueAxisTitleFontSize:
529
- state.valueAxis = state.valueAxis?.map(axis => ({ ...axis, title: { ...axis.title, font: updateFontSize(value, fontNames[0].value, axis.title?.font) } }));
530
- return state;
531
- case ActionTypes.valueAxisTitleColor:
532
- state.valueAxis = state.valueAxis?.map(axis => ({ ...axis, title: { ...axis.title, color: value } }));
533
- return state;
534
- case ActionTypes.valueAxisLabelsFormat:
535
- state.valueAxis = state.valueAxis?.map(axis => ({ ...axis, labels: { ...axis.labels, format: value } }));
536
- return state;
537
- case ActionTypes.valueAxisLabelsFontName: {
538
- state.valueAxis = state.valueAxis?.map(axis => ({ ...axis, labels: { ...axis.labels, font: updateFontName(value, fontSizes[0].value, axis.labels?.font) } }));
539
- return state;
540
- }
541
- case ActionTypes.valueAxisLabelsFontSize:
542
- state.valueAxis = state.valueAxis?.map(axis => ({ ...axis, labels: { ...axis.labels, font: updateFontSize(value, fontNames[0].value, axis.labels?.font) } }));
543
- return state;
544
- case ActionTypes.valueAxisLabelsColor:
545
- state.valueAxis = state.valueAxis?.map(axis => ({ ...axis, labels: { ...axis.labels, color: value } }));
546
- return state;
547
- case ActionTypes.valueAxisLabelsRotation: {
548
- const rotation = hasValue(value) ? value : 'auto';
549
- state.valueAxis = state.valueAxis?.map(axis => ({ ...axis, labels: { ...axis.labels, rotation } }));
550
- return state;
551
- }
552
- default:
553
- return state;
554
- }
555
- };
89
+ const positions = [
90
+ { text: 'Top', value: 'top' },
91
+ { text: 'Bottom', value: 'bottom' },
92
+ { text: 'Left', value: 'left' },
93
+ { text: 'Right', value: 'right' }
94
+ ];
556
95
 
557
96
  /**
558
97
  * @hidden
@@ -586,7 +125,9 @@ class StateService {
586
125
  series: [],
587
126
  initialSeries: [],
588
127
  columns: [],
589
- data: []
128
+ data: [],
129
+ area: { margin: { top: 0, right: 0, bottom: 0, left: 0 } },
130
+ seriesType: 'bar'
590
131
  };
591
132
  this.seriesType = 'bar';
592
133
  this.currentTitle = 'Chart Title';
@@ -607,1770 +148,1796 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
607
148
  /**
608
149
  * @hidden
609
150
  */
610
- class ChartWizardPropertyPaneFormFieldComponent {
611
- constructor(localization, cdr) {
612
- this.localization = localization;
151
+ class ChartWizardPropertyPaneDataTabComponent {
152
+ constructor(stateService, formBuilder, cdr, renderer) {
153
+ this.stateService = stateService;
154
+ this.formBuilder = formBuilder;
613
155
  this.cdr = cdr;
614
- this.colSpan = 1;
615
- this.hasLabel = true;
616
- this.isLabelInsideFormFieldWrap = false;
617
- this.disabled = false;
618
- this.valueChange = new EventEmitter();
619
- this.formField = true;
156
+ this.renderer = renderer;
157
+ this.categoryAxisX = ActionTypes.categoryAxisX;
158
+ this.valueAxisY = ActionTypes.valueAxisY;
159
+ this.trashIcon = trashIcon;
160
+ this.plusIcon = plusIcon;
161
+ this.isCategorical = isCategorical;
162
+ this.formGroup = this.formBuilder.group({
163
+ name: null,
164
+ });
620
165
  }
621
- get isColSpan2() {
622
- return this.colSpan === 2;
166
+ ngAfterViewInit() {
167
+ if (this.grid) {
168
+ const gridHeader = this.grid.wrapper.nativeElement.querySelector('.k-grid .k-grid-header');
169
+ const gridContent = this.grid.wrapper.nativeElement.querySelector('.k-grid .k-grid-content');
170
+ this.renderer.setStyle(gridHeader, 'display', 'none');
171
+ this.renderer.setStyle(gridContent, 'overflow', 'auto');
172
+ }
623
173
  }
624
- ngAfterViewChecked() {
625
- this.localization.changes.subscribe(() => {
626
- this.cdr.detectChanges();
174
+ updateState(action, value) {
175
+ this.stateService.state = updateState(this.stateService.state, action, value);
176
+ }
177
+ createFormGroup(args) {
178
+ const item = args.isNew ? {} : args.dataItem;
179
+ this.formGroup = this.formBuilder.group({
180
+ name: item.name,
627
181
  });
182
+ return this.formGroup;
628
183
  }
629
- ngOnDestroy() {
630
- this.localization.changes.unsubscribe();
184
+ addData() {
185
+ this.stateService.state.series.push(this.stateService.deletedSeries[0]);
186
+ this.stateService.deletedSeries.shift();
187
+ this.updateState(ActionTypes.seriesChange, this.stateService.state.series);
631
188
  }
632
- ngAfterViewInit() {
633
- if (this.hasLabel) {
634
- this.label.for =
635
- this.numericTextBox ||
636
- this.colorPicker ||
637
- this.dropDownList ||
638
- this.textBox ||
639
- this.comboBox ||
640
- this.checkBox;
641
- }
189
+ removeData(event) {
190
+ this.stateService.deletedSeries.push(event.dataItem);
191
+ this.updateState(ActionTypes.seriesChange, event.sender.data.data);
192
+ }
193
+ onRowReorder(grid) {
194
+ this.updateState(ActionTypes.seriesChange, grid.data.data);
195
+ }
196
+ isDisabled(grid) {
197
+ return grid.data.data.length === this.stateService.state.initialSeries.length;
198
+ }
199
+ detectChanges() {
200
+ this.cdr.detectChanges();
642
201
  }
643
202
  }
644
- ChartWizardPropertyPaneFormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormFieldComponent, deps: [{ token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
645
- ChartWizardPropertyPaneFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardPropertyPaneFormFieldComponent, isStandalone: true, selector: "kendo-chartwizard-property-pane-form-field", inputs: { currentState: "currentState", action: "action", class: "class", inputType: "inputType", text: "text", data: "data", placeholder: "placeholder", colSpan: "colSpan", hasLabel: "hasLabel", isLabelInsideFormFieldWrap: "isLabelInsideFormFieldWrap", value: "value", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.k-form-field": "this.formField", "class.k-col-span-2": "this.isColSpan2" } }, viewQueries: [{ propertyName: "label", first: true, predicate: LabelComponent, descendants: true }, { propertyName: "numericTextBox", first: true, predicate: NumericTextBoxComponent, descendants: true }, { propertyName: "colorPicker", first: true, predicate: ColorPickerComponent, descendants: true }, { propertyName: "dropDownList", first: true, predicate: DropDownListComponent, descendants: true }, { propertyName: "textBox", first: true, predicate: TextBoxComponent, descendants: true }, { propertyName: "comboBox", first: true, predicate: ComboBoxComponent, descendants: true }, { propertyName: "checkBox", first: true, predicate: CheckBoxComponent, descendants: true }], ngImport: i0, template: `
646
- <kendo-label *ngIf="hasLabel && !isLabelInsideFormFieldWrap" class="k-form-label" [text]="text"></kendo-label>
647
- <div class="k-form-field-wrap">
648
- <kendo-label
649
- *ngIf="hasLabel && isLabelInsideFormFieldWrap"
650
- class="k-form-label"
651
- [text]="text"
652
- ></kendo-label>
653
- <kendo-numerictextbox
654
- *ngIf="inputType === 'numeric'"
655
- fillMode="outline"
656
- rounded="medium"
657
- [value]="value"
658
- (valueChange)="valueChange.emit($event)"
659
- placeholder="Auto"
660
- ></kendo-numerictextbox>
661
- <kendo-colorpicker
662
- *ngIf="inputType === 'colorPicker'"
663
- fillMode="outline"
664
- rounded="medium"
665
- [value]="value"
666
- [disabled]="disabled"
667
- (valueChange)="valueChange.emit($event)"
668
- ></kendo-colorpicker>
669
- <kendo-dropdownlist
670
- *ngIf="inputType === 'dropDownList'"
671
- [data]="data"
672
- textField="text"
673
- valueField="value"
674
- [valuePrimitive]="true"
675
- fillMode="outline"
676
- rounded="medium"
677
- size="medium"
678
- [value]="value"
679
- (valueChange)="valueChange.emit($event)"
680
- ></kendo-dropdownlist>
681
- <kendo-combobox
682
- *ngIf="inputType === 'comboBox'"
683
- [data]="data"
684
- [value]="value"
685
- textField="text"
686
- valueField="value"
687
- [valuePrimitive]="true"
688
- fillMode="outline"
689
- rounded="medium"
690
- size="medium"
691
- [placeholder]="placeholder"
692
- (valueChange)="valueChange.emit($event)"
693
- ></kendo-combobox>
694
- <kendo-textbox
695
- *ngIf="inputType === 'text'"
696
- fillMode="outline"
697
- rounded="medium"
698
- [placeholder]="placeholder"
699
- [value]="value"
700
- (valueChange)="valueChange.emit($event)"
701
- ></kendo-textbox>
702
- <kendo-checkbox
703
- *ngIf="inputType === 'checkbox'"
704
- class="k-checkbox-md k-rounded-md"
705
- [checkedState]="value"
706
- (checkedStateChange)="valueChange.emit($event)"
707
- ></kendo-checkbox>
708
- </div>
709
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "clearButtonClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "component", type: ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
710
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormFieldComponent, decorators: [{
711
- type: Component,
712
- args: [{
713
- selector: 'kendo-chartwizard-property-pane-form-field',
714
- changeDetection: ChangeDetectionStrategy.OnPush,
715
- template: `
716
- <kendo-label *ngIf="hasLabel && !isLabelInsideFormFieldWrap" class="k-form-label" [text]="text"></kendo-label>
717
- <div class="k-form-field-wrap">
718
- <kendo-label
719
- *ngIf="hasLabel && isLabelInsideFormFieldWrap"
720
- class="k-form-label"
721
- [text]="text"
722
- ></kendo-label>
723
- <kendo-numerictextbox
724
- *ngIf="inputType === 'numeric'"
725
- fillMode="outline"
726
- rounded="medium"
727
- [value]="value"
728
- (valueChange)="valueChange.emit($event)"
729
- placeholder="Auto"
730
- ></kendo-numerictextbox>
731
- <kendo-colorpicker
732
- *ngIf="inputType === 'colorPicker'"
733
- fillMode="outline"
734
- rounded="medium"
735
- [value]="value"
736
- [disabled]="disabled"
737
- (valueChange)="valueChange.emit($event)"
738
- ></kendo-colorpicker>
739
- <kendo-dropdownlist
740
- *ngIf="inputType === 'dropDownList'"
741
- [data]="data"
742
- textField="text"
743
- valueField="value"
744
- [valuePrimitive]="true"
745
- fillMode="outline"
746
- rounded="medium"
747
- size="medium"
748
- [value]="value"
749
- (valueChange)="valueChange.emit($event)"
750
- ></kendo-dropdownlist>
751
- <kendo-combobox
752
- *ngIf="inputType === 'comboBox'"
753
- [data]="data"
754
- [value]="value"
755
- textField="text"
756
- valueField="value"
757
- [valuePrimitive]="true"
758
- fillMode="outline"
759
- rounded="medium"
760
- size="medium"
761
- [placeholder]="placeholder"
762
- (valueChange)="valueChange.emit($event)"
763
- ></kendo-combobox>
764
- <kendo-textbox
765
- *ngIf="inputType === 'text'"
766
- fillMode="outline"
767
- rounded="medium"
768
- [placeholder]="placeholder"
769
- [value]="value"
770
- (valueChange)="valueChange.emit($event)"
771
- ></kendo-textbox>
772
- <kendo-checkbox
773
- *ngIf="inputType === 'checkbox'"
774
- class="k-checkbox-md k-rounded-md"
775
- [checkedState]="value"
776
- (checkedStateChange)="valueChange.emit($event)"
777
- ></kendo-checkbox>
778
- </div>
203
+ ChartWizardPropertyPaneDataTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneDataTabComponent, deps: [{ token: StateService }, { token: i2.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
204
+ ChartWizardPropertyPaneDataTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardPropertyPaneDataTabComponent, isStandalone: true, selector: "kendo-chartwizard-property-pane-data-tab", viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: `
205
+ <kendo-expansionpanel title="Configuration" [expanded]="true">
206
+ <form class="k-form k-form-md">
207
+ <fieldset class="k-form-fieldset">
208
+ <legend class="k-form-legend">
209
+ {{ stateService.state.seriesType === 'scatter' ? 'X Axis' : 'Category Axis' }}
210
+ </legend>
211
+ <kendo-dropdownlist
212
+ [data]="stateService.state.columns"
213
+ [value]="stateService.state.categoryField"
214
+ (valueChange)="updateState(categoryAxisX, $event)"
215
+ fillMode="outline"
216
+ rounded="medium"
217
+ size="medium"
218
+ >
219
+ </kendo-dropdownlist>
220
+ </fieldset>
221
+ <fieldset class="k-form-fieldset" *ngIf="isCategorical(stateService.state.seriesType)">
222
+ <legend class="k-form-legend">Series</legend>
223
+ <kendo-grid
224
+ #grid
225
+ [kendoGridReactiveEditing]="createFormGroup"
226
+ [kendoGridBinding]="stateService.state.series"
227
+ [rowReorderable]="true"
228
+ (rowReorder)="onRowReorder(grid)"
229
+ (remove)="removeData($event)"
230
+ >
231
+ <ng-template kendoGridToolbarTemplate>
232
+ <button
233
+ kendoButton
234
+ type="button"
235
+ [svgIcon]="plusIcon"
236
+ fillMode="flat"
237
+ rounded="medium"
238
+ [disabled]="isDisabled(grid)"
239
+ (click)="addData()"
240
+ >
241
+ ADD
242
+ </button>
243
+ </ng-template>
244
+ <kendo-grid-rowreorder-column [width]="40"></kendo-grid-rowreorder-column>
245
+ <kendo-grid-column field="name" title="">
246
+ </kendo-grid-column>
247
+ <kendo-grid-command-column [width]="40">
248
+ <ng-template kendoGridCellTemplate>
249
+ <button
250
+ [svgIcon]="trashIcon"
251
+ kendoGridRemoveCommand
252
+ fillMode="flat"
253
+ rounded="medium"
254
+ [disabled]="stateService.state.series.length < 2"
255
+ ></button>
256
+ </ng-template>
257
+ </kendo-grid-command-column>
258
+ </kendo-grid>
259
+ </fieldset>
260
+ <fieldset
261
+ class="k-form-fieldset"
262
+ *ngIf="stateService.state.seriesType === 'pie'"
263
+ >
264
+ <legend class="k-form-legend">
265
+ {{ 'Value Axis' }}
266
+ </legend>
267
+ <kendo-dropdownlist
268
+ [data]="stateService.state.columns"
269
+ [value]="stateService.state.valueField"
270
+ (valueChange)="updateState(valueAxisY, $event)"
271
+ fillMode="outline"
272
+ rounded="medium"
273
+ size="medium"
274
+ >
275
+ </kendo-dropdownlist>
276
+ </fieldset>
277
+ </form>
278
+ </kendo-expansionpanel>
279
+ `, isInline: true, dependencies: [{ kind: "component", type: ExpansionPanelComponent, selector: "kendo-expansionpanel", inputs: ["title", "subtitle", "disabled", "expanded", "svgExpandIcon", "svgCollapseIcon", "expandIcon", "collapseIcon", "animation"], outputs: ["expandedChange", "action", "expand", "collapse"], exportAs: ["kendoExpansionPanel"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: ReactiveEditingDirective, selector: "[kendoGridReactiveEditing]", inputs: ["kendoGridReactiveEditing"] }, { kind: "directive", type: DataBindingDirective, selector: "[kendoGridBinding]", inputs: ["skip", "sort", "filter", "pageSize", "group", "kendoGridBinding"], exportAs: ["kendoGridBinding"] }, { kind: "directive", type: ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: RowReorderColumnComponent, selector: "kendo-grid-rowreorder-column", inputs: ["dragHandleIcon", "dragHandleSVGIcon"] }, { kind: "component", type: ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "component", type: CommandColumnComponent, selector: "kendo-grid-command-column" }, { kind: "directive", type: CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: GridToolbarFocusableDirective, selector: " [kendoGridToolbarFocusable], [kendoGridAddCommand], [kendoGridCancelCommand], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridExcelCommand], [kendoGridPDFCommand] " }, { kind: "component", type: RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneDataTabComponent, decorators: [{
281
+ type: Component,
282
+ args: [{
283
+ selector: 'kendo-chartwizard-property-pane-data-tab',
284
+ changeDetection: ChangeDetectionStrategy.OnPush,
285
+ template: `
286
+ <kendo-expansionpanel title="Configuration" [expanded]="true">
287
+ <form class="k-form k-form-md">
288
+ <fieldset class="k-form-fieldset">
289
+ <legend class="k-form-legend">
290
+ {{ stateService.state.seriesType === 'scatter' ? 'X Axis' : 'Category Axis' }}
291
+ </legend>
292
+ <kendo-dropdownlist
293
+ [data]="stateService.state.columns"
294
+ [value]="stateService.state.categoryField"
295
+ (valueChange)="updateState(categoryAxisX, $event)"
296
+ fillMode="outline"
297
+ rounded="medium"
298
+ size="medium"
299
+ >
300
+ </kendo-dropdownlist>
301
+ </fieldset>
302
+ <fieldset class="k-form-fieldset" *ngIf="isCategorical(stateService.state.seriesType)">
303
+ <legend class="k-form-legend">Series</legend>
304
+ <kendo-grid
305
+ #grid
306
+ [kendoGridReactiveEditing]="createFormGroup"
307
+ [kendoGridBinding]="stateService.state.series"
308
+ [rowReorderable]="true"
309
+ (rowReorder)="onRowReorder(grid)"
310
+ (remove)="removeData($event)"
311
+ >
312
+ <ng-template kendoGridToolbarTemplate>
313
+ <button
314
+ kendoButton
315
+ type="button"
316
+ [svgIcon]="plusIcon"
317
+ fillMode="flat"
318
+ rounded="medium"
319
+ [disabled]="isDisabled(grid)"
320
+ (click)="addData()"
321
+ >
322
+ ADD
323
+ </button>
324
+ </ng-template>
325
+ <kendo-grid-rowreorder-column [width]="40"></kendo-grid-rowreorder-column>
326
+ <kendo-grid-column field="name" title="">
327
+ </kendo-grid-column>
328
+ <kendo-grid-command-column [width]="40">
329
+ <ng-template kendoGridCellTemplate>
330
+ <button
331
+ [svgIcon]="trashIcon"
332
+ kendoGridRemoveCommand
333
+ fillMode="flat"
334
+ rounded="medium"
335
+ [disabled]="stateService.state.series.length < 2"
336
+ ></button>
337
+ </ng-template>
338
+ </kendo-grid-command-column>
339
+ </kendo-grid>
340
+ </fieldset>
341
+ <fieldset
342
+ class="k-form-fieldset"
343
+ *ngIf="stateService.state.seriesType === 'pie'"
344
+ >
345
+ <legend class="k-form-legend">
346
+ {{ 'Value Axis' }}
347
+ </legend>
348
+ <kendo-dropdownlist
349
+ [data]="stateService.state.columns"
350
+ [value]="stateService.state.valueField"
351
+ (valueChange)="updateState(valueAxisY, $event)"
352
+ fillMode="outline"
353
+ rounded="medium"
354
+ size="medium"
355
+ >
356
+ </kendo-dropdownlist>
357
+ </fieldset>
358
+ </form>
359
+ </kendo-expansionpanel>
779
360
  `,
780
361
  standalone: true,
781
362
  imports: [
782
- NgIf,
783
- LabelComponent,
784
- NumericTextBoxComponent,
785
- ColorPickerComponent,
363
+ ExpansionPanelComponent,
786
364
  DropDownListComponent,
787
- ComboBoxComponent,
788
- TextBoxComponent,
789
- CheckBoxComponent
365
+ ValueTemplateDirective,
366
+ NgIf,
367
+ GridComponent,
368
+ ReactiveEditingDirective,
369
+ DataBindingDirective,
370
+ ToolbarTemplateDirective,
371
+ ButtonComponent,
372
+ RowReorderColumnComponent,
373
+ ColumnComponent,
374
+ CommandColumnComponent,
375
+ CellTemplateDirective,
376
+ GridToolbarFocusableDirective,
377
+ FocusableDirective,
378
+ RemoveCommandDirective
790
379
  ]
791
380
  }]
792
- }], ctorParameters: function () { return [{ type: i2.LocalizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { currentState: [{
793
- type: Input
794
- }], action: [{
795
- type: Input
796
- }], class: [{
797
- type: Input
798
- }], inputType: [{
799
- type: Input
800
- }], text: [{
801
- type: Input
802
- }], data: [{
803
- type: Input
804
- }], placeholder: [{
805
- type: Input
806
- }], colSpan: [{
807
- type: Input
808
- }], hasLabel: [{
809
- type: Input
810
- }], isLabelInsideFormFieldWrap: [{
811
- type: Input
812
- }], value: [{
813
- type: Input
814
- }], disabled: [{
815
- type: Input
816
- }], valueChange: [{
817
- type: Output
818
- }], formField: [{
819
- type: HostBinding,
820
- args: ['class.k-form-field']
821
- }], isColSpan2: [{
822
- type: HostBinding,
823
- args: ['class.k-col-span-2']
824
- }], label: [{
825
- type: ViewChild,
826
- args: [LabelComponent]
827
- }], numericTextBox: [{
828
- type: ViewChild,
829
- args: [NumericTextBoxComponent]
830
- }], colorPicker: [{
831
- type: ViewChild,
832
- args: [ColorPickerComponent]
833
- }], dropDownList: [{
834
- type: ViewChild,
835
- args: [DropDownListComponent]
836
- }], textBox: [{
837
- type: ViewChild,
838
- args: [TextBoxComponent]
839
- }], comboBox: [{
840
- type: ViewChild,
841
- args: [ComboBoxComponent]
842
- }], checkBox: [{
381
+ }], ctorParameters: function () { return [{ type: StateService }, { type: i2.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { grid: [{
843
382
  type: ViewChild,
844
- args: [CheckBoxComponent]
383
+ args: [GridComponent]
845
384
  }] } });
846
385
 
847
386
  /**
848
387
  * @hidden
849
388
  */
850
- class ChartWizardPropertyPaneDataTabComponent {
851
- constructor(stateService, localization, cdr) {
389
+ class ChartWizardSeriesTypeButtonComponent {
390
+ constructor(stateService) {
852
391
  this.stateService = stateService;
853
- this.localization = localization;
854
- this.cdr = cdr;
855
- this.chartTitles = [
856
- { text: 'Chart Title', value: 'Chart Title' },
857
- { text: 'Chart Subtitle', value: 'Chart Subtitle' },
858
- ];
859
- this.titleText = ActionTypes.titleText;
860
- this.titleFontName = ActionTypes.titleFontName;
861
- this.titleFontSize = ActionTypes.titleFontSize;
862
- this.titleColor = ActionTypes.titleColor;
863
- this.subtitleText = ActionTypes.subtitleText;
864
- this.subtitleFontName = ActionTypes.subtitleFontName;
865
- this.subtitleFontSize = ActionTypes.subtitleFontSize;
866
- this.subtitleColor = ActionTypes.subtitleColor;
867
- this.areaMarginLeft = ActionTypes.areaMarginLeft;
868
- this.areaMarginRight = ActionTypes.areaMarginRight;
869
- this.areaMarginTop = ActionTypes.areaMarginTop;
870
- this.areaMarginBottom = ActionTypes.areaMarginBottom;
871
- this.areaBackground = ActionTypes.areaBackground;
872
- this.legendVisible = ActionTypes.legendVisible;
873
- this.legendFontName = ActionTypes.legendFontName;
874
- this.legendFontSize = ActionTypes.legendFontSize;
875
- this.legendColor = ActionTypes.legendColor;
876
- this.legendPosition = ActionTypes.legendPosition;
877
- this.seriesColor = ActionTypes.seriesColor;
878
- this.seriesLabel = ActionTypes.seriesLabel;
879
- this.categoryAxisTitleText = ActionTypes.categoryAxisTitleText;
880
- this.categoryAxisTitleFontName = ActionTypes.categoryAxisTitleFontName;
881
- this.categoryAxisTitleFontSize = ActionTypes.categoryAxisTitleFontSize;
882
- this.categoryAxisTitleColor = ActionTypes.categoryAxisTitleColor;
883
- this.categoryAxisLabelsFontName = ActionTypes.categoryAxisLabelsFontName;
884
- this.categoryAxisLabelsFontSize = ActionTypes.categoryAxisLabelsFontSize;
885
- this.categoryAxisLabelsColor = ActionTypes.categoryAxisLabelsColor;
886
- this.categoryAxisLabelsRotation = ActionTypes.categoryAxisLabelsRotation;
887
- this.categoryAxisReverseOrder = ActionTypes.categoryAxisReverseOrder;
888
- this.valueAxisTitleText = ActionTypes.valueAxisTitleText;
889
- this.valueAxisTitleFontName = ActionTypes.valueAxisTitleFontName;
890
- this.valueAxisTitleFontSize = ActionTypes.valueAxisTitleFontSize;
891
- this.valueAxisTitleColor = ActionTypes.valueAxisTitleColor;
892
- this.valueAxisLabelsFontName = ActionTypes.valueAxisLabelsFontName;
893
- this.valueAxisLabelsFormat = ActionTypes.valueAxisLabelsFormat;
894
- this.valueAxisLabelsFontSize = ActionTypes.valueAxisLabelsFontSize;
895
- this.valueAxisLabelsColor = ActionTypes.valueAxisLabelsColor;
896
- this.valueAxisLabelsRotation = ActionTypes.valueAxisLabelsRotation;
897
- this.parseFont = parseFont;
898
- this.labelFormats = labelFormats;
899
- this.defaultAllSeriesItem = defaultAllSeriesItem;
900
- this.fontNames = fontNames;
901
- this.fontSizes = fontSizes;
902
- this.legendPositions = positions;
903
- this.labelsRotation = rotations;
904
- }
905
- get chartTitleTypeText() {
906
- return this.stateService.currentTitle === 'Chart Title'
907
- ? this.stateService.state.title?.text
908
- : this.stateService.state.subtitle?.text;
909
- }
910
- get chartTitleTypeFont() {
911
- return this.stateService.currentTitle === 'Chart Title'
912
- ? parseFont(this.stateService.state.title?.font).name
913
- : parseFont(this.stateService.state.subtitle?.font).name;
914
- }
915
- get chartTitleTypeFontSize() {
916
- return this.stateService.currentTitle === 'Chart Title'
917
- ? parseFont(this.stateService.state.title?.font).size
918
- : parseFont(this.stateService.state.subtitle?.font).size;
919
- }
920
- get chartTitleTypeColor() {
921
- return this.stateService.currentTitle === 'Chart Title'
922
- ? this.stateService.state.title?.color
923
- : this.stateService.state.subtitle?.color;
924
- }
925
- get chartTitleTypeAction() {
926
- return this.stateService.currentTitle === 'Chart Title' ? this.titleText : this.subtitleText;
927
- }
928
- get chartTitleTypeFontAction() {
929
- return this.stateService.currentTitle === 'Chart Title' ? this.titleFontName : this.subtitleFontName;
930
- }
931
- get chartTitleTypeColorAction() {
932
- return this.stateService.currentTitle === 'Chart Title' ? this.titleColor : this.subtitleColor;
933
- }
934
- get chartTitleTypeFontSizeAction() {
935
- return this.stateService.currentTitle === 'Chart Title' ? this.titleFontSize : this.subtitleFontSize;
392
+ this.stack = false;
936
393
  }
937
- get seriesData() {
938
- return [defaultAllSeriesItem, ...this.stateService.state.series];
394
+ onSelect() {
395
+ this.stateService.seriesType = this.seriesType;
396
+ if (this.stateService.data.length > 0) {
397
+ this.stateService.state = mergeStates(this.stateService.state, createState(this.stateService.data, this.stateService.seriesType));
398
+ this.stateService.currentSeries = {};
399
+ if (this.stack) {
400
+ this.stateService.state = updateState(this.stateService.state, ActionTypes.stacked, this.stack);
401
+ }
402
+ }
403
+ this.stateService.dataTab.detectChanges();
939
404
  }
940
- get showLabels() {
941
- return this.stateService.currentSeries.name !== defaultAllSeriesItem.name ? this.stateService.state.series.find(s => s.name === this.stateService.currentSeries.name)?.labels?.visible : this.stateService.state.series.every(s => s.labels?.visible);
405
+ isSelected() {
406
+ if (this.stack?.type === '100%') {
407
+ return this.stack?.type === this.stateService.state.series[0]?.stack?.type;
408
+ }
409
+ return (this.stateService.state.seriesType === this.seriesType &&
410
+ this.stateService.state.series[0]?.stack === this.stack);
942
411
  }
943
- get labelFormatValue() {
944
- return labelFormats.find(f => f.value === this.stateService.state.valueAxis[0]?.labels?.format)?.value || defaultFormat.value;
412
+ }
413
+ ChartWizardSeriesTypeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardSeriesTypeButtonComponent, deps: [{ token: StateService }], target: i0.ɵɵFactoryTarget.Component });
414
+ ChartWizardSeriesTypeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardSeriesTypeButtonComponent, isStandalone: true, selector: "kendo-chartwizard-series-type-button", inputs: { title: "title", chartTypeIcon: "chartTypeIcon", stack: "stack", seriesType: "seriesType" }, ngImport: i0, template: `
415
+ <div class="k-icon-text-wrapper" [class.k-selected]="isSelected()" (click)="onSelect()">
416
+ <div class="k-icon-background-area">
417
+ <kendo-svgicon [icon]="chartTypeIcon" size="xlarge" themeColor="primary"> </kendo-svgicon>
418
+ </div>
419
+ {{ title }}
420
+ </div>
421
+ `, isInline: true, dependencies: [{ kind: "component", type: SVGIconComponent, selector: "kendo-svg-icon, kendo-svgicon", inputs: ["icon"], exportAs: ["kendoSVGIcon"] }] });
422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardSeriesTypeButtonComponent, decorators: [{
423
+ type: Component,
424
+ args: [{
425
+ selector: 'kendo-chartwizard-series-type-button',
426
+ template: `
427
+ <div class="k-icon-text-wrapper" [class.k-selected]="isSelected()" (click)="onSelect()">
428
+ <div class="k-icon-background-area">
429
+ <kendo-svgicon [icon]="chartTypeIcon" size="xlarge" themeColor="primary"> </kendo-svgicon>
430
+ </div>
431
+ {{ title }}
432
+ </div>
433
+ `,
434
+ standalone: true,
435
+ imports: [SVGIconComponent]
436
+ }]
437
+ }], ctorParameters: function () { return [{ type: StateService }]; }, propDecorators: { title: [{
438
+ type: Input
439
+ }], chartTypeIcon: [{
440
+ type: Input
441
+ }], stack: [{
442
+ type: Input
443
+ }], seriesType: [{
444
+ type: Input
445
+ }] } });
446
+
447
+ /**
448
+ * @hidden
449
+ */
450
+ class ChartWizardPropertyPaneChartTabComponent {
451
+ constructor(stateService, cdr, localization) {
452
+ this.stateService = stateService;
453
+ this.cdr = cdr;
454
+ this.localization = localization;
455
+ this.exportIcon = exportIcon;
456
+ this.chartBarClusteredIcon = chartBarClusteredIcon;
457
+ this.chartBarStackedIcon = chartBarStackedIcon;
458
+ this.chartBarStacked100Icon = chartBarStacked100Icon;
459
+ this.chartPieIcon = chartPieIcon;
460
+ this.chartColumnClusteredIcon = chartColumnClusteredIcon;
461
+ this.chartColumnStackedIcon = chartColumnStackedIcon;
462
+ this.chartColumnStacked100Icon = chartColumnStacked100Icon;
463
+ this.chartLineIcon = chartLineIcon;
464
+ this.chartLineStackedIcon = chartLineStackedIcon;
465
+ this.chartLineStacked100Icon = chartLineStacked100Icon;
466
+ this.chartScatterIcon = chartScatterIcon;
945
467
  }
946
468
  ngAfterViewChecked() {
947
469
  this.localization.changes.subscribe(() => {
948
- this.cdr.detectChanges();
470
+ this.detectChanges();
949
471
  });
950
472
  }
951
473
  ngOnDestroy() {
952
474
  this.localization.changes.unsubscribe();
953
475
  }
954
- updateState(action, value) {
955
- if (action === this.seriesLabel && this.stateService.currentSeries.name === defaultAllSeriesItem.name) {
956
- this.stateService.state = updateState(this.stateService.state, action, { name: '', all: true, visible: value.labels.visible });
957
- return;
958
- }
959
- this.stateService.state = updateState(this.stateService.state, action, value);
960
- }
961
- changeCurrentTitle(value) {
962
- this.stateService.currentTitle = value;
963
- }
964
- toggleSeriesLabels(value) {
965
- this.updateCurrentSeries(this.stateService.currentSeries);
966
- this.stateService.currentSeries.labels = { visible: value };
967
- this.updateState(this.seriesLabel, this.stateService.currentSeries);
968
- }
969
- updateCurrentSeries(value) {
970
- if (value.name === defaultAllSeriesItem.name) {
971
- this.stateService.currentSeries = defaultAllSeriesItem;
972
- }
973
- else {
974
- this.stateService.currentSeries = this.stateService.state.series.find((series) => series.name === value.name);
975
- }
976
- }
977
- updateSeriesColor(value) {
978
- this.updateCurrentSeries(this.stateService.currentSeries);
979
- this.stateService.currentSeries.color = value;
980
- this.updateState(this.seriesColor, this.stateService.currentSeries);
476
+ detectChanges() {
477
+ this.cdr.detectChanges();
981
478
  }
982
479
  }
983
- ChartWizardPropertyPaneDataTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneDataTabComponent, deps: [{ token: StateService }, { token: i2.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
984
- ChartWizardPropertyPaneDataTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardPropertyPaneDataTabComponent, isStandalone: true, selector: "kendo-chartwizard-property-pane-format-tab", ngImport: i0, template: `
985
- <section>
986
- <kendo-expansionpanel
987
- [style.max-width.px]="576"
988
- title="Chart Area"
989
- [expanded]="true"
990
- [attr.dir]="stateService.direction"
991
- >
992
- <form class="k-form k-form-md">
993
- <fieldset class="k-form-fieldset">
994
- <legend class="k-form-legend">Margins</legend>
995
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
996
- <kendo-chartwizard-property-pane-form-field
997
- text="Left"
998
- inputType="numeric"
999
- [value]="$any(stateService.state.area?.margin).left"
1000
- (valueChange)="updateState(areaMarginLeft, $event)"
1001
- >
1002
- </kendo-chartwizard-property-pane-form-field>
1003
- <kendo-chartwizard-property-pane-form-field
1004
- text="Right"
1005
- inputType="numeric"
1006
- [value]="$any(stateService.state.area?.margin).right"
1007
- (valueChange)="updateState(areaMarginRight, $event)"
1008
- >
1009
- </kendo-chartwizard-property-pane-form-field>
1010
- <kendo-chartwizard-property-pane-form-field
1011
- text="Top"
1012
- inputType="numeric"
1013
- [value]="$any(stateService.state.area?.margin).top"
1014
- (valueChange)="updateState(areaMarginTop, $event)"
1015
- >
1016
- </kendo-chartwizard-property-pane-form-field>
1017
- <kendo-chartwizard-property-pane-form-field
1018
- text="Bottom"
1019
- inputType="numeric"
1020
- [value]="$any(stateService.state.area?.margin).bottom"
1021
- (valueChange)="updateState(areaMarginBottom, $event)"
1022
- >
1023
- </kendo-chartwizard-property-pane-form-field>
1024
- </div>
1025
- </fieldset>
1026
- <fieldset class="k-form-fieldset">
1027
- <legend class="k-form-legend">Background</legend>
1028
- <kendo-chartwizard-property-pane-form-field
1029
- text="Color"
1030
- inputType="colorPicker"
1031
- [value]="stateService.state.area?.background"
1032
- (valueChange)="updateState(areaBackground, $event)"
1033
- >
1034
- </kendo-chartwizard-property-pane-form-field>
1035
- </fieldset>
1036
- </form>
1037
- </kendo-expansionpanel>
1038
- </section>
1039
- <section>
1040
- <kendo-expansionpanel
1041
- [style.max-width.px]="576"
1042
- title="Title"
1043
- [expanded]="true"
1044
- >
1045
- <form class="k-form k-form-md">
1046
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1047
- <kendo-chartwizard-property-pane-form-field
1048
- text="Apply to"
1049
- inputType="dropDownList"
1050
- [data]="chartTitles"
1051
- [colSpan]="2"
1052
- [value]="stateService.currentTitle"
1053
- (valueChange)="changeCurrentTitle($event)"
1054
- >
1055
- </kendo-chartwizard-property-pane-form-field>
1056
- <kendo-chartwizard-property-pane-form-field
1057
- text="Title"
1058
- inputType="text"
1059
- [colSpan]="2"
1060
- [value]="chartTitleTypeText"
1061
- (valueChange)="updateState(chartTitleTypeAction, $event)"
1062
- >
1063
- </kendo-chartwizard-property-pane-form-field>
1064
- <kendo-chartwizard-property-pane-form-field
1065
- text="Font"
1066
- inputType="comboBox"
1067
- [data]="fontNames"
1068
- [colSpan]="2"
1069
- [value]="chartTitleTypeFont"
1070
- placeholder="(Inherited font)"
1071
- (valueChange)="updateState(chartTitleTypeFontAction, $event)"
1072
- >
1073
- </kendo-chartwizard-property-pane-form-field>
1074
- <kendo-chartwizard-property-pane-form-field
1075
- text="Size"
1076
- inputType="comboBox"
1077
- placeholder="px"
1078
- [data]="fontSizes"
1079
- [value]="chartTitleTypeFontSize"
1080
- (valueChange)="updateState(chartTitleTypeFontSizeAction, $event)"
1081
- >
1082
- </kendo-chartwizard-property-pane-form-field>
1083
- <kendo-chartwizard-property-pane-form-field
1084
- text="Color"
1085
- inputType="colorPicker"
1086
- [value]="chartTitleTypeColor"
1087
- (valueChange)="updateState(chartTitleTypeColorAction, $event)"
1088
- >
1089
- </kendo-chartwizard-property-pane-form-field>
1090
- </div>
1091
- </form>
1092
- </kendo-expansionpanel>
1093
- </section>
1094
- <section>
1095
- <kendo-expansionpanel
1096
- [style.max-width.px]="576"
1097
- title="Legend"
1098
- [expanded]="true"
1099
- >
1100
- <form class="k-form k-form-md">
1101
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1102
- <kendo-label [for]="toggleLegend" text="Show Legend"></kendo-label>
1103
- <kendo-switch
1104
- #toggleLegend
1105
- onLabel="On"
1106
- offLabel="Off"
1107
- thumbRounded="full"
1108
- size="medium"
1109
- [checked]="stateService.state.legend?.visible"
1110
- (valueChange)="updateState(legendVisible, $event)"
1111
- ></kendo-switch>
1112
- <kendo-chartwizard-property-pane-form-field
1113
- text="Font"
1114
- inputType="comboBox"
1115
- [data]="fontNames"
1116
- [colSpan]="2"
1117
- placeholder="(Inherited font)"
1118
- [value]="parseFont(stateService.state.legend?.labels?.font).name"
1119
- (valueChange)="updateState(legendFontName, $event)"
1120
- >
1121
- </kendo-chartwizard-property-pane-form-field>
1122
- <kendo-chartwizard-property-pane-form-field
1123
- text="Size"
1124
- inputType="comboBox"
1125
- [data]="fontSizes"
1126
- placeholder="px"
1127
- [value]="parseFont(stateService.state.legend?.labels?.font).size"
1128
- (valueChange)="updateState(legendFontSize, $event)"
1129
- >
1130
- </kendo-chartwizard-property-pane-form-field>
1131
- <kendo-chartwizard-property-pane-form-field
1132
- text="Color"
1133
- inputType="colorPicker"
1134
- [value]="stateService.state.legend?.labels?.color"
1135
- (valueChange)="updateState(legendColor, $event)"
1136
- >
1137
- </kendo-chartwizard-property-pane-form-field>
1138
- <kendo-chartwizard-property-pane-form-field
1139
- text="Position"
1140
- inputType="dropDownList"
1141
- [colSpan]="2"
1142
- [data]="legendPositions"
1143
- [value]="stateService.state.legend?.position"
1144
- (valueChange)="updateState(legendPosition, $event)"
1145
- >
1146
- </kendo-chartwizard-property-pane-form-field>
1147
- </div>
1148
- </form>
1149
- </kendo-expansionpanel>
1150
- </section>
1151
- <section>
1152
- <kendo-expansionpanel
1153
- [style.max-width.px]="576"
1154
- title="Series"
1155
- [expanded]="true"
1156
- >
1157
- <form class="k-form k-form-md">
1158
- <div class="k-form-field">
1159
- <kendo-label [for]="seriesDropDown" class="k-form-label" text="Apply to"></kendo-label>
1160
- <div class="k-form-field-wrap">
1161
- <kendo-dropdownlist
1162
- #seriesDropDown
1163
- [data]="seriesData"
1164
- textField="name"
1165
- valueField="name"
1166
- fillMode="outline"
1167
- rounded="medium"
1168
- size="medium"
1169
- [value]="stateService.currentSeries"
1170
- (valueChange)="updateCurrentSeries($event)"
1171
- ></kendo-dropdownlist>
1172
- </div>
1173
- </div>
1174
-
1175
- <kendo-chartwizard-property-pane-form-field
1176
- text="Color"
1177
- [value]="stateService.currentSeries?.color"
1178
- inputType="colorPicker"
1179
- [disabled]="stateService.currentSeries.name === defaultAllSeriesItem.name"
1180
- (valueChange)="updateSeriesColor($event)"
1181
- >
1182
- </kendo-chartwizard-property-pane-form-field>
1183
- <kendo-chartwizard-property-pane-form-field
1184
- text="Show Labels"
1185
- [value]="showLabels"
1186
- [isLabelInsideFormFieldWrap]="true"
1187
- inputType="checkbox"
1188
- (valueChange)="toggleSeriesLabels($event)"
1189
- >
1190
- </kendo-chartwizard-property-pane-form-field>
1191
- </form>
1192
- </kendo-expansionpanel>
1193
- </section>
1194
- <section *ngIf="stateService.seriesType !== 'pie'" class="k-row-start-1 k-row-end-3 k-col-start-3">
1195
- <kendo-expansionpanel
1196
- [style.max-width.px]="576"
1197
- [title]="stateService.seriesType === 'scatter' ? 'X Axis' : 'Category axis'"
1198
- [expanded]="true"
1199
- >
1200
- <form class="k-form k-form-md">
1201
- <fieldset class="k-form-fieldset">
1202
- <legend class="k-form-legend">Title</legend>
1203
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1204
- <kendo-chartwizard-property-pane-form-field
1205
- inputType="text"
1206
- [hasLabel]="false"
1207
- [colSpan]="2"
1208
- placeholder="Axis Title"
1209
- [value]="stateService.state.categoryAxis[0]?.title?.text || null"
1210
- (valueChange)="updateState(categoryAxisTitleText, $event)"
1211
- >
1212
- </kendo-chartwizard-property-pane-form-field>
1213
- <kendo-chartwizard-property-pane-form-field
1214
- text="Font"
1215
- inputType="comboBox"
1216
- [data]="fontNames"
1217
- [colSpan]="2"
1218
- placeholder="(Inherited font)"
1219
- [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).name"
1220
- (valueChange)="updateState(categoryAxisTitleFontName, $event)"
1221
- >
1222
- </kendo-chartwizard-property-pane-form-field>
1223
- <kendo-chartwizard-property-pane-form-field
1224
- text="Size"
1225
- inputType="comboBox"
1226
- placeholder="px"
1227
- [data]="fontSizes"
1228
- [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).size"
1229
- (valueChange)="updateState(categoryAxisTitleFontSize, $event)"
1230
- >
1231
- </kendo-chartwizard-property-pane-form-field>
1232
- <kendo-chartwizard-property-pane-form-field
1233
- text="Color"
1234
- inputType="colorPicker"
1235
- [value]="stateService.state.categoryAxis[0]?.title?.color"
1236
- (valueChange)="updateState(categoryAxisTitleColor, $event)"
1237
- >
1238
- </kendo-chartwizard-property-pane-form-field>
1239
- </div>
1240
- </fieldset>
1241
- <fieldset class="k-form-fieldset">
1242
- <legend class="k-form-legend">Labels</legend>
1243
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1244
- <kendo-chartwizard-property-pane-form-field
1245
- text="Font"
1246
- inputType="comboBox"
1247
- [data]="fontNames"
1248
- placeholder="(Inherited font)"
1249
- [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).name"
1250
- (valueChange)="updateState(categoryAxisLabelsFontName, $event)"
1251
- >
1252
- </kendo-chartwizard-property-pane-form-field>
1253
- <kendo-chartwizard-property-pane-form-field
1254
- text="Size"
1255
- inputType="comboBox"
1256
- [data]="fontSizes"
1257
- placeholder="px"
1258
- [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).size"
1259
- (valueChange)="updateState(categoryAxisLabelsFontSize, $event)"
1260
- >
1261
- </kendo-chartwizard-property-pane-form-field>
1262
- <kendo-chartwizard-property-pane-form-field
1263
- text="Color"
1264
- inputType="colorPicker"
1265
- [value]="stateService.state.categoryAxis[0]?.labels?.color || ''"
1266
- (valueChange)="updateState(categoryAxisLabelsColor, $event)"
1267
- >
1268
- </kendo-chartwizard-property-pane-form-field>
1269
- <kendo-chartwizard-property-pane-form-field
1270
- text="Rotation"
1271
- inputType="dropDownList"
1272
- [data]="labelsRotation"
1273
- [value]="stateService.state.categoryAxis[0]?.labels?.rotation"
1274
- (valueChange)="updateState(categoryAxisLabelsRotation, $event)"
1275
- >
1276
- </kendo-chartwizard-property-pane-form-field>
1277
- <span></span>
1278
- <kendo-chartwizard-property-pane-form-field
1279
- text="Reverse Order"
1280
- [isLabelInsideFormFieldWrap]="true"
1281
- inputType="checkbox"
1282
- [colSpan]="2"
1283
- [value]="stateService.state.categoryAxis[0]?.reverse"
1284
- (valueChange)="updateState(categoryAxisReverseOrder, $event)"
1285
- >
1286
- </kendo-chartwizard-property-pane-form-field>
1287
- </div>
1288
- </fieldset>
1289
- </form>
1290
- </kendo-expansionpanel>
1291
- </section>
1292
- <section *ngIf="stateService.seriesType !== 'pie'" class="k-row-start-1 k-row-end-3 k-col-start-4">
1293
- <kendo-expansionpanel
1294
- [style.max-width.px]="576"
1295
- [title]="stateService.seriesType === 'scatter' ? 'Y Axis' : 'Value axis'"
1296
- [expanded]="true"
1297
- >
1298
- <form class="k-form k-form-md">
1299
- <fieldset class="k-form-fieldset">
1300
- <legend class="k-form-legend">Title</legend>
1301
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1302
- <kendo-chartwizard-property-pane-form-field
1303
- inputType="text"
1304
- [hasLabel]="false"
1305
- [colSpan]="2"
1306
- placeholder="Axis Title"
1307
- [value]="stateService.state.valueAxis[0]?.title?.text || null"
1308
- (valueChange)="updateState(valueAxisTitleText, $event)"
1309
- >
1310
- </kendo-chartwizard-property-pane-form-field>
1311
- <kendo-chartwizard-property-pane-form-field
1312
- text="Font"
1313
- inputType="comboBox"
1314
- [colSpan]="2"
1315
- [data]="fontNames"
1316
- placeholder="(Inherited font)"
1317
- [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).name"
1318
- (valueChange)="updateState(valueAxisTitleFontName, $event)"
1319
- >
1320
- </kendo-chartwizard-property-pane-form-field>
1321
- <kendo-chartwizard-property-pane-form-field
1322
- text="Size"
1323
- inputType="comboBox"
1324
- placeholder="px"
1325
- [data]="fontSizes"
1326
- [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).size"
1327
- (valueChange)="updateState(valueAxisTitleFontSize, $event)"
1328
- >
1329
- </kendo-chartwizard-property-pane-form-field>
1330
- <kendo-chartwizard-property-pane-form-field
1331
- text="Color"
1332
- inputType="colorPicker"
1333
- [value]="stateService.state.valueAxis[0]?.title?.color"
1334
- (valueChange)="updateState(valueAxisTitleColor, $event)"
1335
- >
1336
- </kendo-chartwizard-property-pane-form-field>
1337
- </div>
1338
- </fieldset>
1339
- <fieldset class="k-form-fieldset">
1340
- <legend class="k-form-legend">Labels</legend>
1341
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1342
- <kendo-chartwizard-property-pane-form-field
1343
- text="Label Format"
1344
- [colSpan]="2"
1345
- inputType="dropDownList"
1346
- [data]="labelFormats"
1347
- [value]="labelFormatValue"
1348
- (valueChange)="updateState(valueAxisLabelsFormat, $event)"
1349
- >
1350
- </kendo-chartwizard-property-pane-form-field>
1351
- <kendo-chartwizard-property-pane-form-field
1352
- text="Font"
1353
- inputType="comboBox"
1354
- [data]="fontNames"
1355
- placeholder="(Inherited font)"
1356
- [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).name"
1357
- (valueChange)="updateState(valueAxisLabelsFontName, $event)"
1358
- >
1359
- </kendo-chartwizard-property-pane-form-field>
1360
- <kendo-chartwizard-property-pane-form-field
1361
- text="Size"
1362
- inputType="comboBox"
1363
- [data]="fontSizes"
1364
- placeholder="px"
1365
- [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).size"
1366
- (valueChange)="updateState(valueAxisLabelsFontSize, $event)"
1367
- >
1368
- </kendo-chartwizard-property-pane-form-field>
1369
- <kendo-chartwizard-property-pane-form-field
1370
- text="Color"
1371
- inputType="colorPicker"
1372
- [value]="stateService.state.valueAxis[0]?.labels?.color || ''"
1373
- (valueChange)="updateState(valueAxisLabelsColor, $event)"
1374
- >
1375
- </kendo-chartwizard-property-pane-form-field>
1376
- <kendo-chartwizard-property-pane-form-field
1377
- text="Rotation"
1378
- inputType="dropDownList"
1379
- [data]="labelsRotation"
1380
- [value]="stateService.state.valueAxis[0]?.labels?.rotation"
1381
- (valueChange)="updateState(valueAxisLabelsRotation, $event)"
1382
- >
1383
- </kendo-chartwizard-property-pane-form-field>
1384
- </div>
1385
- </fieldset>
1386
- </form>
1387
- </kendo-expansionpanel>
1388
- </section>
1389
- `, isInline: true, dependencies: [{ kind: "component", type: ExpansionPanelComponent, selector: "kendo-expansionpanel", inputs: ["title", "subtitle", "disabled", "expanded", "svgExpandIcon", "svgCollapseIcon", "expandIcon", "collapseIcon", "animation"], outputs: ["expandedChange", "action", "expand", "collapse"], exportAs: ["kendoExpansionPanel"] }, { kind: "component", type: ChartWizardPropertyPaneFormFieldComponent, selector: "kendo-chartwizard-property-pane-form-field", inputs: ["currentState", "action", "class", "inputType", "text", "data", "placeholder", "colSpan", "hasLabel", "isLabelInsideFormFieldWrap", "value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: SwitchComponent, selector: "kendo-switch", inputs: ["focusableId", "onLabel", "offLabel", "checked", "disabled", "readonly", "tabindex", "size", "thumbRounded", "trackRounded", "tabIndex"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoSwitch"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1390
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneDataTabComponent, decorators: [{
1391
- type: Component,
1392
- args: [{
1393
- selector: 'kendo-chartwizard-property-pane-format-tab',
1394
- changeDetection: ChangeDetectionStrategy.OnPush,
1395
- template: `
1396
- <section>
1397
- <kendo-expansionpanel
1398
- [style.max-width.px]="576"
1399
- title="Chart Area"
1400
- [expanded]="true"
1401
- [attr.dir]="stateService.direction"
1402
- >
1403
- <form class="k-form k-form-md">
1404
- <fieldset class="k-form-fieldset">
1405
- <legend class="k-form-legend">Margins</legend>
1406
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1407
- <kendo-chartwizard-property-pane-form-field
1408
- text="Left"
1409
- inputType="numeric"
1410
- [value]="$any(stateService.state.area?.margin).left"
1411
- (valueChange)="updateState(areaMarginLeft, $event)"
1412
- >
1413
- </kendo-chartwizard-property-pane-form-field>
1414
- <kendo-chartwizard-property-pane-form-field
1415
- text="Right"
1416
- inputType="numeric"
1417
- [value]="$any(stateService.state.area?.margin).right"
1418
- (valueChange)="updateState(areaMarginRight, $event)"
1419
- >
1420
- </kendo-chartwizard-property-pane-form-field>
1421
- <kendo-chartwizard-property-pane-form-field
1422
- text="Top"
1423
- inputType="numeric"
1424
- [value]="$any(stateService.state.area?.margin).top"
1425
- (valueChange)="updateState(areaMarginTop, $event)"
1426
- >
1427
- </kendo-chartwizard-property-pane-form-field>
1428
- <kendo-chartwizard-property-pane-form-field
1429
- text="Bottom"
1430
- inputType="numeric"
1431
- [value]="$any(stateService.state.area?.margin).bottom"
1432
- (valueChange)="updateState(areaMarginBottom, $event)"
1433
- >
1434
- </kendo-chartwizard-property-pane-form-field>
1435
- </div>
1436
- </fieldset>
1437
- <fieldset class="k-form-fieldset">
1438
- <legend class="k-form-legend">Background</legend>
1439
- <kendo-chartwizard-property-pane-form-field
1440
- text="Color"
1441
- inputType="colorPicker"
1442
- [value]="stateService.state.area?.background"
1443
- (valueChange)="updateState(areaBackground, $event)"
1444
- >
1445
- </kendo-chartwizard-property-pane-form-field>
1446
- </fieldset>
1447
- </form>
1448
- </kendo-expansionpanel>
1449
- </section>
1450
- <section>
1451
- <kendo-expansionpanel
1452
- [style.max-width.px]="576"
1453
- title="Title"
1454
- [expanded]="true"
1455
- >
1456
- <form class="k-form k-form-md">
1457
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1458
- <kendo-chartwizard-property-pane-form-field
1459
- text="Apply to"
1460
- inputType="dropDownList"
1461
- [data]="chartTitles"
1462
- [colSpan]="2"
1463
- [value]="stateService.currentTitle"
1464
- (valueChange)="changeCurrentTitle($event)"
1465
- >
1466
- </kendo-chartwizard-property-pane-form-field>
1467
- <kendo-chartwizard-property-pane-form-field
1468
- text="Title"
1469
- inputType="text"
1470
- [colSpan]="2"
1471
- [value]="chartTitleTypeText"
1472
- (valueChange)="updateState(chartTitleTypeAction, $event)"
1473
- >
1474
- </kendo-chartwizard-property-pane-form-field>
1475
- <kendo-chartwizard-property-pane-form-field
1476
- text="Font"
1477
- inputType="comboBox"
1478
- [data]="fontNames"
1479
- [colSpan]="2"
1480
- [value]="chartTitleTypeFont"
1481
- placeholder="(Inherited font)"
1482
- (valueChange)="updateState(chartTitleTypeFontAction, $event)"
1483
- >
1484
- </kendo-chartwizard-property-pane-form-field>
1485
- <kendo-chartwizard-property-pane-form-field
1486
- text="Size"
1487
- inputType="comboBox"
1488
- placeholder="px"
1489
- [data]="fontSizes"
1490
- [value]="chartTitleTypeFontSize"
1491
- (valueChange)="updateState(chartTitleTypeFontSizeAction, $event)"
1492
- >
1493
- </kendo-chartwizard-property-pane-form-field>
1494
- <kendo-chartwizard-property-pane-form-field
1495
- text="Color"
1496
- inputType="colorPicker"
1497
- [value]="chartTitleTypeColor"
1498
- (valueChange)="updateState(chartTitleTypeColorAction, $event)"
1499
- >
1500
- </kendo-chartwizard-property-pane-form-field>
1501
- </div>
1502
- </form>
1503
- </kendo-expansionpanel>
1504
- </section>
1505
- <section>
1506
- <kendo-expansionpanel
1507
- [style.max-width.px]="576"
1508
- title="Legend"
1509
- [expanded]="true"
1510
- >
1511
- <form class="k-form k-form-md">
1512
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1513
- <kendo-label [for]="toggleLegend" text="Show Legend"></kendo-label>
1514
- <kendo-switch
1515
- #toggleLegend
1516
- onLabel="On"
1517
- offLabel="Off"
1518
- thumbRounded="full"
1519
- size="medium"
1520
- [checked]="stateService.state.legend?.visible"
1521
- (valueChange)="updateState(legendVisible, $event)"
1522
- ></kendo-switch>
1523
- <kendo-chartwizard-property-pane-form-field
1524
- text="Font"
1525
- inputType="comboBox"
1526
- [data]="fontNames"
1527
- [colSpan]="2"
1528
- placeholder="(Inherited font)"
1529
- [value]="parseFont(stateService.state.legend?.labels?.font).name"
1530
- (valueChange)="updateState(legendFontName, $event)"
1531
- >
1532
- </kendo-chartwizard-property-pane-form-field>
1533
- <kendo-chartwizard-property-pane-form-field
1534
- text="Size"
1535
- inputType="comboBox"
1536
- [data]="fontSizes"
1537
- placeholder="px"
1538
- [value]="parseFont(stateService.state.legend?.labels?.font).size"
1539
- (valueChange)="updateState(legendFontSize, $event)"
1540
- >
1541
- </kendo-chartwizard-property-pane-form-field>
1542
- <kendo-chartwizard-property-pane-form-field
1543
- text="Color"
1544
- inputType="colorPicker"
1545
- [value]="stateService.state.legend?.labels?.color"
1546
- (valueChange)="updateState(legendColor, $event)"
1547
- >
1548
- </kendo-chartwizard-property-pane-form-field>
1549
- <kendo-chartwizard-property-pane-form-field
1550
- text="Position"
1551
- inputType="dropDownList"
1552
- [colSpan]="2"
1553
- [data]="legendPositions"
1554
- [value]="stateService.state.legend?.position"
1555
- (valueChange)="updateState(legendPosition, $event)"
1556
- >
1557
- </kendo-chartwizard-property-pane-form-field>
1558
- </div>
1559
- </form>
1560
- </kendo-expansionpanel>
1561
- </section>
1562
- <section>
1563
- <kendo-expansionpanel
1564
- [style.max-width.px]="576"
1565
- title="Series"
1566
- [expanded]="true"
1567
- >
1568
- <form class="k-form k-form-md">
1569
- <div class="k-form-field">
1570
- <kendo-label [for]="seriesDropDown" class="k-form-label" text="Apply to"></kendo-label>
1571
- <div class="k-form-field-wrap">
1572
- <kendo-dropdownlist
1573
- #seriesDropDown
1574
- [data]="seriesData"
1575
- textField="name"
1576
- valueField="name"
1577
- fillMode="outline"
1578
- rounded="medium"
1579
- size="medium"
1580
- [value]="stateService.currentSeries"
1581
- (valueChange)="updateCurrentSeries($event)"
1582
- ></kendo-dropdownlist>
1583
- </div>
1584
- </div>
1585
-
1586
- <kendo-chartwizard-property-pane-form-field
1587
- text="Color"
1588
- [value]="stateService.currentSeries?.color"
1589
- inputType="colorPicker"
1590
- [disabled]="stateService.currentSeries.name === defaultAllSeriesItem.name"
1591
- (valueChange)="updateSeriesColor($event)"
1592
- >
1593
- </kendo-chartwizard-property-pane-form-field>
1594
- <kendo-chartwizard-property-pane-form-field
1595
- text="Show Labels"
1596
- [value]="showLabels"
1597
- [isLabelInsideFormFieldWrap]="true"
1598
- inputType="checkbox"
1599
- (valueChange)="toggleSeriesLabels($event)"
1600
- >
1601
- </kendo-chartwizard-property-pane-form-field>
1602
- </form>
1603
- </kendo-expansionpanel>
1604
- </section>
1605
- <section *ngIf="stateService.seriesType !== 'pie'" class="k-row-start-1 k-row-end-3 k-col-start-3">
1606
- <kendo-expansionpanel
1607
- [style.max-width.px]="576"
1608
- [title]="stateService.seriesType === 'scatter' ? 'X Axis' : 'Category axis'"
1609
- [expanded]="true"
1610
- >
1611
- <form class="k-form k-form-md">
1612
- <fieldset class="k-form-fieldset">
1613
- <legend class="k-form-legend">Title</legend>
1614
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1615
- <kendo-chartwizard-property-pane-form-field
1616
- inputType="text"
1617
- [hasLabel]="false"
1618
- [colSpan]="2"
1619
- placeholder="Axis Title"
1620
- [value]="stateService.state.categoryAxis[0]?.title?.text || null"
1621
- (valueChange)="updateState(categoryAxisTitleText, $event)"
1622
- >
1623
- </kendo-chartwizard-property-pane-form-field>
1624
- <kendo-chartwizard-property-pane-form-field
1625
- text="Font"
1626
- inputType="comboBox"
1627
- [data]="fontNames"
1628
- [colSpan]="2"
1629
- placeholder="(Inherited font)"
1630
- [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).name"
1631
- (valueChange)="updateState(categoryAxisTitleFontName, $event)"
1632
- >
1633
- </kendo-chartwizard-property-pane-form-field>
1634
- <kendo-chartwizard-property-pane-form-field
1635
- text="Size"
1636
- inputType="comboBox"
1637
- placeholder="px"
1638
- [data]="fontSizes"
1639
- [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).size"
1640
- (valueChange)="updateState(categoryAxisTitleFontSize, $event)"
1641
- >
1642
- </kendo-chartwizard-property-pane-form-field>
1643
- <kendo-chartwizard-property-pane-form-field
1644
- text="Color"
1645
- inputType="colorPicker"
1646
- [value]="stateService.state.categoryAxis[0]?.title?.color"
1647
- (valueChange)="updateState(categoryAxisTitleColor, $event)"
1648
- >
1649
- </kendo-chartwizard-property-pane-form-field>
1650
- </div>
1651
- </fieldset>
1652
- <fieldset class="k-form-fieldset">
1653
- <legend class="k-form-legend">Labels</legend>
1654
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1655
- <kendo-chartwizard-property-pane-form-field
1656
- text="Font"
1657
- inputType="comboBox"
1658
- [data]="fontNames"
1659
- placeholder="(Inherited font)"
1660
- [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).name"
1661
- (valueChange)="updateState(categoryAxisLabelsFontName, $event)"
1662
- >
1663
- </kendo-chartwizard-property-pane-form-field>
1664
- <kendo-chartwizard-property-pane-form-field
1665
- text="Size"
1666
- inputType="comboBox"
1667
- [data]="fontSizes"
1668
- placeholder="px"
1669
- [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).size"
1670
- (valueChange)="updateState(categoryAxisLabelsFontSize, $event)"
1671
- >
1672
- </kendo-chartwizard-property-pane-form-field>
1673
- <kendo-chartwizard-property-pane-form-field
1674
- text="Color"
1675
- inputType="colorPicker"
1676
- [value]="stateService.state.categoryAxis[0]?.labels?.color || ''"
1677
- (valueChange)="updateState(categoryAxisLabelsColor, $event)"
1678
- >
1679
- </kendo-chartwizard-property-pane-form-field>
1680
- <kendo-chartwizard-property-pane-form-field
1681
- text="Rotation"
1682
- inputType="dropDownList"
1683
- [data]="labelsRotation"
1684
- [value]="stateService.state.categoryAxis[0]?.labels?.rotation"
1685
- (valueChange)="updateState(categoryAxisLabelsRotation, $event)"
1686
- >
1687
- </kendo-chartwizard-property-pane-form-field>
1688
- <span></span>
1689
- <kendo-chartwizard-property-pane-form-field
1690
- text="Reverse Order"
1691
- [isLabelInsideFormFieldWrap]="true"
1692
- inputType="checkbox"
1693
- [colSpan]="2"
1694
- [value]="stateService.state.categoryAxis[0]?.reverse"
1695
- (valueChange)="updateState(categoryAxisReverseOrder, $event)"
1696
- >
1697
- </kendo-chartwizard-property-pane-form-field>
1698
- </div>
1699
- </fieldset>
1700
- </form>
1701
- </kendo-expansionpanel>
1702
- </section>
1703
- <section *ngIf="stateService.seriesType !== 'pie'" class="k-row-start-1 k-row-end-3 k-col-start-4">
1704
- <kendo-expansionpanel
1705
- [style.max-width.px]="576"
1706
- [title]="stateService.seriesType === 'scatter' ? 'Y Axis' : 'Value axis'"
1707
- [expanded]="true"
1708
- >
1709
- <form class="k-form k-form-md">
1710
- <fieldset class="k-form-fieldset">
1711
- <legend class="k-form-legend">Title</legend>
1712
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1713
- <kendo-chartwizard-property-pane-form-field
1714
- inputType="text"
1715
- [hasLabel]="false"
1716
- [colSpan]="2"
1717
- placeholder="Axis Title"
1718
- [value]="stateService.state.valueAxis[0]?.title?.text || null"
1719
- (valueChange)="updateState(valueAxisTitleText, $event)"
1720
- >
1721
- </kendo-chartwizard-property-pane-form-field>
1722
- <kendo-chartwizard-property-pane-form-field
1723
- text="Font"
1724
- inputType="comboBox"
1725
- [colSpan]="2"
1726
- [data]="fontNames"
1727
- placeholder="(Inherited font)"
1728
- [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).name"
1729
- (valueChange)="updateState(valueAxisTitleFontName, $event)"
1730
- >
1731
- </kendo-chartwizard-property-pane-form-field>
1732
- <kendo-chartwizard-property-pane-form-field
1733
- text="Size"
1734
- inputType="comboBox"
1735
- placeholder="px"
1736
- [data]="fontSizes"
1737
- [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).size"
1738
- (valueChange)="updateState(valueAxisTitleFontSize, $event)"
1739
- >
1740
- </kendo-chartwizard-property-pane-form-field>
1741
- <kendo-chartwizard-property-pane-form-field
1742
- text="Color"
1743
- inputType="colorPicker"
1744
- [value]="stateService.state.valueAxis[0]?.title?.color"
1745
- (valueChange)="updateState(valueAxisTitleColor, $event)"
1746
- >
1747
- </kendo-chartwizard-property-pane-form-field>
1748
- </div>
1749
- </fieldset>
1750
- <fieldset class="k-form-fieldset">
1751
- <legend class="k-form-legend">Labels</legend>
1752
- <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1753
- <kendo-chartwizard-property-pane-form-field
1754
- text="Label Format"
1755
- [colSpan]="2"
1756
- inputType="dropDownList"
1757
- [data]="labelFormats"
1758
- [value]="labelFormatValue"
1759
- (valueChange)="updateState(valueAxisLabelsFormat, $event)"
1760
- >
1761
- </kendo-chartwizard-property-pane-form-field>
1762
- <kendo-chartwizard-property-pane-form-field
1763
- text="Font"
1764
- inputType="comboBox"
1765
- [data]="fontNames"
1766
- placeholder="(Inherited font)"
1767
- [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).name"
1768
- (valueChange)="updateState(valueAxisLabelsFontName, $event)"
1769
- >
1770
- </kendo-chartwizard-property-pane-form-field>
1771
- <kendo-chartwizard-property-pane-form-field
1772
- text="Size"
1773
- inputType="comboBox"
1774
- [data]="fontSizes"
1775
- placeholder="px"
1776
- [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).size"
1777
- (valueChange)="updateState(valueAxisLabelsFontSize, $event)"
1778
- >
1779
- </kendo-chartwizard-property-pane-form-field>
1780
- <kendo-chartwizard-property-pane-form-field
1781
- text="Color"
1782
- inputType="colorPicker"
1783
- [value]="stateService.state.valueAxis[0]?.labels?.color || ''"
1784
- (valueChange)="updateState(valueAxisLabelsColor, $event)"
1785
- >
1786
- </kendo-chartwizard-property-pane-form-field>
1787
- <kendo-chartwizard-property-pane-form-field
1788
- text="Rotation"
1789
- inputType="dropDownList"
1790
- [data]="labelsRotation"
1791
- [value]="stateService.state.valueAxis[0]?.labels?.rotation"
1792
- (valueChange)="updateState(valueAxisLabelsRotation, $event)"
1793
- >
1794
- </kendo-chartwizard-property-pane-form-field>
1795
- </div>
1796
- </fieldset>
1797
- </form>
1798
- </kendo-expansionpanel>
1799
- </section>
1800
- `,
1801
- standalone: true,
1802
- imports: [
1803
- ExpansionPanelComponent,
1804
- ChartWizardPropertyPaneFormFieldComponent,
1805
- LabelComponent,
1806
- SwitchComponent,
1807
- DropDownListComponent,
1808
- NgIf
1809
- ]
1810
- }]
1811
- }], ctorParameters: function () { return [{ type: StateService }, { type: i2.LocalizationService }, { type: i0.ChangeDetectorRef }]; } });
1812
-
1813
- /**
1814
- * @hidden
1815
- */
1816
- class ChartWizardPropertyPaneFormatTabComponent {
1817
- constructor(stateService, formBuilder) {
1818
- this.stateService = stateService;
1819
- this.formBuilder = formBuilder;
1820
- this.categoryAxisX = ActionTypes.categoryAxisX;
1821
- this.valueAxisY = ActionTypes.valueAxisY;
1822
- this.seriesChange = ActionTypes.seriesChange;
1823
- this.trashIcon = trashIcon;
1824
- this.plusIcon = plusIcon;
1825
- this.isCategorical = isCategorical;
1826
- this.formGroup = this.formBuilder.group({
1827
- name: null,
1828
- });
1829
- }
1830
- updateState(action, value) {
1831
- this.stateService.state = updateState(this.stateService.state, action, value);
1832
- }
1833
- createFormGroup(args) {
1834
- const item = args.isNew ? {} : args.dataItem;
1835
- this.formGroup = this.formBuilder.group({
1836
- name: item.name,
1837
- });
1838
- return this.formGroup;
1839
- }
1840
- addData() {
1841
- this.stateService.state.series.push(this.stateService.deletedSeries[0]);
1842
- this.stateService.deletedSeries.shift();
1843
- this.updateState(this.seriesChange, this.stateService.state.series);
1844
- }
1845
- removeData(event) {
1846
- this.stateService.deletedSeries.push(event.dataItem);
1847
- this.updateState(this.seriesChange, event.sender.data.data);
1848
- }
1849
- onRowReorder(grid) {
1850
- this.updateState(this.seriesChange, grid.data.data);
1851
- }
1852
- isDisabled(grid) {
1853
- return grid.data.data.length === this.stateService.state.initialSeries.length;
1854
- }
1855
- }
1856
- ChartWizardPropertyPaneFormatTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormatTabComponent, deps: [{ token: StateService }, { token: i2$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
1857
- ChartWizardPropertyPaneFormatTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardPropertyPaneFormatTabComponent, isStandalone: true, selector: "kendo-chartwizard-property-pane-data-tab", ngImport: i0, template: `
1858
- <kendo-expansionpanel title="Configuration" [expanded]="true">
1859
- <form class="k-form k-form-md">
1860
- <fieldset class="k-form-fieldset">
1861
- <legend class="k-form-legend">
1862
- {{ stateService.seriesType === 'scatter' ? 'X Axis' : 'Category Axis' }}
1863
- </legend>
1864
- <kendo-dropdownlist
1865
- [data]="stateService.state.columns"
1866
- [value]="stateService.state.categoryField"
1867
- (valueChange)="updateState(categoryAxisX, $event)"
1868
- fillMode="outline"
1869
- rounded="medium"
1870
- size="medium"
1871
- >
1872
- </kendo-dropdownlist>
1873
- </fieldset>
1874
- <fieldset class="k-form-fieldset" *ngIf="isCategorical(stateService.seriesType)">
1875
- <legend class="k-form-legend">Series</legend>
1876
- <kendo-grid
1877
- #grid
1878
- [kendoGridReactiveEditing]="createFormGroup"
1879
- [kendoGridBinding]="stateService.state.series"
1880
- [rowReorderable]="true"
1881
- (rowReorder)="onRowReorder(grid)"
1882
- (remove)="removeData($event)"
1883
- >
1884
- <ng-template kendoGridToolbarTemplate>
1885
- <button
1886
- kendoButton
1887
- type="button"
1888
- [svgIcon]="plusIcon"
1889
- fillMode="flat"
1890
- rounded="medium"
1891
- [disabled]="isDisabled(grid)"
1892
- (click)="addData()"
1893
- >
1894
- ADD
1895
- </button>
1896
- </ng-template>
1897
- <kendo-grid-rowreorder-column [width]="40"></kendo-grid-rowreorder-column>
1898
- <kendo-grid-column field="name" title="Name"></kendo-grid-column>
1899
- <kendo-grid-command-column [width]="40">
1900
- <ng-template kendoGridCellTemplate>
1901
- <button
1902
- [svgIcon]="trashIcon"
1903
- kendoGridRemoveCommand
1904
- fillMode="flat"
1905
- rounded="medium"
1906
- [disabled]="stateService.state.series.length < 2"
1907
- ></button>
1908
- </ng-template>
1909
- </kendo-grid-command-column>
1910
- </kendo-grid>
1911
- </fieldset>
1912
- <fieldset
1913
- class="k-form-fieldset"
1914
- *ngIf="stateService.seriesType === 'pie' || stateService.seriesType === 'scatter'"
480
+ ChartWizardPropertyPaneChartTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneChartTabComponent, deps: [{ token: StateService }, { token: i0.ChangeDetectorRef }, { token: i2$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
481
+ ChartWizardPropertyPaneChartTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardPropertyPaneChartTabComponent, isStandalone: true, selector: "kendo-chartwizard-property-pane-chart-tab", ngImport: i0, template: `
482
+ <kendo-expansionpanel title="Bar Chart" [expanded]="true">
483
+ <div class="k-chart-types-wrapper">
484
+ <kendo-chartwizard-series-type-button
485
+ title="Bar"
486
+ [chartTypeIcon]="chartBarClusteredIcon"
487
+ seriesType="bar"
488
+ [stack]="false"
489
+ >
490
+ </kendo-chartwizard-series-type-button>
491
+ <kendo-chartwizard-series-type-button
492
+ title="Stacked Bar"
493
+ [chartTypeIcon]="chartBarStackedIcon"
494
+ seriesType="bar"
495
+ [stack]="true"
496
+ >
497
+ </kendo-chartwizard-series-type-button>
498
+ <kendo-chartwizard-series-type-button
499
+ title="100% Stacked Bar"
500
+ [chartTypeIcon]="chartBarStacked100Icon"
501
+ seriesType="bar"
502
+ [stack]="{ type: '100%' }"
503
+ >
504
+ </kendo-chartwizard-series-type-button>
505
+ </div>
506
+ </kendo-expansionpanel>
507
+ <kendo-expansionpanel title="Pie Chart" [expanded]="true">
508
+ <div class="k-chart-types-wrapper">
509
+ <kendo-chartwizard-series-type-button
510
+ title="Pie"
511
+ [chartTypeIcon]="chartPieIcon"
512
+ seriesType="pie"
513
+ [stack]="undefined"
514
+ >
515
+ </kendo-chartwizard-series-type-button>
516
+ </div>
517
+ </kendo-expansionpanel>
518
+ <kendo-expansionpanel title="Column Chart" [expanded]="true">
519
+ <div class="k-chart-types-wrapper">
520
+ <kendo-chartwizard-series-type-button
521
+ title="Column"
522
+ [chartTypeIcon]="chartColumnClusteredIcon"
523
+ seriesType="column"
524
+ [stack]="false"
525
+ >
526
+ </kendo-chartwizard-series-type-button>
527
+ <kendo-chartwizard-series-type-button
528
+ title="Stacked Column"
529
+ [chartTypeIcon]="chartColumnStackedIcon"
530
+ seriesType="column"
531
+ [stack]="true"
1915
532
  >
1916
- <legend class="k-form-legend">
1917
- {{ stateService.seriesType === 'scatter' ? 'Y Axis' : 'Value Axis' }}
1918
- </legend>
1919
- <kendo-dropdownlist
1920
- [data]="stateService.state.columns"
1921
- [value]="stateService.state.yField"
1922
- (valueChange)="updateState(valueAxisY, $event)"
1923
- fillMode="outline"
1924
- rounded="medium"
1925
- size="medium"
1926
- >
1927
- </kendo-dropdownlist>
1928
- </fieldset>
1929
- </form>
533
+ </kendo-chartwizard-series-type-button>
534
+ <kendo-chartwizard-series-type-button
535
+ title="100% Stacked Column"
536
+ [chartTypeIcon]="chartColumnStacked100Icon"
537
+ seriesType="column"
538
+ [stack]="{ type: '100%' }"
539
+ >
540
+ </kendo-chartwizard-series-type-button>
541
+ </div>
1930
542
  </kendo-expansionpanel>
1931
- `, isInline: true, dependencies: [{ kind: "component", type: ExpansionPanelComponent, selector: "kendo-expansionpanel", inputs: ["title", "subtitle", "disabled", "expanded", "svgExpandIcon", "svgCollapseIcon", "expandIcon", "collapseIcon", "animation"], outputs: ["expandedChange", "action", "expand", "collapse"], exportAs: ["kendoExpansionPanel"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: ReactiveEditingDirective, selector: "[kendoGridReactiveEditing]", inputs: ["kendoGridReactiveEditing"] }, { kind: "directive", type: DataBindingDirective, selector: "[kendoGridBinding]", inputs: ["skip", "sort", "filter", "pageSize", "group", "kendoGridBinding"], exportAs: ["kendoGridBinding"] }, { kind: "directive", type: ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: RowReorderColumnComponent, selector: "kendo-grid-rowreorder-column", inputs: ["dragHandleIcon", "dragHandleSVGIcon"] }, { kind: "component", type: ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "component", type: CommandColumnComponent, selector: "kendo-grid-command-column" }, { kind: "directive", type: CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: GridToolbarFocusableDirective, selector: " [kendoGridToolbarFocusable], [kendoGridAddCommand], [kendoGridCancelCommand], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridExcelCommand], [kendoGridPDFCommand] " }, { kind: "component", type: RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1932
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormatTabComponent, decorators: [{
543
+ <kendo-expansionpanel title="Line Chart" [expanded]="true">
544
+ <div class="k-chart-types-wrapper">
545
+ <kendo-chartwizard-series-type-button
546
+ title="Line"
547
+ [chartTypeIcon]="chartLineIcon"
548
+ seriesType="line"
549
+ [stack]="false"
550
+ >
551
+ </kendo-chartwizard-series-type-button>
552
+ <kendo-chartwizard-series-type-button
553
+ title="Stacked Line"
554
+ [chartTypeIcon]="chartLineStackedIcon"
555
+ seriesType="line"
556
+ [stack]="true"
557
+ >
558
+ </kendo-chartwizard-series-type-button>
559
+ <kendo-chartwizard-series-type-button
560
+ title="100% Line Column"
561
+ [chartTypeIcon]="chartLineStacked100Icon"
562
+ seriesType="line"
563
+ [stack]="{ type: '100%' }"
564
+ >
565
+ </kendo-chartwizard-series-type-button>
566
+ </div>
567
+ </kendo-expansionpanel>
568
+ <kendo-expansionpanel title="Scatter Chart" [expanded]="true">
569
+ <div class="k-chart-types-wrapper">
570
+ <kendo-chartwizard-series-type-button
571
+ title="Scatter"
572
+ [chartTypeIcon]="chartScatterIcon"
573
+ seriesType="scatter"
574
+ [stack]="false"
575
+ >
576
+ </kendo-chartwizard-series-type-button>
577
+ </div>
578
+ </kendo-expansionpanel>
579
+ `, isInline: true, dependencies: [{ kind: "component", type: ExpansionPanelComponent, selector: "kendo-expansionpanel", inputs: ["title", "subtitle", "disabled", "expanded", "svgExpandIcon", "svgCollapseIcon", "expandIcon", "collapseIcon", "animation"], outputs: ["expandedChange", "action", "expand", "collapse"], exportAs: ["kendoExpansionPanel"] }, { kind: "component", type: ChartWizardSeriesTypeButtonComponent, selector: "kendo-chartwizard-series-type-button", inputs: ["title", "chartTypeIcon", "stack", "seriesType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
580
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneChartTabComponent, decorators: [{
1933
581
  type: Component,
1934
582
  args: [{
1935
- selector: 'kendo-chartwizard-property-pane-data-tab',
583
+ selector: 'kendo-chartwizard-property-pane-chart-tab',
1936
584
  changeDetection: ChangeDetectionStrategy.OnPush,
1937
585
  template: `
1938
- <kendo-expansionpanel title="Configuration" [expanded]="true">
1939
- <form class="k-form k-form-md">
1940
- <fieldset class="k-form-fieldset">
1941
- <legend class="k-form-legend">
1942
- {{ stateService.seriesType === 'scatter' ? 'X Axis' : 'Category Axis' }}
1943
- </legend>
1944
- <kendo-dropdownlist
1945
- [data]="stateService.state.columns"
1946
- [value]="stateService.state.categoryField"
1947
- (valueChange)="updateState(categoryAxisX, $event)"
1948
- fillMode="outline"
1949
- rounded="medium"
1950
- size="medium"
1951
- >
1952
- </kendo-dropdownlist>
1953
- </fieldset>
1954
- <fieldset class="k-form-fieldset" *ngIf="isCategorical(stateService.seriesType)">
1955
- <legend class="k-form-legend">Series</legend>
1956
- <kendo-grid
1957
- #grid
1958
- [kendoGridReactiveEditing]="createFormGroup"
1959
- [kendoGridBinding]="stateService.state.series"
1960
- [rowReorderable]="true"
1961
- (rowReorder)="onRowReorder(grid)"
1962
- (remove)="removeData($event)"
1963
- >
1964
- <ng-template kendoGridToolbarTemplate>
1965
- <button
1966
- kendoButton
1967
- type="button"
1968
- [svgIcon]="plusIcon"
1969
- fillMode="flat"
1970
- rounded="medium"
1971
- [disabled]="isDisabled(grid)"
1972
- (click)="addData()"
1973
- >
1974
- ADD
1975
- </button>
1976
- </ng-template>
1977
- <kendo-grid-rowreorder-column [width]="40"></kendo-grid-rowreorder-column>
1978
- <kendo-grid-column field="name" title="Name"></kendo-grid-column>
1979
- <kendo-grid-command-column [width]="40">
1980
- <ng-template kendoGridCellTemplate>
1981
- <button
1982
- [svgIcon]="trashIcon"
1983
- kendoGridRemoveCommand
1984
- fillMode="flat"
1985
- rounded="medium"
1986
- [disabled]="stateService.state.series.length < 2"
1987
- ></button>
1988
- </ng-template>
1989
- </kendo-grid-command-column>
1990
- </kendo-grid>
1991
- </fieldset>
1992
- <fieldset
1993
- class="k-form-fieldset"
1994
- *ngIf="stateService.seriesType === 'pie' || stateService.seriesType === 'scatter'"
586
+ <kendo-expansionpanel title="Bar Chart" [expanded]="true">
587
+ <div class="k-chart-types-wrapper">
588
+ <kendo-chartwizard-series-type-button
589
+ title="Bar"
590
+ [chartTypeIcon]="chartBarClusteredIcon"
591
+ seriesType="bar"
592
+ [stack]="false"
1995
593
  >
1996
- <legend class="k-form-legend">
1997
- {{ stateService.seriesType === 'scatter' ? 'Y Axis' : 'Value Axis' }}
1998
- </legend>
1999
- <kendo-dropdownlist
2000
- [data]="stateService.state.columns"
2001
- [value]="stateService.state.yField"
2002
- (valueChange)="updateState(valueAxisY, $event)"
2003
- fillMode="outline"
2004
- rounded="medium"
2005
- size="medium"
2006
- >
2007
- </kendo-dropdownlist>
2008
- </fieldset>
2009
- </form>
594
+ </kendo-chartwizard-series-type-button>
595
+ <kendo-chartwizard-series-type-button
596
+ title="Stacked Bar"
597
+ [chartTypeIcon]="chartBarStackedIcon"
598
+ seriesType="bar"
599
+ [stack]="true"
600
+ >
601
+ </kendo-chartwizard-series-type-button>
602
+ <kendo-chartwizard-series-type-button
603
+ title="100% Stacked Bar"
604
+ [chartTypeIcon]="chartBarStacked100Icon"
605
+ seriesType="bar"
606
+ [stack]="{ type: '100%' }"
607
+ >
608
+ </kendo-chartwizard-series-type-button>
609
+ </div>
610
+ </kendo-expansionpanel>
611
+ <kendo-expansionpanel title="Pie Chart" [expanded]="true">
612
+ <div class="k-chart-types-wrapper">
613
+ <kendo-chartwizard-series-type-button
614
+ title="Pie"
615
+ [chartTypeIcon]="chartPieIcon"
616
+ seriesType="pie"
617
+ [stack]="undefined"
618
+ >
619
+ </kendo-chartwizard-series-type-button>
620
+ </div>
621
+ </kendo-expansionpanel>
622
+ <kendo-expansionpanel title="Column Chart" [expanded]="true">
623
+ <div class="k-chart-types-wrapper">
624
+ <kendo-chartwizard-series-type-button
625
+ title="Column"
626
+ [chartTypeIcon]="chartColumnClusteredIcon"
627
+ seriesType="column"
628
+ [stack]="false"
629
+ >
630
+ </kendo-chartwizard-series-type-button>
631
+ <kendo-chartwizard-series-type-button
632
+ title="Stacked Column"
633
+ [chartTypeIcon]="chartColumnStackedIcon"
634
+ seriesType="column"
635
+ [stack]="true"
636
+ >
637
+ </kendo-chartwizard-series-type-button>
638
+ <kendo-chartwizard-series-type-button
639
+ title="100% Stacked Column"
640
+ [chartTypeIcon]="chartColumnStacked100Icon"
641
+ seriesType="column"
642
+ [stack]="{ type: '100%' }"
643
+ >
644
+ </kendo-chartwizard-series-type-button>
645
+ </div>
646
+ </kendo-expansionpanel>
647
+ <kendo-expansionpanel title="Line Chart" [expanded]="true">
648
+ <div class="k-chart-types-wrapper">
649
+ <kendo-chartwizard-series-type-button
650
+ title="Line"
651
+ [chartTypeIcon]="chartLineIcon"
652
+ seriesType="line"
653
+ [stack]="false"
654
+ >
655
+ </kendo-chartwizard-series-type-button>
656
+ <kendo-chartwizard-series-type-button
657
+ title="Stacked Line"
658
+ [chartTypeIcon]="chartLineStackedIcon"
659
+ seriesType="line"
660
+ [stack]="true"
661
+ >
662
+ </kendo-chartwizard-series-type-button>
663
+ <kendo-chartwizard-series-type-button
664
+ title="100% Line Column"
665
+ [chartTypeIcon]="chartLineStacked100Icon"
666
+ seriesType="line"
667
+ [stack]="{ type: '100%' }"
668
+ >
669
+ </kendo-chartwizard-series-type-button>
670
+ </div>
671
+ </kendo-expansionpanel>
672
+ <kendo-expansionpanel title="Scatter Chart" [expanded]="true">
673
+ <div class="k-chart-types-wrapper">
674
+ <kendo-chartwizard-series-type-button
675
+ title="Scatter"
676
+ [chartTypeIcon]="chartScatterIcon"
677
+ seriesType="scatter"
678
+ [stack]="false"
679
+ >
680
+ </kendo-chartwizard-series-type-button>
681
+ </div>
2010
682
  </kendo-expansionpanel>
2011
683
  `,
2012
684
  standalone: true,
2013
- imports: [
2014
- ExpansionPanelComponent,
2015
- DropDownListComponent,
2016
- ValueTemplateDirective,
2017
- NgIf,
2018
- GridComponent,
2019
- ReactiveEditingDirective,
2020
- DataBindingDirective,
2021
- ToolbarTemplateDirective,
2022
- ButtonComponent,
2023
- RowReorderColumnComponent,
2024
- ColumnComponent,
2025
- CommandColumnComponent,
2026
- CellTemplateDirective,
2027
- GridToolbarFocusableDirective,
2028
- FocusableDirective,
2029
- RemoveCommandDirective
2030
- ]
685
+ imports: [ExpansionPanelComponent, ChartWizardSeriesTypeButtonComponent]
2031
686
  }]
2032
- }], ctorParameters: function () { return [{ type: StateService }, { type: i2$1.FormBuilder }]; } });
687
+ }], ctorParameters: function () { return [{ type: StateService }, { type: i0.ChangeDetectorRef }, { type: i2$1.LocalizationService }]; } });
688
+
689
+ /**
690
+ * @hidden
691
+ */
692
+ class PreventableEvent {
693
+ constructor() {
694
+ this.prevented = false;
695
+ }
696
+ /**
697
+ * Prevents the default action for a specified event.
698
+ * In this way, the source component suppresses
699
+ * the built-in behavior that follows the event.
700
+ */
701
+ preventDefault() {
702
+ this.prevented = true;
703
+ }
704
+ /**
705
+ * Returns `true` if the event was prevented
706
+ * by any of its subscribers.
707
+ *
708
+ * @returns `true` if the default action was prevented.
709
+ * Otherwise, returns `false`.
710
+ */
711
+ isDefaultPrevented() {
712
+ return this.prevented;
713
+ }
714
+ }
715
+
716
+ /**
717
+ * Arguments for the `export` event on the Chart Wizard.
718
+ */
719
+ class ExportEvent extends PreventableEvent {
720
+ /**
721
+ * @hidden
722
+ */
723
+ constructor(chart, exportOptions) {
724
+ super();
725
+ this.chart = chart;
726
+ this.exportOptions = exportOptions;
727
+ }
728
+ }
2033
729
 
2034
730
  /**
2035
731
  * @hidden
2036
732
  */
2037
- class ChartWizardSeriesTypeButtonComponent {
2038
- constructor(stateService) {
2039
- this.stateService = stateService;
2040
- this.stack = false;
733
+ class ChartWizardPropertyPaneFormFieldComponent {
734
+ constructor(localization, cdr) {
735
+ this.localization = localization;
736
+ this.cdr = cdr;
737
+ this.colSpan = 1;
738
+ this.hasLabel = true;
739
+ this.isLabelInsideFormFieldWrap = false;
740
+ this.disabled = false;
741
+ this.valueChange = new EventEmitter();
742
+ this.formField = true;
2041
743
  }
2042
- onSelect() {
2043
- this.stateService.seriesType = this.seriesType;
2044
- this.stateService.state = mergeStates(this.stateService.state, createState(this.stateService.data, this.stateService.seriesType));
2045
- this.stateService.currentSeries = {};
2046
- if (this.stack) {
2047
- this.stateService.state = updateState(this.stateService.state, ActionTypes.stacked, this.stack);
2048
- }
744
+ get isColSpan2() {
745
+ return this.colSpan === 2;
2049
746
  }
2050
- isSelected() {
2051
- if (this.stack?.type === '100%') {
2052
- return this.stack?.type === this.stateService.state.series[0]?.stack?.type;
747
+ ngAfterViewChecked() {
748
+ this.localization.changes.subscribe(() => {
749
+ this.cdr.detectChanges();
750
+ });
751
+ }
752
+ ngOnDestroy() {
753
+ this.localization.changes.unsubscribe();
754
+ }
755
+ ngAfterViewInit() {
756
+ if (this.hasLabel) {
757
+ this.label.for =
758
+ this.numericTextBox ||
759
+ this.colorPicker ||
760
+ this.dropDownList ||
761
+ this.textBox ||
762
+ this.comboBox ||
763
+ this.checkBox;
2053
764
  }
2054
- return (this.stateService.state.seriesType === this.seriesType &&
2055
- this.stateService.state.series[0]?.stack === this.stack);
2056
765
  }
2057
766
  }
2058
- ChartWizardSeriesTypeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardSeriesTypeButtonComponent, deps: [{ token: StateService }], target: i0.ɵɵFactoryTarget.Component });
2059
- ChartWizardSeriesTypeButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardSeriesTypeButtonComponent, isStandalone: true, selector: "kendo-chartwizard-series-type-button", inputs: { title: "title", chartTypeIcon: "chartTypeIcon", stack: "stack", seriesType: "seriesType" }, ngImport: i0, template: `
2060
- <div class="k-icon-text-wrapper" [class.k-selected]="isSelected()" (click)="onSelect()">
2061
- <div class="k-icon-background-area">
2062
- <kendo-svgicon [icon]="chartTypeIcon" size="xlarge" themeColor="primary"> </kendo-svgicon>
2063
- </div>
2064
- {{ title }}
767
+ ChartWizardPropertyPaneFormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormFieldComponent, deps: [{ token: i2$1.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
768
+ ChartWizardPropertyPaneFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardPropertyPaneFormFieldComponent, isStandalone: true, selector: "kendo-chartwizard-property-pane-form-field", inputs: { currentState: "currentState", action: "action", class: "class", inputType: "inputType", text: "text", data: "data", placeholder: "placeholder", colSpan: "colSpan", hasLabel: "hasLabel", isLabelInsideFormFieldWrap: "isLabelInsideFormFieldWrap", value: "value", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.k-form-field": "this.formField", "class.k-col-span-2": "this.isColSpan2" } }, viewQueries: [{ propertyName: "label", first: true, predicate: LabelComponent, descendants: true }, { propertyName: "numericTextBox", first: true, predicate: NumericTextBoxComponent, descendants: true }, { propertyName: "colorPicker", first: true, predicate: ColorPickerComponent, descendants: true }, { propertyName: "dropDownList", first: true, predicate: DropDownListComponent, descendants: true }, { propertyName: "textBox", first: true, predicate: TextBoxComponent, descendants: true }, { propertyName: "comboBox", first: true, predicate: ComboBoxComponent, descendants: true }, { propertyName: "checkBox", first: true, predicate: CheckBoxComponent, descendants: true }], ngImport: i0, template: `
769
+ <kendo-label *ngIf="hasLabel && !isLabelInsideFormFieldWrap && inputType !== 'checkbox'" class="k-form-label" [text]="text"></kendo-label>
770
+ <div class="k-form-field-wrap">
771
+ <kendo-label
772
+ *ngIf="hasLabel && isLabelInsideFormFieldWrap && inputType !== 'checkbox'"
773
+ class="k-form-label"
774
+ [text]="text"
775
+ ></kendo-label>
776
+ <kendo-numerictextbox
777
+ *ngIf="inputType === 'numeric'"
778
+ fillMode="outline"
779
+ rounded="medium"
780
+ [value]="value"
781
+ (valueChange)="valueChange.emit($event)"
782
+ placeholder="Auto"
783
+ ></kendo-numerictextbox>
784
+ <kendo-colorpicker
785
+ *ngIf="inputType === 'colorPicker'"
786
+ fillMode="outline"
787
+ rounded="medium"
788
+ [value]="value"
789
+ [disabled]="disabled"
790
+ (valueChange)="valueChange.emit($event)"
791
+ ></kendo-colorpicker>
792
+ <kendo-dropdownlist
793
+ *ngIf="inputType === 'dropDownList'"
794
+ [data]="data"
795
+ textField="text"
796
+ valueField="value"
797
+ [valuePrimitive]="true"
798
+ fillMode="outline"
799
+ rounded="medium"
800
+ size="medium"
801
+ [value]="value"
802
+ (valueChange)="valueChange.emit($event)"
803
+ ></kendo-dropdownlist>
804
+ <kendo-combobox
805
+ *ngIf="inputType === 'comboBox'"
806
+ [data]="data"
807
+ [value]="value"
808
+ textField="text"
809
+ valueField="value"
810
+ [valuePrimitive]="true"
811
+ fillMode="outline"
812
+ rounded="medium"
813
+ size="medium"
814
+ [placeholder]="placeholder"
815
+ (valueChange)="valueChange.emit($event)"
816
+ ></kendo-combobox>
817
+ <kendo-textbox
818
+ *ngIf="inputType === 'text'"
819
+ fillMode="outline"
820
+ rounded="medium"
821
+ [placeholder]="placeholder"
822
+ [value]="value"
823
+ (valueChange)="valueChange.emit($event)"
824
+ ></kendo-textbox>
825
+ <kendo-checkbox
826
+ *ngIf="inputType === 'checkbox'"
827
+ class="k-checkbox-md k-rounded-md"
828
+ [checkedState]="value"
829
+ (checkedStateChange)="valueChange.emit($event)"
830
+ ></kendo-checkbox>
831
+ <kendo-label
832
+ *ngIf="hasLabel && isLabelInsideFormFieldWrap && inputType === 'checkbox'"
833
+ class="k-checkbox-label"
834
+ [text]="text"
835
+ ></kendo-label>
2065
836
  </div>
2066
- `, isInline: true, dependencies: [{ kind: "component", type: SVGIconComponent, selector: "kendo-svg-icon, kendo-svgicon", inputs: ["icon"], exportAs: ["kendoSVGIcon"] }] });
2067
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardSeriesTypeButtonComponent, decorators: [{
837
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: ColorPickerComponent, selector: "kendo-colorpicker", inputs: ["views", "view", "activeView", "readonly", "disabled", "format", "value", "popupSettings", "paletteSettings", "gradientSettings", "icon", "iconClass", "svgIcon", "clearButton", "tabindex", "preview", "actionsLayout", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur", "cancel", "activeColorClick", "clearButtonClick", "activeViewChange"], exportAs: ["kendoColorPicker"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "component", type: ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "inputAttributes", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur", "escape"], exportAs: ["kendoComboBox"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormFieldComponent, decorators: [{
2068
839
  type: Component,
2069
840
  args: [{
2070
- selector: 'kendo-chartwizard-series-type-button',
841
+ selector: 'kendo-chartwizard-property-pane-form-field',
842
+ changeDetection: ChangeDetectionStrategy.OnPush,
2071
843
  template: `
2072
- <div class="k-icon-text-wrapper" [class.k-selected]="isSelected()" (click)="onSelect()">
2073
- <div class="k-icon-background-area">
2074
- <kendo-svgicon [icon]="chartTypeIcon" size="xlarge" themeColor="primary"> </kendo-svgicon>
2075
- </div>
2076
- {{ title }}
844
+ <kendo-label *ngIf="hasLabel && !isLabelInsideFormFieldWrap && inputType !== 'checkbox'" class="k-form-label" [text]="text"></kendo-label>
845
+ <div class="k-form-field-wrap">
846
+ <kendo-label
847
+ *ngIf="hasLabel && isLabelInsideFormFieldWrap && inputType !== 'checkbox'"
848
+ class="k-form-label"
849
+ [text]="text"
850
+ ></kendo-label>
851
+ <kendo-numerictextbox
852
+ *ngIf="inputType === 'numeric'"
853
+ fillMode="outline"
854
+ rounded="medium"
855
+ [value]="value"
856
+ (valueChange)="valueChange.emit($event)"
857
+ placeholder="Auto"
858
+ ></kendo-numerictextbox>
859
+ <kendo-colorpicker
860
+ *ngIf="inputType === 'colorPicker'"
861
+ fillMode="outline"
862
+ rounded="medium"
863
+ [value]="value"
864
+ [disabled]="disabled"
865
+ (valueChange)="valueChange.emit($event)"
866
+ ></kendo-colorpicker>
867
+ <kendo-dropdownlist
868
+ *ngIf="inputType === 'dropDownList'"
869
+ [data]="data"
870
+ textField="text"
871
+ valueField="value"
872
+ [valuePrimitive]="true"
873
+ fillMode="outline"
874
+ rounded="medium"
875
+ size="medium"
876
+ [value]="value"
877
+ (valueChange)="valueChange.emit($event)"
878
+ ></kendo-dropdownlist>
879
+ <kendo-combobox
880
+ *ngIf="inputType === 'comboBox'"
881
+ [data]="data"
882
+ [value]="value"
883
+ textField="text"
884
+ valueField="value"
885
+ [valuePrimitive]="true"
886
+ fillMode="outline"
887
+ rounded="medium"
888
+ size="medium"
889
+ [placeholder]="placeholder"
890
+ (valueChange)="valueChange.emit($event)"
891
+ ></kendo-combobox>
892
+ <kendo-textbox
893
+ *ngIf="inputType === 'text'"
894
+ fillMode="outline"
895
+ rounded="medium"
896
+ [placeholder]="placeholder"
897
+ [value]="value"
898
+ (valueChange)="valueChange.emit($event)"
899
+ ></kendo-textbox>
900
+ <kendo-checkbox
901
+ *ngIf="inputType === 'checkbox'"
902
+ class="k-checkbox-md k-rounded-md"
903
+ [checkedState]="value"
904
+ (checkedStateChange)="valueChange.emit($event)"
905
+ ></kendo-checkbox>
906
+ <kendo-label
907
+ *ngIf="hasLabel && isLabelInsideFormFieldWrap && inputType === 'checkbox'"
908
+ class="k-checkbox-label"
909
+ [text]="text"
910
+ ></kendo-label>
2077
911
  </div>
2078
912
  `,
2079
913
  standalone: true,
2080
- imports: [SVGIconComponent]
914
+ imports: [
915
+ NgIf,
916
+ LabelComponent,
917
+ NumericTextBoxComponent,
918
+ ColorPickerComponent,
919
+ DropDownListComponent,
920
+ ComboBoxComponent,
921
+ TextBoxComponent,
922
+ CheckBoxComponent
923
+ ]
2081
924
  }]
2082
- }], ctorParameters: function () { return [{ type: StateService }]; }, propDecorators: { title: [{
925
+ }], ctorParameters: function () { return [{ type: i2$1.LocalizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { currentState: [{
2083
926
  type: Input
2084
- }], chartTypeIcon: [{
927
+ }], action: [{
2085
928
  type: Input
2086
- }], stack: [{
929
+ }], class: [{
2087
930
  type: Input
2088
- }], seriesType: [{
931
+ }], inputType: [{
932
+ type: Input
933
+ }], text: [{
934
+ type: Input
935
+ }], data: [{
936
+ type: Input
937
+ }], placeholder: [{
2089
938
  type: Input
939
+ }], colSpan: [{
940
+ type: Input
941
+ }], hasLabel: [{
942
+ type: Input
943
+ }], isLabelInsideFormFieldWrap: [{
944
+ type: Input
945
+ }], value: [{
946
+ type: Input
947
+ }], disabled: [{
948
+ type: Input
949
+ }], valueChange: [{
950
+ type: Output
951
+ }], formField: [{
952
+ type: HostBinding,
953
+ args: ['class.k-form-field']
954
+ }], isColSpan2: [{
955
+ type: HostBinding,
956
+ args: ['class.k-col-span-2']
957
+ }], label: [{
958
+ type: ViewChild,
959
+ args: [LabelComponent]
960
+ }], numericTextBox: [{
961
+ type: ViewChild,
962
+ args: [NumericTextBoxComponent]
963
+ }], colorPicker: [{
964
+ type: ViewChild,
965
+ args: [ColorPickerComponent]
966
+ }], dropDownList: [{
967
+ type: ViewChild,
968
+ args: [DropDownListComponent]
969
+ }], textBox: [{
970
+ type: ViewChild,
971
+ args: [TextBoxComponent]
972
+ }], comboBox: [{
973
+ type: ViewChild,
974
+ args: [ComboBoxComponent]
975
+ }], checkBox: [{
976
+ type: ViewChild,
977
+ args: [CheckBoxComponent]
2090
978
  }] } });
2091
979
 
2092
980
  /**
2093
981
  * @hidden
2094
982
  */
2095
- class ChartWizardPropertyPaneChartTabComponent {
2096
- constructor(stateService, cdr, localization) {
2097
- this.stateService = stateService;
2098
- this.cdr = cdr;
2099
- this.localization = localization;
2100
- this.exportIcon = exportIcon;
2101
- this.chartBarClusteredIcon = chartBarClusteredIcon;
2102
- this.chartBarStackedIcon = chartBarStackedIcon;
2103
- this.chartBarStacked100Icon = chartBarStacked100Icon;
2104
- this.chartPieIcon = chartPieIcon;
2105
- this.chartColumnClusteredIcon = chartColumnClusteredIcon;
2106
- this.chartColumnStackedIcon = chartColumnStackedIcon;
2107
- this.chartColumnStacked100Icon = chartColumnStacked100Icon;
2108
- this.chartLineIcon = chartLineIcon;
2109
- this.chartLineStackedIcon = chartLineStackedIcon;
2110
- this.chartLineStacked100Icon = chartLineStacked100Icon;
2111
- this.chartScatterIcon = chartScatterIcon;
2112
- }
2113
- ngAfterViewChecked() {
2114
- this.localization.changes.subscribe(() => {
2115
- this.detectChanges();
2116
- });
2117
- }
2118
- ngOnDestroy() {
2119
- this.localization.changes.unsubscribe();
2120
- }
2121
- detectChanges() {
2122
- this.cdr.detectChanges();
2123
- }
2124
- }
2125
- ChartWizardPropertyPaneChartTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneChartTabComponent, deps: [{ token: StateService }, { token: i0.ChangeDetectorRef }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
2126
- ChartWizardPropertyPaneChartTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardPropertyPaneChartTabComponent, isStandalone: true, selector: "kendo-chartwizard-property-pane-chart-tab", ngImport: i0, template: `
2127
- <kendo-expansionpanel title="Bar Chart" [expanded]="true">
2128
- <div class="k-chart-types-wrapper">
2129
- <kendo-chartwizard-series-type-button
2130
- title="Bar"
2131
- [chartTypeIcon]="chartBarClusteredIcon"
2132
- seriesType="bar"
2133
- [stack]="false"
2134
- >
2135
- </kendo-chartwizard-series-type-button>
2136
- <kendo-chartwizard-series-type-button
2137
- title="Stacked Bar"
2138
- [chartTypeIcon]="chartBarStackedIcon"
2139
- seriesType="bar"
2140
- [stack]="true"
2141
- >
2142
- </kendo-chartwizard-series-type-button>
2143
- <kendo-chartwizard-series-type-button
2144
- title="100% Stacked Bar"
2145
- [chartTypeIcon]="chartBarStacked100Icon"
2146
- seriesType="bar"
2147
- [stack]="{ type: '100%' }"
2148
- >
2149
- </kendo-chartwizard-series-type-button>
2150
- </div>
2151
- </kendo-expansionpanel>
2152
- <kendo-expansionpanel title="Pie Chart" [expanded]="true">
2153
- <div class="k-chart-types-wrapper">
2154
- <kendo-chartwizard-series-type-button
2155
- title="Pie"
2156
- [chartTypeIcon]="chartPieIcon"
2157
- seriesType="pie"
2158
- [stack]="undefined"
2159
- >
2160
- </kendo-chartwizard-series-type-button>
2161
- </div>
2162
- </kendo-expansionpanel>
2163
- <kendo-expansionpanel title="Column Chart" [expanded]="true">
2164
- <div class="k-chart-types-wrapper">
2165
- <kendo-chartwizard-series-type-button
2166
- title="Column"
2167
- [chartTypeIcon]="chartColumnClusteredIcon"
2168
- seriesType="column"
2169
- [stack]="false"
2170
- >
2171
- </kendo-chartwizard-series-type-button>
2172
- <kendo-chartwizard-series-type-button
2173
- title="Stacked Column"
2174
- [chartTypeIcon]="chartColumnStackedIcon"
2175
- seriesType="column"
2176
- [stack]="true"
2177
- >
2178
- </kendo-chartwizard-series-type-button>
2179
- <kendo-chartwizard-series-type-button
2180
- title="100% Stacked Column"
2181
- [chartTypeIcon]="chartColumnStacked100Icon"
2182
- seriesType="column"
2183
- [stack]="{ type: '100%' }"
2184
- >
2185
- </kendo-chartwizard-series-type-button>
2186
- </div>
2187
- </kendo-expansionpanel>
2188
- <kendo-expansionpanel title="Line Chart" [expanded]="true">
2189
- <div class="k-chart-types-wrapper">
2190
- <kendo-chartwizard-series-type-button
2191
- title="Line"
2192
- [chartTypeIcon]="chartLineIcon"
2193
- seriesType="line"
2194
- [stack]="false"
2195
- >
2196
- </kendo-chartwizard-series-type-button>
2197
- <kendo-chartwizard-series-type-button
2198
- title="Stacked Line"
2199
- [chartTypeIcon]="chartLineStackedIcon"
2200
- seriesType="line"
2201
- [stack]="true"
2202
- >
2203
- </kendo-chartwizard-series-type-button>
2204
- <kendo-chartwizard-series-type-button
2205
- title="100% Line Column"
2206
- [chartTypeIcon]="chartLineStacked100Icon"
2207
- seriesType="line"
2208
- [stack]="{ type: '100%' }"
2209
- >
2210
- </kendo-chartwizard-series-type-button>
2211
- </div>
2212
- </kendo-expansionpanel>
2213
- <kendo-expansionpanel title="Scatter Chart" [expanded]="true">
2214
- <div class="k-chart-types-wrapper">
2215
- <kendo-chartwizard-series-type-button
2216
- title="Scatter"
2217
- [chartTypeIcon]="chartScatterIcon"
2218
- seriesType="scatter"
2219
- [stack]="false"
2220
- >
2221
- </kendo-chartwizard-series-type-button>
2222
- </div>
2223
- </kendo-expansionpanel>
2224
- `, isInline: true, dependencies: [{ kind: "component", type: ExpansionPanelComponent, selector: "kendo-expansionpanel", inputs: ["title", "subtitle", "disabled", "expanded", "svgExpandIcon", "svgCollapseIcon", "expandIcon", "collapseIcon", "animation"], outputs: ["expandedChange", "action", "expand", "collapse"], exportAs: ["kendoExpansionPanel"] }, { kind: "component", type: ChartWizardSeriesTypeButtonComponent, selector: "kendo-chartwizard-series-type-button", inputs: ["title", "chartTypeIcon", "stack", "seriesType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneChartTabComponent, decorators: [{
2226
- type: Component,
2227
- args: [{
2228
- selector: 'kendo-chartwizard-property-pane-chart-tab',
2229
- changeDetection: ChangeDetectionStrategy.OnPush,
2230
- template: `
2231
- <kendo-expansionpanel title="Bar Chart" [expanded]="true">
2232
- <div class="k-chart-types-wrapper">
2233
- <kendo-chartwizard-series-type-button
2234
- title="Bar"
2235
- [chartTypeIcon]="chartBarClusteredIcon"
2236
- seriesType="bar"
2237
- [stack]="false"
2238
- >
2239
- </kendo-chartwizard-series-type-button>
2240
- <kendo-chartwizard-series-type-button
2241
- title="Stacked Bar"
2242
- [chartTypeIcon]="chartBarStackedIcon"
2243
- seriesType="bar"
2244
- [stack]="true"
2245
- >
2246
- </kendo-chartwizard-series-type-button>
2247
- <kendo-chartwizard-series-type-button
2248
- title="100% Stacked Bar"
2249
- [chartTypeIcon]="chartBarStacked100Icon"
2250
- seriesType="bar"
2251
- [stack]="{ type: '100%' }"
2252
- >
2253
- </kendo-chartwizard-series-type-button>
2254
- </div>
2255
- </kendo-expansionpanel>
2256
- <kendo-expansionpanel title="Pie Chart" [expanded]="true">
2257
- <div class="k-chart-types-wrapper">
2258
- <kendo-chartwizard-series-type-button
2259
- title="Pie"
2260
- [chartTypeIcon]="chartPieIcon"
2261
- seriesType="pie"
2262
- [stack]="undefined"
2263
- >
2264
- </kendo-chartwizard-series-type-button>
2265
- </div>
2266
- </kendo-expansionpanel>
2267
- <kendo-expansionpanel title="Column Chart" [expanded]="true">
2268
- <div class="k-chart-types-wrapper">
2269
- <kendo-chartwizard-series-type-button
2270
- title="Column"
2271
- [chartTypeIcon]="chartColumnClusteredIcon"
2272
- seriesType="column"
2273
- [stack]="false"
2274
- >
2275
- </kendo-chartwizard-series-type-button>
2276
- <kendo-chartwizard-series-type-button
2277
- title="Stacked Column"
2278
- [chartTypeIcon]="chartColumnStackedIcon"
2279
- seriesType="column"
2280
- [stack]="true"
2281
- >
2282
- </kendo-chartwizard-series-type-button>
2283
- <kendo-chartwizard-series-type-button
2284
- title="100% Stacked Column"
2285
- [chartTypeIcon]="chartColumnStacked100Icon"
2286
- seriesType="column"
2287
- [stack]="{ type: '100%' }"
2288
- >
2289
- </kendo-chartwizard-series-type-button>
2290
- </div>
2291
- </kendo-expansionpanel>
2292
- <kendo-expansionpanel title="Line Chart" [expanded]="true">
2293
- <div class="k-chart-types-wrapper">
2294
- <kendo-chartwizard-series-type-button
2295
- title="Line"
2296
- [chartTypeIcon]="chartLineIcon"
2297
- seriesType="line"
2298
- [stack]="false"
2299
- >
2300
- </kendo-chartwizard-series-type-button>
2301
- <kendo-chartwizard-series-type-button
2302
- title="Stacked Line"
2303
- [chartTypeIcon]="chartLineStackedIcon"
2304
- seriesType="line"
2305
- [stack]="true"
2306
- >
2307
- </kendo-chartwizard-series-type-button>
2308
- <kendo-chartwizard-series-type-button
2309
- title="100% Line Column"
2310
- [chartTypeIcon]="chartLineStacked100Icon"
2311
- seriesType="line"
2312
- [stack]="{ type: '100%' }"
2313
- >
2314
- </kendo-chartwizard-series-type-button>
2315
- </div>
2316
- </kendo-expansionpanel>
2317
- <kendo-expansionpanel title="Scatter Chart" [expanded]="true">
2318
- <div class="k-chart-types-wrapper">
2319
- <kendo-chartwizard-series-type-button
2320
- title="Scatter"
2321
- [chartTypeIcon]="chartScatterIcon"
2322
- seriesType="scatter"
2323
- [stack]="false"
2324
- >
2325
- </kendo-chartwizard-series-type-button>
2326
- </div>
2327
- </kendo-expansionpanel>
983
+ class ChartWizardPropertyPaneFormatTabComponent {
984
+ constructor(stateService, localization, cdr) {
985
+ this.stateService = stateService;
986
+ this.localization = localization;
987
+ this.cdr = cdr;
988
+ this.chartTitles = [
989
+ { text: 'Chart Title', value: 'Chart Title' },
990
+ { text: 'Chart Subtitle', value: 'Chart Subtitle' },
991
+ ];
992
+ this.areaMarginLeft = ActionTypes.areaMarginLeft;
993
+ this.areaMarginRight = ActionTypes.areaMarginRight;
994
+ this.areaMarginTop = ActionTypes.areaMarginTop;
995
+ this.areaMarginBottom = ActionTypes.areaMarginBottom;
996
+ this.areaBackground = ActionTypes.areaBackground;
997
+ this.legendVisible = ActionTypes.legendVisible;
998
+ this.legendFontName = ActionTypes.legendFontName;
999
+ this.legendFontSize = ActionTypes.legendFontSize;
1000
+ this.legendColor = ActionTypes.legendColor;
1001
+ this.legendPosition = ActionTypes.legendPosition;
1002
+ this.categoryAxisTitleText = ActionTypes.categoryAxisTitleText;
1003
+ this.categoryAxisTitleFontName = ActionTypes.categoryAxisTitleFontName;
1004
+ this.categoryAxisTitleFontSize = ActionTypes.categoryAxisTitleFontSize;
1005
+ this.categoryAxisTitleColor = ActionTypes.categoryAxisTitleColor;
1006
+ this.categoryAxisLabelsFontName = ActionTypes.categoryAxisLabelsFontName;
1007
+ this.categoryAxisLabelsFontSize = ActionTypes.categoryAxisLabelsFontSize;
1008
+ this.categoryAxisLabelsColor = ActionTypes.categoryAxisLabelsColor;
1009
+ this.categoryAxisLabelsRotation = ActionTypes.categoryAxisLabelsRotation;
1010
+ this.categoryAxisReverseOrder = ActionTypes.categoryAxisReverseOrder;
1011
+ this.valueAxisTitleText = ActionTypes.valueAxisTitleText;
1012
+ this.valueAxisTitleFontName = ActionTypes.valueAxisTitleFontName;
1013
+ this.valueAxisTitleFontSize = ActionTypes.valueAxisTitleFontSize;
1014
+ this.valueAxisTitleColor = ActionTypes.valueAxisTitleColor;
1015
+ this.valueAxisLabelsFontName = ActionTypes.valueAxisLabelsFontName;
1016
+ this.valueAxisLabelsFormat = ActionTypes.valueAxisLabelsFormat;
1017
+ this.valueAxisLabelsFontSize = ActionTypes.valueAxisLabelsFontSize;
1018
+ this.valueAxisLabelsColor = ActionTypes.valueAxisLabelsColor;
1019
+ this.valueAxisLabelsRotation = ActionTypes.valueAxisLabelsRotation;
1020
+ this.parseFont = parseFont;
1021
+ this.labelFormats = labelFormats;
1022
+ this.defaultAllSeriesItem = defaultAllSeriesItem;
1023
+ this.fontNames = fontNames;
1024
+ this.fontSizes = fontSizes;
1025
+ this.legendPositions = positions;
1026
+ this.labelsRotation = rotations;
1027
+ }
1028
+ get chartTitleTypeText() {
1029
+ return this.stateService.currentTitle === 'Chart Title'
1030
+ ? this.stateService.state.title?.text
1031
+ : this.stateService.state.subtitle?.text;
1032
+ }
1033
+ get chartTitleTypeFont() {
1034
+ return this.stateService.currentTitle === 'Chart Title'
1035
+ ? parseFont(this.stateService.state.title?.font).name
1036
+ : parseFont(this.stateService.state.subtitle?.font).name;
1037
+ }
1038
+ get chartTitleTypeFontSize() {
1039
+ return this.stateService.currentTitle === 'Chart Title'
1040
+ ? parseFont(this.stateService.state.title?.font).size
1041
+ : parseFont(this.stateService.state.subtitle?.font).size;
1042
+ }
1043
+ get chartTitleTypeColor() {
1044
+ return this.stateService.currentTitle === 'Chart Title'
1045
+ ? this.stateService.state.title?.color
1046
+ : this.stateService.state.subtitle?.color;
1047
+ }
1048
+ get chartTitleTypeAction() {
1049
+ return this.stateService.currentTitle === 'Chart Title' ? ActionTypes.titleText : ActionTypes.subtitleText;
1050
+ }
1051
+ get chartTitleTypeFontAction() {
1052
+ return this.stateService.currentTitle === 'Chart Title' ? ActionTypes.titleFontName : ActionTypes.subtitleFontName;
1053
+ }
1054
+ get chartTitleTypeColorAction() {
1055
+ return this.stateService.currentTitle === 'Chart Title' ? ActionTypes.titleColor : ActionTypes.subtitleColor;
1056
+ }
1057
+ get chartTitleTypeFontSizeAction() {
1058
+ return this.stateService.currentTitle === 'Chart Title' ? ActionTypes.titleFontSize : ActionTypes.subtitleFontSize;
1059
+ }
1060
+ get seriesData() {
1061
+ return [defaultAllSeriesItem, ...this.stateService.state.series];
1062
+ }
1063
+ get showLabels() {
1064
+ return this.stateService.currentSeries.name !== defaultAllSeriesItem.name ? this.stateService.state.series.find(s => s.name === this.stateService.currentSeries.name)?.labels?.visible : this.stateService.state.series.every(s => s.labels?.visible);
1065
+ }
1066
+ get labelFormatValue() {
1067
+ return labelFormats.find(f => f.value === this.stateService.state.valueAxis[0]?.labels?.format)?.value || defaultFormat.value;
1068
+ }
1069
+ ngAfterViewChecked() {
1070
+ this.localization.changes.subscribe(() => {
1071
+ this.cdr.detectChanges();
1072
+ });
1073
+ }
1074
+ ngOnDestroy() {
1075
+ this.localization.changes.unsubscribe();
1076
+ }
1077
+ updateState(action, value) {
1078
+ if (action === ActionTypes.seriesLabel && this.stateService.currentSeries.name === defaultAllSeriesItem.name) {
1079
+ this.stateService.state = updateState(this.stateService.state, action, { name: '', all: true, visible: value.labels.visible });
1080
+ return;
1081
+ }
1082
+ this.stateService.state = updateState(this.stateService.state, action, value);
1083
+ }
1084
+ changeCurrentTitle(value) {
1085
+ this.stateService.currentTitle = value;
1086
+ }
1087
+ toggleSeriesLabels(value) {
1088
+ this.updateCurrentSeries(this.stateService.currentSeries);
1089
+ this.stateService.currentSeries.labels = { visible: value };
1090
+ this.updateState(ActionTypes.seriesLabel, this.stateService.currentSeries);
1091
+ }
1092
+ updateCurrentSeries(value) {
1093
+ if (value.name === defaultAllSeriesItem.name) {
1094
+ this.stateService.currentSeries = defaultAllSeriesItem;
1095
+ }
1096
+ else {
1097
+ this.stateService.currentSeries = this.stateService.state.series.find((series) => series.name === value.name);
1098
+ }
1099
+ }
1100
+ updateSeriesColor(value) {
1101
+ this.updateCurrentSeries(this.stateService.currentSeries);
1102
+ this.stateService.currentSeries.color = value;
1103
+ this.updateState(ActionTypes.seriesColor, this.stateService.currentSeries);
1104
+ }
1105
+ }
1106
+ ChartWizardPropertyPaneFormatTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormatTabComponent, deps: [{ token: StateService }, { token: i2$1.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1107
+ ChartWizardPropertyPaneFormatTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardPropertyPaneFormatTabComponent, isStandalone: true, selector: "kendo-chartwizard-property-pane-format-tab", ngImport: i0, template: `
1108
+ <section>
1109
+ <kendo-expansionpanel
1110
+ [style.max-width.px]="576"
1111
+ title="Chart Area"
1112
+ [expanded]="true"
1113
+ [attr.dir]="stateService.direction"
1114
+ >
1115
+ <form class="k-form k-form-md">
1116
+ <fieldset class="k-form-fieldset">
1117
+ <legend class="k-form-legend">Margins</legend>
1118
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1119
+ <kendo-chartwizard-property-pane-form-field
1120
+ text="Left"
1121
+ inputType="numeric"
1122
+ [value]="$any(stateService.state.area.margin).left"
1123
+ (valueChange)="updateState(areaMarginLeft, $event)"
1124
+ >
1125
+ </kendo-chartwizard-property-pane-form-field>
1126
+ <kendo-chartwizard-property-pane-form-field
1127
+ text="Right"
1128
+ inputType="numeric"
1129
+ [value]="$any(stateService.state.area.margin).right"
1130
+ (valueChange)="updateState(areaMarginRight, $event)"
1131
+ >
1132
+ </kendo-chartwizard-property-pane-form-field>
1133
+ <kendo-chartwizard-property-pane-form-field
1134
+ text="Top"
1135
+ inputType="numeric"
1136
+ [value]="$any(stateService.state.area.margin).top"
1137
+ (valueChange)="updateState(areaMarginTop, $event)"
1138
+ >
1139
+ </kendo-chartwizard-property-pane-form-field>
1140
+ <kendo-chartwizard-property-pane-form-field
1141
+ text="Bottom"
1142
+ inputType="numeric"
1143
+ [value]="$any(stateService.state.area.margin).bottom"
1144
+ (valueChange)="updateState(areaMarginBottom, $event)"
1145
+ >
1146
+ </kendo-chartwizard-property-pane-form-field>
1147
+ </div>
1148
+ </fieldset>
1149
+ <fieldset class="k-form-fieldset">
1150
+ <legend class="k-form-legend">Background</legend>
1151
+ <kendo-chartwizard-property-pane-form-field
1152
+ text="Color"
1153
+ inputType="colorPicker"
1154
+ [value]="stateService.state.area?.background"
1155
+ (valueChange)="updateState(areaBackground, $event)"
1156
+ >
1157
+ </kendo-chartwizard-property-pane-form-field>
1158
+ </fieldset>
1159
+ </form>
1160
+ </kendo-expansionpanel>
1161
+ </section>
1162
+ <section>
1163
+ <kendo-expansionpanel
1164
+ [style.max-width.px]="576"
1165
+ title="Title"
1166
+ [expanded]="true"
1167
+ >
1168
+ <form class="k-form k-form-md">
1169
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1170
+ <kendo-chartwizard-property-pane-form-field
1171
+ text="Apply to"
1172
+ inputType="dropDownList"
1173
+ [data]="chartTitles"
1174
+ [colSpan]="2"
1175
+ [value]="stateService.currentTitle"
1176
+ (valueChange)="changeCurrentTitle($event)"
1177
+ >
1178
+ </kendo-chartwizard-property-pane-form-field>
1179
+ <kendo-chartwizard-property-pane-form-field
1180
+ text="Title"
1181
+ inputType="text"
1182
+ [colSpan]="2"
1183
+ [value]="chartTitleTypeText"
1184
+ (valueChange)="updateState(chartTitleTypeAction, $event)"
1185
+ >
1186
+ </kendo-chartwizard-property-pane-form-field>
1187
+ <kendo-chartwizard-property-pane-form-field
1188
+ text="Font"
1189
+ inputType="comboBox"
1190
+ [data]="fontNames"
1191
+ [colSpan]="2"
1192
+ [value]="chartTitleTypeFont"
1193
+ placeholder="(Inherited font)"
1194
+ (valueChange)="updateState(chartTitleTypeFontAction, $event)"
1195
+ >
1196
+ </kendo-chartwizard-property-pane-form-field>
1197
+ <kendo-chartwizard-property-pane-form-field
1198
+ text="Size"
1199
+ inputType="comboBox"
1200
+ placeholder="px"
1201
+ [data]="fontSizes"
1202
+ [value]="chartTitleTypeFontSize"
1203
+ (valueChange)="updateState(chartTitleTypeFontSizeAction, $event)"
1204
+ >
1205
+ </kendo-chartwizard-property-pane-form-field>
1206
+ <kendo-chartwizard-property-pane-form-field
1207
+ text="Color"
1208
+ inputType="colorPicker"
1209
+ [value]="chartTitleTypeColor"
1210
+ (valueChange)="updateState(chartTitleTypeColorAction, $event)"
1211
+ >
1212
+ </kendo-chartwizard-property-pane-form-field>
1213
+ </div>
1214
+ </form>
1215
+ </kendo-expansionpanel>
1216
+ </section>
1217
+ <section>
1218
+ <kendo-expansionpanel
1219
+ [style.max-width.px]="576"
1220
+ title="Legend"
1221
+ [expanded]="true"
1222
+ >
1223
+ <form class="k-form k-form-md">
1224
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1225
+ <kendo-label [for]="toggleLegend" text="Show Legend"></kendo-label>
1226
+ <kendo-switch
1227
+ #toggleLegend
1228
+ onLabel="On"
1229
+ offLabel="Off"
1230
+ thumbRounded="full"
1231
+ size="medium"
1232
+ [checked]="stateService.state.legend?.visible"
1233
+ (valueChange)="updateState(legendVisible, $event)"
1234
+ ></kendo-switch>
1235
+ <kendo-chartwizard-property-pane-form-field
1236
+ text="Font"
1237
+ inputType="comboBox"
1238
+ [data]="fontNames"
1239
+ [colSpan]="2"
1240
+ placeholder="(Inherited font)"
1241
+ [value]="parseFont(stateService.state.legend?.labels?.font).name"
1242
+ (valueChange)="updateState(legendFontName, $event)"
1243
+ >
1244
+ </kendo-chartwizard-property-pane-form-field>
1245
+ <kendo-chartwizard-property-pane-form-field
1246
+ text="Size"
1247
+ inputType="comboBox"
1248
+ [data]="fontSizes"
1249
+ placeholder="px"
1250
+ [value]="parseFont(stateService.state.legend?.labels?.font).size"
1251
+ (valueChange)="updateState(legendFontSize, $event)"
1252
+ >
1253
+ </kendo-chartwizard-property-pane-form-field>
1254
+ <kendo-chartwizard-property-pane-form-field
1255
+ text="Color"
1256
+ inputType="colorPicker"
1257
+ [value]="stateService.state.legend?.labels?.color"
1258
+ (valueChange)="updateState(legendColor, $event)"
1259
+ >
1260
+ </kendo-chartwizard-property-pane-form-field>
1261
+ <kendo-chartwizard-property-pane-form-field
1262
+ text="Position"
1263
+ inputType="dropDownList"
1264
+ [colSpan]="2"
1265
+ [data]="legendPositions"
1266
+ [value]="stateService.state.legend?.position"
1267
+ (valueChange)="updateState(legendPosition, $event)"
1268
+ >
1269
+ </kendo-chartwizard-property-pane-form-field>
1270
+ </div>
1271
+ </form>
1272
+ </kendo-expansionpanel>
1273
+ </section>
1274
+ <section>
1275
+ <kendo-expansionpanel
1276
+ [style.max-width.px]="576"
1277
+ title="Series"
1278
+ [expanded]="true"
1279
+ >
1280
+ <form class="k-form k-form-md">
1281
+ <div class="k-form-field">
1282
+ <kendo-label [for]="seriesDropDown" class="k-form-label" text="Apply to"></kendo-label>
1283
+ <div class="k-form-field-wrap">
1284
+ <kendo-dropdownlist
1285
+ #seriesDropDown
1286
+ [data]="seriesData"
1287
+ textField="name"
1288
+ valueField="name"
1289
+ fillMode="outline"
1290
+ rounded="medium"
1291
+ size="medium"
1292
+ [value]="stateService.currentSeries"
1293
+ (valueChange)="updateCurrentSeries($event)"
1294
+ ></kendo-dropdownlist>
1295
+ </div>
1296
+ </div>
1297
+
1298
+ <kendo-chartwizard-property-pane-form-field
1299
+ text="Color"
1300
+ [value]="stateService.currentSeries?.color"
1301
+ inputType="colorPicker"
1302
+ [disabled]="stateService.currentSeries.name === defaultAllSeriesItem.name"
1303
+ (valueChange)="updateSeriesColor($event)"
1304
+ >
1305
+ </kendo-chartwizard-property-pane-form-field>
1306
+ <kendo-chartwizard-property-pane-form-field
1307
+ text="Show Labels"
1308
+ [value]="showLabels"
1309
+ [isLabelInsideFormFieldWrap]="true"
1310
+ [colSpan]="2"
1311
+ inputType="checkbox"
1312
+ (valueChange)="toggleSeriesLabels($event)"
1313
+ >
1314
+ </kendo-chartwizard-property-pane-form-field>
1315
+ </form>
1316
+ </kendo-expansionpanel>
1317
+ </section>
1318
+ <section *ngIf="stateService.state.seriesType !== 'pie'" class="k-row-start-1 k-row-end-3 k-col-start-3">
1319
+ <kendo-expansionpanel
1320
+ [style.max-width.px]="576"
1321
+ [title]="stateService.state.seriesType === 'scatter' ? 'X Axis' : 'Category axis'"
1322
+ [expanded]="true"
1323
+ >
1324
+ <form class="k-form k-form-md">
1325
+ <fieldset class="k-form-fieldset">
1326
+ <legend class="k-form-legend">Title</legend>
1327
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1328
+ <kendo-chartwizard-property-pane-form-field
1329
+ inputType="text"
1330
+ [hasLabel]="false"
1331
+ [colSpan]="2"
1332
+ placeholder="Axis Title"
1333
+ [value]="stateService.state.categoryAxis[0]?.title?.text || null"
1334
+ (valueChange)="updateState(categoryAxisTitleText, $event)"
1335
+ >
1336
+ </kendo-chartwizard-property-pane-form-field>
1337
+ <kendo-chartwizard-property-pane-form-field
1338
+ text="Font"
1339
+ inputType="comboBox"
1340
+ [data]="fontNames"
1341
+ [colSpan]="2"
1342
+ placeholder="(Inherited font)"
1343
+ [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).name"
1344
+ (valueChange)="updateState(categoryAxisTitleFontName, $event)"
1345
+ >
1346
+ </kendo-chartwizard-property-pane-form-field>
1347
+ <kendo-chartwizard-property-pane-form-field
1348
+ text="Size"
1349
+ inputType="comboBox"
1350
+ placeholder="px"
1351
+ [data]="fontSizes"
1352
+ [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).size"
1353
+ (valueChange)="updateState(categoryAxisTitleFontSize, $event)"
1354
+ >
1355
+ </kendo-chartwizard-property-pane-form-field>
1356
+ <kendo-chartwizard-property-pane-form-field
1357
+ text="Color"
1358
+ inputType="colorPicker"
1359
+ [value]="stateService.state.categoryAxis[0]?.title?.color"
1360
+ (valueChange)="updateState(categoryAxisTitleColor, $event)"
1361
+ >
1362
+ </kendo-chartwizard-property-pane-form-field>
1363
+ </div>
1364
+ </fieldset>
1365
+ <fieldset class="k-form-fieldset">
1366
+ <legend class="k-form-legend">Labels</legend>
1367
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1368
+ <kendo-chartwizard-property-pane-form-field
1369
+ text="Font"
1370
+ inputType="comboBox"
1371
+ [data]="fontNames"
1372
+ [colSpan]="2"
1373
+ placeholder="(Inherited font)"
1374
+ [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).name"
1375
+ (valueChange)="updateState(categoryAxisLabelsFontName, $event)"
1376
+ >
1377
+ </kendo-chartwizard-property-pane-form-field>
1378
+ <kendo-chartwizard-property-pane-form-field
1379
+ text="Size"
1380
+ inputType="comboBox"
1381
+ [data]="fontSizes"
1382
+ placeholder="px"
1383
+ [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).size"
1384
+ (valueChange)="updateState(categoryAxisLabelsFontSize, $event)"
1385
+ >
1386
+ </kendo-chartwizard-property-pane-form-field>
1387
+ <kendo-chartwizard-property-pane-form-field
1388
+ text="Color"
1389
+ inputType="colorPicker"
1390
+ [value]="stateService.state.categoryAxis[0]?.labels?.color"
1391
+ (valueChange)="updateState(categoryAxisLabelsColor, $event)"
1392
+ >
1393
+ </kendo-chartwizard-property-pane-form-field>
1394
+ <kendo-chartwizard-property-pane-form-field
1395
+ text="Rotation"
1396
+ inputType="dropDownList"
1397
+ [data]="labelsRotation"
1398
+ [value]="stateService.state.categoryAxis[0]?.labels?.rotation"
1399
+ (valueChange)="updateState(categoryAxisLabelsRotation, $event)"
1400
+ >
1401
+ </kendo-chartwizard-property-pane-form-field>
1402
+ <span></span>
1403
+ <kendo-chartwizard-property-pane-form-field
1404
+ text="Reverse Order"
1405
+ [isLabelInsideFormFieldWrap]="true"
1406
+ inputType="checkbox"
1407
+ [colSpan]="2"
1408
+ [value]="stateService.state.categoryAxis[0]?.reverse"
1409
+ (valueChange)="updateState(categoryAxisReverseOrder, $event)"
1410
+ >
1411
+ </kendo-chartwizard-property-pane-form-field>
1412
+ </div>
1413
+ </fieldset>
1414
+ </form>
1415
+ </kendo-expansionpanel>
1416
+ </section>
1417
+ <section *ngIf="stateService.state.seriesType !== 'pie'" class="k-row-start-1 k-row-end-3 k-col-start-4">
1418
+ <kendo-expansionpanel
1419
+ [style.max-width.px]="576"
1420
+ [title]="stateService.state.seriesType === 'scatter' ? 'Y Axis' : 'Value axis'"
1421
+ [expanded]="true"
1422
+ >
1423
+ <form class="k-form k-form-md">
1424
+ <fieldset class="k-form-fieldset">
1425
+ <legend class="k-form-legend">Title</legend>
1426
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1427
+ <kendo-chartwizard-property-pane-form-field
1428
+ inputType="text"
1429
+ [hasLabel]="false"
1430
+ [colSpan]="2"
1431
+ placeholder="Axis Title"
1432
+ [value]="stateService.state.valueAxis[0]?.title?.text || null"
1433
+ (valueChange)="updateState(valueAxisTitleText, $event)"
1434
+ >
1435
+ </kendo-chartwizard-property-pane-form-field>
1436
+ <kendo-chartwizard-property-pane-form-field
1437
+ text="Font"
1438
+ inputType="comboBox"
1439
+ [colSpan]="2"
1440
+ [data]="fontNames"
1441
+ placeholder="(Inherited font)"
1442
+ [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).name"
1443
+ (valueChange)="updateState(valueAxisTitleFontName, $event)"
1444
+ >
1445
+ </kendo-chartwizard-property-pane-form-field>
1446
+ <kendo-chartwizard-property-pane-form-field
1447
+ text="Size"
1448
+ inputType="comboBox"
1449
+ placeholder="px"
1450
+ [data]="fontSizes"
1451
+ [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).size"
1452
+ (valueChange)="updateState(valueAxisTitleFontSize, $event)"
1453
+ >
1454
+ </kendo-chartwizard-property-pane-form-field>
1455
+ <kendo-chartwizard-property-pane-form-field
1456
+ text="Color"
1457
+ inputType="colorPicker"
1458
+ [value]="stateService.state.valueAxis[0]?.title?.color"
1459
+ (valueChange)="updateState(valueAxisTitleColor, $event)"
1460
+ >
1461
+ </kendo-chartwizard-property-pane-form-field>
1462
+ </div>
1463
+ </fieldset>
1464
+ <fieldset class="k-form-fieldset">
1465
+ <legend class="k-form-legend">Labels</legend>
1466
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1467
+ <kendo-chartwizard-property-pane-form-field
1468
+ text="Label Format"
1469
+ [colSpan]="2"
1470
+ inputType="dropDownList"
1471
+ [data]="labelFormats"
1472
+ [value]="labelFormatValue"
1473
+ (valueChange)="updateState(valueAxisLabelsFormat, $event)"
1474
+ >
1475
+ </kendo-chartwizard-property-pane-form-field>
1476
+ <kendo-chartwizard-property-pane-form-field
1477
+ text="Font"
1478
+ inputType="comboBox"
1479
+ [data]="fontNames"
1480
+ [colSpan]="2"
1481
+ placeholder="(Inherited font)"
1482
+ [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).name"
1483
+ (valueChange)="updateState(valueAxisLabelsFontName, $event)"
1484
+ >
1485
+ </kendo-chartwizard-property-pane-form-field>
1486
+ <kendo-chartwizard-property-pane-form-field
1487
+ text="Size"
1488
+ inputType="comboBox"
1489
+ [data]="fontSizes"
1490
+ placeholder="px"
1491
+ [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).size"
1492
+ (valueChange)="updateState(valueAxisLabelsFontSize, $event)"
1493
+ >
1494
+ </kendo-chartwizard-property-pane-form-field>
1495
+ <kendo-chartwizard-property-pane-form-field
1496
+ text="Color"
1497
+ inputType="colorPicker"
1498
+ [value]="stateService.state.valueAxis[0]?.labels?.color"
1499
+ (valueChange)="updateState(valueAxisLabelsColor, $event)"
1500
+ >
1501
+ </kendo-chartwizard-property-pane-form-field>
1502
+ <kendo-chartwizard-property-pane-form-field
1503
+ text="Rotation"
1504
+ inputType="dropDownList"
1505
+ [data]="labelsRotation"
1506
+ [value]="stateService.state.valueAxis[0]?.labels?.rotation"
1507
+ (valueChange)="updateState(valueAxisLabelsRotation, $event)"
1508
+ >
1509
+ </kendo-chartwizard-property-pane-form-field>
1510
+ </div>
1511
+ </fieldset>
1512
+ </form>
1513
+ </kendo-expansionpanel>
1514
+ </section>
1515
+ `, isInline: true, dependencies: [{ kind: "component", type: ExpansionPanelComponent, selector: "kendo-expansionpanel", inputs: ["title", "subtitle", "disabled", "expanded", "svgExpandIcon", "svgCollapseIcon", "expandIcon", "collapseIcon", "animation"], outputs: ["expandedChange", "action", "expand", "collapse"], exportAs: ["kendoExpansionPanel"] }, { kind: "component", type: ChartWizardPropertyPaneFormFieldComponent, selector: "kendo-chartwizard-property-pane-form-field", inputs: ["currentState", "action", "class", "inputType", "text", "data", "placeholder", "colSpan", "hasLabel", "isLabelInsideFormFieldWrap", "value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: SwitchComponent, selector: "kendo-switch", inputs: ["focusableId", "onLabel", "offLabel", "checked", "disabled", "readonly", "tabindex", "size", "thumbRounded", "trackRounded", "tabIndex"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoSwitch"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1516
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormatTabComponent, decorators: [{
1517
+ type: Component,
1518
+ args: [{
1519
+ selector: 'kendo-chartwizard-property-pane-format-tab',
1520
+ changeDetection: ChangeDetectionStrategy.OnPush,
1521
+ template: `
1522
+ <section>
1523
+ <kendo-expansionpanel
1524
+ [style.max-width.px]="576"
1525
+ title="Chart Area"
1526
+ [expanded]="true"
1527
+ [attr.dir]="stateService.direction"
1528
+ >
1529
+ <form class="k-form k-form-md">
1530
+ <fieldset class="k-form-fieldset">
1531
+ <legend class="k-form-legend">Margins</legend>
1532
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1533
+ <kendo-chartwizard-property-pane-form-field
1534
+ text="Left"
1535
+ inputType="numeric"
1536
+ [value]="$any(stateService.state.area.margin).left"
1537
+ (valueChange)="updateState(areaMarginLeft, $event)"
1538
+ >
1539
+ </kendo-chartwizard-property-pane-form-field>
1540
+ <kendo-chartwizard-property-pane-form-field
1541
+ text="Right"
1542
+ inputType="numeric"
1543
+ [value]="$any(stateService.state.area.margin).right"
1544
+ (valueChange)="updateState(areaMarginRight, $event)"
1545
+ >
1546
+ </kendo-chartwizard-property-pane-form-field>
1547
+ <kendo-chartwizard-property-pane-form-field
1548
+ text="Top"
1549
+ inputType="numeric"
1550
+ [value]="$any(stateService.state.area.margin).top"
1551
+ (valueChange)="updateState(areaMarginTop, $event)"
1552
+ >
1553
+ </kendo-chartwizard-property-pane-form-field>
1554
+ <kendo-chartwizard-property-pane-form-field
1555
+ text="Bottom"
1556
+ inputType="numeric"
1557
+ [value]="$any(stateService.state.area.margin).bottom"
1558
+ (valueChange)="updateState(areaMarginBottom, $event)"
1559
+ >
1560
+ </kendo-chartwizard-property-pane-form-field>
1561
+ </div>
1562
+ </fieldset>
1563
+ <fieldset class="k-form-fieldset">
1564
+ <legend class="k-form-legend">Background</legend>
1565
+ <kendo-chartwizard-property-pane-form-field
1566
+ text="Color"
1567
+ inputType="colorPicker"
1568
+ [value]="stateService.state.area?.background"
1569
+ (valueChange)="updateState(areaBackground, $event)"
1570
+ >
1571
+ </kendo-chartwizard-property-pane-form-field>
1572
+ </fieldset>
1573
+ </form>
1574
+ </kendo-expansionpanel>
1575
+ </section>
1576
+ <section>
1577
+ <kendo-expansionpanel
1578
+ [style.max-width.px]="576"
1579
+ title="Title"
1580
+ [expanded]="true"
1581
+ >
1582
+ <form class="k-form k-form-md">
1583
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1584
+ <kendo-chartwizard-property-pane-form-field
1585
+ text="Apply to"
1586
+ inputType="dropDownList"
1587
+ [data]="chartTitles"
1588
+ [colSpan]="2"
1589
+ [value]="stateService.currentTitle"
1590
+ (valueChange)="changeCurrentTitle($event)"
1591
+ >
1592
+ </kendo-chartwizard-property-pane-form-field>
1593
+ <kendo-chartwizard-property-pane-form-field
1594
+ text="Title"
1595
+ inputType="text"
1596
+ [colSpan]="2"
1597
+ [value]="chartTitleTypeText"
1598
+ (valueChange)="updateState(chartTitleTypeAction, $event)"
1599
+ >
1600
+ </kendo-chartwizard-property-pane-form-field>
1601
+ <kendo-chartwizard-property-pane-form-field
1602
+ text="Font"
1603
+ inputType="comboBox"
1604
+ [data]="fontNames"
1605
+ [colSpan]="2"
1606
+ [value]="chartTitleTypeFont"
1607
+ placeholder="(Inherited font)"
1608
+ (valueChange)="updateState(chartTitleTypeFontAction, $event)"
1609
+ >
1610
+ </kendo-chartwizard-property-pane-form-field>
1611
+ <kendo-chartwizard-property-pane-form-field
1612
+ text="Size"
1613
+ inputType="comboBox"
1614
+ placeholder="px"
1615
+ [data]="fontSizes"
1616
+ [value]="chartTitleTypeFontSize"
1617
+ (valueChange)="updateState(chartTitleTypeFontSizeAction, $event)"
1618
+ >
1619
+ </kendo-chartwizard-property-pane-form-field>
1620
+ <kendo-chartwizard-property-pane-form-field
1621
+ text="Color"
1622
+ inputType="colorPicker"
1623
+ [value]="chartTitleTypeColor"
1624
+ (valueChange)="updateState(chartTitleTypeColorAction, $event)"
1625
+ >
1626
+ </kendo-chartwizard-property-pane-form-field>
1627
+ </div>
1628
+ </form>
1629
+ </kendo-expansionpanel>
1630
+ </section>
1631
+ <section>
1632
+ <kendo-expansionpanel
1633
+ [style.max-width.px]="576"
1634
+ title="Legend"
1635
+ [expanded]="true"
1636
+ >
1637
+ <form class="k-form k-form-md">
1638
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1639
+ <kendo-label [for]="toggleLegend" text="Show Legend"></kendo-label>
1640
+ <kendo-switch
1641
+ #toggleLegend
1642
+ onLabel="On"
1643
+ offLabel="Off"
1644
+ thumbRounded="full"
1645
+ size="medium"
1646
+ [checked]="stateService.state.legend?.visible"
1647
+ (valueChange)="updateState(legendVisible, $event)"
1648
+ ></kendo-switch>
1649
+ <kendo-chartwizard-property-pane-form-field
1650
+ text="Font"
1651
+ inputType="comboBox"
1652
+ [data]="fontNames"
1653
+ [colSpan]="2"
1654
+ placeholder="(Inherited font)"
1655
+ [value]="parseFont(stateService.state.legend?.labels?.font).name"
1656
+ (valueChange)="updateState(legendFontName, $event)"
1657
+ >
1658
+ </kendo-chartwizard-property-pane-form-field>
1659
+ <kendo-chartwizard-property-pane-form-field
1660
+ text="Size"
1661
+ inputType="comboBox"
1662
+ [data]="fontSizes"
1663
+ placeholder="px"
1664
+ [value]="parseFont(stateService.state.legend?.labels?.font).size"
1665
+ (valueChange)="updateState(legendFontSize, $event)"
1666
+ >
1667
+ </kendo-chartwizard-property-pane-form-field>
1668
+ <kendo-chartwizard-property-pane-form-field
1669
+ text="Color"
1670
+ inputType="colorPicker"
1671
+ [value]="stateService.state.legend?.labels?.color"
1672
+ (valueChange)="updateState(legendColor, $event)"
1673
+ >
1674
+ </kendo-chartwizard-property-pane-form-field>
1675
+ <kendo-chartwizard-property-pane-form-field
1676
+ text="Position"
1677
+ inputType="dropDownList"
1678
+ [colSpan]="2"
1679
+ [data]="legendPositions"
1680
+ [value]="stateService.state.legend?.position"
1681
+ (valueChange)="updateState(legendPosition, $event)"
1682
+ >
1683
+ </kendo-chartwizard-property-pane-form-field>
1684
+ </div>
1685
+ </form>
1686
+ </kendo-expansionpanel>
1687
+ </section>
1688
+ <section>
1689
+ <kendo-expansionpanel
1690
+ [style.max-width.px]="576"
1691
+ title="Series"
1692
+ [expanded]="true"
1693
+ >
1694
+ <form class="k-form k-form-md">
1695
+ <div class="k-form-field">
1696
+ <kendo-label [for]="seriesDropDown" class="k-form-label" text="Apply to"></kendo-label>
1697
+ <div class="k-form-field-wrap">
1698
+ <kendo-dropdownlist
1699
+ #seriesDropDown
1700
+ [data]="seriesData"
1701
+ textField="name"
1702
+ valueField="name"
1703
+ fillMode="outline"
1704
+ rounded="medium"
1705
+ size="medium"
1706
+ [value]="stateService.currentSeries"
1707
+ (valueChange)="updateCurrentSeries($event)"
1708
+ ></kendo-dropdownlist>
1709
+ </div>
1710
+ </div>
1711
+
1712
+ <kendo-chartwizard-property-pane-form-field
1713
+ text="Color"
1714
+ [value]="stateService.currentSeries?.color"
1715
+ inputType="colorPicker"
1716
+ [disabled]="stateService.currentSeries.name === defaultAllSeriesItem.name"
1717
+ (valueChange)="updateSeriesColor($event)"
1718
+ >
1719
+ </kendo-chartwizard-property-pane-form-field>
1720
+ <kendo-chartwizard-property-pane-form-field
1721
+ text="Show Labels"
1722
+ [value]="showLabels"
1723
+ [isLabelInsideFormFieldWrap]="true"
1724
+ [colSpan]="2"
1725
+ inputType="checkbox"
1726
+ (valueChange)="toggleSeriesLabels($event)"
1727
+ >
1728
+ </kendo-chartwizard-property-pane-form-field>
1729
+ </form>
1730
+ </kendo-expansionpanel>
1731
+ </section>
1732
+ <section *ngIf="stateService.state.seriesType !== 'pie'" class="k-row-start-1 k-row-end-3 k-col-start-3">
1733
+ <kendo-expansionpanel
1734
+ [style.max-width.px]="576"
1735
+ [title]="stateService.state.seriesType === 'scatter' ? 'X Axis' : 'Category axis'"
1736
+ [expanded]="true"
1737
+ >
1738
+ <form class="k-form k-form-md">
1739
+ <fieldset class="k-form-fieldset">
1740
+ <legend class="k-form-legend">Title</legend>
1741
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1742
+ <kendo-chartwizard-property-pane-form-field
1743
+ inputType="text"
1744
+ [hasLabel]="false"
1745
+ [colSpan]="2"
1746
+ placeholder="Axis Title"
1747
+ [value]="stateService.state.categoryAxis[0]?.title?.text || null"
1748
+ (valueChange)="updateState(categoryAxisTitleText, $event)"
1749
+ >
1750
+ </kendo-chartwizard-property-pane-form-field>
1751
+ <kendo-chartwizard-property-pane-form-field
1752
+ text="Font"
1753
+ inputType="comboBox"
1754
+ [data]="fontNames"
1755
+ [colSpan]="2"
1756
+ placeholder="(Inherited font)"
1757
+ [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).name"
1758
+ (valueChange)="updateState(categoryAxisTitleFontName, $event)"
1759
+ >
1760
+ </kendo-chartwizard-property-pane-form-field>
1761
+ <kendo-chartwizard-property-pane-form-field
1762
+ text="Size"
1763
+ inputType="comboBox"
1764
+ placeholder="px"
1765
+ [data]="fontSizes"
1766
+ [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).size"
1767
+ (valueChange)="updateState(categoryAxisTitleFontSize, $event)"
1768
+ >
1769
+ </kendo-chartwizard-property-pane-form-field>
1770
+ <kendo-chartwizard-property-pane-form-field
1771
+ text="Color"
1772
+ inputType="colorPicker"
1773
+ [value]="stateService.state.categoryAxis[0]?.title?.color"
1774
+ (valueChange)="updateState(categoryAxisTitleColor, $event)"
1775
+ >
1776
+ </kendo-chartwizard-property-pane-form-field>
1777
+ </div>
1778
+ </fieldset>
1779
+ <fieldset class="k-form-fieldset">
1780
+ <legend class="k-form-legend">Labels</legend>
1781
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1782
+ <kendo-chartwizard-property-pane-form-field
1783
+ text="Font"
1784
+ inputType="comboBox"
1785
+ [data]="fontNames"
1786
+ [colSpan]="2"
1787
+ placeholder="(Inherited font)"
1788
+ [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).name"
1789
+ (valueChange)="updateState(categoryAxisLabelsFontName, $event)"
1790
+ >
1791
+ </kendo-chartwizard-property-pane-form-field>
1792
+ <kendo-chartwizard-property-pane-form-field
1793
+ text="Size"
1794
+ inputType="comboBox"
1795
+ [data]="fontSizes"
1796
+ placeholder="px"
1797
+ [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).size"
1798
+ (valueChange)="updateState(categoryAxisLabelsFontSize, $event)"
1799
+ >
1800
+ </kendo-chartwizard-property-pane-form-field>
1801
+ <kendo-chartwizard-property-pane-form-field
1802
+ text="Color"
1803
+ inputType="colorPicker"
1804
+ [value]="stateService.state.categoryAxis[0]?.labels?.color"
1805
+ (valueChange)="updateState(categoryAxisLabelsColor, $event)"
1806
+ >
1807
+ </kendo-chartwizard-property-pane-form-field>
1808
+ <kendo-chartwizard-property-pane-form-field
1809
+ text="Rotation"
1810
+ inputType="dropDownList"
1811
+ [data]="labelsRotation"
1812
+ [value]="stateService.state.categoryAxis[0]?.labels?.rotation"
1813
+ (valueChange)="updateState(categoryAxisLabelsRotation, $event)"
1814
+ >
1815
+ </kendo-chartwizard-property-pane-form-field>
1816
+ <span></span>
1817
+ <kendo-chartwizard-property-pane-form-field
1818
+ text="Reverse Order"
1819
+ [isLabelInsideFormFieldWrap]="true"
1820
+ inputType="checkbox"
1821
+ [colSpan]="2"
1822
+ [value]="stateService.state.categoryAxis[0]?.reverse"
1823
+ (valueChange)="updateState(categoryAxisReverseOrder, $event)"
1824
+ >
1825
+ </kendo-chartwizard-property-pane-form-field>
1826
+ </div>
1827
+ </fieldset>
1828
+ </form>
1829
+ </kendo-expansionpanel>
1830
+ </section>
1831
+ <section *ngIf="stateService.state.seriesType !== 'pie'" class="k-row-start-1 k-row-end-3 k-col-start-4">
1832
+ <kendo-expansionpanel
1833
+ [style.max-width.px]="576"
1834
+ [title]="stateService.state.seriesType === 'scatter' ? 'Y Axis' : 'Value axis'"
1835
+ [expanded]="true"
1836
+ >
1837
+ <form class="k-form k-form-md">
1838
+ <fieldset class="k-form-fieldset">
1839
+ <legend class="k-form-legend">Title</legend>
1840
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1841
+ <kendo-chartwizard-property-pane-form-field
1842
+ inputType="text"
1843
+ [hasLabel]="false"
1844
+ [colSpan]="2"
1845
+ placeholder="Axis Title"
1846
+ [value]="stateService.state.valueAxis[0]?.title?.text || null"
1847
+ (valueChange)="updateState(valueAxisTitleText, $event)"
1848
+ >
1849
+ </kendo-chartwizard-property-pane-form-field>
1850
+ <kendo-chartwizard-property-pane-form-field
1851
+ text="Font"
1852
+ inputType="comboBox"
1853
+ [colSpan]="2"
1854
+ [data]="fontNames"
1855
+ placeholder="(Inherited font)"
1856
+ [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).name"
1857
+ (valueChange)="updateState(valueAxisTitleFontName, $event)"
1858
+ >
1859
+ </kendo-chartwizard-property-pane-form-field>
1860
+ <kendo-chartwizard-property-pane-form-field
1861
+ text="Size"
1862
+ inputType="comboBox"
1863
+ placeholder="px"
1864
+ [data]="fontSizes"
1865
+ [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).size"
1866
+ (valueChange)="updateState(valueAxisTitleFontSize, $event)"
1867
+ >
1868
+ </kendo-chartwizard-property-pane-form-field>
1869
+ <kendo-chartwizard-property-pane-form-field
1870
+ text="Color"
1871
+ inputType="colorPicker"
1872
+ [value]="stateService.state.valueAxis[0]?.title?.color"
1873
+ (valueChange)="updateState(valueAxisTitleColor, $event)"
1874
+ >
1875
+ </kendo-chartwizard-property-pane-form-field>
1876
+ </div>
1877
+ </fieldset>
1878
+ <fieldset class="k-form-fieldset">
1879
+ <legend class="k-form-legend">Labels</legend>
1880
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1881
+ <kendo-chartwizard-property-pane-form-field
1882
+ text="Label Format"
1883
+ [colSpan]="2"
1884
+ inputType="dropDownList"
1885
+ [data]="labelFormats"
1886
+ [value]="labelFormatValue"
1887
+ (valueChange)="updateState(valueAxisLabelsFormat, $event)"
1888
+ >
1889
+ </kendo-chartwizard-property-pane-form-field>
1890
+ <kendo-chartwizard-property-pane-form-field
1891
+ text="Font"
1892
+ inputType="comboBox"
1893
+ [data]="fontNames"
1894
+ [colSpan]="2"
1895
+ placeholder="(Inherited font)"
1896
+ [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).name"
1897
+ (valueChange)="updateState(valueAxisLabelsFontName, $event)"
1898
+ >
1899
+ </kendo-chartwizard-property-pane-form-field>
1900
+ <kendo-chartwizard-property-pane-form-field
1901
+ text="Size"
1902
+ inputType="comboBox"
1903
+ [data]="fontSizes"
1904
+ placeholder="px"
1905
+ [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).size"
1906
+ (valueChange)="updateState(valueAxisLabelsFontSize, $event)"
1907
+ >
1908
+ </kendo-chartwizard-property-pane-form-field>
1909
+ <kendo-chartwizard-property-pane-form-field
1910
+ text="Color"
1911
+ inputType="colorPicker"
1912
+ [value]="stateService.state.valueAxis[0]?.labels?.color"
1913
+ (valueChange)="updateState(valueAxisLabelsColor, $event)"
1914
+ >
1915
+ </kendo-chartwizard-property-pane-form-field>
1916
+ <kendo-chartwizard-property-pane-form-field
1917
+ text="Rotation"
1918
+ inputType="dropDownList"
1919
+ [data]="labelsRotation"
1920
+ [value]="stateService.state.valueAxis[0]?.labels?.rotation"
1921
+ (valueChange)="updateState(valueAxisLabelsRotation, $event)"
1922
+ >
1923
+ </kendo-chartwizard-property-pane-form-field>
1924
+ </div>
1925
+ </fieldset>
1926
+ </form>
1927
+ </kendo-expansionpanel>
1928
+ </section>
2328
1929
  `,
2329
1930
  standalone: true,
2330
- imports: [ExpansionPanelComponent, ChartWizardSeriesTypeButtonComponent]
1931
+ imports: [
1932
+ ExpansionPanelComponent,
1933
+ ChartWizardPropertyPaneFormFieldComponent,
1934
+ LabelComponent,
1935
+ SwitchComponent,
1936
+ DropDownListComponent,
1937
+ NgIf
1938
+ ]
2331
1939
  }]
2332
- }], ctorParameters: function () { return [{ type: StateService }, { type: i0.ChangeDetectorRef }, { type: i2.LocalizationService }]; } });
2333
-
2334
- /**
2335
- * @hidden
2336
- */
2337
- class PreventableEvent {
2338
- constructor() {
2339
- this.prevented = false;
2340
- }
2341
- /**
2342
- * Prevents the default action for a specified event.
2343
- * In this way, the source component suppresses
2344
- * the built-in behavior that follows the event.
2345
- */
2346
- preventDefault() {
2347
- this.prevented = true;
2348
- }
2349
- /**
2350
- * Returns `true` if the event was prevented
2351
- * by any of its subscribers.
2352
- *
2353
- * @returns `true` if the default action was prevented.
2354
- * Otherwise, returns `false`.
2355
- */
2356
- isDefaultPrevented() {
2357
- return this.prevented;
2358
- }
2359
- }
2360
-
2361
- /**
2362
- * Arguments for the `export` event on the Chart Wizard.
2363
- */
2364
- class ExportEvent extends PreventableEvent {
2365
- /**
2366
- * @hidden
2367
- */
2368
- constructor(chart, exportOptions) {
2369
- super();
2370
- this.chart = chart;
2371
- this.exportOptions = exportOptions;
2372
- }
2373
- }
1940
+ }], ctorParameters: function () { return [{ type: StateService }, { type: i2$1.LocalizationService }, { type: i0.ChangeDetectorRef }]; } });
2374
1941
 
2375
1942
  /**
2376
1943
  * Represents the Kendo UI for Angular Chart Wizard component.
@@ -2429,21 +1996,22 @@ class ChartWizardComponent {
2429
1996
  this.subscription.add(this.localization.changes.subscribe(({ rtl }) => {
2430
1997
  this.stateService.direction = rtl ? 'rtl' : 'ltr';
2431
1998
  }));
1999
+ this.stateService.dataTab = this.dataTab;
2432
2000
  }
2433
2001
  ngOnChanges(changes) {
2434
- if (changes['data']) {
2002
+ if (changes['data'] && changes['data'].currentValue?.length > 0) {
2435
2003
  const data = changes['data'].currentValue;
2436
2004
  const clonedData = structuredClone(data);
2437
2005
  this.stateService.data = clonedData;
2438
- this.stateService.state = createState(clonedData, this.stateService.seriesType);
2006
+ this.stateService.state = createState(clonedData, this.stateService.state.seriesType);
2439
2007
  }
2440
- if (changes['defaultState']) {
2008
+ if (changes['defaultState'] && this.data?.length > 0) {
2441
2009
  const defaultState = changes['defaultState'].currentValue;
2442
2010
  if (defaultState.seriesType) {
2443
- this.stateService.seriesType = defaultState.seriesType;
2444
- this.stateService.state = mergeStates(this.stateService.state, createState(this.stateService.data, this.stateService.seriesType));
2011
+ this.stateService.state.seriesType = defaultState.seriesType;
2012
+ this.stateService.state = mergeStates(this.stateService.state, createState(this.stateService.data, this.stateService.state.seriesType));
2445
2013
  }
2446
- this.stateService.currentSeries = {};
2014
+ this.stateService.currentSeries = defaultAllSeriesItem;
2447
2015
  if (typeof defaultState.stack !== 'undefined') {
2448
2016
  this.stateService.state = updateState(this.stateService.state, ActionTypes.stacked, defaultState.stack);
2449
2017
  }
@@ -2489,7 +2057,7 @@ class ChartWizardComponent {
2489
2057
  }
2490
2058
  }
2491
2059
  }
2492
- ChartWizardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardComponent, deps: [{ token: i2.LocalizationService }, { token: StateService }], target: i0.ɵɵFactoryTarget.Component });
2060
+ ChartWizardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardComponent, deps: [{ token: i2$1.LocalizationService }, { token: StateService }], target: i0.ɵɵFactoryTarget.Component });
2493
2061
  ChartWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWizardComponent, isStandalone: true, selector: "kendo-chartwizard", inputs: { data: "data", defaultState: "defaultState", exportOptions: "exportOptions" }, outputs: { close: "close", export: "export" }, host: { properties: { "attr.dir": "this.dir" } }, providers: [
2494
2062
  LocalizationService,
2495
2063
  {
@@ -2497,7 +2065,7 @@ ChartWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
2497
2065
  useValue: 'kendo.chartwizard',
2498
2066
  },
2499
2067
  StateService
2500
- ], viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }, { propertyName: "propertyPane", first: true, predicate: ChartWizardPropertyPaneChartTabComponent, descendants: true }], exportAs: ["kendoChartWizard"], usesOnChanges: true, ngImport: i0, template: `
2068
+ ], viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }, { propertyName: "propertyPane", first: true, predicate: ChartWizardPropertyPaneChartTabComponent, descendants: true }, { propertyName: "dataTab", first: true, predicate: ChartWizardPropertyPaneDataTabComponent, descendants: true }], exportAs: ["kendoChartWizard"], usesOnChanges: true, ngImport: i0, template: `
2501
2069
  <ng-container
2502
2070
  kendoChartWizardLocalizedMessages
2503
2071
  i18n-sampleMessage="kendo.chartwizard.sampleMessage|Sample description"
@@ -2524,8 +2092,8 @@ ChartWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
2524
2092
  Export
2525
2093
  </kendo-dropdownbutton>
2526
2094
  </div>
2527
- <div class="k-preview-pane-content">
2528
- <kendo-chart [transitions]="false">
2095
+ <div class="k-preview-pane-content" [style.height]="'calc(100% - 50px)'">
2096
+ <kendo-chart [transitions]="false" [style.width.%]="100" [style.height.%]="100">
2529
2097
  <kendo-chart-title
2530
2098
  [text]="stateService.state.title?.text"
2531
2099
  [font]="stateService.state.title?.font"
@@ -2591,40 +2159,6 @@ ChartWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
2591
2159
  >
2592
2160
  </kendo-chart-series-item>
2593
2161
  </kendo-chart-series>
2594
- <kendo-chart-x-axis>
2595
- <kendo-chart-x-axis-item
2596
- *ngFor="let axis of stateService.state.categoryAxis"
2597
- [categories]="axis.categories"
2598
- [title]="{
2599
- text: axis.title?.text,
2600
- font: axis.title?.font,
2601
- color: axis.title?.color
2602
- }"
2603
- [labels]="{
2604
- rotation: axis.labels?.rotation,
2605
- font: axis.labels?.font,
2606
- color: axis.labels?.color
2607
- }"
2608
- [reverse]="axis.reverse"
2609
- >
2610
- </kendo-chart-x-axis-item>
2611
- </kendo-chart-x-axis>
2612
- <kendo-chart-y-axis>
2613
- <kendo-chart-y-axis-item
2614
- *ngFor="let axis of stateService.state.valueAxis"
2615
- [title]="{
2616
- text: axis.title?.text,
2617
- font: axis.title?.font,
2618
- color: axis.title?.color
2619
- }"
2620
- [labels]="{
2621
- rotation: axis.labels?.rotation,
2622
- font: axis.labels?.font,
2623
- color: axis.labels?.color
2624
- }"
2625
- >
2626
- </kendo-chart-y-axis-item>
2627
- </kendo-chart-y-axis>
2628
2162
  <kendo-chart-legend
2629
2163
  [visible]="stateService.state.legend?.visible"
2630
2164
  [position]="stateService.state.legend?.position"
@@ -2658,7 +2192,7 @@ ChartWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
2658
2192
  </kendo-splitter>
2659
2193
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
2660
2194
  </kendo-window>
2661
- `, isInline: true, dependencies: [{ kind: "component", type: WindowComponent, selector: "kendo-window", inputs: ["autoFocusedElement", "title", "draggable", "resizable", "themeColor", "keepContent", "state", "minWidth", "minHeight", "width", "height", "top", "left"], outputs: ["dragStart", "dragEnd", "resizeStart", "resizeEnd", "close", "widthChange", "heightChange", "topChange", "leftChange", "stateChange"], exportAs: ["kendoWindow"] }, { kind: "component", type: SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "splitbarWidth", "resizeStep"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { kind: "component", type: SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "separatorLabel", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { kind: "component", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { kind: "component", type: ChartComponent, selector: "kendo-chart", inputs: ["pannable", "renderAs", "seriesColors", "subtitle", "title", "transitions", "zoomable", "axisDefaults", "categoryAxis", "chartArea", "legend", "panes", "paneDefaults", "plotArea", "series", "seriesDefaults", "tooltip", "valueAxis", "xAxis", "yAxis", "resizeRateLimit", "popupSettings", "drilldownLevel"], outputs: ["axisLabelClick", "drag", "dragEnd", "dragStart", "legendItemHover", "legendItemLeave", "noteClick", "noteHover", "noteLeave", "paneRender", "plotAreaClick", "plotAreaHover", "plotAreaLeave", "render", "select", "selectEnd", "selectStart", "seriesClick", "drilldown", "seriesHover", "seriesOver", "seriesLeave", "zoom", "zoomEnd", "zoomStart", "legendItemClick", "drilldownLevelChange"], exportAs: ["kendoChart"] }, { kind: "component", type: TitleComponent, selector: "kendo-chart-title", inputs: ["align", "background", "border", "color", "font", "margin", "padding", "position", "text", "description", "visible"] }, { kind: "component", type: SubtitleComponent, selector: "kendo-chart-subtitle", inputs: ["align", "background", "border", "color", "font", "margin", "padding", "position", "text", "visible"] }, { kind: "component", type: ChartAreaComponent, selector: "kendo-chart-area", inputs: ["background", "border", "height", "margin", "opacity", "width"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CategoryAxisComponent, selector: "kendo-chart-category-axis" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CategoryAxisItemComponent, selector: "kendo-chart-category-axis-item", inputs: ["autoBaseUnitSteps", "axisCrossingValue", "background", "baseUnit", "baseUnitStep", "categories", "color", "justified", "line", "majorGridLines", "majorTicks", "max", "maxDateGroups", "maxDivisions", "min", "minorGridLines", "minorTicks", "name", "pane", "plotBands", "reverse", "roundToBaseUnit", "startAngle", "type", "visible", "weekStartDay", "crosshair", "labels", "notes", "select", "title", "rangeLabels"] }, { kind: "component", type: ValueAxisComponent, selector: "kendo-chart-value-axis" }, { kind: "component", type: ValueAxisItemComponent, selector: "kendo-chart-value-axis-item", inputs: ["axisCrossingValue", "background", "color", "line", "majorGridLines", "majorTicks", "majorUnit", "max", "min", "minorGridLines", "minorTicks", "minorUnit", "name", "narrowRange", "pane", "plotBands", "reverse", "type", "visible", "crosshair", "labels", "notes", "title"] }, { kind: "component", type: SeriesComponent, selector: "kendo-chart-series" }, { kind: "component", type: SeriesItemComponent, selector: "kendo-chart-series-item", inputs: ["aggregate", "autoFit", "axis", "border", "categoryAxis", "categoryField", "closeField", "color", "colorField", "connectors", "currentField", "dashType", "data", "downColor", "downColorField", "drilldownField", "dynamicHeight", "dynamicSlope", "errorHighField", "errorLowField", "explodeField", "field", "fromField", "gap", "highField", "holeSize", "line", "lowField", "lowerField", "margin", "maxSize", "mean", "meanField", "median", "medianField", "minSize", "missingValues", "name", "neckRatio", "negativeColor", "negativeValues", "noteTextField", "opacity", "openField", "outliersField", "overlay", "padding", "q1Field", "q3Field", "segmentSpacing", "size", "sizeField", "spacing", "stack", "startAngle", "style", "summaryField", "target", "toField", "type", "upperField", "visible", "visibleInLegend", "visibleInLegendField", "visual", "width", "whiskers", "xAxis", "xErrorHighField", "xErrorLowField", "xField", "yAxis", "yErrorHighField", "yErrorLowField", "yField", "zIndex", "trendline", "for", "legendItem", "errorBars", "extremes", "highlight", "labels", "markers", "notes", "outliers", "tooltip"] }, { kind: "component", type: XAxisComponent, selector: "kendo-chart-x-axis" }, { kind: "component", type: XAxisItemComponent, selector: "kendo-chart-x-axis-item", inputs: ["axisCrossingValue", "background", "baseUnit", "categories", "color", "line", "majorGridLines", "majorTicks", "majorUnit", "max", "min", "minorGridLines", "minorTicks", "minorUnit", "name", "narrowRange", "pane", "plotBands", "reverse", "startAngle", "type", "visible", "weekStartDay", "crosshair", "labels", "notes", "title"] }, { kind: "component", type: YAxisComponent, selector: "kendo-chart-y-axis" }, { kind: "component", type: YAxisItemComponent, selector: "kendo-chart-y-axis-item", inputs: ["axisCrossingValue", "background", "baseUnit", "categories", "color", "line", "majorGridLines", "majorTicks", "majorUnit", "max", "min", "minorGridLines", "minorTicks", "minorUnit", "name", "narrowRange", "pane", "plotBands", "reverse", "type", "visible", "crosshair", "labels", "notes", "title"] }, { kind: "component", type: LegendComponent, selector: "kendo-chart-legend", inputs: ["align", "background", "border", "height", "labels", "margin", "offsetX", "offsetY", "orientation", "padding", "position", "reverse", "visible", "width", "markers", "spacing", "inactiveItems", "item", "title"] }, { kind: "component", type: TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { kind: "component", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { kind: "directive", type: TabContentDirective, selector: "[kendoTabContent]" }, { kind: "component", type: ChartWizardPropertyPaneChartTabComponent, selector: "kendo-chartwizard-property-pane-chart-tab" }, { kind: "component", type: ChartWizardPropertyPaneFormatTabComponent, selector: "kendo-chartwizard-property-pane-data-tab" }, { kind: "component", type: ChartWizardPropertyPaneDataTabComponent, selector: "kendo-chartwizard-property-pane-format-tab" }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2195
+ `, isInline: true, dependencies: [{ kind: "component", type: WindowComponent, selector: "kendo-window", inputs: ["autoFocusedElement", "title", "draggable", "resizable", "themeColor", "keepContent", "state", "minWidth", "minHeight", "width", "height", "top", "left"], outputs: ["dragStart", "dragEnd", "resizeStart", "resizeEnd", "close", "widthChange", "heightChange", "topChange", "leftChange", "stateChange"], exportAs: ["kendoWindow"] }, { kind: "component", type: SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "splitbarWidth", "resizeStep"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { kind: "component", type: SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "separatorLabel", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { kind: "component", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { kind: "component", type: ChartComponent, selector: "kendo-chart", inputs: ["pannable", "renderAs", "seriesColors", "subtitle", "title", "transitions", "zoomable", "axisDefaults", "categoryAxis", "chartArea", "legend", "panes", "paneDefaults", "plotArea", "series", "seriesDefaults", "tooltip", "valueAxis", "xAxis", "yAxis", "resizeRateLimit", "popupSettings", "drilldownLevel"], outputs: ["axisLabelClick", "drag", "dragEnd", "dragStart", "legendItemHover", "legendItemLeave", "noteClick", "noteHover", "noteLeave", "paneRender", "plotAreaClick", "plotAreaHover", "plotAreaLeave", "render", "select", "selectEnd", "selectStart", "seriesClick", "drilldown", "seriesHover", "seriesOver", "seriesLeave", "zoom", "zoomEnd", "zoomStart", "legendItemClick", "drilldownLevelChange"], exportAs: ["kendoChart"] }, { kind: "component", type: TitleComponent, selector: "kendo-chart-title", inputs: ["align", "background", "border", "color", "font", "margin", "padding", "position", "text", "description", "visible"] }, { kind: "component", type: SubtitleComponent, selector: "kendo-chart-subtitle", inputs: ["align", "background", "border", "color", "font", "margin", "padding", "position", "text", "visible"] }, { kind: "component", type: ChartAreaComponent, selector: "kendo-chart-area", inputs: ["background", "border", "height", "margin", "opacity", "width"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CategoryAxisComponent, selector: "kendo-chart-category-axis" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CategoryAxisItemComponent, selector: "kendo-chart-category-axis-item", inputs: ["autoBaseUnitSteps", "axisCrossingValue", "background", "baseUnit", "baseUnitStep", "categories", "color", "justified", "line", "majorGridLines", "majorTicks", "max", "maxDateGroups", "maxDivisions", "min", "minorGridLines", "minorTicks", "name", "pane", "plotBands", "reverse", "roundToBaseUnit", "startAngle", "type", "visible", "weekStartDay", "crosshair", "labels", "notes", "select", "title", "rangeLabels"] }, { kind: "component", type: ValueAxisComponent, selector: "kendo-chart-value-axis" }, { kind: "component", type: ValueAxisItemComponent, selector: "kendo-chart-value-axis-item", inputs: ["axisCrossingValue", "background", "color", "line", "majorGridLines", "majorTicks", "majorUnit", "max", "min", "minorGridLines", "minorTicks", "minorUnit", "name", "narrowRange", "pane", "plotBands", "reverse", "type", "visible", "crosshair", "labels", "notes", "title"] }, { kind: "component", type: SeriesComponent, selector: "kendo-chart-series" }, { kind: "component", type: SeriesItemComponent, selector: "kendo-chart-series-item", inputs: ["aggregate", "autoFit", "axis", "border", "categoryAxis", "categoryField", "closeField", "color", "colorField", "connectors", "currentField", "dashType", "data", "downColor", "downColorField", "drilldownField", "dynamicHeight", "dynamicSlope", "errorHighField", "errorLowField", "explodeField", "field", "fromField", "gap", "highField", "holeSize", "line", "lowField", "lowerField", "margin", "maxSize", "mean", "meanField", "median", "medianField", "minSize", "missingValues", "name", "neckRatio", "negativeColor", "negativeValues", "noteTextField", "opacity", "openField", "outliersField", "overlay", "padding", "q1Field", "q3Field", "segmentSpacing", "size", "sizeField", "spacing", "stack", "startAngle", "style", "summaryField", "target", "toField", "type", "upperField", "visible", "visibleInLegend", "visibleInLegendField", "visual", "width", "whiskers", "xAxis", "xErrorHighField", "xErrorLowField", "xField", "yAxis", "yErrorHighField", "yErrorLowField", "yField", "zIndex", "trendline", "for", "legendItem", "errorBars", "extremes", "highlight", "labels", "markers", "notes", "outliers", "tooltip"] }, { kind: "component", type: LegendComponent, selector: "kendo-chart-legend", inputs: ["align", "background", "border", "height", "labels", "margin", "offsetX", "offsetY", "orientation", "padding", "position", "reverse", "visible", "width", "markers", "spacing", "inactiveItems", "item", "title"] }, { kind: "component", type: TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { kind: "component", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { kind: "directive", type: TabContentDirective, selector: "[kendoTabContent]" }, { kind: "component", type: ChartWizardPropertyPaneChartTabComponent, selector: "kendo-chartwizard-property-pane-chart-tab" }, { kind: "component", type: ChartWizardPropertyPaneFormatTabComponent, selector: "kendo-chartwizard-property-pane-format-tab" }, { kind: "component", type: ChartWizardPropertyPaneDataTabComponent, selector: "kendo-chartwizard-property-pane-data-tab" }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2662
2196
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardComponent, decorators: [{
2663
2197
  type: Component,
2664
2198
  args: [{
@@ -2700,8 +2234,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2700
2234
  Export
2701
2235
  </kendo-dropdownbutton>
2702
2236
  </div>
2703
- <div class="k-preview-pane-content">
2704
- <kendo-chart [transitions]="false">
2237
+ <div class="k-preview-pane-content" [style.height]="'calc(100% - 50px)'">
2238
+ <kendo-chart [transitions]="false" [style.width.%]="100" [style.height.%]="100">
2705
2239
  <kendo-chart-title
2706
2240
  [text]="stateService.state.title?.text"
2707
2241
  [font]="stateService.state.title?.font"
@@ -2767,40 +2301,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2767
2301
  >
2768
2302
  </kendo-chart-series-item>
2769
2303
  </kendo-chart-series>
2770
- <kendo-chart-x-axis>
2771
- <kendo-chart-x-axis-item
2772
- *ngFor="let axis of stateService.state.categoryAxis"
2773
- [categories]="axis.categories"
2774
- [title]="{
2775
- text: axis.title?.text,
2776
- font: axis.title?.font,
2777
- color: axis.title?.color
2778
- }"
2779
- [labels]="{
2780
- rotation: axis.labels?.rotation,
2781
- font: axis.labels?.font,
2782
- color: axis.labels?.color
2783
- }"
2784
- [reverse]="axis.reverse"
2785
- >
2786
- </kendo-chart-x-axis-item>
2787
- </kendo-chart-x-axis>
2788
- <kendo-chart-y-axis>
2789
- <kendo-chart-y-axis-item
2790
- *ngFor="let axis of stateService.state.valueAxis"
2791
- [title]="{
2792
- text: axis.title?.text,
2793
- font: axis.title?.font,
2794
- color: axis.title?.color
2795
- }"
2796
- [labels]="{
2797
- rotation: axis.labels?.rotation,
2798
- font: axis.labels?.font,
2799
- color: axis.labels?.color
2800
- }"
2801
- >
2802
- </kendo-chart-y-axis-item>
2803
- </kendo-chart-y-axis>
2804
2304
  <kendo-chart-legend
2805
2305
  [visible]="stateService.state.legend?.visible"
2806
2306
  [position]="stateService.state.legend?.position"
@@ -2867,7 +2367,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2867
2367
  WatermarkOverlayComponent
2868
2368
  ]
2869
2369
  }]
2870
- }], ctorParameters: function () { return [{ type: i2.LocalizationService }, { type: StateService }]; }, propDecorators: { data: [{
2370
+ }], ctorParameters: function () { return [{ type: i2$1.LocalizationService }, { type: StateService }]; }, propDecorators: { data: [{
2871
2371
  type: Input
2872
2372
  }], defaultState: [{
2873
2373
  type: Input
@@ -2886,30 +2386,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2886
2386
  }], propertyPane: [{
2887
2387
  type: ViewChild,
2888
2388
  args: [ChartWizardPropertyPaneChartTabComponent]
2389
+ }], dataTab: [{
2390
+ type: ViewChild,
2391
+ args: [ChartWizardPropertyPaneDataTabComponent]
2889
2392
  }] } });
2890
2393
 
2891
- // TODO: Extract to kendo-charts
2892
- /**
2893
- * Maps data rows to the Chart Wizard data format.
2894
- *
2895
- * @returns collection that can be used as Chart Wizard.
2896
- */
2897
- function getWizardDataFromDataRows(dataRows) {
2898
- const result = [];
2899
- dataRows.forEach(item => {
2900
- const { dataItem, dataColumns } = item;
2901
- const row = [];
2902
- dataColumns.forEach(column => {
2903
- row.push({
2904
- field: column.title || column.field,
2905
- value: getter(column.field)(dataItem)
2906
- });
2907
- });
2908
- result.push(row);
2909
- });
2910
- return result;
2911
- }
2912
- // End: Extract to kendo-charts
2394
+ const getWizardDataFromDataRows = ChartWizardCommon.getWizardDataFromDataRows;
2913
2395
 
2914
2396
  /**
2915
2397
  * Maps the Grid selectedKeys to a more general DataRows type to be displayed in the Chart Wizard.