jpf 5.0.86 → 5.0.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/controls/codeMirror/Editor/Editor.js +14 -9
  2. package/dist/controls/codeMirror/Editor/Editor.js.map +1 -1
  3. package/dist/controls/custom/FileSelector/FileSelector.js +6 -2
  4. package/dist/controls/custom/FileSelector/FileSelector.js.map +1 -1
  5. package/dist/controls/custom/LabeledControl/LabeledControl.js +11 -4
  6. package/dist/controls/custom/LabeledControl/LabeledControl.js.map +1 -1
  7. package/dist/controls/custom/ListItem/ListItem.js +6 -2
  8. package/dist/controls/custom/ListItem/ListItem.js.map +1 -1
  9. package/dist/controls/html/Button/Button.js +6 -2
  10. package/dist/controls/html/Button/Button.js.map +1 -1
  11. package/dist/controls/html/Div/Div.js +6 -2
  12. package/dist/controls/html/Div/Div.js.map +1 -1
  13. package/dist/controls/html/Image/Image.js +11 -6
  14. package/dist/controls/html/Image/Image.js.map +1 -1
  15. package/dist/controls/html/Input/Input.js +6 -2
  16. package/dist/controls/html/Input/Input.js.map +1 -1
  17. package/dist/controls/html/Select/Select.js +6 -2
  18. package/dist/controls/html/Select/Select.js.map +1 -1
  19. package/dist/controls/html/Span/Span.js +6 -2
  20. package/dist/controls/html/Span/Span.js.map +1 -1
  21. package/dist/controls/jsonViewerAwesome/jsonFormatter/JsonFormatter.js +6 -2
  22. package/dist/controls/jsonViewerAwesome/jsonFormatter/JsonFormatter.js.map +1 -1
  23. package/dist/controls/kendo/Chart/Chart.js +6 -2
  24. package/dist/controls/kendo/Chart/Chart.js.map +1 -1
  25. package/dist/controls/kendo/Editor/Editor.js +8 -5
  26. package/dist/controls/kendo/Editor/Editor.js.map +1 -1
  27. package/dist/controls/kendo/Grid/Grid.js +6 -2
  28. package/dist/controls/kendo/Grid/Grid.js.map +1 -1
  29. package/dist/controls/kendo/Menu/Menu.js +6 -2
  30. package/dist/controls/kendo/Menu/Menu.js.map +1 -1
  31. package/dist/controls/kendo/Treeview/Treeview.js +6 -2
  32. package/dist/controls/kendo/Treeview/Treeview.js.map +1 -1
  33. package/dist/controls/leaflet/Map/Map.js +6 -2
  34. package/dist/controls/leaflet/Map/Map.js.map +1 -1
  35. package/dist/controls/svg/Circle/Circle.js +10 -6
  36. package/dist/controls/svg/Circle/Circle.js.map +1 -1
  37. package/dist/controls/svg/Ellipse/Ellipse.js +11 -7
  38. package/dist/controls/svg/Ellipse/Ellipse.js.map +1 -1
  39. package/dist/controls/svg/ForeignObject/ForeignObject.js +11 -7
  40. package/dist/controls/svg/ForeignObject/ForeignObject.js.map +1 -1
  41. package/dist/controls/svg/Group/Group.js +11 -7
  42. package/dist/controls/svg/Group/Group.js.map +1 -1
  43. package/dist/controls/svg/Line/Line.js +11 -7
  44. package/dist/controls/svg/Line/Line.js.map +1 -1
  45. package/dist/controls/svg/Pattern/Pattern.js +12 -8
  46. package/dist/controls/svg/Pattern/Pattern.js.map +1 -1
  47. package/dist/controls/svg/Polygon/Polygon.js +9 -4
  48. package/dist/controls/svg/Polygon/Polygon.js.map +1 -1
  49. package/dist/controls/svg/Polyline/Polyline.js +8 -4
  50. package/dist/controls/svg/Polyline/Polyline.js.map +1 -1
  51. package/dist/controls/svg/Rectangle/Rectangle.js +11 -7
  52. package/dist/controls/svg/Rectangle/Rectangle.js.map +1 -1
  53. package/dist/controls/svg/Svg/Svg.js +13 -9
  54. package/dist/controls/svg/Svg/Svg.js.map +1 -1
  55. package/dist/controls/svg/Text/Text.js +12 -8
  56. package/dist/controls/svg/Text/Text.js.map +1 -1
  57. package/dist/controls/svg/Title/Title.js +7 -3
  58. package/dist/controls/svg/Title/Title.js.map +1 -1
  59. package/dist/framework/element.d.ts +6 -1
  60. package/dist/framework/element.js +9 -9
  61. package/dist/framework/element.js.map +1 -1
  62. package/dist/utilities/object/object.d.ts +1 -0
  63. package/dist/utilities/object/object.js +14 -0
  64. package/dist/utilities/object/object.js.map +1 -1
  65. package/package.json +1 -1
  66. package/src/controls/codeMirror/Editor/Editor.ts +13 -10
  67. package/src/controls/custom/FileSelector/FileSelector.ts +5 -3
  68. package/src/controls/custom/LabeledControl/LabeledControl.ts +10 -5
  69. package/src/controls/custom/ListItem/ListItem.ts +7 -4
  70. package/src/controls/html/Button/Button.ts +5 -2
  71. package/src/controls/html/Div/Div.ts +5 -2
  72. package/src/controls/html/Image/Image.ts +11 -8
  73. package/src/controls/html/Input/Input.ts +6 -3
  74. package/src/controls/html/Select/Select.ts +5 -2
  75. package/src/controls/html/Span/Span.ts +6 -3
  76. package/src/controls/jsonViewerAwesome/jsonFormatter/JsonFormatter.ts +5 -2
  77. package/src/controls/kendo/Chart/Chart.ts +5 -2
  78. package/src/controls/kendo/Editor/Editor.ts +7 -5
  79. package/src/controls/kendo/Grid/Grid.ts +5 -2
  80. package/src/controls/kendo/Menu/Menu.ts +5 -2
  81. package/src/controls/kendo/Treeview/Treeview.ts +5 -2
  82. package/src/controls/leaflet/Map/Map.ts +7 -5
  83. package/src/controls/svg/Circle/Circle.ts +9 -6
  84. package/src/controls/svg/Ellipse/Ellipse.ts +10 -7
  85. package/src/controls/svg/ForeignObject/ForeignObject.ts +10 -7
  86. package/src/controls/svg/Group/Group.ts +10 -7
  87. package/src/controls/svg/Line/Line.ts +10 -7
  88. package/src/controls/svg/Pattern/Pattern.ts +11 -8
  89. package/src/controls/svg/Polygon/Polygon.ts +8 -4
  90. package/src/controls/svg/Polyline/Polyline.ts +7 -4
  91. package/src/controls/svg/Rectangle/Rectangle.ts +10 -7
  92. package/src/controls/svg/Svg/Svg.ts +12 -9
  93. package/src/controls/svg/Text/Text.ts +11 -8
  94. package/src/controls/svg/Title/Title.ts +6 -3
  95. package/src/framework/element.ts +15 -9
  96. package/src/utilities/object/object.ts +16 -0
  97. package/src/controls/kendo/ObservableObject/ObservableObject.ts +0 -45
@@ -1,5 +1,6 @@
1
1
  import { Element, IElement, IElementProperties, extendProperties } from "../../../framework/element";
2
2
  import { ISubscribable } from "../../../framework/observable";
3
+ import { typeName } from "../../../utilities/object/object";
3
4
 
4
5
  export interface IGroupProperties extends IElementProperties {
5
6
  x1?: number | string | ISubscribable<number | string>;
@@ -15,14 +16,16 @@ class GroupElement extends Element<IGroupProperties> {
15
16
  {
16
17
  tagName: "g",
17
18
  properties: extendProperties(
18
- properties,
19
19
  {
20
- elementType: "Group",
21
- attributes: {
22
- x1: properties.x1,
23
- x2: properties.x2,
24
- y1: properties.y1,
25
- y2: properties.y2
20
+ target: properties,
21
+ preserveExisting: {
22
+ elementType: typeName(GroupElement),
23
+ attributes: {
24
+ x1: properties.x1,
25
+ x2: properties.x2,
26
+ y1: properties.y1,
27
+ y2: properties.y2
28
+ }
26
29
  }
27
30
  }
28
31
  )
@@ -1,5 +1,6 @@
1
1
  import { Element, IElementProperties, extendProperties } from "../../../framework/element";
2
2
  import { ISubscribable } from "../../../framework/observable";
3
+ import { typeName } from "../../../utilities/object/object";
3
4
 
4
5
  export interface ILineProperties extends IElementProperties {
5
6
  x1: number | string | ISubscribable<number | string>;
@@ -14,14 +15,16 @@ export class LineElement extends Element<ILineProperties> {
14
15
  {
15
16
  tagName: "line",
16
17
  properties: extendProperties(
17
- properties,
18
18
  {
19
- elementType: "Line",
20
- attributes: {
21
- x1: properties.x1,
22
- x2: properties.x2,
23
- y1: properties.y1,
24
- y2: properties.y2
19
+ target: properties,
20
+ preserveExisting: {
21
+ elementType: typeName(LineElement),
22
+ attributes: {
23
+ x1: properties.x1,
24
+ x2: properties.x2,
25
+ y1: properties.y1,
26
+ y2: properties.y2
27
+ }
25
28
  }
26
29
  }
27
30
  )
@@ -7,6 +7,7 @@ import { LineElement } from "../Line/Line";
7
7
  import { PolygonElement } from "../Polygon/Polygon";
8
8
  import { PolylineElement } from "../Polyline/Polyline";
9
9
  import { TextElement } from "../Text/Text";
10
+ import { typeName } from "../../../utilities/object/object";
10
11
 
11
12
 
12
13
  export interface IPatternProperties extends IElementProperties {
@@ -24,15 +25,17 @@ export class PatternElement extends Element<IPatternProperties> {
24
25
  {
25
26
  tagName: "pattern",
26
27
  properties: extendProperties(
27
- properties,
28
28
  {
29
- elementType: "Pattern",
30
- attributes: {
31
- id: properties.id,
32
- width: properties.width,
33
- height: properties.height,
34
- patternUnits: properties.patternUnits,
35
- patternTransform: properties.patternTransform
29
+ target: properties,
30
+ preserveExisting: {
31
+ elementType: typeName(PatternElement),
32
+ attributes: {
33
+ id: properties.id,
34
+ width: properties.width,
35
+ height: properties.height,
36
+ patternUnits: properties.patternUnits,
37
+ patternTransform: properties.patternTransform
38
+ }
36
39
  }
37
40
  }
38
41
  )
@@ -1,5 +1,7 @@
1
1
  import { Element, IElementProperties, extendProperties } from "../../../framework/element";
2
2
  import { ISubscribable, observable } from "../../../framework/observable";
3
+ import { typeName } from "../../../utilities/object/object";
4
+ import { PolylineElement } from "../Polyline/Polyline";
3
5
  import { ISvgPoint, serializePoints } from "../svg";
4
6
 
5
7
  export interface IPolygonProperties extends IElementProperties {
@@ -12,11 +14,13 @@ export class PolygonElement extends Element<IPolygonProperties> {
12
14
  {
13
15
  tagName: "polygon",
14
16
  properties: extendProperties(
15
- properties,
16
17
  {
17
- elementType: "Polygon",
18
- attributes: {
19
- points: serializePoints(observable.unwrap(properties.points))
18
+ target: properties,
19
+ preserveExisting: {
20
+ elementType: typeName(PolylineElement),
21
+ attributes: {
22
+ points: serializePoints(observable.unwrap(properties.points))
23
+ }
20
24
  }
21
25
  }
22
26
  )
@@ -1,6 +1,7 @@
1
1
  import { Element, IElementProperties, extendProperties } from "../../../framework/element";
2
2
  import { ISvgPoint, serializePoints } from "../svg";
3
3
  import { ISubscribable } from "../../../framework/observable";
4
+ import { typeName } from "../../../utilities/object/object";
4
5
 
5
6
  export interface IPolylineProperties extends IElementProperties {
6
7
  points: Array<ISvgPoint> | ISubscribable<Array<ISvgPoint>>;
@@ -12,11 +13,13 @@ export class PolylineElement extends Element<IPolylineProperties> {
12
13
  {
13
14
  tagName: "polyline",
14
15
  properties: extendProperties(
15
- properties,
16
16
  {
17
- elementType: "Polyline",
18
- attributes: {
19
- points: serializePoints(properties.points)
17
+ target: properties,
18
+ preserveExisting: {
19
+ elementType: typeName(PolylineElement),
20
+ attributes: {
21
+ points: serializePoints(properties.points)
22
+ }
20
23
  }
21
24
  }
22
25
  )
@@ -1,5 +1,6 @@
1
1
  import { Element, IElementProperties, extendProperties } from "../../../framework/element";
2
2
  import { ISubscribable } from "../../../framework/observable";
3
+ import { typeName } from "../../../utilities/object/object";
3
4
 
4
5
  export interface IRectangleProperties extends IElementProperties {
5
6
  x?: number | string | ISubscribable<number | string>;
@@ -14,14 +15,16 @@ export class RectangleElement extends Element<IRectangleProperties> {
14
15
  {
15
16
  tagName: "rect",
16
17
  properties: extendProperties(
17
- properties,
18
18
  {
19
- elementType: "Rectangle",
20
- attributes: {
21
- x: properties.x,
22
- y: properties.y,
23
- width: properties.width,
24
- height: properties.height
19
+ target: properties,
20
+ preserveExisting: {
21
+ elementType: typeName(RectangleElement),
22
+ attributes: {
23
+ x: properties.x,
24
+ y: properties.y,
25
+ width: properties.width,
26
+ height: properties.height
27
+ }
25
28
  }
26
29
  }
27
30
  )
@@ -1,6 +1,7 @@
1
1
  import { Element, IElement, IElementProperties, extendProperties } from "../../../framework/element";
2
2
  import { PreserveAspectRatio } from "../../../framework/css";
3
3
  import { ISubscribable } from "../../../framework/observable";
4
+ import { typeName } from "../../../utilities/object/object";
4
5
 
5
6
  export interface ISvgProperties extends IElementProperties {
6
7
  x?: number | string | ISubscribable<number | string>;
@@ -18,16 +19,18 @@ export class SvgElement extends Element<ISvgProperties> {
18
19
  {
19
20
  tagName: "svg",
20
21
  properties: extendProperties(
21
- properties,
22
22
  {
23
- elementType: "Svg",
24
- attributes: {
25
- x: properties.x,
26
- y: properties.y,
27
- height: properties.height,
28
- width: properties.width,
29
- viewBox: properties.viewBox,
30
- preserveAspectRatio: properties.preserveAspectRatio
23
+ target: properties,
24
+ preserveExisting: {
25
+ elementType: typeName(SvgElement),
26
+ attributes: {
27
+ x: properties.x,
28
+ y: properties.y,
29
+ height: properties.height,
30
+ width: properties.width,
31
+ viewBox: properties.viewBox,
32
+ preserveAspectRatio: properties.preserveAspectRatio
33
+ }
31
34
  }
32
35
  }
33
36
  )
@@ -1,5 +1,6 @@
1
1
  import { Element, IElementProperties, extendProperties } from "../../../framework/element";
2
2
  import { ISubscribable } from "../../../framework/observable";
3
+ import { typeName } from "../../../utilities/object/object";
3
4
 
4
5
  export interface ITextProperties extends IElementProperties {
5
6
  x?: number | string | ISubscribable<number | string>;
@@ -15,15 +16,17 @@ export class TextElement extends Element<ITextProperties> {
15
16
  {
16
17
  tagName: "text",
17
18
  properties: extendProperties(
18
- properties,
19
19
  {
20
- elementType: "Text",
21
- attributes: {
22
- x: properties.x,
23
- y: properties.y,
24
- dx: properties.dx,
25
- dy: properties.dy,
26
- rotate: properties.rotate
20
+ target: properties,
21
+ preserveExisting: {
22
+ elementType: typeName(TextElement),
23
+ attributes: {
24
+ x: properties.x,
25
+ y: properties.y,
26
+ dx: properties.dx,
27
+ dy: properties.dy,
28
+ rotate: properties.rotate
29
+ }
27
30
  }
28
31
  }
29
32
  )
@@ -1,5 +1,6 @@
1
1
  import { Element, IElementProperties, extendProperties } from "../../../framework/element";
2
2
  import { ISubscribable } from "../../../framework/observable";
3
+ import { typeName } from "../../../utilities/object/object";
3
4
 
4
5
  export interface ITitleProperties extends IElementProperties {
5
6
  title: string | ISubscribable<string>
@@ -11,10 +12,12 @@ export class TitleElement extends Element<ITitleProperties> {
11
12
  {
12
13
  tagName: "title",
13
14
  properties: extendProperties(
14
- properties,
15
15
  {
16
- elementType: "Title",
17
- textContent: properties.title
16
+ target: properties,
17
+ preserveExisting: {
18
+ elementType: typeName(TitleElement),
19
+ textContent: properties.title
20
+ }
18
21
  }
19
22
  )
20
23
  }
@@ -264,22 +264,28 @@ export abstract class ElementProperties implements IElementProperties {
264
264
 
265
265
  //#region Element helper functions
266
266
 
267
- export function extendProperties<TTarget = IElementProperties, TOverwritingProperties = TTarget, TPreserveExistingProperties = TTarget>(target: TTarget, preserveExisting: TPreserveExistingProperties, overWriteExisting?: TOverwritingProperties): TTarget {
268
- if (overWriteExisting || preserveExisting) {
269
- target = target || {} as TTarget;
267
+ export interface IExtendPropertiesOptions<TTarget extends IElementProperties = IElementProperties, TPreserveExisting extends IElementProperties = IElementProperties, TOverwriteExisting extends IElementProperties = IElementProperties> {
268
+ target: TTarget;
269
+ preserveExisting?: TPreserveExisting;
270
+ overWriteExisting?: TOverwriteExisting;
271
+ }
272
+
273
+ export function extendProperties<TTarget extends IElementProperties = IElementProperties, TPreserveExisting extends IElementProperties = IElementProperties, TOverwriteExisting extends IElementProperties = IElementProperties>(options: IExtendPropertiesOptions<TTarget, TPreserveExisting, TOverwriteExisting>): TTarget {
274
+ const target = options.target || {} as TTarget;
270
275
 
271
- if (typeof preserveExisting === "object") {
272
- Object.keys(preserveExisting).forEach((key) => {
276
+ if (options.overWriteExisting || options.preserveExisting) {
277
+ if (typeof options.preserveExisting === "object") {
278
+ Object.keys(options.preserveExisting).forEach((key) => {
273
279
  //Check if the target object does not already have a property with the given key
274
280
  if (!target.hasOwnProperty(key) || typeof target[key] === "undefined") {
275
- target[key] = preserveExisting[key];
281
+ target[key] = options.preserveExisting[key];
276
282
  }
277
283
  });
278
284
  }
279
285
 
280
- if (typeof overWriteExisting === "object") {
281
- Object.keys(overWriteExisting).forEach((key) => {
282
- target[key] = overWriteExisting[key];
286
+ if (typeof options.overWriteExisting === "object") {
287
+ Object.keys(options.overWriteExisting).forEach((key) => {
288
+ target[key] = options.overWriteExisting[key];
283
289
  });
284
290
  }
285
291
  }
@@ -53,4 +53,20 @@ export function executeHandlerOnContext(context: object, handler: (context) => v
53
53
  }
54
54
  }
55
55
  }
56
+ }
57
+
58
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
59
+ export function typeName(typeOrInstance: Function | object): string {
60
+ if (typeOrInstance instanceof Function) {
61
+ if (typeOrInstance.prototype && typeOrInstance.prototype.constructor) {
62
+
63
+ return typeOrInstance.prototype.constructor.name;
64
+ }
65
+ } else {
66
+ if (typeOrInstance.constructor) {
67
+ return typeOrInstance.constructor.name;
68
+ }
69
+ }
70
+
71
+ return null;
56
72
  }
@@ -1,45 +0,0 @@
1
- //import { Subscribable, isSubscribable, unwrap , action} from "../../../framework/observable";
2
- //import * as kendo from "@progress/kendo-ui/js/kendo.data.js";
3
-
4
- //var getUnderlyingObjectFunctionName = "getUnderlyingObject";
5
-
6
- //export function knockoutObservableToKendoObservable(object: object): kendo.data.ObservableObject {
7
- // var observableObject = new kendo.data.ObservableObject();
8
- // observableObject[getUnderlyingObjectFunctionName] = () => {
9
- // return object;
10
- // }
11
- // Object.keys(object).forEach((key: string) => {
12
- // var value = object[key];
13
-
14
- // observableObject[key] = unwrap(value);
15
-
16
- // if (isSubscribable(value)) {
17
- // value.subscribe(
18
- // (newValue) => {
19
- // observableObject.set(key, newValue);
20
- // }
21
- // );
22
- // }
23
- // });
24
-
25
- // return observableObject;
26
- //}
27
-
28
- //export function getUnderlyingObject(observableObject: kendo.data.ObservableObject): object {
29
- // if (observableObject[getUnderlyingObjectFunctionName]) {
30
- // return observableObject[getUnderlyingObjectFunctionName]();
31
- // }
32
- // return null;
33
- //}
34
-
35
- //export function knockoutObservableToKendoObservableArray(array: Array<any> | Subscribable<Array<any>>): Array<kendo.data.ObservableObject> {
36
-
37
- // var observableObjects = new Array<kendo.data.ObservableObject>();
38
- // if (array) {
39
- // unwrap(array).forEach((object) => {
40
- // observableObjects.push(knockoutObservableToKendoObservable(object));
41
- // });
42
- // }
43
-
44
- // return observableObjects;
45
- //}