@progress/kendo-charts 1.27.1-dev.202302230852 → 1.28.0-dev.202302240817

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.
@@ -9,21 +9,23 @@ import {
9
9
 
10
10
  import { Layer } from './layer';
11
11
  import { Location } from '../location';
12
-
13
12
  import {
14
13
  proxy,
15
14
  on,
16
15
  off,
17
16
  toHyphens,
18
- toPixels
17
+ toPixels,
18
+ convertToHtml
19
19
  } from '../utils';
20
+ import TemplateService from '../../services/template-service';
20
21
 
21
22
  var CLICK = "click";
22
23
  var MOUSE_ENTER = "mouseenter";
23
24
  var MOUSE_LEAVE = "mouseleave";
24
25
 
25
26
  var extend = Object.assign;
26
- var MARKER_CLASS = ".k-marker";
27
+ var MARKER_CLASS_NAME = "k-marker";
28
+ var MARKER_CLASS = "." + MARKER_CLASS_NAME;
27
29
 
28
30
  export var MarkerLayer = (function (Layer) {
29
31
  function MarkerLayer(map, options) {
@@ -153,11 +155,9 @@ export var MarkerLayer = (function (Layer) {
153
155
  };
154
156
 
155
157
  MarkerLayer.prototype._markerClick = function _markerClick (e) {
156
- var marker = e.target._kendoNode;
158
+ var marker = e.currentTarget._kendoNode;
157
159
 
158
160
  var args = {
159
- // marker: $(e.target).data('kendoMarker'),
160
- // marker: e.target.getAttribute("data-kendoMarker"),
161
161
  layer: this,
162
162
  layerIndex: this._layerIndex(),
163
163
  marker: marker,
@@ -198,7 +198,8 @@ setDefaultOptions(MarkerLayer, {
198
198
  zIndex: 1000,
199
199
  autoBind: true,
200
200
  locationField: 'location',
201
- titleField: 'title'
201
+ titleField: 'title',
202
+ template: ""
202
203
  });
203
204
 
204
205
  export var Marker = (function (Class) {
@@ -276,9 +277,17 @@ export var Marker = (function (Class) {
276
277
  if (!this.element) {
277
278
  var options = this.options;
278
279
  var layer = this.layer;
279
-
280
280
  var element = document.createElement('span');
281
- addClass(element, 'k-marker k-icon k-i-marker-' + toHyphens(options.shape || 'pin'));
281
+ addClass(element, MARKER_CLASS_NAME);
282
+
283
+ if (this.options.template) {
284
+ var templateFn = this._compileTemplate(this.options.template);
285
+ var templateHtml = templateFn(this.dataItem);
286
+ var templateElement = convertToHtml(templateHtml);
287
+ element.appendChild(templateElement);
288
+ } else {
289
+ addClass(element, 'k-icon k-i-marker-' + toHyphens(options.shape || 'pin'));
290
+ }
282
291
 
283
292
  if (options.title) {
284
293
  element.setAttribute("title", options.title);
@@ -337,6 +346,13 @@ export var Marker = (function (Class) {
337
346
  return args;
338
347
  };
339
348
 
349
+ Marker.prototype._compileTemplate = function _compileTemplate (template) {
350
+ return TemplateService.compile(template, {
351
+ paramName: "dataItem",
352
+ useWithBlock: false
353
+ });
354
+ };
355
+
340
356
  Marker.create = function create (arg, defaults) {
341
357
  if (arg instanceof Marker) {
342
358
  return arg;
@@ -60,13 +60,13 @@ import {
60
60
  import {
61
61
  removeChildren,
62
62
  setDefaultEvents,
63
- toHyphens,
64
63
  proxy,
65
64
  now,
66
65
  on,
67
66
  off,
68
67
  getSupportedFeatures,
69
- convertToHtml
68
+ convertToHtml,
69
+ renderPos
70
70
  } from './utils';
71
71
 
72
72
  import {
@@ -100,20 +100,6 @@ var layersMap = {
100
100
  };
101
101
  layersMap[MARKER] = MarkerLayer;
102
102
 
103
- function renderPos(pos) {
104
- var result = [];
105
-
106
- if (pos) {
107
- var parts = toHyphens(pos).split("-");
108
-
109
- for (var i = 0; i < parts.length; i++) {
110
- result.push("k-pos-" + parts[i]);
111
- }
112
- }
113
-
114
- return result.join(" ");
115
- }
116
-
117
103
  var Map = (function (Observable) {
118
104
  function Map(element, options, themeOptions, context) {
119
105
  if ( options === void 0 ) options = {};
@@ -445,4 +445,18 @@ export var now = function () {
445
445
 
446
446
  export var noop = function () {};
447
447
 
448
+ export var renderPos = function (pos) {
449
+ var result = [];
450
+
451
+ if (pos) {
452
+ var parts = toHyphens(pos).split("-");
453
+
454
+ for (var i = 0; i < parts.length; i++) {
455
+ result.push("k-pos-" + parts[i]);
456
+ }
457
+ }
458
+
459
+ return result.join(" ");
460
+ };
461
+
448
462
  /* eslint-enable arrow-body-style */
@@ -10,8 +10,8 @@ TemplateService.register = function register (userImplementation) {
10
10
  current = userImplementation;
11
11
  };
12
12
 
13
- TemplateService.compile = function compile (template) {
14
- return current.compile(template);
13
+ TemplateService.compile = function compile (template, options) {
14
+ return current.compile(template, options);
15
15
  };
16
16
 
17
17
  export default TemplateService;
@@ -9,21 +9,23 @@ import {
9
9
 
10
10
  import { Layer } from './layer';
11
11
  import { Location } from '../location';
12
-
13
12
  import {
14
13
  proxy,
15
14
  on,
16
15
  off,
17
16
  toHyphens,
18
- toPixels
17
+ toPixels,
18
+ convertToHtml
19
19
  } from '../utils';
20
+ import TemplateService from '../../services/template-service';
20
21
 
21
22
  const CLICK = "click";
22
23
  const MOUSE_ENTER = "mouseenter";
23
24
  const MOUSE_LEAVE = "mouseleave";
24
25
 
25
26
  const extend = Object.assign;
26
- const MARKER_CLASS = ".k-marker";
27
+ const MARKER_CLASS_NAME = "k-marker";
28
+ const MARKER_CLASS = "." + MARKER_CLASS_NAME;
27
29
 
28
30
  export class MarkerLayer extends Layer {
29
31
  constructor(map, options) {
@@ -141,11 +143,9 @@ export class MarkerLayer extends Layer {
141
143
  }
142
144
 
143
145
  _markerClick(e) {
144
- const marker = e.target._kendoNode;
146
+ const marker = e.currentTarget._kendoNode;
145
147
 
146
148
  let args = {
147
- // marker: $(e.target).data('kendoMarker'),
148
- // marker: e.target.getAttribute("data-kendoMarker"),
149
149
  layer: this,
150
150
  layerIndex: this._layerIndex(),
151
151
  marker: marker,
@@ -184,7 +184,8 @@ setDefaultOptions(MarkerLayer, {
184
184
  zIndex: 1000,
185
185
  autoBind: true,
186
186
  locationField: 'location',
187
- titleField: 'title'
187
+ titleField: 'title',
188
+ template: ""
188
189
  });
189
190
 
190
191
  export class Marker extends Class {
@@ -258,9 +259,17 @@ export class Marker extends Class {
258
259
  if (!this.element) {
259
260
  let options = this.options;
260
261
  let layer = this.layer;
261
-
262
- const element = document.createElement('span');
263
- addClass(element, 'k-marker k-icon k-i-marker-' + toHyphens(options.shape || 'pin'));
262
+ let element = document.createElement('span');
263
+ addClass(element, MARKER_CLASS_NAME);
264
+
265
+ if (this.options.template) {
266
+ const templateFn = this._compileTemplate(this.options.template);
267
+ const templateHtml = templateFn(this.dataItem);
268
+ const templateElement = convertToHtml(templateHtml);
269
+ element.appendChild(templateElement);
270
+ } else {
271
+ addClass(element, 'k-icon k-i-marker-' + toHyphens(options.shape || 'pin'));
272
+ }
264
273
 
265
274
  if (options.title) {
266
275
  element.setAttribute("title", options.title);
@@ -319,6 +328,13 @@ export class Marker extends Class {
319
328
  return args;
320
329
  }
321
330
 
331
+ _compileTemplate(template) {
332
+ return TemplateService.compile(template, {
333
+ paramName: "dataItem",
334
+ useWithBlock: false
335
+ });
336
+ }
337
+
322
338
  static create(arg, defaults) {
323
339
  if (arg instanceof Marker) {
324
340
  return arg;
@@ -60,13 +60,13 @@ import {
60
60
  import {
61
61
  removeChildren,
62
62
  setDefaultEvents,
63
- toHyphens,
64
63
  proxy,
65
64
  now,
66
65
  on,
67
66
  off,
68
67
  getSupportedFeatures,
69
- convertToHtml
68
+ convertToHtml,
69
+ renderPos
70
70
  } from './utils';
71
71
 
72
72
  import {
@@ -100,20 +100,6 @@ const layersMap = {
100
100
  [MARKER]: MarkerLayer
101
101
  };
102
102
 
103
- function renderPos(pos) {
104
- let result = [];
105
-
106
- if (pos) {
107
- let parts = toHyphens(pos).split("-");
108
-
109
- for (let i = 0; i < parts.length; i++) {
110
- result.push("k-pos-" + parts[i]);
111
- }
112
- }
113
-
114
- return result.join(" ");
115
- }
116
-
117
103
  class Map extends Observable {
118
104
  constructor(element, options = {}, themeOptions = {}, context = {}) {
119
105
  super();
@@ -445,4 +445,18 @@ export const now = () => {
445
445
 
446
446
  export const noop = () => {};
447
447
 
448
+ export const renderPos = (pos) => {
449
+ let result = [];
450
+
451
+ if (pos) {
452
+ let parts = toHyphens(pos).split("-");
453
+
454
+ for (let i = 0; i < parts.length; i++) {
455
+ result.push("k-pos-" + parts[i]);
456
+ }
457
+ }
458
+
459
+ return result.join(" ");
460
+ };
461
+
448
462
  /* eslint-enable arrow-body-style */
@@ -9,8 +9,8 @@ class TemplateService {
9
9
  current = userImplementation;
10
10
  }
11
11
 
12
- static compile(template) {
13
- return current.compile(template);
12
+ static compile(template, options) {
13
+ return current.compile(template, options);
14
14
  }
15
15
  }
16
16