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

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, ViewEncapsulation, 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: 1724848963,
38
- version: '16.9.0-develop.8',
38
+ publishDate: 1725979259,
39
+ version: '16.9.0',
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,1794 @@ 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, encapsulation: i0.ViewEncapsulation.None });
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
+ encapsulation: ViewEncapsulation.None,
286
+ template: `
287
+ <kendo-expansionpanel title="Configuration" [expanded]="true">
288
+ <form class="k-form k-form-md">
289
+ <fieldset class="k-form-fieldset">
290
+ <legend class="k-form-legend">
291
+ {{ stateService.state.seriesType === 'scatter' ? 'X Axis' : 'Category Axis' }}
292
+ </legend>
293
+ <kendo-dropdownlist
294
+ [data]="stateService.state.columns"
295
+ [value]="stateService.state.categoryField"
296
+ (valueChange)="updateState(categoryAxisX, $event)"
297
+ fillMode="outline"
298
+ rounded="medium"
299
+ size="medium"
300
+ >
301
+ </kendo-dropdownlist>
302
+ </fieldset>
303
+ <fieldset class="k-form-fieldset" *ngIf="isCategorical(stateService.state.seriesType)">
304
+ <legend class="k-form-legend">Series</legend>
305
+ <kendo-grid
306
+ #grid
307
+ [kendoGridReactiveEditing]="createFormGroup"
308
+ [kendoGridBinding]="stateService.state.series"
309
+ [rowReorderable]="true"
310
+ (rowReorder)="onRowReorder(grid)"
311
+ (remove)="removeData($event)"
312
+ >
313
+ <ng-template kendoGridToolbarTemplate>
314
+ <button
315
+ kendoButton
316
+ type="button"
317
+ [svgIcon]="plusIcon"
318
+ fillMode="flat"
319
+ rounded="medium"
320
+ [disabled]="isDisabled(grid)"
321
+ (click)="addData()"
322
+ >
323
+ ADD
324
+ </button>
325
+ </ng-template>
326
+ <kendo-grid-rowreorder-column [width]="40"></kendo-grid-rowreorder-column>
327
+ <kendo-grid-column field="name" title="">
328
+ </kendo-grid-column>
329
+ <kendo-grid-command-column [width]="40">
330
+ <ng-template kendoGridCellTemplate>
331
+ <button
332
+ [svgIcon]="trashIcon"
333
+ kendoGridRemoveCommand
334
+ fillMode="flat"
335
+ rounded="medium"
336
+ [disabled]="stateService.state.series.length < 2"
337
+ ></button>
338
+ </ng-template>
339
+ </kendo-grid-command-column>
340
+ </kendo-grid>
341
+ </fieldset>
342
+ <fieldset
343
+ class="k-form-fieldset"
344
+ *ngIf="stateService.state.seriesType === 'pie'"
345
+ >
346
+ <legend class="k-form-legend">
347
+ {{ 'Value Axis' }}
348
+ </legend>
349
+ <kendo-dropdownlist
350
+ [data]="stateService.state.columns"
351
+ [value]="stateService.state.valueField"
352
+ (valueChange)="updateState(valueAxisY, $event)"
353
+ fillMode="outline"
354
+ rounded="medium"
355
+ size="medium"
356
+ >
357
+ </kendo-dropdownlist>
358
+ </fieldset>
359
+ </form>
360
+ </kendo-expansionpanel>
779
361
  `,
780
362
  standalone: true,
781
363
  imports: [
782
- NgIf,
783
- LabelComponent,
784
- NumericTextBoxComponent,
785
- ColorPickerComponent,
364
+ ExpansionPanelComponent,
786
365
  DropDownListComponent,
787
- ComboBoxComponent,
788
- TextBoxComponent,
789
- CheckBoxComponent
366
+ ValueTemplateDirective,
367
+ NgIf,
368
+ GridComponent,
369
+ ReactiveEditingDirective,
370
+ DataBindingDirective,
371
+ ToolbarTemplateDirective,
372
+ ButtonComponent,
373
+ RowReorderColumnComponent,
374
+ ColumnComponent,
375
+ CommandColumnComponent,
376
+ CellTemplateDirective,
377
+ GridToolbarFocusableDirective,
378
+ FocusableDirective,
379
+ RemoveCommandDirective
790
380
  ]
791
381
  }]
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: [{
382
+ }], ctorParameters: function () { return [{ type: StateService }, { type: i2.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { grid: [{
843
383
  type: ViewChild,
844
- args: [CheckBoxComponent]
384
+ args: [GridComponent]
845
385
  }] } });
846
386
 
847
387
  /**
848
388
  * @hidden
849
389
  */
850
- class ChartWizardPropertyPaneDataTabComponent {
851
- constructor(stateService, localization, cdr) {
390
+ class ChartWizardSeriesTypeButtonComponent {
391
+ constructor(stateService) {
852
392
  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;
393
+ this.stack = false;
936
394
  }
937
- get seriesData() {
938
- return [defaultAllSeriesItem, ...this.stateService.state.series];
395
+ onSelect() {
396
+ this.stateService.seriesType = this.seriesType;
397
+ if (this.stateService.data.length > 0) {
398
+ this.stateService.state = mergeStates(this.stateService.state, createState(this.stateService.data, this.stateService.seriesType));
399
+ this.stateService.currentSeries = {};
400
+ if (this.stack) {
401
+ this.stateService.state = updateState(this.stateService.state, ActionTypes.stacked, this.stack);
402
+ }
403
+ }
404
+ this.stateService.dataTab.detectChanges();
939
405
  }
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);
406
+ isSelected() {
407
+ return (this.stateService.state.seriesType === this.seriesType &&
408
+ this.stateService.state.series[0]?.stack === this.stack);
942
409
  }
943
- get labelFormatValue() {
944
- return labelFormats.find(f => f.value === this.stateService.state.valueAxis[0]?.labels?.format)?.value || defaultFormat.value;
410
+ }
411
+ ChartWizardSeriesTypeButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardSeriesTypeButtonComponent, deps: [{ token: StateService }], target: i0.ɵɵFactoryTarget.Component });
412
+ 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: `
413
+ <div class="k-icon-text-wrapper" [class.k-selected]="isSelected()" (click)="onSelect()">
414
+ <div class="k-icon-background-area">
415
+ <kendo-svgicon [icon]="chartTypeIcon" size="xlarge" themeColor="primary"> </kendo-svgicon>
416
+ </div>
417
+ {{ title }}
418
+ </div>
419
+ `, isInline: true, dependencies: [{ kind: "component", type: SVGIconComponent, selector: "kendo-svg-icon, kendo-svgicon", inputs: ["icon"], exportAs: ["kendoSVGIcon"] }] });
420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardSeriesTypeButtonComponent, decorators: [{
421
+ type: Component,
422
+ args: [{
423
+ selector: 'kendo-chartwizard-series-type-button',
424
+ template: `
425
+ <div class="k-icon-text-wrapper" [class.k-selected]="isSelected()" (click)="onSelect()">
426
+ <div class="k-icon-background-area">
427
+ <kendo-svgicon [icon]="chartTypeIcon" size="xlarge" themeColor="primary"> </kendo-svgicon>
428
+ </div>
429
+ {{ title }}
430
+ </div>
431
+ `,
432
+ standalone: true,
433
+ imports: [SVGIconComponent]
434
+ }]
435
+ }], ctorParameters: function () { return [{ type: StateService }]; }, propDecorators: { title: [{
436
+ type: Input
437
+ }], chartTypeIcon: [{
438
+ type: Input
439
+ }], stack: [{
440
+ type: Input
441
+ }], seriesType: [{
442
+ type: Input
443
+ }] } });
444
+
445
+ /**
446
+ * @hidden
447
+ */
448
+ class ChartWizardPropertyPaneChartTabComponent {
449
+ constructor(stateService, cdr, localization) {
450
+ this.stateService = stateService;
451
+ this.cdr = cdr;
452
+ this.localization = localization;
453
+ this.exportIcon = exportIcon;
454
+ this.chartBarClusteredIcon = chartBarClusteredIcon;
455
+ this.chartBarStackedIcon = chartBarStackedIcon;
456
+ this.chartBarStacked100Icon = chartBarStacked100Icon;
457
+ this.chartPieIcon = chartPieIcon;
458
+ this.chartColumnClusteredIcon = chartColumnClusteredIcon;
459
+ this.chartColumnStackedIcon = chartColumnStackedIcon;
460
+ this.chartColumnStacked100Icon = chartColumnStacked100Icon;
461
+ this.chartLineIcon = chartLineIcon;
462
+ this.chartLineStackedIcon = chartLineStackedIcon;
463
+ this.chartLineStacked100Icon = chartLineStacked100Icon;
464
+ this.chartScatterIcon = chartScatterIcon;
945
465
  }
946
466
  ngAfterViewChecked() {
947
467
  this.localization.changes.subscribe(() => {
948
- this.cdr.detectChanges();
468
+ this.detectChanges();
949
469
  });
950
470
  }
951
471
  ngOnDestroy() {
952
472
  this.localization.changes.unsubscribe();
953
473
  }
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);
474
+ detectChanges() {
475
+ this.cdr.detectChanges();
981
476
  }
982
477
  }
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'"
478
+ 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 });
479
+ 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: `
480
+ <kendo-expansionpanel title="Bar Chart" [expanded]="true">
481
+ <div class="k-chart-types-wrapper">
482
+ <kendo-chartwizard-series-type-button
483
+ title="Bar"
484
+ [chartTypeIcon]="chartBarClusteredIcon"
485
+ seriesType="bar"
486
+ [stack]="false"
487
+ >
488
+ </kendo-chartwizard-series-type-button>
489
+ <kendo-chartwizard-series-type-button
490
+ title="Stacked Bar"
491
+ [chartTypeIcon]="chartBarStackedIcon"
492
+ seriesType="bar"
493
+ [stack]="true"
494
+ >
495
+ </kendo-chartwizard-series-type-button>
496
+ <kendo-chartwizard-series-type-button
497
+ title="100% Stacked Bar"
498
+ [chartTypeIcon]="chartBarStacked100Icon"
499
+ seriesType="bar"
500
+ [stack]="{ type: '100%' }"
501
+ >
502
+ </kendo-chartwizard-series-type-button>
503
+ </div>
504
+ </kendo-expansionpanel>
505
+ <kendo-expansionpanel title="Pie Chart" [expanded]="true">
506
+ <div class="k-chart-types-wrapper">
507
+ <kendo-chartwizard-series-type-button
508
+ title="Pie"
509
+ [chartTypeIcon]="chartPieIcon"
510
+ seriesType="pie"
511
+ [stack]="undefined"
512
+ >
513
+ </kendo-chartwizard-series-type-button>
514
+ </div>
515
+ </kendo-expansionpanel>
516
+ <kendo-expansionpanel title="Column Chart" [expanded]="true">
517
+ <div class="k-chart-types-wrapper">
518
+ <kendo-chartwizard-series-type-button
519
+ title="Column"
520
+ [chartTypeIcon]="chartColumnClusteredIcon"
521
+ seriesType="column"
522
+ [stack]="false"
523
+ >
524
+ </kendo-chartwizard-series-type-button>
525
+ <kendo-chartwizard-series-type-button
526
+ title="Stacked Column"
527
+ [chartTypeIcon]="chartColumnStackedIcon"
528
+ seriesType="column"
529
+ [stack]="true"
1915
530
  >
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>
531
+ </kendo-chartwizard-series-type-button>
532
+ <kendo-chartwizard-series-type-button
533
+ title="100% Stacked Column"
534
+ [chartTypeIcon]="chartColumnStacked100Icon"
535
+ seriesType="column"
536
+ [stack]="{ type: '100%' }"
537
+ >
538
+ </kendo-chartwizard-series-type-button>
539
+ </div>
1930
540
  </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: [{
541
+ <kendo-expansionpanel title="Line Chart" [expanded]="true">
542
+ <div class="k-chart-types-wrapper">
543
+ <kendo-chartwizard-series-type-button
544
+ title="Line"
545
+ [chartTypeIcon]="chartLineIcon"
546
+ seriesType="line"
547
+ [stack]="false"
548
+ >
549
+ </kendo-chartwizard-series-type-button>
550
+ <kendo-chartwizard-series-type-button
551
+ title="Stacked Line"
552
+ [chartTypeIcon]="chartLineStackedIcon"
553
+ seriesType="line"
554
+ [stack]="true"
555
+ >
556
+ </kendo-chartwizard-series-type-button>
557
+ <kendo-chartwizard-series-type-button
558
+ title="100% Line Column"
559
+ [chartTypeIcon]="chartLineStacked100Icon"
560
+ seriesType="line"
561
+ [stack]="{ type: '100%' }"
562
+ >
563
+ </kendo-chartwizard-series-type-button>
564
+ </div>
565
+ </kendo-expansionpanel>
566
+ <kendo-expansionpanel title="Scatter Chart" [expanded]="true">
567
+ <div class="k-chart-types-wrapper">
568
+ <kendo-chartwizard-series-type-button
569
+ title="Scatter"
570
+ [chartTypeIcon]="chartScatterIcon"
571
+ seriesType="scatter"
572
+ [stack]="false"
573
+ >
574
+ </kendo-chartwizard-series-type-button>
575
+ </div>
576
+ </kendo-expansionpanel>
577
+ `, 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 });
578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneChartTabComponent, decorators: [{
1933
579
  type: Component,
1934
580
  args: [{
1935
- selector: 'kendo-chartwizard-property-pane-data-tab',
581
+ selector: 'kendo-chartwizard-property-pane-chart-tab',
1936
582
  changeDetection: ChangeDetectionStrategy.OnPush,
1937
583
  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'"
584
+ <kendo-expansionpanel title="Bar Chart" [expanded]="true">
585
+ <div class="k-chart-types-wrapper">
586
+ <kendo-chartwizard-series-type-button
587
+ title="Bar"
588
+ [chartTypeIcon]="chartBarClusteredIcon"
589
+ seriesType="bar"
590
+ [stack]="false"
1995
591
  >
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>
592
+ </kendo-chartwizard-series-type-button>
593
+ <kendo-chartwizard-series-type-button
594
+ title="Stacked Bar"
595
+ [chartTypeIcon]="chartBarStackedIcon"
596
+ seriesType="bar"
597
+ [stack]="true"
598
+ >
599
+ </kendo-chartwizard-series-type-button>
600
+ <kendo-chartwizard-series-type-button
601
+ title="100% Stacked Bar"
602
+ [chartTypeIcon]="chartBarStacked100Icon"
603
+ seriesType="bar"
604
+ [stack]="{ type: '100%' }"
605
+ >
606
+ </kendo-chartwizard-series-type-button>
607
+ </div>
608
+ </kendo-expansionpanel>
609
+ <kendo-expansionpanel title="Pie Chart" [expanded]="true">
610
+ <div class="k-chart-types-wrapper">
611
+ <kendo-chartwizard-series-type-button
612
+ title="Pie"
613
+ [chartTypeIcon]="chartPieIcon"
614
+ seriesType="pie"
615
+ [stack]="undefined"
616
+ >
617
+ </kendo-chartwizard-series-type-button>
618
+ </div>
619
+ </kendo-expansionpanel>
620
+ <kendo-expansionpanel title="Column Chart" [expanded]="true">
621
+ <div class="k-chart-types-wrapper">
622
+ <kendo-chartwizard-series-type-button
623
+ title="Column"
624
+ [chartTypeIcon]="chartColumnClusteredIcon"
625
+ seriesType="column"
626
+ [stack]="false"
627
+ >
628
+ </kendo-chartwizard-series-type-button>
629
+ <kendo-chartwizard-series-type-button
630
+ title="Stacked Column"
631
+ [chartTypeIcon]="chartColumnStackedIcon"
632
+ seriesType="column"
633
+ [stack]="true"
634
+ >
635
+ </kendo-chartwizard-series-type-button>
636
+ <kendo-chartwizard-series-type-button
637
+ title="100% Stacked Column"
638
+ [chartTypeIcon]="chartColumnStacked100Icon"
639
+ seriesType="column"
640
+ [stack]="{ type: '100%' }"
641
+ >
642
+ </kendo-chartwizard-series-type-button>
643
+ </div>
644
+ </kendo-expansionpanel>
645
+ <kendo-expansionpanel title="Line Chart" [expanded]="true">
646
+ <div class="k-chart-types-wrapper">
647
+ <kendo-chartwizard-series-type-button
648
+ title="Line"
649
+ [chartTypeIcon]="chartLineIcon"
650
+ seriesType="line"
651
+ [stack]="false"
652
+ >
653
+ </kendo-chartwizard-series-type-button>
654
+ <kendo-chartwizard-series-type-button
655
+ title="Stacked Line"
656
+ [chartTypeIcon]="chartLineStackedIcon"
657
+ seriesType="line"
658
+ [stack]="true"
659
+ >
660
+ </kendo-chartwizard-series-type-button>
661
+ <kendo-chartwizard-series-type-button
662
+ title="100% Line Column"
663
+ [chartTypeIcon]="chartLineStacked100Icon"
664
+ seriesType="line"
665
+ [stack]="{ type: '100%' }"
666
+ >
667
+ </kendo-chartwizard-series-type-button>
668
+ </div>
669
+ </kendo-expansionpanel>
670
+ <kendo-expansionpanel title="Scatter Chart" [expanded]="true">
671
+ <div class="k-chart-types-wrapper">
672
+ <kendo-chartwizard-series-type-button
673
+ title="Scatter"
674
+ [chartTypeIcon]="chartScatterIcon"
675
+ seriesType="scatter"
676
+ [stack]="false"
677
+ >
678
+ </kendo-chartwizard-series-type-button>
679
+ </div>
2010
680
  </kendo-expansionpanel>
2011
681
  `,
2012
682
  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
- ]
683
+ imports: [ExpansionPanelComponent, ChartWizardSeriesTypeButtonComponent]
2031
684
  }]
2032
- }], ctorParameters: function () { return [{ type: StateService }, { type: i2$1.FormBuilder }]; } });
685
+ }], ctorParameters: function () { return [{ type: StateService }, { type: i0.ChangeDetectorRef }, { type: i2$1.LocalizationService }]; } });
686
+
687
+ /**
688
+ * @hidden
689
+ */
690
+ class PreventableEvent {
691
+ constructor() {
692
+ this.prevented = false;
693
+ }
694
+ /**
695
+ * Prevents the default action for a specified event.
696
+ * In this way, the source component suppresses
697
+ * the built-in behavior that follows the event.
698
+ */
699
+ preventDefault() {
700
+ this.prevented = true;
701
+ }
702
+ /**
703
+ * Returns `true` if the event was prevented
704
+ * by any of its subscribers.
705
+ *
706
+ * @returns `true` if the default action was prevented.
707
+ * Otherwise, returns `false`.
708
+ */
709
+ isDefaultPrevented() {
710
+ return this.prevented;
711
+ }
712
+ }
713
+
714
+ /**
715
+ * Arguments for the `export` event on the Chart Wizard.
716
+ */
717
+ class ExportEvent extends PreventableEvent {
718
+ /**
719
+ * @hidden
720
+ */
721
+ constructor(chart, exportOptions) {
722
+ super();
723
+ this.chart = chart;
724
+ this.exportOptions = exportOptions;
725
+ }
726
+ }
2033
727
 
2034
728
  /**
2035
729
  * @hidden
2036
730
  */
2037
- class ChartWizardSeriesTypeButtonComponent {
2038
- constructor(stateService) {
2039
- this.stateService = stateService;
2040
- this.stack = false;
731
+ class ChartWizardPropertyPaneFormFieldComponent {
732
+ constructor(localization, cdr) {
733
+ this.localization = localization;
734
+ this.cdr = cdr;
735
+ this.colSpan = 1;
736
+ this.hasLabel = true;
737
+ this.isLabelInsideFormFieldWrap = false;
738
+ this.disabled = false;
739
+ this.valueChange = new EventEmitter();
740
+ this.formField = true;
2041
741
  }
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
- }
742
+ get isColSpan2() {
743
+ return this.colSpan === 2;
2049
744
  }
2050
- isSelected() {
2051
- if (this.stack?.type === '100%') {
2052
- return this.stack?.type === this.stateService.state.series[0]?.stack?.type;
745
+ ngAfterViewChecked() {
746
+ this.localization.changes.subscribe(() => {
747
+ this.cdr.detectChanges();
748
+ });
749
+ }
750
+ ngOnDestroy() {
751
+ this.localization.changes.unsubscribe();
752
+ }
753
+ ngAfterViewInit() {
754
+ if (this.hasLabel) {
755
+ this.label.for =
756
+ this.numericTextBox ||
757
+ this.colorPicker ||
758
+ this.dropDownList ||
759
+ this.textBox ||
760
+ this.comboBox ||
761
+ this.checkBox;
2053
762
  }
2054
- return (this.stateService.state.seriesType === this.seriesType &&
2055
- this.stateService.state.series[0]?.stack === this.stack);
2056
763
  }
2057
764
  }
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 }}
765
+ 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 });
766
+ 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: `
767
+ <kendo-label *ngIf="hasLabel && !isLabelInsideFormFieldWrap && inputType !== 'checkbox'" class="k-form-label" [text]="text"></kendo-label>
768
+ <div class="k-form-field-wrap">
769
+ <kendo-label
770
+ *ngIf="hasLabel && isLabelInsideFormFieldWrap && inputType !== 'checkbox'"
771
+ class="k-form-label"
772
+ [text]="text"
773
+ ></kendo-label>
774
+ <kendo-numerictextbox
775
+ *ngIf="inputType === 'numeric'"
776
+ fillMode="outline"
777
+ rounded="medium"
778
+ [value]="value"
779
+ (valueChange)="valueChange.emit($event)"
780
+ placeholder="Auto"
781
+ ></kendo-numerictextbox>
782
+ <kendo-colorpicker
783
+ *ngIf="inputType === 'colorPicker'"
784
+ fillMode="outline"
785
+ rounded="medium"
786
+ [value]="value"
787
+ [disabled]="disabled"
788
+ (valueChange)="valueChange.emit($event)"
789
+ ></kendo-colorpicker>
790
+ <kendo-dropdownlist
791
+ *ngIf="inputType === 'dropDownList'"
792
+ [data]="data"
793
+ textField="text"
794
+ valueField="value"
795
+ [valuePrimitive]="true"
796
+ fillMode="outline"
797
+ rounded="medium"
798
+ size="medium"
799
+ [value]="value"
800
+ (valueChange)="valueChange.emit($event)"
801
+ ></kendo-dropdownlist>
802
+ <kendo-combobox
803
+ *ngIf="inputType === 'comboBox'"
804
+ [data]="data"
805
+ [value]="value"
806
+ textField="text"
807
+ valueField="value"
808
+ [valuePrimitive]="true"
809
+ fillMode="outline"
810
+ rounded="medium"
811
+ size="medium"
812
+ [placeholder]="placeholder"
813
+ (valueChange)="valueChange.emit($event)"
814
+ ></kendo-combobox>
815
+ <kendo-textbox
816
+ *ngIf="inputType === 'text'"
817
+ fillMode="outline"
818
+ rounded="medium"
819
+ [placeholder]="placeholder"
820
+ [value]="value"
821
+ (valueChange)="valueChange.emit($event)"
822
+ ></kendo-textbox>
823
+ <kendo-checkbox
824
+ *ngIf="inputType === 'checkbox'"
825
+ class="k-checkbox-md k-rounded-md"
826
+ [checkedState]="value"
827
+ (checkedStateChange)="valueChange.emit($event)"
828
+ ></kendo-checkbox>
829
+ <kendo-label
830
+ *ngIf="hasLabel && isLabelInsideFormFieldWrap && inputType === 'checkbox'"
831
+ class="k-checkbox-label"
832
+ [text]="text"
833
+ ></kendo-label>
2065
834
  </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: [{
835
+ `, 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 });
836
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormFieldComponent, decorators: [{
2068
837
  type: Component,
2069
838
  args: [{
2070
- selector: 'kendo-chartwizard-series-type-button',
839
+ selector: 'kendo-chartwizard-property-pane-form-field',
840
+ changeDetection: ChangeDetectionStrategy.OnPush,
2071
841
  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 }}
842
+ <kendo-label *ngIf="hasLabel && !isLabelInsideFormFieldWrap && inputType !== 'checkbox'" class="k-form-label" [text]="text"></kendo-label>
843
+ <div class="k-form-field-wrap">
844
+ <kendo-label
845
+ *ngIf="hasLabel && isLabelInsideFormFieldWrap && inputType !== 'checkbox'"
846
+ class="k-form-label"
847
+ [text]="text"
848
+ ></kendo-label>
849
+ <kendo-numerictextbox
850
+ *ngIf="inputType === 'numeric'"
851
+ fillMode="outline"
852
+ rounded="medium"
853
+ [value]="value"
854
+ (valueChange)="valueChange.emit($event)"
855
+ placeholder="Auto"
856
+ ></kendo-numerictextbox>
857
+ <kendo-colorpicker
858
+ *ngIf="inputType === 'colorPicker'"
859
+ fillMode="outline"
860
+ rounded="medium"
861
+ [value]="value"
862
+ [disabled]="disabled"
863
+ (valueChange)="valueChange.emit($event)"
864
+ ></kendo-colorpicker>
865
+ <kendo-dropdownlist
866
+ *ngIf="inputType === 'dropDownList'"
867
+ [data]="data"
868
+ textField="text"
869
+ valueField="value"
870
+ [valuePrimitive]="true"
871
+ fillMode="outline"
872
+ rounded="medium"
873
+ size="medium"
874
+ [value]="value"
875
+ (valueChange)="valueChange.emit($event)"
876
+ ></kendo-dropdownlist>
877
+ <kendo-combobox
878
+ *ngIf="inputType === 'comboBox'"
879
+ [data]="data"
880
+ [value]="value"
881
+ textField="text"
882
+ valueField="value"
883
+ [valuePrimitive]="true"
884
+ fillMode="outline"
885
+ rounded="medium"
886
+ size="medium"
887
+ [placeholder]="placeholder"
888
+ (valueChange)="valueChange.emit($event)"
889
+ ></kendo-combobox>
890
+ <kendo-textbox
891
+ *ngIf="inputType === 'text'"
892
+ fillMode="outline"
893
+ rounded="medium"
894
+ [placeholder]="placeholder"
895
+ [value]="value"
896
+ (valueChange)="valueChange.emit($event)"
897
+ ></kendo-textbox>
898
+ <kendo-checkbox
899
+ *ngIf="inputType === 'checkbox'"
900
+ class="k-checkbox-md k-rounded-md"
901
+ [checkedState]="value"
902
+ (checkedStateChange)="valueChange.emit($event)"
903
+ ></kendo-checkbox>
904
+ <kendo-label
905
+ *ngIf="hasLabel && isLabelInsideFormFieldWrap && inputType === 'checkbox'"
906
+ class="k-checkbox-label"
907
+ [text]="text"
908
+ ></kendo-label>
2077
909
  </div>
2078
910
  `,
2079
911
  standalone: true,
2080
- imports: [SVGIconComponent]
912
+ imports: [
913
+ NgIf,
914
+ LabelComponent,
915
+ NumericTextBoxComponent,
916
+ ColorPickerComponent,
917
+ DropDownListComponent,
918
+ ComboBoxComponent,
919
+ TextBoxComponent,
920
+ CheckBoxComponent
921
+ ]
2081
922
  }]
2082
- }], ctorParameters: function () { return [{ type: StateService }]; }, propDecorators: { title: [{
923
+ }], ctorParameters: function () { return [{ type: i2$1.LocalizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { currentState: [{
2083
924
  type: Input
2084
- }], chartTypeIcon: [{
925
+ }], action: [{
2085
926
  type: Input
2086
- }], stack: [{
927
+ }], class: [{
2087
928
  type: Input
2088
- }], seriesType: [{
929
+ }], inputType: [{
930
+ type: Input
931
+ }], text: [{
932
+ type: Input
933
+ }], data: [{
934
+ type: Input
935
+ }], placeholder: [{
2089
936
  type: Input
937
+ }], colSpan: [{
938
+ type: Input
939
+ }], hasLabel: [{
940
+ type: Input
941
+ }], isLabelInsideFormFieldWrap: [{
942
+ type: Input
943
+ }], value: [{
944
+ type: Input
945
+ }], disabled: [{
946
+ type: Input
947
+ }], valueChange: [{
948
+ type: Output
949
+ }], formField: [{
950
+ type: HostBinding,
951
+ args: ['class.k-form-field']
952
+ }], isColSpan2: [{
953
+ type: HostBinding,
954
+ args: ['class.k-col-span-2']
955
+ }], label: [{
956
+ type: ViewChild,
957
+ args: [LabelComponent]
958
+ }], numericTextBox: [{
959
+ type: ViewChild,
960
+ args: [NumericTextBoxComponent]
961
+ }], colorPicker: [{
962
+ type: ViewChild,
963
+ args: [ColorPickerComponent]
964
+ }], dropDownList: [{
965
+ type: ViewChild,
966
+ args: [DropDownListComponent]
967
+ }], textBox: [{
968
+ type: ViewChild,
969
+ args: [TextBoxComponent]
970
+ }], comboBox: [{
971
+ type: ViewChild,
972
+ args: [ComboBoxComponent]
973
+ }], checkBox: [{
974
+ type: ViewChild,
975
+ args: [CheckBoxComponent]
2090
976
  }] } });
2091
977
 
2092
978
  /**
2093
979
  * @hidden
2094
980
  */
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>
981
+ class ChartWizardPropertyPaneFormatTabComponent {
982
+ constructor(stateService, localization, cdr) {
983
+ this.stateService = stateService;
984
+ this.localization = localization;
985
+ this.cdr = cdr;
986
+ this.chartTitles = [
987
+ { text: 'Chart Title', value: 'Chart Title' },
988
+ { text: 'Chart Subtitle', value: 'Chart Subtitle' },
989
+ ];
990
+ this.areaMarginLeft = ActionTypes.areaMarginLeft;
991
+ this.areaMarginRight = ActionTypes.areaMarginRight;
992
+ this.areaMarginTop = ActionTypes.areaMarginTop;
993
+ this.areaMarginBottom = ActionTypes.areaMarginBottom;
994
+ this.areaBackground = ActionTypes.areaBackground;
995
+ this.legendVisible = ActionTypes.legendVisible;
996
+ this.legendFontName = ActionTypes.legendFontName;
997
+ this.legendFontSize = ActionTypes.legendFontSize;
998
+ this.legendColor = ActionTypes.legendColor;
999
+ this.legendPosition = ActionTypes.legendPosition;
1000
+ this.categoryAxisTitleText = ActionTypes.categoryAxisTitleText;
1001
+ this.categoryAxisTitleFontName = ActionTypes.categoryAxisTitleFontName;
1002
+ this.categoryAxisTitleFontSize = ActionTypes.categoryAxisTitleFontSize;
1003
+ this.categoryAxisTitleColor = ActionTypes.categoryAxisTitleColor;
1004
+ this.categoryAxisLabelsFontName = ActionTypes.categoryAxisLabelsFontName;
1005
+ this.categoryAxisLabelsFontSize = ActionTypes.categoryAxisLabelsFontSize;
1006
+ this.categoryAxisLabelsColor = ActionTypes.categoryAxisLabelsColor;
1007
+ this.categoryAxisLabelsRotation = ActionTypes.categoryAxisLabelsRotation;
1008
+ this.categoryAxisReverseOrder = ActionTypes.categoryAxisReverseOrder;
1009
+ this.valueAxisTitleText = ActionTypes.valueAxisTitleText;
1010
+ this.valueAxisTitleFontName = ActionTypes.valueAxisTitleFontName;
1011
+ this.valueAxisTitleFontSize = ActionTypes.valueAxisTitleFontSize;
1012
+ this.valueAxisTitleColor = ActionTypes.valueAxisTitleColor;
1013
+ this.valueAxisLabelsFontName = ActionTypes.valueAxisLabelsFontName;
1014
+ this.valueAxisLabelsFormat = ActionTypes.valueAxisLabelsFormat;
1015
+ this.valueAxisLabelsFontSize = ActionTypes.valueAxisLabelsFontSize;
1016
+ this.valueAxisLabelsColor = ActionTypes.valueAxisLabelsColor;
1017
+ this.valueAxisLabelsRotation = ActionTypes.valueAxisLabelsRotation;
1018
+ this.parseFont = parseFont;
1019
+ this.labelFormats = labelFormats;
1020
+ this.defaultAllSeriesItem = defaultAllSeriesItem;
1021
+ this.fontNames = fontNames;
1022
+ this.fontSizes = fontSizes;
1023
+ this.legendPositions = positions;
1024
+ this.labelsRotation = rotations;
1025
+ }
1026
+ get chartTitleTypeText() {
1027
+ return this.stateService.currentTitle === 'Chart Title'
1028
+ ? this.stateService.state.title?.text
1029
+ : this.stateService.state.subtitle?.text;
1030
+ }
1031
+ get chartTitleTypeFont() {
1032
+ return this.stateService.currentTitle === 'Chart Title'
1033
+ ? parseFont(this.stateService.state.title?.font).name
1034
+ : parseFont(this.stateService.state.subtitle?.font).name;
1035
+ }
1036
+ get chartTitleTypeFontSize() {
1037
+ return this.stateService.currentTitle === 'Chart Title'
1038
+ ? parseFont(this.stateService.state.title?.font).size
1039
+ : parseFont(this.stateService.state.subtitle?.font).size;
1040
+ }
1041
+ get chartTitleTypeColor() {
1042
+ return this.stateService.currentTitle === 'Chart Title'
1043
+ ? this.stateService.state.title?.color
1044
+ : this.stateService.state.subtitle?.color;
1045
+ }
1046
+ get chartTitleTypeAction() {
1047
+ return this.stateService.currentTitle === 'Chart Title' ? ActionTypes.titleText : ActionTypes.subtitleText;
1048
+ }
1049
+ get chartTitleTypeFontAction() {
1050
+ return this.stateService.currentTitle === 'Chart Title' ? ActionTypes.titleFontName : ActionTypes.subtitleFontName;
1051
+ }
1052
+ get chartTitleTypeColorAction() {
1053
+ return this.stateService.currentTitle === 'Chart Title' ? ActionTypes.titleColor : ActionTypes.subtitleColor;
1054
+ }
1055
+ get chartTitleTypeFontSizeAction() {
1056
+ return this.stateService.currentTitle === 'Chart Title' ? ActionTypes.titleFontSize : ActionTypes.subtitleFontSize;
1057
+ }
1058
+ get seriesData() {
1059
+ return [defaultAllSeriesItem, ...this.stateService.state.series];
1060
+ }
1061
+ get showLabels() {
1062
+ 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);
1063
+ }
1064
+ get labelFormatValue() {
1065
+ return labelFormats.find(f => f.value === this.stateService.state.valueAxis[0]?.labels?.format)?.value || defaultFormat.value;
1066
+ }
1067
+ ngAfterViewChecked() {
1068
+ this.localization.changes.subscribe(() => {
1069
+ this.cdr.detectChanges();
1070
+ });
1071
+ }
1072
+ ngOnDestroy() {
1073
+ this.localization.changes.unsubscribe();
1074
+ }
1075
+ updateState(action, value) {
1076
+ if (action === ActionTypes.seriesLabel && this.stateService.currentSeries.name === defaultAllSeriesItem.name) {
1077
+ this.stateService.state = updateState(this.stateService.state, action, { name: '', all: true, visible: value.labels.visible });
1078
+ return;
1079
+ }
1080
+ this.stateService.state = updateState(this.stateService.state, action, value);
1081
+ }
1082
+ changeCurrentTitle(value) {
1083
+ this.stateService.currentTitle = value;
1084
+ }
1085
+ toggleSeriesLabels(value) {
1086
+ this.updateCurrentSeries(this.stateService.currentSeries);
1087
+ this.stateService.currentSeries.labels = { visible: value };
1088
+ this.updateState(ActionTypes.seriesLabel, this.stateService.currentSeries);
1089
+ }
1090
+ updateCurrentSeries(value) {
1091
+ if (value.name === defaultAllSeriesItem.name) {
1092
+ this.stateService.currentSeries = defaultAllSeriesItem;
1093
+ }
1094
+ else {
1095
+ this.stateService.currentSeries = this.stateService.state.series.find((series) => series.name === value.name);
1096
+ }
1097
+ }
1098
+ updateSeriesColor(value) {
1099
+ this.updateCurrentSeries(this.stateService.currentSeries);
1100
+ this.stateService.currentSeries.color = value;
1101
+ this.updateState(ActionTypes.seriesColor, this.stateService.currentSeries);
1102
+ }
1103
+ }
1104
+ 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 });
1105
+ 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: `
1106
+ <section>
1107
+ <kendo-expansionpanel
1108
+ [style.max-width.px]="576"
1109
+ title="Chart Area"
1110
+ [expanded]="true"
1111
+ [attr.dir]="stateService.direction"
1112
+ >
1113
+ <form class="k-form k-form-md">
1114
+ <fieldset class="k-form-fieldset">
1115
+ <legend class="k-form-legend">Margins</legend>
1116
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1117
+ <kendo-chartwizard-property-pane-form-field
1118
+ text="Left"
1119
+ inputType="numeric"
1120
+ [value]="$any(stateService.state.area.margin).left"
1121
+ (valueChange)="updateState(areaMarginLeft, $event)"
1122
+ >
1123
+ </kendo-chartwizard-property-pane-form-field>
1124
+ <kendo-chartwizard-property-pane-form-field
1125
+ text="Right"
1126
+ inputType="numeric"
1127
+ [value]="$any(stateService.state.area.margin).right"
1128
+ (valueChange)="updateState(areaMarginRight, $event)"
1129
+ >
1130
+ </kendo-chartwizard-property-pane-form-field>
1131
+ <kendo-chartwizard-property-pane-form-field
1132
+ text="Top"
1133
+ inputType="numeric"
1134
+ [value]="$any(stateService.state.area.margin).top"
1135
+ (valueChange)="updateState(areaMarginTop, $event)"
1136
+ >
1137
+ </kendo-chartwizard-property-pane-form-field>
1138
+ <kendo-chartwizard-property-pane-form-field
1139
+ text="Bottom"
1140
+ inputType="numeric"
1141
+ [value]="$any(stateService.state.area.margin).bottom"
1142
+ (valueChange)="updateState(areaMarginBottom, $event)"
1143
+ >
1144
+ </kendo-chartwizard-property-pane-form-field>
1145
+ </div>
1146
+ </fieldset>
1147
+ <fieldset class="k-form-fieldset">
1148
+ <legend class="k-form-legend">Background</legend>
1149
+ <kendo-chartwizard-property-pane-form-field
1150
+ text="Color"
1151
+ inputType="colorPicker"
1152
+ [value]="stateService.state.area?.background"
1153
+ (valueChange)="updateState(areaBackground, $event)"
1154
+ >
1155
+ </kendo-chartwizard-property-pane-form-field>
1156
+ </fieldset>
1157
+ </form>
1158
+ </kendo-expansionpanel>
1159
+ </section>
1160
+ <section>
1161
+ <kendo-expansionpanel
1162
+ [style.max-width.px]="576"
1163
+ title="Title"
1164
+ [expanded]="true"
1165
+ >
1166
+ <form class="k-form k-form-md">
1167
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1168
+ <kendo-chartwizard-property-pane-form-field
1169
+ text="Apply to"
1170
+ inputType="dropDownList"
1171
+ [data]="chartTitles"
1172
+ [colSpan]="2"
1173
+ [value]="stateService.currentTitle"
1174
+ (valueChange)="changeCurrentTitle($event)"
1175
+ >
1176
+ </kendo-chartwizard-property-pane-form-field>
1177
+ <kendo-chartwizard-property-pane-form-field
1178
+ text="Title"
1179
+ inputType="text"
1180
+ [colSpan]="2"
1181
+ [value]="chartTitleTypeText"
1182
+ (valueChange)="updateState(chartTitleTypeAction, $event)"
1183
+ >
1184
+ </kendo-chartwizard-property-pane-form-field>
1185
+ <kendo-chartwizard-property-pane-form-field
1186
+ text="Font"
1187
+ inputType="comboBox"
1188
+ [data]="fontNames"
1189
+ [colSpan]="2"
1190
+ [value]="chartTitleTypeFont"
1191
+ placeholder="(Inherited font)"
1192
+ (valueChange)="updateState(chartTitleTypeFontAction, $event)"
1193
+ >
1194
+ </kendo-chartwizard-property-pane-form-field>
1195
+ <kendo-chartwizard-property-pane-form-field
1196
+ text="Size"
1197
+ inputType="comboBox"
1198
+ placeholder="px"
1199
+ [data]="fontSizes"
1200
+ [value]="chartTitleTypeFontSize"
1201
+ (valueChange)="updateState(chartTitleTypeFontSizeAction, $event)"
1202
+ >
1203
+ </kendo-chartwizard-property-pane-form-field>
1204
+ <kendo-chartwizard-property-pane-form-field
1205
+ text="Color"
1206
+ inputType="colorPicker"
1207
+ [value]="chartTitleTypeColor"
1208
+ (valueChange)="updateState(chartTitleTypeColorAction, $event)"
1209
+ >
1210
+ </kendo-chartwizard-property-pane-form-field>
1211
+ </div>
1212
+ </form>
1213
+ </kendo-expansionpanel>
1214
+ </section>
1215
+ <section>
1216
+ <kendo-expansionpanel
1217
+ [style.max-width.px]="576"
1218
+ title="Legend"
1219
+ [expanded]="true"
1220
+ >
1221
+ <form class="k-form k-form-md">
1222
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1223
+ <kendo-label [for]="toggleLegend" text="Show Legend"></kendo-label>
1224
+ <kendo-switch
1225
+ #toggleLegend
1226
+ onLabel="On"
1227
+ offLabel="Off"
1228
+ thumbRounded="full"
1229
+ size="medium"
1230
+ [checked]="stateService.state.legend?.visible"
1231
+ (valueChange)="updateState(legendVisible, $event)"
1232
+ ></kendo-switch>
1233
+ <kendo-chartwizard-property-pane-form-field
1234
+ text="Font"
1235
+ inputType="comboBox"
1236
+ [data]="fontNames"
1237
+ [colSpan]="2"
1238
+ placeholder="(Inherited font)"
1239
+ [value]="parseFont(stateService.state.legend?.labels?.font).name"
1240
+ (valueChange)="updateState(legendFontName, $event)"
1241
+ >
1242
+ </kendo-chartwizard-property-pane-form-field>
1243
+ <kendo-chartwizard-property-pane-form-field
1244
+ text="Size"
1245
+ inputType="comboBox"
1246
+ [data]="fontSizes"
1247
+ placeholder="px"
1248
+ [value]="parseFont(stateService.state.legend?.labels?.font).size"
1249
+ (valueChange)="updateState(legendFontSize, $event)"
1250
+ >
1251
+ </kendo-chartwizard-property-pane-form-field>
1252
+ <kendo-chartwizard-property-pane-form-field
1253
+ text="Color"
1254
+ inputType="colorPicker"
1255
+ [value]="stateService.state.legend?.labels?.color"
1256
+ (valueChange)="updateState(legendColor, $event)"
1257
+ >
1258
+ </kendo-chartwizard-property-pane-form-field>
1259
+ <kendo-chartwizard-property-pane-form-field
1260
+ text="Position"
1261
+ inputType="dropDownList"
1262
+ [colSpan]="2"
1263
+ [data]="legendPositions"
1264
+ [value]="stateService.state.legend?.position"
1265
+ (valueChange)="updateState(legendPosition, $event)"
1266
+ >
1267
+ </kendo-chartwizard-property-pane-form-field>
1268
+ </div>
1269
+ </form>
1270
+ </kendo-expansionpanel>
1271
+ </section>
1272
+ <section>
1273
+ <kendo-expansionpanel
1274
+ [style.max-width.px]="576"
1275
+ title="Series"
1276
+ [expanded]="true"
1277
+ >
1278
+ <form class="k-form k-form-md">
1279
+ <div class="k-form-field">
1280
+ <kendo-label [for]="seriesDropDown" class="k-form-label" text="Apply to"></kendo-label>
1281
+ <div class="k-form-field-wrap">
1282
+ <kendo-dropdownlist
1283
+ #seriesDropDown
1284
+ [data]="seriesData"
1285
+ textField="name"
1286
+ valueField="name"
1287
+ fillMode="outline"
1288
+ rounded="medium"
1289
+ size="medium"
1290
+ [value]="stateService.currentSeries"
1291
+ (valueChange)="updateCurrentSeries($event)"
1292
+ ></kendo-dropdownlist>
1293
+ </div>
1294
+ </div>
1295
+
1296
+ <kendo-chartwizard-property-pane-form-field
1297
+ text="Color"
1298
+ [value]="stateService.currentSeries?.color"
1299
+ inputType="colorPicker"
1300
+ [disabled]="stateService.currentSeries.name === defaultAllSeriesItem.name"
1301
+ (valueChange)="updateSeriesColor($event)"
1302
+ >
1303
+ </kendo-chartwizard-property-pane-form-field>
1304
+ <kendo-chartwizard-property-pane-form-field
1305
+ text="Show Labels"
1306
+ [value]="showLabels"
1307
+ [isLabelInsideFormFieldWrap]="true"
1308
+ [colSpan]="2"
1309
+ inputType="checkbox"
1310
+ (valueChange)="toggleSeriesLabels($event)"
1311
+ >
1312
+ </kendo-chartwizard-property-pane-form-field>
1313
+ </form>
1314
+ </kendo-expansionpanel>
1315
+ </section>
1316
+ <section *ngIf="stateService.state.seriesType !== 'pie'" class="k-row-start-1 k-row-end-3 k-col-start-3">
1317
+ <kendo-expansionpanel
1318
+ [style.max-width.px]="576"
1319
+ [title]="stateService.state.seriesType === 'scatter' ? 'X Axis' : 'Category axis'"
1320
+ [expanded]="true"
1321
+ >
1322
+ <form class="k-form k-form-md">
1323
+ <fieldset class="k-form-fieldset">
1324
+ <legend class="k-form-legend">Title</legend>
1325
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1326
+ <kendo-chartwizard-property-pane-form-field
1327
+ inputType="text"
1328
+ [hasLabel]="false"
1329
+ [colSpan]="2"
1330
+ placeholder="Axis Title"
1331
+ [value]="stateService.state.categoryAxis[0]?.title?.text || null"
1332
+ (valueChange)="updateState(categoryAxisTitleText, $event)"
1333
+ >
1334
+ </kendo-chartwizard-property-pane-form-field>
1335
+ <kendo-chartwizard-property-pane-form-field
1336
+ text="Font"
1337
+ inputType="comboBox"
1338
+ [data]="fontNames"
1339
+ [colSpan]="2"
1340
+ placeholder="(Inherited font)"
1341
+ [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).name"
1342
+ (valueChange)="updateState(categoryAxisTitleFontName, $event)"
1343
+ >
1344
+ </kendo-chartwizard-property-pane-form-field>
1345
+ <kendo-chartwizard-property-pane-form-field
1346
+ text="Size"
1347
+ inputType="comboBox"
1348
+ placeholder="px"
1349
+ [data]="fontSizes"
1350
+ [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).size"
1351
+ (valueChange)="updateState(categoryAxisTitleFontSize, $event)"
1352
+ >
1353
+ </kendo-chartwizard-property-pane-form-field>
1354
+ <kendo-chartwizard-property-pane-form-field
1355
+ text="Color"
1356
+ inputType="colorPicker"
1357
+ [value]="stateService.state.categoryAxis[0]?.title?.color"
1358
+ (valueChange)="updateState(categoryAxisTitleColor, $event)"
1359
+ >
1360
+ </kendo-chartwizard-property-pane-form-field>
1361
+ </div>
1362
+ </fieldset>
1363
+ <fieldset class="k-form-fieldset">
1364
+ <legend class="k-form-legend">Labels</legend>
1365
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1366
+ <kendo-chartwizard-property-pane-form-field
1367
+ text="Font"
1368
+ inputType="comboBox"
1369
+ [data]="fontNames"
1370
+ [colSpan]="2"
1371
+ placeholder="(Inherited font)"
1372
+ [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).name"
1373
+ (valueChange)="updateState(categoryAxisLabelsFontName, $event)"
1374
+ >
1375
+ </kendo-chartwizard-property-pane-form-field>
1376
+ <kendo-chartwizard-property-pane-form-field
1377
+ text="Size"
1378
+ inputType="comboBox"
1379
+ [data]="fontSizes"
1380
+ placeholder="px"
1381
+ [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).size"
1382
+ (valueChange)="updateState(categoryAxisLabelsFontSize, $event)"
1383
+ >
1384
+ </kendo-chartwizard-property-pane-form-field>
1385
+ <kendo-chartwizard-property-pane-form-field
1386
+ text="Color"
1387
+ inputType="colorPicker"
1388
+ [value]="stateService.state.categoryAxis[0]?.labels?.color"
1389
+ (valueChange)="updateState(categoryAxisLabelsColor, $event)"
1390
+ >
1391
+ </kendo-chartwizard-property-pane-form-field>
1392
+ <kendo-chartwizard-property-pane-form-field
1393
+ text="Rotation"
1394
+ inputType="dropDownList"
1395
+ [data]="labelsRotation"
1396
+ [value]="stateService.state.categoryAxis[0]?.labels?.rotation"
1397
+ (valueChange)="updateState(categoryAxisLabelsRotation, $event)"
1398
+ >
1399
+ </kendo-chartwizard-property-pane-form-field>
1400
+ <span></span>
1401
+ <kendo-chartwizard-property-pane-form-field
1402
+ text="Reverse Order"
1403
+ [isLabelInsideFormFieldWrap]="true"
1404
+ inputType="checkbox"
1405
+ [colSpan]="2"
1406
+ [value]="stateService.state.categoryAxis[0]?.reverse"
1407
+ (valueChange)="updateState(categoryAxisReverseOrder, $event)"
1408
+ >
1409
+ </kendo-chartwizard-property-pane-form-field>
1410
+ </div>
1411
+ </fieldset>
1412
+ </form>
1413
+ </kendo-expansionpanel>
1414
+ </section>
1415
+ <section *ngIf="stateService.state.seriesType !== 'pie'" class="k-row-start-1 k-row-end-3 k-col-start-4">
1416
+ <kendo-expansionpanel
1417
+ [style.max-width.px]="576"
1418
+ [title]="stateService.state.seriesType === 'scatter' ? 'Y Axis' : 'Value axis'"
1419
+ [expanded]="true"
1420
+ >
1421
+ <form class="k-form k-form-md">
1422
+ <fieldset class="k-form-fieldset">
1423
+ <legend class="k-form-legend">Title</legend>
1424
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1425
+ <kendo-chartwizard-property-pane-form-field
1426
+ inputType="text"
1427
+ [hasLabel]="false"
1428
+ [colSpan]="2"
1429
+ placeholder="Axis Title"
1430
+ [value]="stateService.state.valueAxis[0]?.title?.text || null"
1431
+ (valueChange)="updateState(valueAxisTitleText, $event)"
1432
+ >
1433
+ </kendo-chartwizard-property-pane-form-field>
1434
+ <kendo-chartwizard-property-pane-form-field
1435
+ text="Font"
1436
+ inputType="comboBox"
1437
+ [colSpan]="2"
1438
+ [data]="fontNames"
1439
+ placeholder="(Inherited font)"
1440
+ [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).name"
1441
+ (valueChange)="updateState(valueAxisTitleFontName, $event)"
1442
+ >
1443
+ </kendo-chartwizard-property-pane-form-field>
1444
+ <kendo-chartwizard-property-pane-form-field
1445
+ text="Size"
1446
+ inputType="comboBox"
1447
+ placeholder="px"
1448
+ [data]="fontSizes"
1449
+ [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).size"
1450
+ (valueChange)="updateState(valueAxisTitleFontSize, $event)"
1451
+ >
1452
+ </kendo-chartwizard-property-pane-form-field>
1453
+ <kendo-chartwizard-property-pane-form-field
1454
+ text="Color"
1455
+ inputType="colorPicker"
1456
+ [value]="stateService.state.valueAxis[0]?.title?.color"
1457
+ (valueChange)="updateState(valueAxisTitleColor, $event)"
1458
+ >
1459
+ </kendo-chartwizard-property-pane-form-field>
1460
+ </div>
1461
+ </fieldset>
1462
+ <fieldset class="k-form-fieldset">
1463
+ <legend class="k-form-legend">Labels</legend>
1464
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1465
+ <kendo-chartwizard-property-pane-form-field
1466
+ text="Label Format"
1467
+ [colSpan]="2"
1468
+ inputType="dropDownList"
1469
+ [data]="labelFormats"
1470
+ [value]="labelFormatValue"
1471
+ (valueChange)="updateState(valueAxisLabelsFormat, $event)"
1472
+ >
1473
+ </kendo-chartwizard-property-pane-form-field>
1474
+ <kendo-chartwizard-property-pane-form-field
1475
+ text="Font"
1476
+ inputType="comboBox"
1477
+ [data]="fontNames"
1478
+ [colSpan]="2"
1479
+ placeholder="(Inherited font)"
1480
+ [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).name"
1481
+ (valueChange)="updateState(valueAxisLabelsFontName, $event)"
1482
+ >
1483
+ </kendo-chartwizard-property-pane-form-field>
1484
+ <kendo-chartwizard-property-pane-form-field
1485
+ text="Size"
1486
+ inputType="comboBox"
1487
+ [data]="fontSizes"
1488
+ placeholder="px"
1489
+ [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).size"
1490
+ (valueChange)="updateState(valueAxisLabelsFontSize, $event)"
1491
+ >
1492
+ </kendo-chartwizard-property-pane-form-field>
1493
+ <kendo-chartwizard-property-pane-form-field
1494
+ text="Color"
1495
+ inputType="colorPicker"
1496
+ [value]="stateService.state.valueAxis[0]?.labels?.color"
1497
+ (valueChange)="updateState(valueAxisLabelsColor, $event)"
1498
+ >
1499
+ </kendo-chartwizard-property-pane-form-field>
1500
+ <kendo-chartwizard-property-pane-form-field
1501
+ text="Rotation"
1502
+ inputType="dropDownList"
1503
+ [data]="labelsRotation"
1504
+ [value]="stateService.state.valueAxis[0]?.labels?.rotation"
1505
+ (valueChange)="updateState(valueAxisLabelsRotation, $event)"
1506
+ >
1507
+ </kendo-chartwizard-property-pane-form-field>
1508
+ </div>
1509
+ </fieldset>
1510
+ </form>
1511
+ </kendo-expansionpanel>
1512
+ </section>
1513
+ `, 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 });
1514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardPropertyPaneFormatTabComponent, decorators: [{
1515
+ type: Component,
1516
+ args: [{
1517
+ selector: 'kendo-chartwizard-property-pane-format-tab',
1518
+ changeDetection: ChangeDetectionStrategy.OnPush,
1519
+ template: `
1520
+ <section>
1521
+ <kendo-expansionpanel
1522
+ [style.max-width.px]="576"
1523
+ title="Chart Area"
1524
+ [expanded]="true"
1525
+ [attr.dir]="stateService.direction"
1526
+ >
1527
+ <form class="k-form k-form-md">
1528
+ <fieldset class="k-form-fieldset">
1529
+ <legend class="k-form-legend">Margins</legend>
1530
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1531
+ <kendo-chartwizard-property-pane-form-field
1532
+ text="Left"
1533
+ inputType="numeric"
1534
+ [value]="$any(stateService.state.area.margin).left"
1535
+ (valueChange)="updateState(areaMarginLeft, $event)"
1536
+ >
1537
+ </kendo-chartwizard-property-pane-form-field>
1538
+ <kendo-chartwizard-property-pane-form-field
1539
+ text="Right"
1540
+ inputType="numeric"
1541
+ [value]="$any(stateService.state.area.margin).right"
1542
+ (valueChange)="updateState(areaMarginRight, $event)"
1543
+ >
1544
+ </kendo-chartwizard-property-pane-form-field>
1545
+ <kendo-chartwizard-property-pane-form-field
1546
+ text="Top"
1547
+ inputType="numeric"
1548
+ [value]="$any(stateService.state.area.margin).top"
1549
+ (valueChange)="updateState(areaMarginTop, $event)"
1550
+ >
1551
+ </kendo-chartwizard-property-pane-form-field>
1552
+ <kendo-chartwizard-property-pane-form-field
1553
+ text="Bottom"
1554
+ inputType="numeric"
1555
+ [value]="$any(stateService.state.area.margin).bottom"
1556
+ (valueChange)="updateState(areaMarginBottom, $event)"
1557
+ >
1558
+ </kendo-chartwizard-property-pane-form-field>
1559
+ </div>
1560
+ </fieldset>
1561
+ <fieldset class="k-form-fieldset">
1562
+ <legend class="k-form-legend">Background</legend>
1563
+ <kendo-chartwizard-property-pane-form-field
1564
+ text="Color"
1565
+ inputType="colorPicker"
1566
+ [value]="stateService.state.area?.background"
1567
+ (valueChange)="updateState(areaBackground, $event)"
1568
+ >
1569
+ </kendo-chartwizard-property-pane-form-field>
1570
+ </fieldset>
1571
+ </form>
1572
+ </kendo-expansionpanel>
1573
+ </section>
1574
+ <section>
1575
+ <kendo-expansionpanel
1576
+ [style.max-width.px]="576"
1577
+ title="Title"
1578
+ [expanded]="true"
1579
+ >
1580
+ <form class="k-form k-form-md">
1581
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1582
+ <kendo-chartwizard-property-pane-form-field
1583
+ text="Apply to"
1584
+ inputType="dropDownList"
1585
+ [data]="chartTitles"
1586
+ [colSpan]="2"
1587
+ [value]="stateService.currentTitle"
1588
+ (valueChange)="changeCurrentTitle($event)"
1589
+ >
1590
+ </kendo-chartwizard-property-pane-form-field>
1591
+ <kendo-chartwizard-property-pane-form-field
1592
+ text="Title"
1593
+ inputType="text"
1594
+ [colSpan]="2"
1595
+ [value]="chartTitleTypeText"
1596
+ (valueChange)="updateState(chartTitleTypeAction, $event)"
1597
+ >
1598
+ </kendo-chartwizard-property-pane-form-field>
1599
+ <kendo-chartwizard-property-pane-form-field
1600
+ text="Font"
1601
+ inputType="comboBox"
1602
+ [data]="fontNames"
1603
+ [colSpan]="2"
1604
+ [value]="chartTitleTypeFont"
1605
+ placeholder="(Inherited font)"
1606
+ (valueChange)="updateState(chartTitleTypeFontAction, $event)"
1607
+ >
1608
+ </kendo-chartwizard-property-pane-form-field>
1609
+ <kendo-chartwizard-property-pane-form-field
1610
+ text="Size"
1611
+ inputType="comboBox"
1612
+ placeholder="px"
1613
+ [data]="fontSizes"
1614
+ [value]="chartTitleTypeFontSize"
1615
+ (valueChange)="updateState(chartTitleTypeFontSizeAction, $event)"
1616
+ >
1617
+ </kendo-chartwizard-property-pane-form-field>
1618
+ <kendo-chartwizard-property-pane-form-field
1619
+ text="Color"
1620
+ inputType="colorPicker"
1621
+ [value]="chartTitleTypeColor"
1622
+ (valueChange)="updateState(chartTitleTypeColorAction, $event)"
1623
+ >
1624
+ </kendo-chartwizard-property-pane-form-field>
1625
+ </div>
1626
+ </form>
1627
+ </kendo-expansionpanel>
1628
+ </section>
1629
+ <section>
1630
+ <kendo-expansionpanel
1631
+ [style.max-width.px]="576"
1632
+ title="Legend"
1633
+ [expanded]="true"
1634
+ >
1635
+ <form class="k-form k-form-md">
1636
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1637
+ <kendo-label [for]="toggleLegend" text="Show Legend"></kendo-label>
1638
+ <kendo-switch
1639
+ #toggleLegend
1640
+ onLabel="On"
1641
+ offLabel="Off"
1642
+ thumbRounded="full"
1643
+ size="medium"
1644
+ [checked]="stateService.state.legend?.visible"
1645
+ (valueChange)="updateState(legendVisible, $event)"
1646
+ ></kendo-switch>
1647
+ <kendo-chartwizard-property-pane-form-field
1648
+ text="Font"
1649
+ inputType="comboBox"
1650
+ [data]="fontNames"
1651
+ [colSpan]="2"
1652
+ placeholder="(Inherited font)"
1653
+ [value]="parseFont(stateService.state.legend?.labels?.font).name"
1654
+ (valueChange)="updateState(legendFontName, $event)"
1655
+ >
1656
+ </kendo-chartwizard-property-pane-form-field>
1657
+ <kendo-chartwizard-property-pane-form-field
1658
+ text="Size"
1659
+ inputType="comboBox"
1660
+ [data]="fontSizes"
1661
+ placeholder="px"
1662
+ [value]="parseFont(stateService.state.legend?.labels?.font).size"
1663
+ (valueChange)="updateState(legendFontSize, $event)"
1664
+ >
1665
+ </kendo-chartwizard-property-pane-form-field>
1666
+ <kendo-chartwizard-property-pane-form-field
1667
+ text="Color"
1668
+ inputType="colorPicker"
1669
+ [value]="stateService.state.legend?.labels?.color"
1670
+ (valueChange)="updateState(legendColor, $event)"
1671
+ >
1672
+ </kendo-chartwizard-property-pane-form-field>
1673
+ <kendo-chartwizard-property-pane-form-field
1674
+ text="Position"
1675
+ inputType="dropDownList"
1676
+ [colSpan]="2"
1677
+ [data]="legendPositions"
1678
+ [value]="stateService.state.legend?.position"
1679
+ (valueChange)="updateState(legendPosition, $event)"
1680
+ >
1681
+ </kendo-chartwizard-property-pane-form-field>
1682
+ </div>
1683
+ </form>
1684
+ </kendo-expansionpanel>
1685
+ </section>
1686
+ <section>
1687
+ <kendo-expansionpanel
1688
+ [style.max-width.px]="576"
1689
+ title="Series"
1690
+ [expanded]="true"
1691
+ >
1692
+ <form class="k-form k-form-md">
1693
+ <div class="k-form-field">
1694
+ <kendo-label [for]="seriesDropDown" class="k-form-label" text="Apply to"></kendo-label>
1695
+ <div class="k-form-field-wrap">
1696
+ <kendo-dropdownlist
1697
+ #seriesDropDown
1698
+ [data]="seriesData"
1699
+ textField="name"
1700
+ valueField="name"
1701
+ fillMode="outline"
1702
+ rounded="medium"
1703
+ size="medium"
1704
+ [value]="stateService.currentSeries"
1705
+ (valueChange)="updateCurrentSeries($event)"
1706
+ ></kendo-dropdownlist>
1707
+ </div>
1708
+ </div>
1709
+
1710
+ <kendo-chartwizard-property-pane-form-field
1711
+ text="Color"
1712
+ [value]="stateService.currentSeries?.color"
1713
+ inputType="colorPicker"
1714
+ [disabled]="stateService.currentSeries.name === defaultAllSeriesItem.name"
1715
+ (valueChange)="updateSeriesColor($event)"
1716
+ >
1717
+ </kendo-chartwizard-property-pane-form-field>
1718
+ <kendo-chartwizard-property-pane-form-field
1719
+ text="Show Labels"
1720
+ [value]="showLabels"
1721
+ [isLabelInsideFormFieldWrap]="true"
1722
+ [colSpan]="2"
1723
+ inputType="checkbox"
1724
+ (valueChange)="toggleSeriesLabels($event)"
1725
+ >
1726
+ </kendo-chartwizard-property-pane-form-field>
1727
+ </form>
1728
+ </kendo-expansionpanel>
1729
+ </section>
1730
+ <section *ngIf="stateService.state.seriesType !== 'pie'" class="k-row-start-1 k-row-end-3 k-col-start-3">
1731
+ <kendo-expansionpanel
1732
+ [style.max-width.px]="576"
1733
+ [title]="stateService.state.seriesType === 'scatter' ? 'X Axis' : 'Category axis'"
1734
+ [expanded]="true"
1735
+ >
1736
+ <form class="k-form k-form-md">
1737
+ <fieldset class="k-form-fieldset">
1738
+ <legend class="k-form-legend">Title</legend>
1739
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1740
+ <kendo-chartwizard-property-pane-form-field
1741
+ inputType="text"
1742
+ [hasLabel]="false"
1743
+ [colSpan]="2"
1744
+ placeholder="Axis Title"
1745
+ [value]="stateService.state.categoryAxis[0]?.title?.text || null"
1746
+ (valueChange)="updateState(categoryAxisTitleText, $event)"
1747
+ >
1748
+ </kendo-chartwizard-property-pane-form-field>
1749
+ <kendo-chartwizard-property-pane-form-field
1750
+ text="Font"
1751
+ inputType="comboBox"
1752
+ [data]="fontNames"
1753
+ [colSpan]="2"
1754
+ placeholder="(Inherited font)"
1755
+ [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).name"
1756
+ (valueChange)="updateState(categoryAxisTitleFontName, $event)"
1757
+ >
1758
+ </kendo-chartwizard-property-pane-form-field>
1759
+ <kendo-chartwizard-property-pane-form-field
1760
+ text="Size"
1761
+ inputType="comboBox"
1762
+ placeholder="px"
1763
+ [data]="fontSizes"
1764
+ [value]="parseFont(stateService.state.categoryAxis[0]?.title?.font).size"
1765
+ (valueChange)="updateState(categoryAxisTitleFontSize, $event)"
1766
+ >
1767
+ </kendo-chartwizard-property-pane-form-field>
1768
+ <kendo-chartwizard-property-pane-form-field
1769
+ text="Color"
1770
+ inputType="colorPicker"
1771
+ [value]="stateService.state.categoryAxis[0]?.title?.color"
1772
+ (valueChange)="updateState(categoryAxisTitleColor, $event)"
1773
+ >
1774
+ </kendo-chartwizard-property-pane-form-field>
1775
+ </div>
1776
+ </fieldset>
1777
+ <fieldset class="k-form-fieldset">
1778
+ <legend class="k-form-legend">Labels</legend>
1779
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1780
+ <kendo-chartwizard-property-pane-form-field
1781
+ text="Font"
1782
+ inputType="comboBox"
1783
+ [data]="fontNames"
1784
+ [colSpan]="2"
1785
+ placeholder="(Inherited font)"
1786
+ [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).name"
1787
+ (valueChange)="updateState(categoryAxisLabelsFontName, $event)"
1788
+ >
1789
+ </kendo-chartwizard-property-pane-form-field>
1790
+ <kendo-chartwizard-property-pane-form-field
1791
+ text="Size"
1792
+ inputType="comboBox"
1793
+ [data]="fontSizes"
1794
+ placeholder="px"
1795
+ [value]="parseFont(stateService.state.categoryAxis[0]?.labels?.font).size"
1796
+ (valueChange)="updateState(categoryAxisLabelsFontSize, $event)"
1797
+ >
1798
+ </kendo-chartwizard-property-pane-form-field>
1799
+ <kendo-chartwizard-property-pane-form-field
1800
+ text="Color"
1801
+ inputType="colorPicker"
1802
+ [value]="stateService.state.categoryAxis[0]?.labels?.color"
1803
+ (valueChange)="updateState(categoryAxisLabelsColor, $event)"
1804
+ >
1805
+ </kendo-chartwizard-property-pane-form-field>
1806
+ <kendo-chartwizard-property-pane-form-field
1807
+ text="Rotation"
1808
+ inputType="dropDownList"
1809
+ [data]="labelsRotation"
1810
+ [value]="stateService.state.categoryAxis[0]?.labels?.rotation"
1811
+ (valueChange)="updateState(categoryAxisLabelsRotation, $event)"
1812
+ >
1813
+ </kendo-chartwizard-property-pane-form-field>
1814
+ <span></span>
1815
+ <kendo-chartwizard-property-pane-form-field
1816
+ text="Reverse Order"
1817
+ [isLabelInsideFormFieldWrap]="true"
1818
+ inputType="checkbox"
1819
+ [colSpan]="2"
1820
+ [value]="stateService.state.categoryAxis[0]?.reverse"
1821
+ (valueChange)="updateState(categoryAxisReverseOrder, $event)"
1822
+ >
1823
+ </kendo-chartwizard-property-pane-form-field>
1824
+ </div>
1825
+ </fieldset>
1826
+ </form>
1827
+ </kendo-expansionpanel>
1828
+ </section>
1829
+ <section *ngIf="stateService.state.seriesType !== 'pie'" class="k-row-start-1 k-row-end-3 k-col-start-4">
1830
+ <kendo-expansionpanel
1831
+ [style.max-width.px]="576"
1832
+ [title]="stateService.state.seriesType === 'scatter' ? 'Y Axis' : 'Value axis'"
1833
+ [expanded]="true"
1834
+ >
1835
+ <form class="k-form k-form-md">
1836
+ <fieldset class="k-form-fieldset">
1837
+ <legend class="k-form-legend">Title</legend>
1838
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1839
+ <kendo-chartwizard-property-pane-form-field
1840
+ inputType="text"
1841
+ [hasLabel]="false"
1842
+ [colSpan]="2"
1843
+ placeholder="Axis Title"
1844
+ [value]="stateService.state.valueAxis[0]?.title?.text || null"
1845
+ (valueChange)="updateState(valueAxisTitleText, $event)"
1846
+ >
1847
+ </kendo-chartwizard-property-pane-form-field>
1848
+ <kendo-chartwizard-property-pane-form-field
1849
+ text="Font"
1850
+ inputType="comboBox"
1851
+ [colSpan]="2"
1852
+ [data]="fontNames"
1853
+ placeholder="(Inherited font)"
1854
+ [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).name"
1855
+ (valueChange)="updateState(valueAxisTitleFontName, $event)"
1856
+ >
1857
+ </kendo-chartwizard-property-pane-form-field>
1858
+ <kendo-chartwizard-property-pane-form-field
1859
+ text="Size"
1860
+ inputType="comboBox"
1861
+ placeholder="px"
1862
+ [data]="fontSizes"
1863
+ [value]="parseFont(stateService.state.valueAxis[0]?.title?.font).size"
1864
+ (valueChange)="updateState(valueAxisTitleFontSize, $event)"
1865
+ >
1866
+ </kendo-chartwizard-property-pane-form-field>
1867
+ <kendo-chartwizard-property-pane-form-field
1868
+ text="Color"
1869
+ inputType="colorPicker"
1870
+ [value]="stateService.state.valueAxis[0]?.title?.color"
1871
+ (valueChange)="updateState(valueAxisTitleColor, $event)"
1872
+ >
1873
+ </kendo-chartwizard-property-pane-form-field>
1874
+ </div>
1875
+ </fieldset>
1876
+ <fieldset class="k-form-fieldset">
1877
+ <legend class="k-form-legend">Labels</legend>
1878
+ <div class="k-form-layout k-d-grid k-grid-cols-2 k-gap-x-4">
1879
+ <kendo-chartwizard-property-pane-form-field
1880
+ text="Label Format"
1881
+ [colSpan]="2"
1882
+ inputType="dropDownList"
1883
+ [data]="labelFormats"
1884
+ [value]="labelFormatValue"
1885
+ (valueChange)="updateState(valueAxisLabelsFormat, $event)"
1886
+ >
1887
+ </kendo-chartwizard-property-pane-form-field>
1888
+ <kendo-chartwizard-property-pane-form-field
1889
+ text="Font"
1890
+ inputType="comboBox"
1891
+ [data]="fontNames"
1892
+ [colSpan]="2"
1893
+ placeholder="(Inherited font)"
1894
+ [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).name"
1895
+ (valueChange)="updateState(valueAxisLabelsFontName, $event)"
1896
+ >
1897
+ </kendo-chartwizard-property-pane-form-field>
1898
+ <kendo-chartwizard-property-pane-form-field
1899
+ text="Size"
1900
+ inputType="comboBox"
1901
+ [data]="fontSizes"
1902
+ placeholder="px"
1903
+ [value]="parseFont(stateService.state.valueAxis[0]?.labels?.font).size"
1904
+ (valueChange)="updateState(valueAxisLabelsFontSize, $event)"
1905
+ >
1906
+ </kendo-chartwizard-property-pane-form-field>
1907
+ <kendo-chartwizard-property-pane-form-field
1908
+ text="Color"
1909
+ inputType="colorPicker"
1910
+ [value]="stateService.state.valueAxis[0]?.labels?.color"
1911
+ (valueChange)="updateState(valueAxisLabelsColor, $event)"
1912
+ >
1913
+ </kendo-chartwizard-property-pane-form-field>
1914
+ <kendo-chartwizard-property-pane-form-field
1915
+ text="Rotation"
1916
+ inputType="dropDownList"
1917
+ [data]="labelsRotation"
1918
+ [value]="stateService.state.valueAxis[0]?.labels?.rotation"
1919
+ (valueChange)="updateState(valueAxisLabelsRotation, $event)"
1920
+ >
1921
+ </kendo-chartwizard-property-pane-form-field>
1922
+ </div>
1923
+ </fieldset>
1924
+ </form>
1925
+ </kendo-expansionpanel>
1926
+ </section>
2328
1927
  `,
2329
1928
  standalone: true,
2330
- imports: [ExpansionPanelComponent, ChartWizardSeriesTypeButtonComponent]
1929
+ imports: [
1930
+ ExpansionPanelComponent,
1931
+ ChartWizardPropertyPaneFormFieldComponent,
1932
+ LabelComponent,
1933
+ SwitchComponent,
1934
+ DropDownListComponent,
1935
+ NgIf
1936
+ ]
2331
1937
  }]
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
- }
1938
+ }], ctorParameters: function () { return [{ type: StateService }, { type: i2$1.LocalizationService }, { type: i0.ChangeDetectorRef }]; } });
2374
1939
 
2375
1940
  /**
2376
1941
  * Represents the Kendo UI for Angular Chart Wizard component.
@@ -2429,21 +1994,22 @@ class ChartWizardComponent {
2429
1994
  this.subscription.add(this.localization.changes.subscribe(({ rtl }) => {
2430
1995
  this.stateService.direction = rtl ? 'rtl' : 'ltr';
2431
1996
  }));
1997
+ this.stateService.dataTab = this.dataTab;
2432
1998
  }
2433
1999
  ngOnChanges(changes) {
2434
- if (changes['data']) {
2000
+ if (changes['data'] && changes['data'].currentValue?.length > 0) {
2435
2001
  const data = changes['data'].currentValue;
2436
2002
  const clonedData = structuredClone(data);
2437
2003
  this.stateService.data = clonedData;
2438
- this.stateService.state = createState(clonedData, this.stateService.seriesType);
2004
+ this.stateService.state = createState(clonedData, this.stateService.state.seriesType);
2439
2005
  }
2440
- if (changes['defaultState']) {
2006
+ if (changes['defaultState'] && this.data?.length > 0) {
2441
2007
  const defaultState = changes['defaultState'].currentValue;
2442
2008
  if (defaultState.seriesType) {
2443
- this.stateService.seriesType = defaultState.seriesType;
2444
- this.stateService.state = mergeStates(this.stateService.state, createState(this.stateService.data, this.stateService.seriesType));
2009
+ this.stateService.state.seriesType = defaultState.seriesType;
2010
+ this.stateService.state = mergeStates(this.stateService.state, createState(this.stateService.data, this.stateService.state.seriesType));
2445
2011
  }
2446
- this.stateService.currentSeries = {};
2012
+ this.stateService.currentSeries = defaultAllSeriesItem;
2447
2013
  if (typeof defaultState.stack !== 'undefined') {
2448
2014
  this.stateService.state = updateState(this.stateService.state, ActionTypes.stacked, defaultState.stack);
2449
2015
  }
@@ -2489,7 +2055,7 @@ class ChartWizardComponent {
2489
2055
  }
2490
2056
  }
2491
2057
  }
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 });
2058
+ 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
2059
  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
2060
  LocalizationService,
2495
2061
  {
@@ -2497,7 +2063,7 @@ ChartWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
2497
2063
  useValue: 'kendo.chartwizard',
2498
2064
  },
2499
2065
  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: `
2066
+ ], 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
2067
  <ng-container
2502
2068
  kendoChartWizardLocalizedMessages
2503
2069
  i18n-sampleMessage="kendo.chartwizard.sampleMessage|Sample description"
@@ -2524,8 +2090,8 @@ ChartWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
2524
2090
  Export
2525
2091
  </kendo-dropdownbutton>
2526
2092
  </div>
2527
- <div class="k-preview-pane-content">
2528
- <kendo-chart [transitions]="false">
2093
+ <div class="k-preview-pane-content" [style.height]="'calc(100% - 50px)'">
2094
+ <kendo-chart [transitions]="false" [style.width.%]="100" [style.height.%]="100">
2529
2095
  <kendo-chart-title
2530
2096
  [text]="stateService.state.title?.text"
2531
2097
  [font]="stateService.state.title?.font"
@@ -2591,40 +2157,6 @@ ChartWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
2591
2157
  >
2592
2158
  </kendo-chart-series-item>
2593
2159
  </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
2160
  <kendo-chart-legend
2629
2161
  [visible]="stateService.state.legend?.visible"
2630
2162
  [position]="stateService.state.legend?.position"
@@ -2658,7 +2190,7 @@ ChartWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
2658
2190
  </kendo-splitter>
2659
2191
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
2660
2192
  </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 });
2193
+ `, 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
2194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWizardComponent, decorators: [{
2663
2195
  type: Component,
2664
2196
  args: [{
@@ -2700,8 +2232,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2700
2232
  Export
2701
2233
  </kendo-dropdownbutton>
2702
2234
  </div>
2703
- <div class="k-preview-pane-content">
2704
- <kendo-chart [transitions]="false">
2235
+ <div class="k-preview-pane-content" [style.height]="'calc(100% - 50px)'">
2236
+ <kendo-chart [transitions]="false" [style.width.%]="100" [style.height.%]="100">
2705
2237
  <kendo-chart-title
2706
2238
  [text]="stateService.state.title?.text"
2707
2239
  [font]="stateService.state.title?.font"
@@ -2767,40 +2299,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2767
2299
  >
2768
2300
  </kendo-chart-series-item>
2769
2301
  </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
2302
  <kendo-chart-legend
2805
2303
  [visible]="stateService.state.legend?.visible"
2806
2304
  [position]="stateService.state.legend?.position"
@@ -2867,7 +2365,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2867
2365
  WatermarkOverlayComponent
2868
2366
  ]
2869
2367
  }]
2870
- }], ctorParameters: function () { return [{ type: i2.LocalizationService }, { type: StateService }]; }, propDecorators: { data: [{
2368
+ }], ctorParameters: function () { return [{ type: i2$1.LocalizationService }, { type: StateService }]; }, propDecorators: { data: [{
2871
2369
  type: Input
2872
2370
  }], defaultState: [{
2873
2371
  type: Input
@@ -2886,30 +2384,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2886
2384
  }], propertyPane: [{
2887
2385
  type: ViewChild,
2888
2386
  args: [ChartWizardPropertyPaneChartTabComponent]
2387
+ }], dataTab: [{
2388
+ type: ViewChild,
2389
+ args: [ChartWizardPropertyPaneDataTabComponent]
2889
2390
  }] } });
2890
2391
 
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
2392
+ const getWizardDataFromDataRows = ChartWizardCommon.getWizardDataFromDataRows;
2913
2393
 
2914
2394
  /**
2915
2395
  * Maps the Grid selectedKeys to a more general DataRows type to be displayed in the Chart Wizard.