ballerina-core 1.0.221 → 1.0.223

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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "ballerina-core",
3
3
  "author": "Dr. Giuseppe Maggiore",
4
4
  "private": false,
5
- "version": "1.0.221",
5
+ "version": "1.0.223",
6
6
  "main": "main.ts",
7
7
  "scripts": {
8
8
  "prettier": "prettier --write ."
@@ -1,12 +1,15 @@
1
1
  import { Map } from "immutable";
2
2
  import {
3
+ BasicUpdater,
3
4
  Bindings,
5
+ CommonAbstractRendererForeignMutationsExpected,
4
6
  CommonAbstractRendererReadonlyContext,
5
7
  CommonAbstractRendererState,
6
8
  CommonAbstractRendererViewOnlyReadonlyContext,
7
9
  DispatchCommonFormState,
8
10
  DispatchOnChange,
9
11
  ListType,
12
+ PredicateValue,
10
13
  ValueCallbackWithOptionalFlags,
11
14
  ValueUnit,
12
15
  VoidCallbackWithOptionalFlags,
@@ -59,7 +62,9 @@ export type ListAbstractRendererForeignMutationsExpected<Flags> = {
59
62
 
60
63
  export type ListAbstractRendererViewForeignMutationsExpected<Flags> = {
61
64
  onChange: DispatchOnChange<ValueTuple, Flags>;
62
- add?: VoidCallbackWithOptionalFlags<Flags>;
65
+ add?: (
66
+ flags?: Flags,
67
+ ) => (customUpdater?: BasicUpdater<PredicateValue>) => void;
63
68
  remove?: ValueCallbackWithOptionalFlags<number, Flags>;
64
69
  move?: (elementIndex: number, to: number, flags: Flags | undefined) => void;
65
70
  duplicate?: ValueCallbackWithOptionalFlags<number, Flags>;
@@ -90,5 +95,16 @@ export type ListAbstractRendererView<
90
95
  ListAbstractRendererState,
91
96
  ListAbstractRendererForeignMutationsExpected<Flags>
92
97
  >;
98
+ embeddedPlaceholderElementTemplate: () => (
99
+ flags: Flags | undefined,
100
+ ) => Template<
101
+ ListAbstractRendererReadonlyContext<
102
+ CustomPresentationContext,
103
+ ExtraContext
104
+ > &
105
+ ListAbstractRendererState,
106
+ ListAbstractRendererState,
107
+ CommonAbstractRendererForeignMutationsExpected<Flags>
108
+ >;
93
109
  }
94
110
  >;
@@ -13,6 +13,9 @@ import {
13
13
  CommonAbstractRendererState,
14
14
  CommonAbstractRendererReadonlyContext,
15
15
  CommonAbstractRendererForeignMutationsExpected,
16
+ id,
17
+ BasicUpdater,
18
+ ValueTuple,
16
19
  } from "../../../../../../../../main";
17
20
  import { Template } from "../../../../../../../template/state";
18
21
  import { ListMethods } from "../../../../deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state";
@@ -140,6 +143,38 @@ export const ListAbstractRenderer = <
140
143
  },
141
144
  }));
142
145
 
146
+ const embeddedPlaceholderElementTemplate = () => (flags: Flags | undefined) =>
147
+ elementTemplate
148
+ .mapContext(
149
+ (
150
+ _: ListAbstractRendererReadonlyContext<
151
+ CustomPresentationContext,
152
+ ExtraContext
153
+ > &
154
+ ListAbstractRendererState,
155
+ ) => ({
156
+ disabled: _.disabled,
157
+ locked: _.locked,
158
+ value: PredicateValue.Operations.IsUnit(_.value)
159
+ ? _.value
160
+ : GetDefaultElementValue(),
161
+ ...GetDefaultElementState(),
162
+ bindings: _.bindings,
163
+ extraContext: _.extraContext,
164
+ type: _.type.args[0],
165
+ customPresentationContext: _.customPresentationContext,
166
+ remoteEntityVersionIdentifier: _.remoteEntityVersionIdentifier,
167
+ domNodeAncestorPath: _.domNodeAncestorPath + `[list][placeholder]`,
168
+ typeAncestors: [_.type as DispatchParsedType<T>].concat(
169
+ _.typeAncestors,
170
+ ),
171
+ lookupTypeAncestorNames: _.lookupTypeAncestorNames,
172
+ }),
173
+ )
174
+ .mapState((_) =>
175
+ ListAbstractRendererState.Updaters.Core.elementFormStates(id),
176
+ );
177
+
143
178
  return Template.Default<
144
179
  ListAbstractRendererReadonlyContext<
145
180
  CustomPresentationContext,
@@ -183,10 +218,13 @@ export const ListAbstractRenderer = <
183
218
  ...props.foreignMutations,
184
219
  add: !methods.includes("add")
185
220
  ? undefined
186
- : (flags) => {
221
+ : (flags) => (customUpdater?: BasicUpdater<PredicateValue>) => {
222
+ const updater = customUpdater ?? id;
223
+ const updatedValue = updater(GetDefaultElementValue());
224
+
187
225
  const delta: DispatchDelta<Flags> = {
188
226
  kind: "ArrayAdd",
189
- value: GetDefaultElementValue(),
227
+ value: updatedValue,
190
228
  state: {
191
229
  commonFormState: props.context.commonFormState,
192
230
  elementFormStates: props.context.elementFormStates,
@@ -201,7 +239,7 @@ export const ListAbstractRenderer = <
201
239
  Updater((list) =>
202
240
  PredicateValue.Default.tuple(
203
241
  ListRepo.Updaters.push<PredicateValue>(
204
- GetDefaultElementValue(),
242
+ updatedValue,
205
243
  )(list.values),
206
244
  ),
207
245
  ),
@@ -343,6 +381,9 @@ export const ListAbstractRenderer = <
343
381
  },
344
382
  }}
345
383
  embeddedElementTemplate={embeddedElementTemplate}
384
+ embeddedPlaceholderElementTemplate={
385
+ embeddedPlaceholderElementTemplate
386
+ }
346
387
  />
347
388
  </IdProvider>
348
389
  </>
@@ -49,7 +49,7 @@ export const TableLoadWithRetries =
49
49
  current.customFormState.loadingState ==
50
50
  "reload from 0" || current.value.to == 0
51
51
  ? 0
52
- : current.value.to + 1,
52
+ : current.value.to,
53
53
  filtersAndSorting:
54
54
  current.customFormState.filterAndSortParam,
55
55
  }),