impaktapps-ui-builder 0.0.101-alpha.268 → 0.0.101-alpha.269
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/impaktapps-ui-builder.es.js +205 -230
- package/dist/impaktapps-ui-builder.es.js.map +1 -1
- package/dist/impaktapps-ui-builder.umd.js +13 -13
- package/dist/impaktapps-ui-builder.umd.js.map +1 -1
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/coreSection.d.ts +71 -83
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/table.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/validationSections.d.ts +37 -50
- package/package.json +1 -1
- package/src/impaktapps-ui-builder/builder/build/buildUiSchema.ts +26 -10
- package/src/impaktapps-ui-builder/builder/build/uischema/buildPropertiesSection.ts +95 -49
- package/src/impaktapps-ui-builder/builder/build/uischema/coreSection.ts +118 -118
- package/src/impaktapps-ui-builder/builder/build/uischema/table.ts +1 -0
- package/src/impaktapps-ui-builder/builder/build/uischema/validationSections.ts +114 -60
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/Component/schema.ts +8 -0
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/Component/uiSchema.ts +118 -63
- package/src/impaktapps-ui-builder/builder/services/component.ts +10 -7
- package/src/impaktapps-ui-builder/runtime/services/service.ts +2 -1
|
@@ -6291,6 +6291,13 @@ const ComponentSchema = {
|
|
|
6291
6291
|
{ title: "Phone Input", const: "PhoneInput" }
|
|
6292
6292
|
]
|
|
6293
6293
|
},
|
|
6294
|
+
elementType: {
|
|
6295
|
+
oneOf: [
|
|
6296
|
+
{ title: "Table Action Element", const: "action" },
|
|
6297
|
+
{ title: "Table Header Element", const: "tableHeader" },
|
|
6298
|
+
{ title: "Table Element", const: "element" }
|
|
6299
|
+
]
|
|
6300
|
+
},
|
|
6294
6301
|
columnFormat: {
|
|
6295
6302
|
oneOf: [
|
|
6296
6303
|
{ title: "Date Column", const: "date" },
|
|
@@ -6687,67 +6694,53 @@ const componentBasicUiSchema = (theme) => {
|
|
|
6687
6694
|
{
|
|
6688
6695
|
type: "Control",
|
|
6689
6696
|
scope: "#/properties/layout",
|
|
6697
|
+
layout: 12,
|
|
6690
6698
|
options: {
|
|
6691
|
-
|
|
6692
|
-
|
|
6693
|
-
|
|
6694
|
-
|
|
6695
|
-
|
|
6696
|
-
|
|
6697
|
-
|
|
6698
|
-
|
|
6699
|
-
|
|
6700
|
-
|
|
6701
|
-
|
|
6702
|
-
|
|
6703
|
-
|
|
6704
|
-
|
|
6705
|
-
|
|
6706
|
-
|
|
6707
|
-
|
|
6708
|
-
|
|
6709
|
-
|
|
6710
|
-
|
|
6711
|
-
|
|
6712
|
-
|
|
6713
|
-
|
|
6714
|
-
|
|
6715
|
-
|
|
6716
|
-
|
|
6717
|
-
|
|
6718
|
-
|
|
6719
|
-
|
|
6720
|
-
|
|
6721
|
-
|
|
6722
|
-
|
|
6723
|
-
|
|
6724
|
-
|
|
6725
|
-
|
|
6726
|
-
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
|
|
6730
|
-
|
|
6731
|
-
|
|
6732
|
-
main: {
|
|
6733
|
-
label: "Value",
|
|
6734
|
-
type: "number",
|
|
6735
|
-
helperText: "Number should be in range of 0 to 12",
|
|
6736
|
-
errorMessage: "Number Can't be greater than 12 and can't be less than 0."
|
|
6699
|
+
detail: {
|
|
6700
|
+
type: "HorizontalLayout",
|
|
6701
|
+
elements: [
|
|
6702
|
+
{
|
|
6703
|
+
type: "Control",
|
|
6704
|
+
scope: "#/properties/key",
|
|
6705
|
+
options: {
|
|
6706
|
+
widget: "SelectInputField"
|
|
6707
|
+
},
|
|
6708
|
+
config: {
|
|
6709
|
+
layout: { xs: 6, sm: 6, md: 4, lg: 4 },
|
|
6710
|
+
main: {
|
|
6711
|
+
label: "Screen Size"
|
|
6712
|
+
}
|
|
6713
|
+
}
|
|
6714
|
+
},
|
|
6715
|
+
{
|
|
6716
|
+
type: "Control",
|
|
6717
|
+
scope: "#/properties/value",
|
|
6718
|
+
options: {
|
|
6719
|
+
widget: "InputField"
|
|
6720
|
+
},
|
|
6721
|
+
config: {
|
|
6722
|
+
layout: { xs: 6, sm: 6, md: 4, lg: 4 },
|
|
6723
|
+
main: {
|
|
6724
|
+
label: "Value",
|
|
6725
|
+
type: "number",
|
|
6726
|
+
helperText: "Number should be in range of 0 to 12",
|
|
6727
|
+
errorMessage: "Number Can't be greater than 12 and can't be less than 0."
|
|
6728
|
+
}
|
|
6729
|
+
}
|
|
6730
|
+
},
|
|
6731
|
+
{
|
|
6732
|
+
type: "Control",
|
|
6733
|
+
scope: "#/properties/proc",
|
|
6734
|
+
config: {
|
|
6735
|
+
layout: { xs: 0, sm: 0, md: 4, lg: 4 }
|
|
6736
|
+
},
|
|
6737
|
+
options: {
|
|
6738
|
+
widget: "EmptyBox"
|
|
6739
|
+
}
|
|
6737
6740
|
}
|
|
6738
|
-
|
|
6739
|
-
},
|
|
6740
|
-
{
|
|
6741
|
-
type: "Control",
|
|
6742
|
-
scope: "#/properties/proc",
|
|
6743
|
-
config: {
|
|
6744
|
-
layout: { xs: 0, sm: 0, md: 4, lg: 4 }
|
|
6745
|
-
},
|
|
6746
|
-
options: {
|
|
6747
|
-
widget: "EmptyBox"
|
|
6748
|
-
}
|
|
6741
|
+
]
|
|
6749
6742
|
}
|
|
6750
|
-
|
|
6743
|
+
}
|
|
6751
6744
|
}
|
|
6752
6745
|
]
|
|
6753
6746
|
}
|
|
@@ -7212,67 +7205,54 @@ const CoreSection = {
|
|
|
7212
7205
|
{
|
|
7213
7206
|
type: "Control",
|
|
7214
7207
|
scope: "#/properties/layout",
|
|
7208
|
+
layout: 12,
|
|
7215
7209
|
options: {
|
|
7216
|
-
|
|
7217
|
-
|
|
7218
|
-
|
|
7219
|
-
|
|
7220
|
-
|
|
7221
|
-
|
|
7222
|
-
|
|
7223
|
-
|
|
7224
|
-
|
|
7225
|
-
|
|
7226
|
-
|
|
7227
|
-
|
|
7228
|
-
|
|
7229
|
-
|
|
7230
|
-
|
|
7231
|
-
|
|
7232
|
-
|
|
7233
|
-
|
|
7234
|
-
|
|
7235
|
-
|
|
7236
|
-
|
|
7237
|
-
|
|
7238
|
-
|
|
7239
|
-
|
|
7240
|
-
|
|
7241
|
-
|
|
7242
|
-
|
|
7243
|
-
|
|
7244
|
-
|
|
7245
|
-
|
|
7246
|
-
|
|
7247
|
-
|
|
7248
|
-
|
|
7249
|
-
|
|
7250
|
-
|
|
7251
|
-
|
|
7252
|
-
|
|
7253
|
-
|
|
7254
|
-
|
|
7255
|
-
|
|
7256
|
-
|
|
7257
|
-
|
|
7258
|
-
label: "Value",
|
|
7259
|
-
type: "number",
|
|
7260
|
-
helperText: "Number should be in range of 0 to 12",
|
|
7261
|
-
errorMessage: "Number Can't be greater than 12 and can't be less than 0."
|
|
7210
|
+
"elementLabelProp": "key",
|
|
7211
|
+
detail: {
|
|
7212
|
+
type: "HorizontalLayout",
|
|
7213
|
+
elements: [
|
|
7214
|
+
{
|
|
7215
|
+
type: "Control",
|
|
7216
|
+
scope: "#/properties/key",
|
|
7217
|
+
options: {
|
|
7218
|
+
widget: "SelectInputField"
|
|
7219
|
+
},
|
|
7220
|
+
config: {
|
|
7221
|
+
layout: { xs: 6, sm: 6, md: 4, lg: 4 },
|
|
7222
|
+
main: {
|
|
7223
|
+
label: "Screen Size"
|
|
7224
|
+
}
|
|
7225
|
+
}
|
|
7226
|
+
},
|
|
7227
|
+
{
|
|
7228
|
+
type: "Control",
|
|
7229
|
+
scope: "#/properties/value",
|
|
7230
|
+
options: {
|
|
7231
|
+
widget: "InputField"
|
|
7232
|
+
},
|
|
7233
|
+
config: {
|
|
7234
|
+
layout: { xs: 6, sm: 6, md: 4, lg: 4 },
|
|
7235
|
+
main: {
|
|
7236
|
+
label: "Value",
|
|
7237
|
+
type: "number",
|
|
7238
|
+
helperText: "Number should be in range of 0 to 12",
|
|
7239
|
+
errorMessage: "Number Can't be greater than 12 and can't be less than 0."
|
|
7240
|
+
}
|
|
7241
|
+
}
|
|
7242
|
+
},
|
|
7243
|
+
{
|
|
7244
|
+
type: "Control",
|
|
7245
|
+
scope: "#/properties/proc",
|
|
7246
|
+
config: {
|
|
7247
|
+
layout: { xs: 0, sm: 0, md: 4, lg: 4 }
|
|
7248
|
+
},
|
|
7249
|
+
options: {
|
|
7250
|
+
widget: "EmptyBox"
|
|
7251
|
+
}
|
|
7262
7252
|
}
|
|
7263
|
-
|
|
7264
|
-
},
|
|
7265
|
-
{
|
|
7266
|
-
type: "Control",
|
|
7267
|
-
scope: "#/properties/proc",
|
|
7268
|
-
config: {
|
|
7269
|
-
layout: { xs: 0, sm: 0, md: 4, lg: 4 }
|
|
7270
|
-
},
|
|
7271
|
-
options: {
|
|
7272
|
-
widget: "EmptyBox"
|
|
7273
|
-
}
|
|
7253
|
+
]
|
|
7274
7254
|
}
|
|
7275
|
-
|
|
7255
|
+
}
|
|
7276
7256
|
}
|
|
7277
7257
|
]
|
|
7278
7258
|
};
|
|
@@ -7472,58 +7452,44 @@ const emptyBox$1 = (scope, layout) => {
|
|
|
7472
7452
|
const cardLayout = {
|
|
7473
7453
|
type: "Control",
|
|
7474
7454
|
scope: "#/properties/cardLayout",
|
|
7455
|
+
layout: 12,
|
|
7475
7456
|
options: {
|
|
7476
|
-
|
|
7477
|
-
|
|
7478
|
-
|
|
7479
|
-
|
|
7480
|
-
|
|
7481
|
-
|
|
7482
|
-
|
|
7483
|
-
|
|
7484
|
-
|
|
7485
|
-
|
|
7486
|
-
|
|
7487
|
-
|
|
7488
|
-
|
|
7489
|
-
|
|
7490
|
-
|
|
7491
|
-
|
|
7492
|
-
|
|
7457
|
+
detail: {
|
|
7458
|
+
type: "HorizontalLayout",
|
|
7459
|
+
elements: [
|
|
7460
|
+
{
|
|
7461
|
+
type: "Control",
|
|
7462
|
+
scope: "#/properties/key",
|
|
7463
|
+
options: {
|
|
7464
|
+
widget: "SelectInputField"
|
|
7465
|
+
},
|
|
7466
|
+
config: {
|
|
7467
|
+
layout: { xs: 6, sm: 6, md: 4, lg: 4 },
|
|
7468
|
+
main: {
|
|
7469
|
+
label: "Screen Size"
|
|
7470
|
+
}
|
|
7471
|
+
}
|
|
7472
|
+
},
|
|
7473
|
+
{
|
|
7474
|
+
type: "Control",
|
|
7475
|
+
scope: "#/properties/value",
|
|
7476
|
+
options: {
|
|
7477
|
+
widget: "InputField"
|
|
7478
|
+
},
|
|
7479
|
+
config: {
|
|
7480
|
+
layout: { xs: 6, sm: 6, md: 4, lg: 4 },
|
|
7481
|
+
main: {
|
|
7482
|
+
label: "Value",
|
|
7483
|
+
type: "number",
|
|
7484
|
+
helperText: "Number should be in range of 0 to 12",
|
|
7485
|
+
errorMessage: "Number Can't be greater than 12 and can't be less than 0."
|
|
7486
|
+
}
|
|
7487
|
+
}
|
|
7488
|
+
},
|
|
7489
|
+
emptyBox$1("cardEmpty")
|
|
7490
|
+
]
|
|
7493
7491
|
}
|
|
7494
|
-
}
|
|
7495
|
-
elements: [
|
|
7496
|
-
{
|
|
7497
|
-
type: "Control",
|
|
7498
|
-
scope: "#/properties/key",
|
|
7499
|
-
options: {
|
|
7500
|
-
widget: "SelectInputField"
|
|
7501
|
-
},
|
|
7502
|
-
config: {
|
|
7503
|
-
layout: { xs: 6, sm: 6, md: 4, lg: 4 },
|
|
7504
|
-
main: {
|
|
7505
|
-
label: "Screen Size"
|
|
7506
|
-
}
|
|
7507
|
-
}
|
|
7508
|
-
},
|
|
7509
|
-
{
|
|
7510
|
-
type: "Control",
|
|
7511
|
-
scope: "#/properties/value",
|
|
7512
|
-
options: {
|
|
7513
|
-
widget: "InputField"
|
|
7514
|
-
},
|
|
7515
|
-
config: {
|
|
7516
|
-
layout: { xs: 6, sm: 6, md: 4, lg: 4 },
|
|
7517
|
-
main: {
|
|
7518
|
-
label: "Value",
|
|
7519
|
-
type: "number",
|
|
7520
|
-
helperText: "Number should be in range of 0 to 12",
|
|
7521
|
-
errorMessage: "Number Can't be greater than 12 and can't be less than 0."
|
|
7522
|
-
}
|
|
7523
|
-
}
|
|
7524
|
-
},
|
|
7525
|
-
emptyBox$1("cardEmpty")
|
|
7526
|
-
]
|
|
7492
|
+
}
|
|
7527
7493
|
};
|
|
7528
7494
|
const getArrayControl = (parentScope, childScope, childLabel) => {
|
|
7529
7495
|
return {
|
|
@@ -8199,64 +8165,51 @@ const ValidationSection = {
|
|
|
8199
8165
|
{
|
|
8200
8166
|
type: "Control",
|
|
8201
8167
|
scope: "#/properties/validation",
|
|
8168
|
+
layout: 11.5,
|
|
8202
8169
|
options: {
|
|
8203
|
-
|
|
8204
|
-
|
|
8205
|
-
|
|
8206
|
-
|
|
8207
|
-
|
|
8208
|
-
|
|
8209
|
-
|
|
8210
|
-
|
|
8211
|
-
|
|
8212
|
-
|
|
8213
|
-
|
|
8214
|
-
|
|
8215
|
-
|
|
8216
|
-
|
|
8217
|
-
|
|
8218
|
-
|
|
8219
|
-
|
|
8220
|
-
|
|
8221
|
-
|
|
8222
|
-
|
|
8223
|
-
|
|
8224
|
-
|
|
8225
|
-
|
|
8226
|
-
|
|
8227
|
-
|
|
8228
|
-
|
|
8229
|
-
|
|
8230
|
-
|
|
8231
|
-
|
|
8232
|
-
|
|
8233
|
-
|
|
8234
|
-
|
|
8235
|
-
|
|
8236
|
-
|
|
8237
|
-
|
|
8238
|
-
|
|
8239
|
-
|
|
8240
|
-
|
|
8241
|
-
|
|
8242
|
-
config: {
|
|
8243
|
-
layout: { xs: 6, sm: 6, md: 4, lg: 4 },
|
|
8244
|
-
main: {
|
|
8245
|
-
label: "Validation Value"
|
|
8170
|
+
"elementLabelProp": "validationType",
|
|
8171
|
+
detail: {
|
|
8172
|
+
type: "HorizontalLayout",
|
|
8173
|
+
elements: [
|
|
8174
|
+
{
|
|
8175
|
+
type: "Control",
|
|
8176
|
+
scope: "#/properties/validationType",
|
|
8177
|
+
options: {
|
|
8178
|
+
widget: "SelectInputField"
|
|
8179
|
+
},
|
|
8180
|
+
config: {
|
|
8181
|
+
layout: { xs: 6, sm: 6, md: 4, lg: 4 },
|
|
8182
|
+
main: {
|
|
8183
|
+
label: "Validation Type"
|
|
8184
|
+
}
|
|
8185
|
+
}
|
|
8186
|
+
},
|
|
8187
|
+
{
|
|
8188
|
+
type: "Control",
|
|
8189
|
+
scope: "#/properties/validationValue",
|
|
8190
|
+
options: {
|
|
8191
|
+
widget: "InputField"
|
|
8192
|
+
},
|
|
8193
|
+
config: {
|
|
8194
|
+
layout: { xs: 6, sm: 6, md: 4, lg: 4 },
|
|
8195
|
+
main: {
|
|
8196
|
+
label: "Validation Value"
|
|
8197
|
+
}
|
|
8198
|
+
}
|
|
8199
|
+
},
|
|
8200
|
+
{
|
|
8201
|
+
type: "Control",
|
|
8202
|
+
scope: "#/properties/emptyBox",
|
|
8203
|
+
options: {
|
|
8204
|
+
widget: "EmptyBox"
|
|
8205
|
+
},
|
|
8206
|
+
config: {
|
|
8207
|
+
layout: { xs: 0, sm: 0, md: 4 }
|
|
8208
|
+
}
|
|
8246
8209
|
}
|
|
8247
|
-
|
|
8248
|
-
},
|
|
8249
|
-
{
|
|
8250
|
-
type: "Control",
|
|
8251
|
-
scope: "#/properties/emptyBox",
|
|
8252
|
-
options: {
|
|
8253
|
-
widget: "EmptyBox"
|
|
8254
|
-
},
|
|
8255
|
-
config: {
|
|
8256
|
-
layout: { xs: 0, sm: 0, md: 4, lg: 4 }
|
|
8257
|
-
}
|
|
8210
|
+
]
|
|
8258
8211
|
}
|
|
8259
|
-
|
|
8212
|
+
}
|
|
8260
8213
|
}
|
|
8261
8214
|
]
|
|
8262
8215
|
};
|
|
@@ -8533,12 +8486,15 @@ function refreshPage(type, store2) {
|
|
|
8533
8486
|
}
|
|
8534
8487
|
}, UiSchema.elements[0].elements[0].elements[9] = {
|
|
8535
8488
|
type: "Control",
|
|
8536
|
-
scope: "#/properties/
|
|
8537
|
-
config: {
|
|
8538
|
-
layout: { xs: 0, sm: 0, md: 4, lg: 0 }
|
|
8539
|
-
},
|
|
8489
|
+
scope: "#/properties/elementType",
|
|
8540
8490
|
options: {
|
|
8541
|
-
widget: "
|
|
8491
|
+
widget: "SelectInputField"
|
|
8492
|
+
},
|
|
8493
|
+
config: {
|
|
8494
|
+
layout: { xs: 6, sm: 6, md: 4, lg: 3 },
|
|
8495
|
+
main: {
|
|
8496
|
+
label: "Element Type"
|
|
8497
|
+
}
|
|
8542
8498
|
}
|
|
8543
8499
|
};
|
|
8544
8500
|
}
|
|
@@ -10321,6 +10277,7 @@ var service = (funcParams) => {
|
|
|
10321
10277
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
|
|
10322
10278
|
funcParams.store.setAdditionalErrors([]);
|
|
10323
10279
|
funcParams.store.setFormdata({});
|
|
10280
|
+
funcParams.store.setSchema({ type: "object", properties: {} });
|
|
10324
10281
|
funcParams.store.newData = {};
|
|
10325
10282
|
const pageBasicDetailString = sessionStorage.getItem("pagemasterMetaData");
|
|
10326
10283
|
if (pageBasicDetailString) {
|
|
@@ -10542,7 +10499,7 @@ var service = (funcParams) => {
|
|
|
10542
10499
|
{ key: "searchValue", value: param.serachValue },
|
|
10543
10500
|
{ key: "currentValue", value: param.currentValue }
|
|
10544
10501
|
];
|
|
10545
|
-
const response = await this.callExecuteEvents(param, apiBody);
|
|
10502
|
+
const response = await this.callExecuteEvents(param, apiBody, "onLoad");
|
|
10546
10503
|
return response == null ? void 0 : response.data;
|
|
10547
10504
|
}
|
|
10548
10505
|
},
|
|
@@ -11206,6 +11163,7 @@ var Table = {
|
|
|
11206
11163
|
main: {
|
|
11207
11164
|
onMount: "onMount",
|
|
11208
11165
|
enableExpandAll: true,
|
|
11166
|
+
headerIcons: {},
|
|
11209
11167
|
allRowData: [],
|
|
11210
11168
|
downloadAllData: false,
|
|
11211
11169
|
columns: {
|
|
@@ -12625,7 +12583,10 @@ const buildUiSchema = (config2, store2) => {
|
|
|
12625
12583
|
sizeMap[e.keyName] = e.value;
|
|
12626
12584
|
});
|
|
12627
12585
|
}
|
|
12628
|
-
|
|
12586
|
+
const tableHeaderElements = [];
|
|
12587
|
+
const tableActionElement = [];
|
|
12588
|
+
const rowElements = [];
|
|
12589
|
+
config2.elements.filter((cellElem, elemInd) => {
|
|
12629
12590
|
const commonProperties = {
|
|
12630
12591
|
accessorKey: cellElem.name,
|
|
12631
12592
|
type: cellElem.columnFormat,
|
|
@@ -12637,15 +12598,29 @@ const buildUiSchema = (config2, store2) => {
|
|
|
12637
12598
|
columnKey: cellElem.columnKey
|
|
12638
12599
|
};
|
|
12639
12600
|
if (cellElem.type) {
|
|
12640
|
-
|
|
12601
|
+
if (cellElem.elementType == "action") {
|
|
12602
|
+
const actionElem = buildUiSchema(cellElem, store2);
|
|
12603
|
+
tableActionElement.push(actionElem);
|
|
12604
|
+
return false;
|
|
12605
|
+
}
|
|
12606
|
+
if (cellElem.elementType == "tableHeader") {
|
|
12607
|
+
const headerElem = buildUiSchema(cellElem, store2);
|
|
12608
|
+
tableHeaderElements.push({ widget: headerElem });
|
|
12609
|
+
return false;
|
|
12610
|
+
}
|
|
12611
|
+
const tableElem = {
|
|
12641
12612
|
widget: cellElem.type != "ColumnGroup" ? buildUiSchema(cellElem, store2) : void 0,
|
|
12642
12613
|
elements: cellElem.type == "ColumnGroup" ? cellElem.elements.map((childCellElem) => buildUiSchema(childCellElem, store2)) : [],
|
|
12643
12614
|
...commonProperties
|
|
12644
12615
|
};
|
|
12616
|
+
rowElements.push(tableElem);
|
|
12645
12617
|
} else {
|
|
12646
|
-
|
|
12618
|
+
rowElements.push({ ...commonProperties });
|
|
12647
12619
|
}
|
|
12648
12620
|
});
|
|
12621
|
+
elements.elements = rowElements;
|
|
12622
|
+
elements.config.action = tableActionElement;
|
|
12623
|
+
elements.config.main.headerIcons.elements = tableHeaderElements;
|
|
12649
12624
|
} else if (config2.type == "Array") {
|
|
12650
12625
|
elements.options.detail.elements = config2.elements.map((e, elemInd) => {
|
|
12651
12626
|
return buildUiSchema(e, store2);
|