jpf 4.1.37 → 4.1.39
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.
- package/dist/controls/html/Input/Input.d.ts +6 -3
- package/dist/controls/html/Input/Input.js +10 -5
- package/dist/controls/html/Input/Input.js.map +1 -1
- package/dist/controls/index.d.ts +2 -0
- package/dist/controls/index.js +2 -0
- package/dist/controls/index.js.map +1 -1
- package/dist/controls/svg/Ellipse/Ellipse.d.ts +7 -0
- package/dist/controls/svg/Ellipse/Ellipse.js +15 -0
- package/dist/controls/svg/Ellipse/Ellipse.js.map +1 -0
- package/dist/controls/svg/Line/Line.d.ts +17 -0
- package/dist/controls/svg/Line/Line.js +76 -0
- package/dist/controls/svg/Line/Line.js.map +1 -0
- package/dist/controls/svg/Rect/Rect.d.ts +7 -0
- package/dist/controls/svg/Rect/Rect.js +15 -0
- package/dist/controls/svg/Rect/Rect.js.map +1 -0
- package/dist/controls/svg/Svg/Svg.d.ts +9 -0
- package/dist/controls/svg/Svg/Svg.js +16 -0
- package/dist/controls/svg/Svg/Svg.js.map +1 -0
- package/dist/controls/svg/Text/Text.d.ts +7 -0
- package/dist/controls/svg/Text/Text.js +15 -0
- package/dist/controls/svg/Text/Text.js.map +1 -0
- package/dist/controls/svg/index.d.ts +5 -0
- package/dist/controls/svg/index.js +6 -0
- package/dist/controls/svg/index.js.map +1 -0
- package/dist/controls/svg/svg.d.ts +1 -0
- package/dist/controls/svg/svg.js +2 -0
- package/dist/controls/svg/svg.js.map +1 -0
- package/dist/framework/View.d.ts +3 -1
- package/dist/framework/View.js +9 -3
- package/dist/framework/View.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,12 +2,15 @@ import { View } from "../../../framework/View";
|
|
|
2
2
|
import { ViewModel, ViewModelOptions } from "../../../framework/ViewModel";
|
|
3
3
|
import { ObservableProperty } from "../../../framework/observable";
|
|
4
4
|
export type InputType = "text" | "checkbox" | "file" | "integer" | "float" | "range";
|
|
5
|
-
export
|
|
5
|
+
export declare enum ValueUpdateModeEnum {
|
|
6
|
+
OnChange = 1,
|
|
7
|
+
OnInput = 2
|
|
8
|
+
}
|
|
6
9
|
export interface InputViewModelOptions<TValue> extends ViewModelOptions {
|
|
7
10
|
value?: TValue | ObservableProperty<TValue>;
|
|
8
11
|
inputValidator?: (event: Event, inputViewModel: InputViewModelOptions<TValue>, value: string) => Promise<boolean>;
|
|
9
12
|
placeholder?: string | ObservableProperty<string>;
|
|
10
|
-
valueUpdateMode?:
|
|
13
|
+
valueUpdateMode?: ValueUpdateModeEnum;
|
|
11
14
|
min?: number;
|
|
12
15
|
max?: number;
|
|
13
16
|
step?: number;
|
|
@@ -18,7 +21,7 @@ declare abstract class InputViewModel<TValue> extends ViewModel {
|
|
|
18
21
|
readonly value: ObservableProperty<TValue>;
|
|
19
22
|
readonly inputValidator: (event: Event, inputViewModel: InputViewModelOptions<TValue>, value: string) => Promise<boolean>;
|
|
20
23
|
readonly placeholder: ObservableProperty<string>;
|
|
21
|
-
readonly valueUpdateMode:
|
|
24
|
+
readonly valueUpdateMode: ValueUpdateModeEnum;
|
|
22
25
|
readonly type: InputType;
|
|
23
26
|
}
|
|
24
27
|
export declare class InputTextViewModel extends InputViewModel<string> {
|
|
@@ -4,6 +4,11 @@ import { ViewModel, extendViewModel, isNullOrUndefined } from "../../../framewor
|
|
|
4
4
|
import { observableProperty, isObservableProperty } from "../../../framework/observable";
|
|
5
5
|
import { isInteger } from "../../../utilities/integer/integer";
|
|
6
6
|
import { isFloat } from "../../../utilities/float/float";
|
|
7
|
+
export var ValueUpdateModeEnum;
|
|
8
|
+
(function (ValueUpdateModeEnum) {
|
|
9
|
+
ValueUpdateModeEnum[ValueUpdateModeEnum["OnChange"] = 1] = "OnChange";
|
|
10
|
+
ValueUpdateModeEnum[ValueUpdateModeEnum["OnInput"] = 2] = "OnInput";
|
|
11
|
+
})(ValueUpdateModeEnum || (ValueUpdateModeEnum = {}));
|
|
7
12
|
class InputViewModel extends ViewModel {
|
|
8
13
|
constructor(inputType, options) {
|
|
9
14
|
super(options);
|
|
@@ -24,7 +29,7 @@ class InputViewModel extends ViewModel {
|
|
|
24
29
|
value;
|
|
25
30
|
inputValidator;
|
|
26
31
|
placeholder;
|
|
27
|
-
valueUpdateMode =
|
|
32
|
+
valueUpdateMode = ValueUpdateModeEnum.OnChange;
|
|
28
33
|
type;
|
|
29
34
|
}
|
|
30
35
|
export class InputTextViewModel extends InputViewModel {
|
|
@@ -65,7 +70,7 @@ export class InputView extends View {
|
|
|
65
70
|
super.build();
|
|
66
71
|
const viewModel = this.viewModel;
|
|
67
72
|
if (!viewModel.valueUpdateMode) {
|
|
68
|
-
viewModel.valueUpdateMode =
|
|
73
|
+
viewModel.valueUpdateMode = ValueUpdateModeEnum.OnChange;
|
|
69
74
|
}
|
|
70
75
|
const input = this.element;
|
|
71
76
|
input.type = viewModel.type;
|
|
@@ -114,10 +119,10 @@ export class InputView extends View {
|
|
|
114
119
|
}
|
|
115
120
|
});
|
|
116
121
|
}
|
|
117
|
-
if (this.viewModel.valueUpdateMode ===
|
|
122
|
+
if (this.viewModel.valueUpdateMode === ValueUpdateModeEnum.OnChange) {
|
|
118
123
|
this.element.addEventListener("change", handleEvent);
|
|
119
124
|
}
|
|
120
|
-
if (this.viewModel.valueUpdateMode ===
|
|
125
|
+
if (this.viewModel.valueUpdateMode === ValueUpdateModeEnum.OnInput || viewModel.inputValidator) {
|
|
121
126
|
this.element.addEventListener("input", handleEvent);
|
|
122
127
|
}
|
|
123
128
|
async function handleEvent(event) {
|
|
@@ -161,7 +166,7 @@ export class InputView extends View {
|
|
|
161
166
|
}
|
|
162
167
|
}
|
|
163
168
|
if (isObservableProperty(viewModel.value)) {
|
|
164
|
-
if ((event.type === "change" && viewModel.valueUpdateMode ===
|
|
169
|
+
if ((event.type === "change" && viewModel.valueUpdateMode === ValueUpdateModeEnum.OnChange) || (event.type === "input" && viewModel.valueUpdateMode === ValueUpdateModeEnum.OnInput)) {
|
|
165
170
|
viewModel.value.set(newValue);
|
|
166
171
|
}
|
|
167
172
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/controls/html/Input/Input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAoB,eAAe,EAAG,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAC/G,OAAO,EAAsB,kBAAkB,EAAE,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/controls/html/Input/Input.ts"],"names":[],"mappings":"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"}
|
package/dist/controls/index.d.ts
CHANGED
|
@@ -4,9 +4,11 @@ import * as html from "./html/index";
|
|
|
4
4
|
import * as jsonViewAwesome from "./jsonViewAwesome/index";
|
|
5
5
|
import * as kendo from "./kendo/index";
|
|
6
6
|
import * as leaflet from "./leaflet/index";
|
|
7
|
+
import * as svg from "./svg/index";
|
|
7
8
|
export { codeMirror };
|
|
8
9
|
export { custom };
|
|
9
10
|
export { html };
|
|
10
11
|
export { jsonViewAwesome };
|
|
11
12
|
export { kendo };
|
|
12
13
|
export { leaflet };
|
|
14
|
+
export { svg };
|
package/dist/controls/index.js
CHANGED
|
@@ -4,10 +4,12 @@ import * as html from "./html/index";
|
|
|
4
4
|
import * as jsonViewAwesome from "./jsonViewAwesome/index";
|
|
5
5
|
import * as kendo from "./kendo/index";
|
|
6
6
|
import * as leaflet from "./leaflet/index";
|
|
7
|
+
import * as svg from "./svg/index";
|
|
7
8
|
export { codeMirror };
|
|
8
9
|
export { custom };
|
|
9
10
|
export { html };
|
|
10
11
|
export { jsonViewAwesome };
|
|
11
12
|
export { kendo };
|
|
12
13
|
export { leaflet };
|
|
14
|
+
export { svg };
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controls/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,eAAe,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controls/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,eAAe,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,OAAO,EAAE,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { View } from "../../../framework/View";
|
|
2
|
+
import { ViewModelOptions } from "../../../framework/ViewModel";
|
|
3
|
+
export interface EllipseViewModelOptions extends ViewModelOptions {
|
|
4
|
+
}
|
|
5
|
+
export declare class EllipseView extends View<EllipseViewModelOptions> {
|
|
6
|
+
constructor(viewModel: EllipseViewModelOptions);
|
|
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 EllipseView extends View {
|
|
5
|
+
constructor(viewModel) {
|
|
6
|
+
super({
|
|
7
|
+
tagName: "ellipse",
|
|
8
|
+
namespace: svgNamespace,
|
|
9
|
+
viewModel: extendViewModel({
|
|
10
|
+
viewType: "Ellipse"
|
|
11
|
+
}, viewModel)
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=Ellipse.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { View } from "../../../framework/View";
|
|
2
|
+
import { ViewModelOptions } from "../../../framework/ViewModel";
|
|
3
|
+
import { Subscribable } from "knockout";
|
|
4
|
+
export interface LineViewModelOptions extends ViewModelOptions {
|
|
5
|
+
x1: number | string | Subscribable<number | string>;
|
|
6
|
+
x2: number | string | Subscribable<number | string>;
|
|
7
|
+
y1: number | string | Subscribable<number | string>;
|
|
8
|
+
y2: number | string | Subscribable<number | string>;
|
|
9
|
+
}
|
|
10
|
+
export declare class LineView extends View<LineViewModelOptions> {
|
|
11
|
+
constructor(viewModel: LineViewModelOptions);
|
|
12
|
+
build(): void;
|
|
13
|
+
private setX1;
|
|
14
|
+
private setX2;
|
|
15
|
+
private setY1;
|
|
16
|
+
private setY2;
|
|
17
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { View } from "../../../framework/View";
|
|
2
|
+
import { extendViewModel } from "../../../framework/ViewModel";
|
|
3
|
+
import { isSubscribable, unwrap } from "knockout";
|
|
4
|
+
import { svgNamespace } from "../svg";
|
|
5
|
+
export class LineView extends View {
|
|
6
|
+
constructor(viewModel) {
|
|
7
|
+
super({
|
|
8
|
+
tagName: "line",
|
|
9
|
+
namespace: svgNamespace,
|
|
10
|
+
viewModel: extendViewModel({
|
|
11
|
+
viewType: "Text"
|
|
12
|
+
}, viewModel)
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
build() {
|
|
16
|
+
super.build();
|
|
17
|
+
const viewModel = this.viewModel;
|
|
18
|
+
this.setX1(unwrap(viewModel.x1));
|
|
19
|
+
if (isSubscribable(viewModel.x1)) {
|
|
20
|
+
viewModel.x1.subscribe((x1) => {
|
|
21
|
+
this.setX1(x1);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
this.setX2(unwrap(viewModel.x2));
|
|
25
|
+
if (isSubscribable(viewModel.x2)) {
|
|
26
|
+
viewModel.x2.subscribe((x2) => {
|
|
27
|
+
this.setX2(x2);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
this.setY1(unwrap(viewModel.y1));
|
|
31
|
+
if (isSubscribable(viewModel.y1)) {
|
|
32
|
+
viewModel.y1.subscribe((y1) => {
|
|
33
|
+
this.setY1(y1);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
this.setY2(unwrap(viewModel.y2));
|
|
37
|
+
if (isSubscribable(viewModel.y2)) {
|
|
38
|
+
viewModel.y2.subscribe((y2) => {
|
|
39
|
+
this.setY2(y2);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
setX1(x1) {
|
|
44
|
+
if (x1) {
|
|
45
|
+
this.element.setAttribute("x1", x1.toString());
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.element.removeAttribute("x1");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
setX2(x2) {
|
|
52
|
+
if (x2) {
|
|
53
|
+
this.element.setAttribute("x2", x2.toString());
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this.element.removeAttribute("x2");
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
setY1(y1) {
|
|
60
|
+
if (y1) {
|
|
61
|
+
this.element.setAttribute("y1", y1.toString());
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
this.element.removeAttribute("y1");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
setY2(y2) {
|
|
68
|
+
if (y2) {
|
|
69
|
+
this.element.setAttribute("y2", y2.toString());
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.element.removeAttribute("y2");
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=Line.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Line.js","sourceRoot":"","sources":["../../../../src/controls/svg/Line/Line.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 RectViewModelOptions extends ViewModelOptions {
|
|
4
|
+
}
|
|
5
|
+
export declare class RectView extends View<RectViewModelOptions> {
|
|
6
|
+
constructor(viewModel: RectViewModelOptions);
|
|
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 RectView extends View {
|
|
5
|
+
constructor(viewModel) {
|
|
6
|
+
super({
|
|
7
|
+
tagName: "rect",
|
|
8
|
+
namespace: svgNamespace,
|
|
9
|
+
viewModel: extendViewModel({
|
|
10
|
+
viewType: "Rectangle"
|
|
11
|
+
}, viewModel)
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=Rect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { View, IView } from "../../../framework/View";
|
|
2
|
+
import { ViewModelOptions } from "../../../framework/ViewModel";
|
|
3
|
+
import { ObservableArray, Computed } from "knockout";
|
|
4
|
+
export interface SvgViewModelOptions extends ViewModelOptions {
|
|
5
|
+
children?: Array<IView> | ObservableArray<IView> | Computed<Array<IView>>;
|
|
6
|
+
}
|
|
7
|
+
export declare class SvgView extends View<SvgViewModelOptions> {
|
|
8
|
+
constructor(viewModel: SvgViewModelOptions);
|
|
9
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { View } from "../../../framework/View";
|
|
2
|
+
import { extendViewModel } from "../../../framework/ViewModel";
|
|
3
|
+
import { svgNamespace } from "../svg";
|
|
4
|
+
export class SvgView extends View {
|
|
5
|
+
constructor(viewModel) {
|
|
6
|
+
super({
|
|
7
|
+
tagName: "svg",
|
|
8
|
+
namespace: svgNamespace,
|
|
9
|
+
viewModel: extendViewModel({
|
|
10
|
+
viewType: "Svg"
|
|
11
|
+
}, viewModel),
|
|
12
|
+
children: viewModel.children
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=Svg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Svg.js","sourceRoot":"","sources":["../../../../src/controls/svg/Svg/Svg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAS,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAoB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,MAAM,OAAO,OAAQ,SAAQ,IAAyB;IAClD,YAAY,SAA8B;QACtC,KAAK,CACD;YACI,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,eAAe,CACtB;gBACI,QAAQ,EAAE,KAAK;aAClB,EACD,SAAS,CACZ;YACD,QAAQ,EAAE,SAAS,CAAC,QAAQ;SAC/B,CACJ,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { View } from "../../../framework/View";
|
|
2
|
+
import { ViewModelOptions } from "../../../framework/ViewModel";
|
|
3
|
+
export interface TextViewModelOptions extends ViewModelOptions {
|
|
4
|
+
}
|
|
5
|
+
export declare class TextView extends View<TextViewModelOptions> {
|
|
6
|
+
constructor(viewModel: TextViewModelOptions);
|
|
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 TextView extends View {
|
|
5
|
+
constructor(viewModel) {
|
|
6
|
+
super({
|
|
7
|
+
tagName: "text",
|
|
8
|
+
namespace: svgNamespace,
|
|
9
|
+
viewModel: extendViewModel({
|
|
10
|
+
viewType: "Text"
|
|
11
|
+
}, viewModel)
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=Text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../src/controls/svg/Text/Text.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,MAAM;aACnB,EACD,SAAS,CACZ;SACJ,CACJ,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const svgNamespace = "http://www.w3.org/2000/svg";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg.js","sourceRoot":"","sources":["../../../src/controls/svg/svg.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,4BAA4B,CAAC"}
|
package/dist/framework/View.d.ts
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
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";
|
|
4
|
+
type TagName = "div" | "input" | "a" | "button" | "img" | "select" | "pre" | "form" | "span" | "textarea" | "text" | "ellipse" | "line" | "rect" | "svg";
|
|
5
5
|
export interface IView {
|
|
6
6
|
render(): HTMLElement;
|
|
7
7
|
}
|
|
8
8
|
export interface ViewOptions<TViewModel> {
|
|
9
9
|
tagName: TagName;
|
|
10
|
+
namespace?: string;
|
|
10
11
|
viewModel?: TViewModel;
|
|
11
12
|
children?: Array<IView> | ObservableArray<IView> | Computed<Array<IView>>;
|
|
12
13
|
}
|
|
13
14
|
export declare class View<TViewModel = any> implements IView {
|
|
14
15
|
constructor(options: ViewOptions<TViewModel>);
|
|
15
16
|
private readonly tagName;
|
|
17
|
+
private readonly namespace;
|
|
16
18
|
private readonly optionsChildren;
|
|
17
19
|
private children;
|
|
18
20
|
private buildChildren;
|
package/dist/framework/View.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "tocca";
|
|
2
|
-
import { unwrap,
|
|
2
|
+
import { unwrap, isSubscribable } from "knockout";
|
|
3
3
|
import { applyViewModelToElement } from "./ViewModel";
|
|
4
4
|
export class View {
|
|
5
5
|
constructor(options) {
|
|
@@ -9,6 +9,7 @@ export class View {
|
|
|
9
9
|
this.children = unwrap(options.children);
|
|
10
10
|
}
|
|
11
11
|
tagName;
|
|
12
|
+
namespace;
|
|
12
13
|
optionsChildren;
|
|
13
14
|
children = new Array();
|
|
14
15
|
buildChildren() {
|
|
@@ -27,7 +28,7 @@ export class View {
|
|
|
27
28
|
if (this.children) {
|
|
28
29
|
this.buildChildren();
|
|
29
30
|
}
|
|
30
|
-
if (
|
|
31
|
+
if (isSubscribable(this.optionsChildren)) {
|
|
31
32
|
this.optionsChildren.subscribe((children) => {
|
|
32
33
|
this.setChildren(...children);
|
|
33
34
|
});
|
|
@@ -71,7 +72,12 @@ export class View {
|
|
|
71
72
|
this.remove();
|
|
72
73
|
}
|
|
73
74
|
if (typeof this.build === "function") {
|
|
74
|
-
|
|
75
|
+
if (this.namespace) {
|
|
76
|
+
this.element = document.createElementNS(this.namespace, this.tagName);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this.element = document.createElement(this.tagName);
|
|
80
|
+
}
|
|
75
81
|
this.build();
|
|
76
82
|
return this.element;
|
|
77
83
|
}
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"View.js","sourceRoot":"","sources":["../../src/framework/View.ts"],"names":[],"mappings":"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"}
|