cx 23.7.0 → 23.9.0

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/widgets.js CHANGED
@@ -8663,7 +8663,7 @@ var LookupField = /*#__PURE__*/ (function (_Field) {
8663
8663
  });
8664
8664
  }
8665
8665
  if (this.text) {
8666
- if (isAccessorChain(this.text)) this.value = bind(this.text);
8666
+ if (isAccessorChain(this.text)) this.text = bind(this.text);
8667
8667
  if (this.text.bind)
8668
8668
  b.push({
8669
8669
  local: this.text.bind,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cx",
3
- "version": "23.7.0",
3
+ "version": "23.9.0",
4
4
  "description": "Advanced JavaScript UI framework for admin and dashboard applications with ready to use grid, form and chart components.",
5
5
  "main": "index.js",
6
6
  "jsnext:main": "src/index.js",
@@ -52,7 +52,7 @@ export interface ViewMethods<D = Record> {
52
52
  mutate(path: Path, updateFn: (currentValue: any, ...args) => any, ...args): boolean;
53
53
  mutate<V>(path: AccessorChain<V>, updateFn: (currentValue: V, ...args) => V, ...args): boolean;
54
54
 
55
- ref<T = any>(path: string, defaultValue?: T): Ref<T>;
55
+ ref<T = any>(path: string | AccessorChain<T>, defaultValue?: T): Ref<T>;
56
56
  }
57
57
 
58
58
  export class View<D = any> implements ViewMethods<D> {
@@ -127,5 +127,5 @@ export class View<D = any> implements ViewMethods<D> {
127
127
 
128
128
  getMethods(): ViewMethods;
129
129
 
130
- ref<T = any>(path: string, defaultValue?: T): Ref<T>;
130
+ ref<T = any>(path: string | AccessorChain<T>, defaultValue?: T): Ref<T>;
131
131
  }
@@ -1,180 +1,182 @@
1
- import * as Cx from "../core";
2
-
3
- import { View } from "../data/View";
4
-
5
- export class Controller<D = any> {
6
- onInit?(): void;
7
-
8
- onExplore?(context?): void;
9
-
10
- onPrepare?(context?): void;
11
-
12
- onCleanup?(context?): void;
13
-
14
- onDestroy?(): void;
15
-
16
- init?(): void;
17
-
18
- store: View<D>;
19
- widget: any;
20
-
21
- addTrigger<V1>(name: string, args: [Cx.AccessorChain<V1>], callback: (v1: V1) => void, autoRun?: boolean): void;
22
- addTrigger<V1, V2>(
23
- name: string,
24
- args: [Cx.AccessorChain<V1>, Cx.AccessorChain<V2>],
25
- callback: (v1: V1, v2: V2) => void,
26
- autoRun?: boolean
27
- ): void;
28
- addTrigger<V1, V2, V3>(
29
- name: string,
30
- args: [Cx.AccessorChain<V1>, Cx.AccessorChain<V2>, Cx.AccessorChain<V3>],
31
- callback: (v1: V1, v2: V2, v3: V3) => void,
32
- autoRun?: boolean
33
- ): void;
34
- addTrigger<V1, V2, V3, V4>(
35
- name: string,
36
- args: [Cx.AccessorChain<V1>, Cx.AccessorChain<V2>, Cx.AccessorChain<V3>, Cx.AccessorChain<V4>],
37
- callback: (v1: V1, v2: V2, v3: V3, v4: V4) => void,
38
- autoRun?: boolean
39
- ): void;
40
- addTrigger<V1, V2, V3, V4, V5>(
41
- name: string,
42
- args: [
43
- Cx.AccessorChain<V1>,
44
- Cx.AccessorChain<V2>,
45
- Cx.AccessorChain<V3>,
46
- Cx.AccessorChain<V4>,
47
- Cx.AccessorChain<V5>
48
- ],
49
- callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5) => void,
50
- autoRun?: boolean
51
- ): void;
52
- addTrigger<V1, V2, V3, V4, V5, V6>(
53
- name: string,
54
- args: [
55
- Cx.AccessorChain<V1>,
56
- Cx.AccessorChain<V2>,
57
- Cx.AccessorChain<V3>,
58
- Cx.AccessorChain<V4>,
59
- Cx.AccessorChain<V5>,
60
- Cx.AccessorChain<V6>
61
- ],
62
- callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5, v6: V6) => void,
63
- autoRun?: boolean
64
- ): void;
65
- addTrigger<V1, V2, V3, V4, V5, V6, V7>(
66
- name: string,
67
- args: [
68
- Cx.AccessorChain<V1>,
69
- Cx.AccessorChain<V2>,
70
- Cx.AccessorChain<V3>,
71
- Cx.AccessorChain<V4>,
72
- Cx.AccessorChain<V5>,
73
- Cx.AccessorChain<V6>,
74
- Cx.AccessorChain<V7>
75
- ],
76
- callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5, v6: V6, v7: V7) => void,
77
- autoRun?: boolean
78
- ): void;
79
- addTrigger<V1, V2, V3, V4, V5, V6, V7, V8>(
80
- name: string,
81
- args: [
82
- Cx.AccessorChain<V1>,
83
- Cx.AccessorChain<V2>,
84
- Cx.AccessorChain<V3>,
85
- Cx.AccessorChain<V4>,
86
- Cx.AccessorChain<V5>,
87
- Cx.AccessorChain<V6>,
88
- Cx.AccessorChain<V7>,
89
- Cx.AccessorChain<V8>
90
- ],
91
- callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5, v6: V6, v7: V7, v8: v8) => void,
92
- autoRun?: boolean
93
- ): void;
94
-
95
- addTrigger(
96
- name: string,
97
- args: (string | Cx.AccessorChain<any>)[],
98
- callback: (...args) => void,
99
- autoRun?: boolean
100
- ): void;
101
-
102
- addComputable<V1, R>(path: Cx.AccessorChain<R>, args: [Cx.AccessorChain<V1>], callback: (v1: V1) => R): void;
103
- addComputable<V1, V2, R>(
104
- path: Cx.AccessorChain<R>,
105
- args: [Cx.AccessorChain<V1>, Cx.AccessorChain<V2>],
106
- callback: (v1: V1, v2: V2) => R
107
- ): void;
108
- addComputable<V1, V2, V3, R>(
109
- path: Cx.AccessorChain<R>,
110
- args: [Cx.AccessorChain<V1>, Cx.AccessorChain<V2>, Cx.AccessorChain<V3>],
111
- callback: (v1: V1, v2: V2, v3: V3) => R
112
- ): void;
113
- addComputable<V1, V2, V3, V4, R>(
114
- path: Cx.AccessorChain<R>,
115
- args: [Cx.AccessorChain<V1>, Cx.AccessorChain<V2>, Cx.AccessorChain<V3>, Cx.AccessorChain<V4>],
116
- callback: (v1: V1, v2: V2, v3: V3, v4: V4) => R
117
- ): void;
118
- addComputable<V1, V2, V3, V4, V5, R>(
119
- path: Cx.AccessorChain<R>,
120
- args: [
121
- Cx.AccessorChain<V1>,
122
- Cx.AccessorChain<V2>,
123
- Cx.AccessorChain<V3>,
124
- Cx.AccessorChain<V4>,
125
- Cx.AccessorChain<V5>
126
- ],
127
- callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5) => R
128
- ): void;
129
- addComputable<V1, V2, V3, V4, V5, V6, R>(
130
- path: Cx.AccessorChain<R>,
131
- args: [
132
- Cx.AccessorChain<V1>,
133
- Cx.AccessorChain<V2>,
134
- Cx.AccessorChain<V3>,
135
- Cx.AccessorChain<V4>,
136
- Cx.AccessorChain<V5>,
137
- Cx.AccessorChain<V6>
138
- ],
139
- callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5, v6: V6) => R
140
- ): void;
141
- addComputable<V1, V2, V3, V4, V5, V6, V7, R>(
142
- path: Cx.AccessorChain<R>,
143
- args: [
144
- Cx.AccessorChain<V1>,
145
- Cx.AccessorChain<V2>,
146
- Cx.AccessorChain<V3>,
147
- Cx.AccessorChain<V4>,
148
- Cx.AccessorChain<V5>,
149
- Cx.AccessorChain<V6>,
150
- Cx.AccessorChain<V7>
151
- ],
152
- callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5, v6: V6, v7: V7) => R
153
- ): void;
154
- addComputable<V1, V2, V3, V4, V5, V6, V7, V8, R>(
155
- path: Cx.AccessorChain<R>,
156
- args: [
157
- Cx.AccessorChain<V1>,
158
- Cx.AccessorChain<V2>,
159
- Cx.AccessorChain<V3>,
160
- Cx.AccessorChain<V4>,
161
- Cx.AccessorChain<V5>,
162
- Cx.AccessorChain<V6>,
163
- Cx.AccessorChain<V7>,
164
- Cx.AccessorChain<V8>
165
- ],
166
- callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5, v6: V6, v7: V7, v8: V8) => R
167
- ): void;
168
-
169
- addComputable(path: string, args: (string | Cx.AccessorChain<any>)[], callback: (...args) => any): void;
170
-
171
- removeTrigger(name: string): void;
172
-
173
- removeComputable(name: string): void;
174
-
175
- /** Invoke a method found on a parent controller. */
176
- invokeParentMethod(methodName: string, ...args: any[]);
177
-
178
- /** Invoke a method of this controller. */
179
- invokeMethod(methodName: string, ...args: any[]);
180
- }
1
+ import * as Cx from "../core";
2
+
3
+ import { View } from "../data/View";
4
+ import { Instance } from "./Instance";
5
+
6
+ export class Controller<D = any> {
7
+ onInit?(): void;
8
+
9
+ onExplore?(context?): void;
10
+
11
+ onPrepare?(context?): void;
12
+
13
+ onCleanup?(context?): void;
14
+
15
+ onDestroy?(): void;
16
+
17
+ init?(): void;
18
+
19
+ store: View<D>;
20
+ widget: any;
21
+ instance: Instance<D, Controller<D>>;
22
+
23
+ addTrigger<V1>(name: string, args: [Cx.AccessorChain<V1>], callback: (v1: V1) => void, autoRun?: boolean): void;
24
+ addTrigger<V1, V2>(
25
+ name: string,
26
+ args: [Cx.AccessorChain<V1>, Cx.AccessorChain<V2>],
27
+ callback: (v1: V1, v2: V2) => void,
28
+ autoRun?: boolean
29
+ ): void;
30
+ addTrigger<V1, V2, V3>(
31
+ name: string,
32
+ args: [Cx.AccessorChain<V1>, Cx.AccessorChain<V2>, Cx.AccessorChain<V3>],
33
+ callback: (v1: V1, v2: V2, v3: V3) => void,
34
+ autoRun?: boolean
35
+ ): void;
36
+ addTrigger<V1, V2, V3, V4>(
37
+ name: string,
38
+ args: [Cx.AccessorChain<V1>, Cx.AccessorChain<V2>, Cx.AccessorChain<V3>, Cx.AccessorChain<V4>],
39
+ callback: (v1: V1, v2: V2, v3: V3, v4: V4) => void,
40
+ autoRun?: boolean
41
+ ): void;
42
+ addTrigger<V1, V2, V3, V4, V5>(
43
+ name: string,
44
+ args: [
45
+ Cx.AccessorChain<V1>,
46
+ Cx.AccessorChain<V2>,
47
+ Cx.AccessorChain<V3>,
48
+ Cx.AccessorChain<V4>,
49
+ Cx.AccessorChain<V5>
50
+ ],
51
+ callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5) => void,
52
+ autoRun?: boolean
53
+ ): void;
54
+ addTrigger<V1, V2, V3, V4, V5, V6>(
55
+ name: string,
56
+ args: [
57
+ Cx.AccessorChain<V1>,
58
+ Cx.AccessorChain<V2>,
59
+ Cx.AccessorChain<V3>,
60
+ Cx.AccessorChain<V4>,
61
+ Cx.AccessorChain<V5>,
62
+ Cx.AccessorChain<V6>
63
+ ],
64
+ callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5, v6: V6) => void,
65
+ autoRun?: boolean
66
+ ): void;
67
+ addTrigger<V1, V2, V3, V4, V5, V6, V7>(
68
+ name: string,
69
+ args: [
70
+ Cx.AccessorChain<V1>,
71
+ Cx.AccessorChain<V2>,
72
+ Cx.AccessorChain<V3>,
73
+ Cx.AccessorChain<V4>,
74
+ Cx.AccessorChain<V5>,
75
+ Cx.AccessorChain<V6>,
76
+ Cx.AccessorChain<V7>
77
+ ],
78
+ callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5, v6: V6, v7: V7) => void,
79
+ autoRun?: boolean
80
+ ): void;
81
+ addTrigger<V1, V2, V3, V4, V5, V6, V7, V8>(
82
+ name: string,
83
+ args: [
84
+ Cx.AccessorChain<V1>,
85
+ Cx.AccessorChain<V2>,
86
+ Cx.AccessorChain<V3>,
87
+ Cx.AccessorChain<V4>,
88
+ Cx.AccessorChain<V5>,
89
+ Cx.AccessorChain<V6>,
90
+ Cx.AccessorChain<V7>,
91
+ Cx.AccessorChain<V8>
92
+ ],
93
+ callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5, v6: V6, v7: V7, v8: v8) => void,
94
+ autoRun?: boolean
95
+ ): void;
96
+
97
+ addTrigger(
98
+ name: string,
99
+ args: (string | Cx.AccessorChain<any>)[],
100
+ callback: (...args) => void,
101
+ autoRun?: boolean
102
+ ): void;
103
+
104
+ addComputable<V1, R>(path: Cx.AccessorChain<R>, args: [Cx.AccessorChain<V1>], callback: (v1: V1) => R): void;
105
+ addComputable<V1, V2, R>(
106
+ path: Cx.AccessorChain<R>,
107
+ args: [Cx.AccessorChain<V1>, Cx.AccessorChain<V2>],
108
+ callback: (v1: V1, v2: V2) => R
109
+ ): void;
110
+ addComputable<V1, V2, V3, R>(
111
+ path: Cx.AccessorChain<R>,
112
+ args: [Cx.AccessorChain<V1>, Cx.AccessorChain<V2>, Cx.AccessorChain<V3>],
113
+ callback: (v1: V1, v2: V2, v3: V3) => R
114
+ ): void;
115
+ addComputable<V1, V2, V3, V4, R>(
116
+ path: Cx.AccessorChain<R>,
117
+ args: [Cx.AccessorChain<V1>, Cx.AccessorChain<V2>, Cx.AccessorChain<V3>, Cx.AccessorChain<V4>],
118
+ callback: (v1: V1, v2: V2, v3: V3, v4: V4) => R
119
+ ): void;
120
+ addComputable<V1, V2, V3, V4, V5, R>(
121
+ path: Cx.AccessorChain<R>,
122
+ args: [
123
+ Cx.AccessorChain<V1>,
124
+ Cx.AccessorChain<V2>,
125
+ Cx.AccessorChain<V3>,
126
+ Cx.AccessorChain<V4>,
127
+ Cx.AccessorChain<V5>
128
+ ],
129
+ callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5) => R
130
+ ): void;
131
+ addComputable<V1, V2, V3, V4, V5, V6, R>(
132
+ path: Cx.AccessorChain<R>,
133
+ args: [
134
+ Cx.AccessorChain<V1>,
135
+ Cx.AccessorChain<V2>,
136
+ Cx.AccessorChain<V3>,
137
+ Cx.AccessorChain<V4>,
138
+ Cx.AccessorChain<V5>,
139
+ Cx.AccessorChain<V6>
140
+ ],
141
+ callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5, v6: V6) => R
142
+ ): void;
143
+ addComputable<V1, V2, V3, V4, V5, V6, V7, R>(
144
+ path: Cx.AccessorChain<R>,
145
+ args: [
146
+ Cx.AccessorChain<V1>,
147
+ Cx.AccessorChain<V2>,
148
+ Cx.AccessorChain<V3>,
149
+ Cx.AccessorChain<V4>,
150
+ Cx.AccessorChain<V5>,
151
+ Cx.AccessorChain<V6>,
152
+ Cx.AccessorChain<V7>
153
+ ],
154
+ callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5, v6: V6, v7: V7) => R
155
+ ): void;
156
+ addComputable<V1, V2, V3, V4, V5, V6, V7, V8, R>(
157
+ path: Cx.AccessorChain<R>,
158
+ args: [
159
+ Cx.AccessorChain<V1>,
160
+ Cx.AccessorChain<V2>,
161
+ Cx.AccessorChain<V3>,
162
+ Cx.AccessorChain<V4>,
163
+ Cx.AccessorChain<V5>,
164
+ Cx.AccessorChain<V6>,
165
+ Cx.AccessorChain<V7>,
166
+ Cx.AccessorChain<V8>
167
+ ],
168
+ callback: (v1: V1, v2: V2, v3: V3, v4: V4, v5: V5, v6: V6, v7: V7, v8: V8) => R
169
+ ): void;
170
+
171
+ addComputable(path: string, args: (string | Cx.AccessorChain<any>)[], callback: (...args) => any): void;
172
+
173
+ removeTrigger(name: string): void;
174
+
175
+ removeComputable(name: string): void;
176
+
177
+ /** Invoke a method found on a parent controller. */
178
+ invokeParentMethod(methodName: string, ...args: any[]);
179
+
180
+ /** Invoke a method of this controller. */
181
+ invokeMethod(methodName: string, ...args: any[]);
182
+ }
@@ -1,69 +1,72 @@
1
- import { Record } from "../core";
2
- import { RenderingContext } from "./RenderingContext";
3
- import { View } from "../data/View";
4
- import { Widget } from "./Widget";
5
-
6
- export class Instance<ViewModel = any, Controller = any> {
7
- store: View<ViewModel>;
8
- data: Record;
9
- widget: Widget;
10
- key: number;
11
- id: string;
12
- controller: Controller;
13
- parentOptions: any;
14
-
15
- constructor(widget: Widget, key: string | number, parent?: Instance, store?: View);
16
-
17
- setStore(store: View): void;
18
-
19
- init(context: RenderingContext): void;
20
-
21
- explore(context: RenderingContext): boolean;
22
-
23
- prepare(context: RenderingContext): void;
24
-
25
- cleanup(context: RenderingContext): void;
26
-
27
- render(context: RenderingContext, keyPrefix?: string): JSX.Element | void;
28
-
29
- setState(state: Cx.Record): void;
30
-
31
- set(prop: string, value: any, internal?: boolean);
32
-
33
- definePropertySetter(prop: string, setter: (value: any) => void): boolean;
34
-
35
- /**
36
- * @protected
37
- * @param prop
38
- * @param value
39
- * @returns {boolean}
40
- */
41
- protected doSet(prop: string, value: any): boolean;
42
-
43
- replaceState(state: Cx.Config);
44
-
45
- getInstanceCache(): InstanceCache;
46
-
47
- clearChildrenCache();
48
-
49
- getChild(context: RenderingContext | null, widget: Widget, keyPrefix?: string, store?: View): Instance;
50
-
51
- getDetachedChild(widget: Widget, key: number | string, store?: View): Instance;
52
-
53
- // TODO: check return type
54
- prepareRenderCleanupChild(widget: Widget, store?: View, keyPrefix?: string, options?: object): JSX.Element | void;
55
-
56
- getJsxEventProps(): Cx.Config;
57
-
58
- nestedDataSet(key: string, value: any, dataConfig: Cx.Config): boolean;
59
- }
60
-
61
- export class InstanceCache {
62
- constructor(parent: Instance);
63
-
64
- getChild(widget: Widget, store: View, keyPrefix?: string): Instance;
65
-
66
- mark();
67
-
68
- sweep();
69
- }
1
+ import { Record } from "../core";
2
+ import { RenderingContext } from "./RenderingContext";
3
+ import { View } from "../data/View";
4
+ import { Widget } from "./Widget";
5
+
6
+ export class Instance<ViewModel = any, Controller = any> {
7
+ store: View<ViewModel>;
8
+ data: Record;
9
+ widget: Widget;
10
+ key: number;
11
+ id: string;
12
+ controller: Controller;
13
+ parentOptions: any;
14
+ children?: Instance[];
15
+
16
+ constructor(widget: Widget, key: string | number, parent?: Instance, store?: View);
17
+
18
+ setStore(store: View): void;
19
+
20
+ init(context: RenderingContext): void;
21
+
22
+ explore(context: RenderingContext): boolean;
23
+
24
+ prepare(context: RenderingContext): void;
25
+
26
+ cleanup(context: RenderingContext): void;
27
+
28
+ render(context: RenderingContext, keyPrefix?: string): JSX.Element | void;
29
+
30
+ setState(state: Cx.Record): void;
31
+
32
+ set(prop: string, value: any, internal?: boolean);
33
+
34
+ definePropertySetter(prop: string, setter: (value: any) => void): boolean;
35
+
36
+ /**
37
+ * @protected
38
+ * @param prop
39
+ * @param value
40
+ * @returns {boolean}
41
+ */
42
+ protected doSet(prop: string, value: any): boolean;
43
+
44
+ replaceState(state: Cx.Config);
45
+
46
+ getInstanceCache(): InstanceCache;
47
+
48
+ clearChildrenCache();
49
+
50
+ getChild(context: RenderingContext | null, widget: Widget, keyPrefix?: string, store?: View): Instance;
51
+
52
+ getDetachedChild(widget: Widget, key: number | string, store?: View): Instance;
53
+
54
+ // TODO: check return type
55
+ prepareRenderCleanupChild(widget: Widget, store?: View, keyPrefix?: string, options?: object): JSX.Element | void;
56
+
57
+ getJsxEventProps(): Cx.Config;
58
+
59
+ nestedDataSet(key: string, value: any, dataConfig: Cx.Config): boolean;
60
+
61
+ invokeControllerMethod(methodName: string, ...args: any[]);
62
+ }
63
+
64
+ export class InstanceCache {
65
+ constructor(parent: Instance);
66
+
67
+ getChild(widget: Widget, store: View, keyPrefix?: string): Instance;
68
+
69
+ mark();
70
+
71
+ sweep();
72
+ }