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