form-builder-pro 1.0.10 → 1.0.11
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/index.js +162 -46
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +162 -46
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -4258,32 +4258,99 @@ var formStore = createStore((set, get) => ({
|
|
|
4258
4258
|
const updatedSections = cleanedSchema.sections.map((section) => ({
|
|
4259
4259
|
...section,
|
|
4260
4260
|
fields: section.fields.map((field) => {
|
|
4261
|
-
if (field.type === "select"
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
)
|
|
4261
|
+
if (field.type === "select") {
|
|
4262
|
+
let masterType;
|
|
4263
|
+
let updatedField = { ...field };
|
|
4264
|
+
if (field.masterTypeName && !field.groupName) {
|
|
4265
|
+
masterType = state.masterTypes.find(
|
|
4266
|
+
(mt) => mt.active === true && mt.enumName === field.masterTypeName
|
|
4267
|
+
);
|
|
4268
|
+
if (masterType) {
|
|
4269
|
+
updatedField = {
|
|
4270
|
+
...updatedField,
|
|
4271
|
+
groupName: {
|
|
4272
|
+
id: masterType.id,
|
|
4273
|
+
name: masterType.name
|
|
4274
|
+
}
|
|
4275
|
+
};
|
|
4276
|
+
if (process.env.NODE_ENV === "development") {
|
|
4277
|
+
console.log(`[FormBuilder] Hydrating dropdown field "${field.id}": Resolved groupName from masterTypeName "${field.masterTypeName}"`, {
|
|
4278
|
+
fieldId: field.id,
|
|
4279
|
+
masterTypeName: field.masterTypeName,
|
|
4280
|
+
groupName: updatedField.groupName
|
|
4281
|
+
});
|
|
4282
|
+
}
|
|
4283
|
+
} else {
|
|
4284
|
+
console.warn(`[FormBuilder] Master type not found for masterTypeName: "${field.masterTypeName}"`, {
|
|
4285
|
+
fieldId: field.id,
|
|
4286
|
+
masterTypeName: field.masterTypeName
|
|
4287
|
+
});
|
|
4288
|
+
}
|
|
4289
|
+
} else if (field.groupName) {
|
|
4290
|
+
masterType = state.masterTypes.find(
|
|
4291
|
+
(mt) => mt.active === true && (mt.id === field.groupName?.id || mt.name === field.groupName?.name)
|
|
4292
|
+
);
|
|
4293
|
+
if (masterType && !field.masterTypeName && masterType.enumName) {
|
|
4294
|
+
updatedField = {
|
|
4295
|
+
...updatedField,
|
|
4296
|
+
masterTypeName: masterType.enumName
|
|
4297
|
+
};
|
|
4298
|
+
}
|
|
4299
|
+
} else if (field.masterTypeName && field.groupName) {
|
|
4300
|
+
masterType = state.masterTypes.find(
|
|
4301
|
+
(mt) => mt.active === true && mt.enumName === field.masterTypeName && (mt.id === field.groupName?.id || mt.name === field.groupName?.name)
|
|
4302
|
+
);
|
|
4303
|
+
if (!masterType) {
|
|
4304
|
+
masterType = state.masterTypes.find(
|
|
4305
|
+
(mt) => mt.active === true && mt.enumName === field.masterTypeName
|
|
4306
|
+
);
|
|
4307
|
+
if (masterType) {
|
|
4308
|
+
updatedField = {
|
|
4309
|
+
...updatedField,
|
|
4310
|
+
groupName: {
|
|
4311
|
+
id: masterType.id,
|
|
4312
|
+
name: masterType.name
|
|
4313
|
+
}
|
|
4314
|
+
};
|
|
4315
|
+
}
|
|
4316
|
+
}
|
|
4317
|
+
}
|
|
4265
4318
|
if (masterType) {
|
|
4319
|
+
let options = [];
|
|
4266
4320
|
if (masterType.enumName && state.dropdownOptionsMap && state.dropdownOptionsMap[masterType.enumName]) {
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4321
|
+
options = state.dropdownOptionsMap[masterType.enumName];
|
|
4322
|
+
if (process.env.NODE_ENV === "development") {
|
|
4323
|
+
console.log(`[FormBuilder] Hydrating dropdown field "${field.id}": Loaded ${options.length} options from dropdownOptionsMap for "${masterType.enumName}"`);
|
|
4324
|
+
}
|
|
4325
|
+
} else if (masterType.indexes && masterType.indexes.length > 0) {
|
|
4326
|
+
options = convertIndexesToOptions(masterType.indexes);
|
|
4327
|
+
if (process.env.NODE_ENV === "development") {
|
|
4328
|
+
console.log(`[FormBuilder] Hydrating dropdown field "${field.id}": Loaded ${options.length} options from master type indexes for "${masterType.displayName}"`);
|
|
4329
|
+
}
|
|
4330
|
+
} else {
|
|
4331
|
+
console.warn(`[FormBuilder] Master type "${masterType.displayName}" (${masterType.name}) has empty indexes array and no dropdownOptionsMap entry. Dropdown will have no options. Please ensure the API returns populated indexes or provide dropdownOptionsMap.`, {
|
|
4271
4332
|
masterTypeId: masterType.id,
|
|
4272
4333
|
masterTypeName: masterType.name,
|
|
4273
4334
|
enumName: masterType.enumName,
|
|
4274
|
-
indexes: masterType.indexes
|
|
4335
|
+
indexes: masterType.indexes,
|
|
4336
|
+
fieldId: field.id
|
|
4275
4337
|
});
|
|
4276
4338
|
}
|
|
4277
|
-
if (
|
|
4278
|
-
if (!
|
|
4279
|
-
|
|
4280
|
-
|
|
4281
|
-
|
|
4339
|
+
if (options.length > 0) {
|
|
4340
|
+
if (!updatedField.options || updatedField.options.length === 0 || areDefaultOptions(updatedField.options)) {
|
|
4341
|
+
updatedField = {
|
|
4342
|
+
...updatedField,
|
|
4343
|
+
options
|
|
4344
|
+
};
|
|
4282
4345
|
}
|
|
4283
4346
|
}
|
|
4284
|
-
} else {
|
|
4285
|
-
console.warn("[FormBuilder] Master type not found for groupName:", field.groupName
|
|
4347
|
+
} else if (field.groupName) {
|
|
4348
|
+
console.warn("[FormBuilder] Master type not found for groupName:", field.groupName, {
|
|
4349
|
+
fieldId: field.id,
|
|
4350
|
+
groupName: field.groupName
|
|
4351
|
+
});
|
|
4286
4352
|
}
|
|
4353
|
+
return updatedField;
|
|
4287
4354
|
}
|
|
4288
4355
|
return field;
|
|
4289
4356
|
})
|
|
@@ -4322,10 +4389,17 @@ var formStore = createStore((set, get) => ({
|
|
|
4322
4389
|
const updatedSections = state.schema.sections.map((section) => ({
|
|
4323
4390
|
...section,
|
|
4324
4391
|
fields: section.fields.map((field) => {
|
|
4325
|
-
if (field.type === "select"
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
|
|
4392
|
+
if (field.type === "select") {
|
|
4393
|
+
let masterType;
|
|
4394
|
+
if (field.masterTypeName) {
|
|
4395
|
+
masterType = state.masterTypes.find(
|
|
4396
|
+
(mt) => mt.active === true && mt.enumName === field.masterTypeName
|
|
4397
|
+
);
|
|
4398
|
+
} else if (field.groupName) {
|
|
4399
|
+
masterType = state.masterTypes.find(
|
|
4400
|
+
(mt) => mt.active === true && (mt.id === field.groupName?.id || mt.name === field.groupName?.name)
|
|
4401
|
+
);
|
|
4402
|
+
}
|
|
4329
4403
|
if (masterType && masterType.indexes && masterType.indexes.length > 0) {
|
|
4330
4404
|
if (!field.options || field.options.length === 0 || areDefaultOptions(field.options)) {
|
|
4331
4405
|
const options = convertIndexesToOptions(masterType.indexes);
|
|
@@ -4363,10 +4437,17 @@ var formStore = createStore((set, get) => ({
|
|
|
4363
4437
|
const updatedSections = state.schema.sections.map((section) => ({
|
|
4364
4438
|
...section,
|
|
4365
4439
|
fields: section.fields.map((field) => {
|
|
4366
|
-
if (field.type === "select"
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4440
|
+
if (field.type === "select") {
|
|
4441
|
+
let masterType;
|
|
4442
|
+
if (field.masterTypeName) {
|
|
4443
|
+
masterType = state.masterTypes.find(
|
|
4444
|
+
(mt) => mt.active === true && mt.enumName === field.masterTypeName
|
|
4445
|
+
);
|
|
4446
|
+
} else if (field.groupName) {
|
|
4447
|
+
masterType = state.masterTypes.find(
|
|
4448
|
+
(mt) => mt.active === true && (mt.id === field.groupName?.id || mt.name === field.groupName?.name)
|
|
4449
|
+
);
|
|
4450
|
+
}
|
|
4370
4451
|
if (masterType && masterType.enumName && map[masterType.enumName]) {
|
|
4371
4452
|
return { ...field, options: map[masterType.enumName] };
|
|
4372
4453
|
}
|
|
@@ -4407,16 +4488,40 @@ var formStore = createStore((set, get) => ({
|
|
|
4407
4488
|
const updatedSections = state.schema.sections.map((section) => ({
|
|
4408
4489
|
...section,
|
|
4409
4490
|
fields: section.fields.map((field) => {
|
|
4410
|
-
if (field.type === "select"
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
)
|
|
4491
|
+
if (field.type === "select") {
|
|
4492
|
+
let masterType;
|
|
4493
|
+
let updatedField = { ...field };
|
|
4494
|
+
if (field.masterTypeName) {
|
|
4495
|
+
masterType = masterTypes.find(
|
|
4496
|
+
(mt) => mt.active === true && mt.enumName === field.masterTypeName
|
|
4497
|
+
);
|
|
4498
|
+
if (masterType && !field.groupName) {
|
|
4499
|
+
updatedField = {
|
|
4500
|
+
...updatedField,
|
|
4501
|
+
groupName: {
|
|
4502
|
+
id: masterType.id,
|
|
4503
|
+
name: masterType.name
|
|
4504
|
+
}
|
|
4505
|
+
};
|
|
4506
|
+
}
|
|
4507
|
+
} else if (field.groupName) {
|
|
4508
|
+
masterType = masterTypes.find(
|
|
4509
|
+
(mt) => mt.active === true && (mt.id === field.groupName?.id || mt.name === field.groupName?.name)
|
|
4510
|
+
);
|
|
4511
|
+
if (masterType && !field.masterTypeName && masterType.enumName) {
|
|
4512
|
+
updatedField = {
|
|
4513
|
+
...updatedField,
|
|
4514
|
+
masterTypeName: masterType.enumName
|
|
4515
|
+
};
|
|
4516
|
+
}
|
|
4517
|
+
}
|
|
4414
4518
|
if (masterType && masterType.indexes && masterType.indexes.length > 0) {
|
|
4415
|
-
if (!
|
|
4519
|
+
if (!updatedField.options || updatedField.options.length === 0 || areDefaultOptions(updatedField.options)) {
|
|
4416
4520
|
const options = convertIndexesToOptions(masterType.indexes);
|
|
4417
|
-
return { ...
|
|
4521
|
+
return { ...updatedField, options };
|
|
4418
4522
|
}
|
|
4419
4523
|
}
|
|
4524
|
+
return updatedField;
|
|
4420
4525
|
}
|
|
4421
4526
|
return field;
|
|
4422
4527
|
})
|
|
@@ -8022,13 +8127,21 @@ var FormBuilder = class {
|
|
|
8022
8127
|
}
|
|
8023
8128
|
}
|
|
8024
8129
|
});
|
|
8130
|
+
let currentMasterType;
|
|
8131
|
+
if (selectedField.masterTypeName) {
|
|
8132
|
+
currentMasterType = activeMasterTypes.find((mt) => mt.enumName === selectedField.masterTypeName);
|
|
8133
|
+
} else if (selectedField.groupName) {
|
|
8134
|
+
currentMasterType = activeMasterTypes.find(
|
|
8135
|
+
(mt) => mt.id === selectedField.groupName?.id || mt.name === selectedField.groupName?.name
|
|
8136
|
+
);
|
|
8137
|
+
}
|
|
8025
8138
|
groupNameSelect.appendChild(createElement("option", {
|
|
8026
8139
|
value: "",
|
|
8027
8140
|
text: "None",
|
|
8028
|
-
selected: !
|
|
8141
|
+
selected: !currentMasterType
|
|
8029
8142
|
}));
|
|
8030
8143
|
activeMasterTypes.forEach((mt) => {
|
|
8031
|
-
const isSelected = selectedField.
|
|
8144
|
+
const isSelected = currentMasterType && (selectedField.masterTypeName && mt.enumName === selectedField.masterTypeName || selectedField.groupName && (mt.id === selectedField.groupName?.id || mt.name === selectedField.groupName?.name));
|
|
8032
8145
|
const optionValue = mt.enumName || mt.id || mt.name;
|
|
8033
8146
|
groupNameSelect.appendChild(createElement("option", {
|
|
8034
8147
|
value: optionValue,
|
|
@@ -8038,20 +8151,23 @@ var FormBuilder = class {
|
|
|
8038
8151
|
});
|
|
8039
8152
|
groupNameGroup.appendChild(groupNameSelect);
|
|
8040
8153
|
body.appendChild(groupNameGroup);
|
|
8041
|
-
if (
|
|
8042
|
-
|
|
8043
|
-
|
|
8044
|
-
|
|
8045
|
-
if (currentMasterType) {
|
|
8046
|
-
|
|
8047
|
-
|
|
8048
|
-
|
|
8049
|
-
|
|
8050
|
-
|
|
8051
|
-
|
|
8052
|
-
|
|
8053
|
-
|
|
8054
|
-
|
|
8154
|
+
if (currentMasterType && (!selectedField.options || selectedField.options.length === 0)) {
|
|
8155
|
+
let options = [];
|
|
8156
|
+
if (currentMasterType.enumName && dropdownOptionsMap && dropdownOptionsMap[currentMasterType.enumName]) {
|
|
8157
|
+
options = dropdownOptionsMap[currentMasterType.enumName];
|
|
8158
|
+
} else if (currentMasterType.indexes && currentMasterType.indexes.length > 0) {
|
|
8159
|
+
options = convertIndexesToOptions(currentMasterType.indexes);
|
|
8160
|
+
}
|
|
8161
|
+
if (options.length > 0) {
|
|
8162
|
+
formStore.getState().updateField(selectedField.id, { options });
|
|
8163
|
+
}
|
|
8164
|
+
if (selectedField.masterTypeName && !selectedField.groupName) {
|
|
8165
|
+
formStore.getState().updateField(selectedField.id, {
|
|
8166
|
+
groupName: {
|
|
8167
|
+
id: currentMasterType.id,
|
|
8168
|
+
name: currentMasterType.name
|
|
8169
|
+
}
|
|
8170
|
+
});
|
|
8055
8171
|
}
|
|
8056
8172
|
}
|
|
8057
8173
|
}
|