jpf 4.1.41 → 4.1.43

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.
@@ -0,0 +1,15 @@
1
+ import { View } from "../../../framework/View";
2
+ import { ViewModelOptions } from "../../../framework/ViewModel";
3
+ import { Subscribable } from "knockout";
4
+ export interface CircleViewModelOptions extends ViewModelOptions {
5
+ cx: number | string | Subscribable<number | string>;
6
+ cy: number | string | Subscribable<number | string>;
7
+ r: number | string | Subscribable<number | string>;
8
+ }
9
+ export declare class CircleView extends View<CircleViewModelOptions> {
10
+ constructor(viewModel: CircleViewModelOptions);
11
+ build(): void;
12
+ private setCx;
13
+ private setCy;
14
+ private setR;
15
+ }
@@ -0,0 +1,62 @@
1
+ import { View } from "../../../framework/View";
2
+ import { extendViewModel } from "../../../framework/ViewModel";
3
+ import { svgNamespace } from "../svg";
4
+ import { unwrap, isSubscribable } from "knockout";
5
+ export class CircleView extends View {
6
+ constructor(viewModel) {
7
+ super({
8
+ tagName: "circle",
9
+ namespace: svgNamespace,
10
+ viewModel: extendViewModel({
11
+ viewType: "Circle"
12
+ }, viewModel)
13
+ });
14
+ }
15
+ build() {
16
+ super.build();
17
+ const viewModel = this.viewModel;
18
+ this.setCx(unwrap(viewModel.cx));
19
+ if (isSubscribable(viewModel.cx)) {
20
+ viewModel.cx.subscribe((cx) => {
21
+ this.setCx(cx);
22
+ });
23
+ }
24
+ this.setCy(unwrap(viewModel.cy));
25
+ if (isSubscribable(viewModel.cy)) {
26
+ viewModel.cy.subscribe((cy) => {
27
+ this.setCy(cy);
28
+ });
29
+ }
30
+ this.setR(unwrap(viewModel.r));
31
+ if (isSubscribable(viewModel.r)) {
32
+ viewModel.r.subscribe((r) => {
33
+ this.setR(r);
34
+ });
35
+ }
36
+ }
37
+ setCx(cx) {
38
+ if (cx) {
39
+ this.element.setAttribute("cx", cx.toString());
40
+ }
41
+ else {
42
+ this.element.removeAttribute("cx");
43
+ }
44
+ }
45
+ setCy(cy) {
46
+ if (cy) {
47
+ this.element.setAttribute("cy", cy.toString());
48
+ }
49
+ else {
50
+ this.element.removeAttribute("cy");
51
+ }
52
+ }
53
+ setR(r) {
54
+ if (r) {
55
+ this.element.setAttribute("r", r.toString());
56
+ }
57
+ else {
58
+ this.element.removeAttribute("r");
59
+ }
60
+ }
61
+ }
62
+ //# sourceMappingURL=Circle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Circle.js","sourceRoot":"","sources":["../../../../src/controls/svg/Circle/Circle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAoB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAgB,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAQhE,MAAM,OAAO,UAAW,SAAQ,IAA4B;IACxD,YAAY,SAAiC;QACzC,KAAK,CACD;YACI,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,eAAe,CACtB;gBACI,QAAQ,EAAE,QAAQ;aACrB,EACD,SAAS,CACZ;SACJ,CACJ,CAAC;IACN,CAAC;IAED,KAAK;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;YAC9B,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;SACN;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;YAC9B,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;SACN;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAC7B,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAEO,KAAK,CAAC,EAAmB;QAC7B,IAAI,EAAE,EAAE;YACJ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;SAClD;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SACtC;IACL,CAAC;IAEO,KAAK,CAAC,EAAmB;QAC7B,IAAI,EAAE,EAAE;YACJ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;SAClD;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SACtC;IACL,CAAC;IAEO,IAAI,CAAC,CAAkB;QAC3B,IAAI,CAAC,EAAE;YACH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;SAChD;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;SACrC;IACL,CAAC;CACJ"}
@@ -1,7 +1,17 @@
1
1
  import { View } from "../../../framework/View";
2
2
  import { ViewModelOptions } from "../../../framework/ViewModel";
3
+ import { Subscribable } from "knockout";
3
4
  export interface EllipseViewModelOptions extends ViewModelOptions {
5
+ cx: number | string | Subscribable<number | string>;
6
+ cy: number | string | Subscribable<number | string>;
7
+ rx: number | string | Subscribable<number | string>;
8
+ ry: number | string | Subscribable<number | string>;
4
9
  }
5
10
  export declare class EllipseView extends View<EllipseViewModelOptions> {
6
11
  constructor(viewModel: EllipseViewModelOptions);
12
+ build(): void;
13
+ private setCx;
14
+ private setCy;
15
+ private setRx;
16
+ private setRy;
7
17
  }
@@ -1,6 +1,7 @@
1
1
  import { View } from "../../../framework/View";
2
2
  import { extendViewModel } from "../../../framework/ViewModel";
3
3
  import { svgNamespace } from "../svg";
4
+ import { unwrap, isSubscribable } from "knockout";
4
5
  export class EllipseView extends View {
5
6
  constructor(viewModel) {
6
7
  super({
@@ -11,5 +12,65 @@ export class EllipseView extends View {
11
12
  }, viewModel)
12
13
  });
13
14
  }
15
+ build() {
16
+ super.build();
17
+ const viewModel = this.viewModel;
18
+ this.setCx(unwrap(viewModel.cx));
19
+ if (isSubscribable(viewModel.cx)) {
20
+ viewModel.cx.subscribe((cx) => {
21
+ this.setCx(cx);
22
+ });
23
+ }
24
+ this.setCy(unwrap(viewModel.cy));
25
+ if (isSubscribable(viewModel.cy)) {
26
+ viewModel.cy.subscribe((cy) => {
27
+ this.setCy(cy);
28
+ });
29
+ }
30
+ this.setRx(unwrap(viewModel.rx));
31
+ if (isSubscribable(viewModel.rx)) {
32
+ viewModel.rx.subscribe((rx) => {
33
+ this.setRx(rx);
34
+ });
35
+ }
36
+ this.setRy(unwrap(viewModel.ry));
37
+ if (isSubscribable(viewModel.ry)) {
38
+ viewModel.ry.subscribe((ry) => {
39
+ this.setRy(ry);
40
+ });
41
+ }
42
+ }
43
+ setCx(cx) {
44
+ if (cx) {
45
+ this.element.setAttribute("cx", cx.toString());
46
+ }
47
+ else {
48
+ this.element.removeAttribute("cx");
49
+ }
50
+ }
51
+ setCy(cy) {
52
+ if (cy) {
53
+ this.element.setAttribute("cy", cy.toString());
54
+ }
55
+ else {
56
+ this.element.removeAttribute("cy");
57
+ }
58
+ }
59
+ setRx(rx) {
60
+ if (rx) {
61
+ this.element.setAttribute("rx", rx.toString());
62
+ }
63
+ else {
64
+ this.element.removeAttribute("rx");
65
+ }
66
+ }
67
+ setRy(ry) {
68
+ if (ry) {
69
+ this.element.setAttribute("ry", ry.toString());
70
+ }
71
+ else {
72
+ this.element.removeAttribute("ry");
73
+ }
74
+ }
14
75
  }
15
76
  //# sourceMappingURL=Ellipse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Ellipse.js","sourceRoot":"","sources":["../../../../src/controls/svg/Ellipse/Ellipse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAoB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAMrC,MAAM,OAAO,WAAY,SAAQ,IAA6B;IAC1D,YAAY,SAAkC;QAC1C,KAAK,CACD;YACI,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,eAAe,CACtB;gBACI,QAAQ,EAAE,SAAS;aACtB,EACD,SAAS,CACZ;SACJ,CACJ,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"Ellipse.js","sourceRoot":"","sources":["../../../../src/controls/svg/Ellipse/Ellipse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { View } from "../../../framework/View";
2
+ import { ViewModelOptions } from "../../../framework/ViewModel";
3
+ export interface GroupViewModelOptions extends ViewModelOptions {
4
+ }
5
+ export declare class GroupView extends View<GroupViewModelOptions> {
6
+ constructor(viewModel: GroupViewModelOptions);
7
+ }
@@ -0,0 +1,15 @@
1
+ import { View } from "../../../framework/View";
2
+ import { extendViewModel } from "../../../framework/ViewModel";
3
+ import { svgNamespace } from "../svg";
4
+ export class GroupView extends View {
5
+ constructor(viewModel) {
6
+ super({
7
+ tagName: "g",
8
+ namespace: svgNamespace,
9
+ viewModel: extendViewModel({
10
+ viewType: "Group"
11
+ }, viewModel)
12
+ });
13
+ }
14
+ }
15
+ //# sourceMappingURL=Group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../../src/controls/svg/Group/Group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAoB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,MAAM,OAAO,SAAU,SAAQ,IAA2B;IACtD,YAAY,SAAgC;QACxC,KAAK,CACD;YACI,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,eAAe,CACtB;gBACI,QAAQ,EAAE,OAAO;aACpB,EACD,SAAS,CACZ;SACJ,CACJ,CAAC;IACN,CAAC;CACJ"}
@@ -0,0 +1,12 @@
1
+ import { View } from "../../../framework/View";
2
+ import { ViewModelOptions } from "../../../framework/ViewModel";
3
+ import { Subscribable } from "knockout";
4
+ import { SvgPoint } from "../svg";
5
+ export interface PolygonViewModelOptions extends ViewModelOptions {
6
+ points: Array<SvgPoint> | Subscribable<Array<SvgPoint>>;
7
+ }
8
+ export declare class PolygonView extends View<PolygonViewModelOptions> {
9
+ constructor(viewModel: PolygonViewModelOptions);
10
+ build(): void;
11
+ private setPoints;
12
+ }
@@ -0,0 +1,34 @@
1
+ import { View } from "../../../framework/View";
2
+ import { extendViewModel } from "../../../framework/ViewModel";
3
+ import { svgNamespace } from "../svg";
4
+ import { unwrap, isSubscribable } from "knockout";
5
+ export class PolygonView extends View {
6
+ constructor(viewModel) {
7
+ super({
8
+ tagName: "polygon",
9
+ namespace: svgNamespace,
10
+ viewModel: extendViewModel({
11
+ viewType: "Polygon"
12
+ }, viewModel)
13
+ });
14
+ }
15
+ build() {
16
+ super.build();
17
+ const viewModel = this.viewModel;
18
+ this.setPoints(unwrap(viewModel.points));
19
+ if (isSubscribable(viewModel.points)) {
20
+ viewModel.points.subscribe((points) => {
21
+ this.setPoints(points);
22
+ });
23
+ }
24
+ }
25
+ setPoints(points) {
26
+ if (points) {
27
+ this.element.setAttribute("points", points.map((point) => { return point.x + "," + point.y; }).join(" "));
28
+ }
29
+ else {
30
+ this.element.removeAttribute("points");
31
+ }
32
+ }
33
+ }
34
+ //# sourceMappingURL=Polygon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Polygon.js","sourceRoot":"","sources":["../../../../src/controls/svg/Polygon/Polygon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAoB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAgB,MAAM,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AAQ/D,MAAM,OAAO,WAAY,SAAQ,IAA6B;IAC1D,YAAY,SAAkC;QAC1C,KAAK,CACD;YACI,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,eAAe,CACtB;gBACI,QAAQ,EAAE,SAAS;aACtB,EACD,SAAS,CACZ;SACJ,CACJ,CAAC;IACN,CAAC;IAED,KAAK;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YAClC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;gBAClC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAEO,SAAS,CAAC,MAAuB;QACrC,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5G;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAC1C;IACL,CAAC;CACJ"}
@@ -0,0 +1,12 @@
1
+ import { View } from "../../../framework/View";
2
+ import { ViewModelOptions } from "../../../framework/ViewModel";
3
+ import { Subscribable } from "knockout";
4
+ import { SvgPoint } from "../svg";
5
+ export interface PolylineViewModelOptions extends ViewModelOptions {
6
+ points: Array<SvgPoint> | Subscribable<Array<SvgPoint>>;
7
+ }
8
+ export declare class PolylineView extends View<PolylineViewModelOptions> {
9
+ constructor(viewModel: PolylineViewModelOptions);
10
+ build(): void;
11
+ private setPoints;
12
+ }
@@ -0,0 +1,34 @@
1
+ import { View } from "../../../framework/View";
2
+ import { extendViewModel } from "../../../framework/ViewModel";
3
+ import { svgNamespace } from "../svg";
4
+ import { unwrap, isSubscribable } from "knockout";
5
+ export class PolylineView extends View {
6
+ constructor(viewModel) {
7
+ super({
8
+ tagName: "polyline",
9
+ namespace: svgNamespace,
10
+ viewModel: extendViewModel({
11
+ viewType: "Polygon"
12
+ }, viewModel)
13
+ });
14
+ }
15
+ build() {
16
+ super.build();
17
+ const viewModel = this.viewModel;
18
+ this.setPoints(unwrap(viewModel.points));
19
+ if (isSubscribable(viewModel.points)) {
20
+ viewModel.points.subscribe((points) => {
21
+ this.setPoints(points);
22
+ });
23
+ }
24
+ }
25
+ setPoints(points) {
26
+ if (points) {
27
+ this.element.setAttribute("points", points.map((point) => { return point.x + "," + point.y; }).join(" "));
28
+ }
29
+ else {
30
+ this.element.removeAttribute("points");
31
+ }
32
+ }
33
+ }
34
+ //# sourceMappingURL=Polyline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Polyline.js","sourceRoot":"","sources":["../../../../src/controls/svg/Polyline/Polyline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAoB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAgB,MAAM,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AAO/D,MAAM,OAAO,YAAa,SAAQ,IAA8B;IAC5D,YAAY,SAAmC;QAC3C,KAAK,CACD;YACI,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,eAAe,CACtB;gBACI,QAAQ,EAAE,SAAS;aACtB,EACD,SAAS,CACZ;SACJ,CACJ,CAAC;IACN,CAAC;IAED,KAAK;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YAClC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;gBAClC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAEO,SAAS,CAAC,MAAuB;QACrC,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5G;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAC1C;IACL,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { View } from "../../../framework/View";
2
+ import { ViewModelOptions } from "../../../framework/ViewModel";
3
+ export interface RectangleViewModelOptions extends ViewModelOptions {
4
+ }
5
+ export declare class RectangleView extends View<RectangleViewModelOptions> {
6
+ constructor(viewModel: RectangleViewModelOptions);
7
+ }
@@ -1,7 +1,7 @@
1
1
  import { View } from "../../../framework/View";
2
2
  import { extendViewModel } from "../../../framework/ViewModel";
3
3
  import { svgNamespace } from "../svg";
4
- export class RectView extends View {
4
+ export class RectangleView extends View {
5
5
  constructor(viewModel) {
6
6
  super({
7
7
  tagName: "rect",
@@ -12,4 +12,4 @@ export class RectView extends View {
12
12
  });
13
13
  }
14
14
  }
15
- //# sourceMappingURL=Rect.js.map
15
+ //# sourceMappingURL=Rectangle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rectangle.js","sourceRoot":"","sources":["../../../../src/controls/svg/Rectangle/Rectangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAoB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,MAAM,OAAO,aAAc,SAAQ,IAA+B;IAC9D,YAAY,SAAoC;QAC5C,KAAK,CACD;YACI,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,eAAe,CACtB;gBACI,QAAQ,EAAE,WAAW;aACxB,EACD,SAAS,CACZ;SACJ,CACJ,CAAC;IACN,CAAC;CACJ"}
@@ -1,5 +1,9 @@
1
+ export * from "./Circle/Circle";
1
2
  export * from "./Ellipse/Ellipse";
3
+ export * from "./Group/Group";
2
4
  export * from "./Line/Line";
3
- export * from "./Rect/Rect";
5
+ export * from "./Polygon/Polygon";
6
+ export * from "./Polyline/Polyline";
7
+ export * from "./Rectangle/Rectangle";
4
8
  export * from "./Svg/Svg";
5
9
  export * from "./Text/Text";
@@ -1,6 +1,10 @@
1
+ export * from "./Circle/Circle";
1
2
  export * from "./Ellipse/Ellipse";
3
+ export * from "./Group/Group";
2
4
  export * from "./Line/Line";
3
- export * from "./Rect/Rect";
5
+ export * from "./Polygon/Polygon";
6
+ export * from "./Polyline/Polyline";
7
+ export * from "./Rectangle/Rectangle";
4
8
  export * from "./Svg/Svg";
5
9
  export * from "./Text/Text";
6
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/svg/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/svg/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -1 +1,5 @@
1
1
  export declare const svgNamespace = "http://www.w3.org/2000/svg";
2
+ export interface SvgPoint {
3
+ x: number;
4
+ y: number;
5
+ }
@@ -1,7 +1,9 @@
1
1
  import "tocca";
2
2
  import { ObservableArray, Computed } from "knockout";
3
3
  import { ViewModel } from "./ViewModel";
4
- type TagName = "div" | "input" | "a" | "button" | "img" | "select" | "pre" | "form" | "span" | "textarea" | "text" | "ellipse" | "line" | "rect" | "svg";
4
+ type HtmlTagName = "div" | "input" | "a" | "button" | "img" | "select" | "pre" | "form" | "span" | "textarea";
5
+ type SvgTagName = "svg" | "circle" | "ellipse" | "g" | "line" | "polygon" | "polyline" | "rect" | "text";
6
+ type TagName = HtmlTagName | SvgTagName;
5
7
  export interface IView {
6
8
  render(): HTMLElement;
7
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"View.js","sourceRoot":"","sources":["../../src/framework/View.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,CAAC;AACf,OAAO,EAAE,MAAM,EAAE,cAAc,EAA6B,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAa,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAgBjE,MAAM,OAAO,IAAI;IACb,YAAY,OAAgC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAGgB,OAAO,CAAU;IACjB,SAAS,CAAS;IAClB,eAAe,CAAiE;IACzF,QAAQ,GAAG,IAAI,KAAK,EAAS,CAAC;IAG9B,aAAa;QACjB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAE3D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBAChC,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;SAC9C;IACL,CAAC;IAGS,OAAO,CAAc;IACZ,SAAS,CAAa;IAE/B,KAAK;QACX,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QAGD,IAAI,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YACtC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACxC,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAES,MAAM;QACZ,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aACzB;iBAAM;gBACH,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;oBAC5B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACxD;aACJ;YAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;IACL,CAAC;IAES,QAAQ,CAAC,KAAY;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,WAAW,CAAC,GAAG,QAAsB;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,KAAK;QACX,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAID,MAAM;QACF,IAAI,IAAI,CAAC,OAAO,EAAE;YAEd,IAAI,CAAC,MAAM,EAAE,CAAC;SACjB;QAGD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;YAElC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAgB,CAAC;aACxF;iBAAM;gBACH,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACvD;YAGD,IAAI,CAAC,KAAK,EAAE,CAAC;YAGb,OAAO,IAAI,CAAC,OAAO,CAAC;SACvB;QAED,MAAM,yDAAyD,CAAC;IACpE,CAAC;CAEJ;AAID,MAAM,CAAC,IAAI,cAAc,GAAG,IAAI,GAAG,EAAY,CAAC;AAEhD,MAAM,UAAU,YAAY,CAAC,SAAS,EAAE,QAAa;IACjD,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,SAAoB;IACxC,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE;QACpC,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,SAAS,EAAE;YAEhB,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;SAC9B;QACD,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1B;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,SAAoB;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;QACrB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;KACxB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"View.js","sourceRoot":"","sources":["../../src/framework/View.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jpf",
3
- "version": "4.1.41",
3
+ "version": "4.1.43",
4
4
  "description": "Javascript Presentation Foundation",
5
5
  "keywords": [
6
6
  "mvvm",
@@ -1,7 +0,0 @@
1
- import { View } from "../../../framework/View";
2
- import { ViewModelOptions } from "../../../framework/ViewModel";
3
- export interface RectViewModelOptions extends ViewModelOptions {
4
- }
5
- export declare class RectView extends View<RectViewModelOptions> {
6
- constructor(viewModel: RectViewModelOptions);
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Rect.js","sourceRoot":"","sources":["../../../../src/controls/svg/Rect/Rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAoB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,MAAM,OAAO,QAAS,SAAQ,IAA0B;IACpD,YAAY,SAA+B;QACvC,KAAK,CACD;YACI,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,eAAe,CACtB;gBACI,QAAQ,EAAE,WAAW;aACxB,EACD,SAAS,CACZ;SACJ,CACJ,CAAC;IACN,CAAC;CACJ"}