jpf-mobx 1.0.29 → 1.0.30

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,16 @@
1
+ import { Properties, IProperties } from "../../../framework/properties";
2
+ import { Element } from "../../../framework/element";
3
+ import { Subscribable } from "../../../framework/observable";
4
+ export interface IButtonProperties extends IProperties {
5
+ content?: string | Properties | Subscribable<string | Properties>;
6
+ }
7
+ export declare class ButtonView extends Element<IButtonProperties> {
8
+ constructor(properties: IButtonProperties);
9
+ build(): void;
10
+ private buildContent;
11
+ }
12
+ export declare function buttonView(properties: IButtonProperties): ButtonView;
13
+ export declare class ButtonProperties extends Properties implements IButtonProperties {
14
+ constructor(properties: IButtonProperties);
15
+ content?: string | Properties | Subscribable<string | Properties>;
16
+ }
@@ -1 +1,50 @@
1
+ import { Properties, extendProperties } from "../../../framework/properties";
2
+ import { Element, getElement, registerElement } from "../../../framework/element";
3
+ import { isSubscribable, unwrap, reaction } from "../../../framework/observable";
4
+ export class ButtonView extends Element {
5
+ constructor(properties) {
6
+ super({
7
+ tagName: "button",
8
+ properties: extendProperties(properties, {
9
+ elementType: "Button"
10
+ }, true)
11
+ });
12
+ }
13
+ build() {
14
+ super.build();
15
+ const viewModel = this.properties;
16
+ if (viewModel.content) {
17
+ this.buildContent(unwrap(viewModel.content));
18
+ if (isSubscribable(viewModel.content)) {
19
+ this.disposers.push(reaction(() => {
20
+ return unwrap(viewModel.content);
21
+ }, (content) => {
22
+ this.buildContent(content);
23
+ }));
24
+ }
25
+ }
26
+ }
27
+ buildContent(content) {
28
+ if (content == null || content === undefined) {
29
+ this.element.innerText = null;
30
+ }
31
+ else if (typeof content === "string") {
32
+ this.element.innerText = content;
33
+ }
34
+ else if (content instanceof Properties) {
35
+ this.setChildren(getElement(content));
36
+ }
37
+ }
38
+ }
39
+ export function buttonView(properties) {
40
+ return new ButtonView(properties);
41
+ }
42
+ export class ButtonProperties extends Properties {
43
+ constructor(properties) {
44
+ super();
45
+ this.setProperties(this, properties);
46
+ }
47
+ content;
48
+ }
49
+ registerElement(ButtonProperties.prototype.constructor, ButtonView);
1
50
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../src/controls/html/Button/Button.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../src/controls/html/Button/Button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAgB,cAAc,EAAG,MAAM,EAAE,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAM/F,MAAM,OAAO,UAAW,SAAQ,OAA0B;IACtD,YAAY,UAA6B;QACrC,KAAK,CACD;YACI,OAAO,EAAE,QAAQ;YACjB,UAAU,EAAE,gBAAgB,CACxB,UAAU,EACV;gBACI,WAAW,EAAE,QAAQ;aACxB,EACD,IAAI,CACP;SACJ,CACJ,CAAC;IACN,CAAC;IAED,KAAK;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,SAAS,CAAC,OAAO,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAE7C,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;gBACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,QAAQ,CACJ,GAAG,EAAE;oBACD,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrC,CAAC,EACD,CAAC,OAAO,EAAE,EAAE;oBACR,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,CACJ,CACJ,CAAC;aACL;SACJ;IACL,CAAC;IAEO,YAAY,CAAC,OAA4B;QAC7C,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;SACjC;aACI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;SACpC;aACI,IAAI,OAAO,YAAY,UAAU,EAAE;YACpC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAqB,CAAC,CAAC,CAAC;SACvD;IACL,CAAC;CACJ;AAED,MAAM,UAAU,UAAU,CAAC,UAA6B;IACpD,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC5C,YAAY,UAA6B;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAA2D;CACrE;AAED,eAAe,CACX,gBAAgB,CAAC,SAAS,CAAC,WAAW,EACtC,UAAU,CACb,CAAC"}
@@ -7,7 +7,7 @@ export class SelectView extends Element {
7
7
  tagName: "select",
8
8
  properties: extendProperties(properties, {
9
9
  elementType: "Select"
10
- })
10
+ }, true)
11
11
  });
12
12
  }
13
13
  build() {
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/controls/html/Select/Select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/controls/html/Select/Select.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ export * from "./Button/Button";
1
2
  export * from "./Div/Div";
2
3
  export * from "./Image/Image";
4
+ export * from "./Input/Input";
5
+ export * from "./Select/Select";
3
6
  export * from "./Span/Span";
@@ -1,4 +1,7 @@
1
+ export * from "./Button/Button";
1
2
  export * from "./Div/Div";
2
3
  export * from "./Image/Image";
4
+ export * from "./Input/Input";
5
+ export * from "./Select/Select";
3
6
  export * from "./Span/Span";
4
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/html/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/html/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jpf-mobx",
3
- "version": "1.0.29",
3
+ "version": "1.0.30",
4
4
  "description": "Javascript Presentation Foundation with mobx state management",
5
5
  "keywords": [
6
6
  "mvvm",
@@ -1,70 +1,75 @@
1
- //import { unwrap, Subscribable, isSubscribable } from "knockout";
2
- //import { ViewModel, Properties, extendProperties } from "../../../framework/ViewModel"
3
- //import { View, getView, registerView } from "../../../framework/View";
1
+ import { Properties, IProperties, extendProperties } from "../../../framework/properties"
2
+ import { Element, getElement, registerElement } from "../../../framework/element";
3
+ import { Subscribable, isSubscribable , unwrap, reaction} from "../../../framework/observable";
4
4
 
5
- //export interface ButtonProperties extends Properties {
6
- // content?: string | ViewModel | Subscribable<string | ViewModel>;
7
- //}
5
+ export interface IButtonProperties extends IProperties {
6
+ content?: string | Properties | Subscribable<string | Properties>;
7
+ }
8
8
 
9
- //export class ButtonView extends View<ButtonProperties> {
10
- // constructor(properties: ButtonProperties) {
11
- // super(
12
- // {
13
- // tagName: "button",
14
- // properties: extendProperties(
15
- // {
16
- // viewType: "Button"
17
- // },
18
- // properties
19
- // )
20
- // }
21
- // );
22
- // }
9
+ export class ButtonView extends Element<IButtonProperties> {
10
+ constructor(properties: IButtonProperties) {
11
+ super(
12
+ {
13
+ tagName: "button",
14
+ properties: extendProperties(
15
+ properties,
16
+ {
17
+ elementType: "Button"
18
+ },
19
+ true
20
+ )
21
+ }
22
+ );
23
+ }
23
24
 
24
- // build(): void {
25
- // super.build();
25
+ build(): void {
26
+ super.build();
26
27
 
27
- // const viewModel = this.properties;
28
- // if (viewModel.content) {
29
- // if (isSubscribable(viewModel.content)) {
30
- // this.buildContent(unwrap(viewModel.content));
31
- // this.subscriptions.push(
32
- // viewModel.content.subscribe((content) => {
33
- // this.buildContent(content);
34
- // })
35
- // );
36
- // } else {
37
- // this.buildContent(viewModel.content);
38
- // }
39
- // }
40
- // }
28
+ const viewModel = this.properties;
29
+ if (viewModel.content) {
30
+ this.buildContent(unwrap(viewModel.content));
41
31
 
42
- // private buildContent(content: string | ViewModel) {
43
- // if (content == null || content === undefined) {
44
- // this.element.innerText = null;
45
- // }
46
- // else if (typeof content === "string") {
47
- // this.element.innerText = content;
48
- // }
49
- // else if (content instanceof ViewModel) {
50
- // this.setChildren(getView(content as ViewModel));
51
- // }
52
- // }
53
- //}
32
+ if (isSubscribable(viewModel.content)) {
33
+ this.disposers.push(
34
+ reaction(
35
+ () => {
36
+ return unwrap(viewModel.content);
37
+ },
38
+ (content) => {
39
+ this.buildContent(content);
40
+ }
41
+ )
42
+ );
43
+ }
44
+ }
45
+ }
54
46
 
55
- //export function buttonView(properties: ButtonProperties): ButtonView {
56
- // return new ButtonView(properties);
57
- //}
47
+ private buildContent(content: string | Properties) {
48
+ if (content == null || content === undefined) {
49
+ this.element.innerText = null;
50
+ }
51
+ else if (typeof content === "string") {
52
+ this.element.innerText = content;
53
+ }
54
+ else if (content instanceof Properties) {
55
+ this.setChildren(getElement(content as Properties));
56
+ }
57
+ }
58
+ }
58
59
 
59
- //export class ButtonViewModel extends ViewModel implements ButtonProperties{
60
- // constructor(properties: ButtonProperties) {
61
- // super();
62
- // this.setProperties(this, properties);
63
- // }
64
- // content?: string | ViewModel | Subscribable<string | ViewModel>;
65
- //}
60
+ export function buttonView(properties: IButtonProperties): ButtonView {
61
+ return new ButtonView(properties);
62
+ }
66
63
 
67
- //registerView(
68
- // ButtonViewModel,
69
- // ButtonView
70
- //);
64
+ export class ButtonProperties extends Properties implements IButtonProperties {
65
+ constructor(properties: IButtonProperties) {
66
+ super();
67
+ this.setProperties(this, properties);
68
+ }
69
+ content?: string | Properties | Subscribable<string | Properties>;
70
+ }
71
+
72
+ registerElement(
73
+ ButtonProperties.prototype.constructor,
74
+ ButtonView
75
+ );
@@ -21,7 +21,8 @@ export class SelectView<TItem, TValue, TSetter = TValue> extends Element<ISelect
21
21
  properties,
22
22
  {
23
23
  elementType: "Select"
24
- }
24
+ },
25
+ true
25
26
  )
26
27
  }
27
28
  );
@@ -1,6 +1,6 @@
1
- //export * from "./Button/Button";
1
+ export * from "./Button/Button";
2
2
  export * from "./Div/Div";
3
3
  export * from "./Image/Image";
4
- //export * from "./Input/Input";
5
- //export * from "./Select/Select";
4
+ export * from "./Input/Input";
5
+ export * from "./Select/Select";
6
6
  export * from "./Span/Span";