jpf-mobx 1.0.46 → 1.0.48

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.
@@ -20,7 +20,7 @@ declare class SelectElement<TItem, TValue, TSetter = TValue> extends Element<ISe
20
20
  export declare function selectElement<TItem, TValue, TSetter = TValue>(properties: ISelectProperties<TItem, TValue, TSetter>): SelectElement<TItem, TValue, TSetter>;
21
21
  export declare class SelectProperties<TItem, TValue, TSetter = TValue> extends Properties implements ISelectProperties<TItem, TValue, TSetter> {
22
22
  constructor(properties: ISelectProperties<TItem, TValue, TSetter>);
23
- value?: TValue | ObservableValue<TValue, TSetter>;
23
+ value?: TValue | ObservableValue<TValue>;
24
24
  items?: Array<TItem> | ObservableArray<TItem>;
25
25
  textFunction: (item: TItem) => string;
26
26
  valueFunction: (item: TItem) => TValue;
@@ -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,8 +1,10 @@
1
1
  import { computed, IObservableValue, IObservableArray as mobxObservableArray, ObservableMap as mobxObservableMap, ObservableSet as mobxObservableSet, action, CreateObservableOptions, IObservableMapInitialValues, IObservableSetInitialValues, IReactionPublic, IAutorunOptions, IReactionDisposer, IReactionOptions } from "mobx";
2
- export interface ObservableValue<TValue = any, TSetter = TValue> extends Subscribable<TValue> {
2
+ export interface ObservableValue<TValue = any> extends Subscribable<TValue> {
3
3
  setInternal(value: TValue): any;
4
4
  }
5
5
  export interface ObservableArray<TItem> extends mobxObservableArray<TItem> {
6
+ pushInternal(...items: TItem[]): number;
7
+ replaceInternal(newItems: TItem[]): TItem[];
6
8
  }
7
9
  export interface ObservableMap<TKey, TValue> extends mobxObservableMap<TKey, TValue> {
8
10
  }
@@ -12,8 +14,8 @@ export { computed, action };
12
14
  export declare function autorun(view: (r: IReactionPublic) => any, opts?: IAutorunOptions): IReactionDisposer;
13
15
  export declare function runInAction<T>(fn: () => T): T;
14
16
  export declare function reaction<T, FireImmediately extends boolean = false>(expression: (r: IReactionPublic) => T, effect: (arg: T, prev: FireImmediately extends true ? T | undefined : T, r: IReactionPublic) => void, opts?: IReactionOptions<T, FireImmediately>): IReactionDisposer;
15
- export declare function observableValue<TValue, TSetter = TValue>(value?: null | TValue, setter?: (value: TSetter, internalProperty: ObservableValue<TValue>) => void): ObservableValue<TValue>;
16
- export declare function observableArray<TItem = any>(initialValues?: Array<TItem>, options?: CreateObservableOptions): mobxObservableArray<TItem>;
17
+ export declare function observableValue<TValue, TSetter = TValue>(value?: null | TValue, setter?: (value: TSetter, internalValue: ObservableValue<TValue>) => void, options?: CreateObservableOptions): ObservableValue<TValue>;
18
+ export declare function observableArray<TItem = any, TSetter = TItem>(initialValues?: Array<TItem>, setter?: (value: TSetter, internalArray: mobxObservableArray<TItem>) => void, options?: CreateObservableOptions): mobxObservableArray<TItem>;
17
19
  export declare function observableMap<TKey = any, TItem = any>(initialValues?: IObservableMapInitialValues<TKey, TItem>, options?: CreateObservableOptions): mobxObservableMap<TKey, TItem>;
18
20
  export declare function observableSet<TItem = any>(initialValues?: IObservableSetInitialValues<TItem>, options?: CreateObservableOptions): mobxObservableSet<TItem>;
19
21
  export interface Subscribable<TValue> extends IObservableValue<TValue> {
@@ -20,22 +20,43 @@ export function runInAction(fn) {
20
20
  export function reaction(expression, effect, opts) {
21
21
  return mobxReaction(expression, effect, opts);
22
22
  }
23
- export function observableValue(value, setter) {
24
- var internalProperty = observable.box(value);
25
- internalProperty.setInternal = internalProperty.set;
26
- internalProperty.set = (newValue, triggerSetter = true) => {
27
- if (setter && triggerSetter) {
28
- setter(newValue, internalProperty);
23
+ export function observableValue(value, setter, options) {
24
+ const internalValue = observable.box(value, options);
25
+ internalValue.setInternal = internalValue.set;
26
+ internalValue.set = (...items) => {
27
+ if (setter) {
28
+ setter(items, internalValue);
29
29
  }
30
30
  else {
31
- internalProperty.setInternal(newValue);
31
+ internalValue.setInternal(items);
32
32
  }
33
33
  };
34
- return internalProperty;
34
+ return internalValue;
35
35
  }
36
- export function observableArray(initialValues, options) {
36
+ export function observableArray(initialValues, setter, options) {
37
37
  options = setDefaultOptions(options, { deep: false });
38
- return observable.array(initialValues, options);
38
+ const internalArray = observable.array(initialValues, options);
39
+ internalArray.pushInternal = internalArray.push;
40
+ internalArray.replaceInternal = internalArray.replace;
41
+ internalArray.push = (...newValue) => {
42
+ if (setter) {
43
+ setter(newValue, internalArray);
44
+ }
45
+ else {
46
+ internalArray.pushInternal(newValue);
47
+ }
48
+ return 0;
49
+ };
50
+ internalArray.replace = (items) => {
51
+ if (setter) {
52
+ setter(items, internalArray);
53
+ }
54
+ else {
55
+ internalArray.replaceInternal(items);
56
+ }
57
+ return items;
58
+ };
59
+ return internalArray;
39
60
  }
40
61
  export function observableMap(initialValues, options) {
41
62
  options = setDefaultOptions(options, { deep: false });
@@ -1 +1 @@
1
- {"version":3,"file":"observable.js","sourceRoot":"","sources":["../../src/framework/observable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observable.js","sourceRoot":"","sources":["../../src/framework/observable.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jpf-mobx",
3
- "version": "1.0.46",
3
+ "version": "1.0.48",
4
4
  "description": "Javascript Presentation Foundation with mobx state management",
5
5
  "keywords": [
6
6
  "mvvm",
@@ -139,7 +139,7 @@ export class SelectProperties<TItem, TValue, TSetter = TValue> extends Propertie
139
139
  super();
140
140
  this.setProperties(this, properties);
141
141
  }
142
- value?: TValue | ObservableValue<TValue, TSetter>;
142
+ value?: TValue | ObservableValue<TValue>;
143
143
  items?: Array<TItem> | ObservableArray<TItem>;
144
144
  textFunction: (item: TItem) => string;
145
145
  valueFunction: (item: TItem) => TValue;
@@ -35,12 +35,13 @@ function setDefaultOptions<TOptions>(target: TOptions, source: TOptions): TOptio
35
35
 
36
36
  return target;
37
37
  }
38
- export interface ObservableValue<TValue = any, TSetter = TValue> extends Subscribable<TValue> {
38
+ export interface ObservableValue<TValue = any> extends Subscribable<TValue> {
39
39
  setInternal(value: TValue);
40
40
  }
41
41
 
42
42
  export interface ObservableArray<TItem> extends mobxObservableArray<TItem> {
43
-
43
+ pushInternal(...items: TItem[]): number;
44
+ replaceInternal(newItems: TItem[]): TItem[];
44
45
  }
45
46
 
46
47
  export interface ObservableMap<TKey, TValue> extends mobxObservableMap<TKey, TValue> {
@@ -65,26 +66,50 @@ export function reaction<T, FireImmediately extends boolean = false>(expression:
65
66
  return mobxReaction<T, FireImmediately>(expression, effect, opts);
66
67
  }
67
68
 
68
- export function observableValue<TValue, TSetter = TValue>(value?: null | TValue, setter?: (value: TSetter, internalProperty: ObservableValue<TValue>) => void): ObservableValue<TValue> {
69
- var internalProperty = observable.box(value) as ObservableValue<TValue>;
69
+ export function observableValue<TValue, TSetter = TValue>(value?: null | TValue, setter?: (value: TSetter, internalValue: ObservableValue<TValue>) => void, options?: CreateObservableOptions): ObservableValue<TValue> {
70
+ const internalValue = observable.box(value, options) as ObservableValue<TValue>;
70
71
 
71
72
 
72
- internalProperty.setInternal = internalProperty.set;
73
+ internalValue.setInternal = internalValue.set;
73
74
 
74
- internalProperty.set = (newValue: any, triggerSetter: boolean = true) => {
75
- if (setter && triggerSetter) {
76
- setter(newValue, internalProperty);
75
+ internalValue.set = (...items: any) => {
76
+ if (setter) {
77
+ setter(items, internalValue);
77
78
  } else {
78
- internalProperty.setInternal(newValue);
79
+ internalValue.setInternal(items);
79
80
  }
80
81
  };
81
82
 
82
- return internalProperty;
83
+ return internalValue;
83
84
  }
84
85
 
85
- export function observableArray<TItem = any>(initialValues?: Array<TItem>, options?: CreateObservableOptions): mobxObservableArray<TItem> {
86
+ export function observableArray<TItem = any, TSetter = TItem>(initialValues?: Array<TItem>, setter?: (value: TSetter, internalArray: mobxObservableArray<TItem>) => void, options?: CreateObservableOptions): mobxObservableArray<TItem> {
86
87
  options = setDefaultOptions(options, { deep: false });
87
- return observable.array(initialValues, options);
88
+
89
+ const internalArray = observable.array(initialValues, options) as ObservableArray<TItem>;
90
+ internalArray.pushInternal = internalArray.push;
91
+ internalArray.replaceInternal = internalArray.replace;
92
+
93
+ internalArray.push = (...newValue: any) => {
94
+ if (setter) {
95
+ setter(newValue, internalArray);
96
+ } else {
97
+ internalArray.pushInternal(newValue);
98
+ }
99
+ return 0;
100
+ }
101
+
102
+ internalArray.replace = (items: any) => {
103
+ if (setter) {
104
+ setter(items, internalArray);
105
+ } else {
106
+ internalArray.replaceInternal(items);
107
+ }
108
+ return items;
109
+ }
110
+
111
+
112
+ return internalArray;
88
113
  }
89
114
 
90
115
  export function observableMap<TKey = any, TItem = any>(initialValues?: IObservableMapInitialValues<TKey, TItem>, options?: CreateObservableOptions) {