@visns-studio/visns-components 5.15.33 → 5.15.35
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
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"react-dom": "^17.0.0 || ^18.0.0"
|
|
95
95
|
},
|
|
96
96
|
"name": "@visns-studio/visns-components",
|
|
97
|
-
"version": "5.15.
|
|
97
|
+
"version": "5.15.35",
|
|
98
98
|
"description": "Various packages to assist in the development of our Custom Applications.",
|
|
99
99
|
"main": "src/index.js",
|
|
100
100
|
"files": [
|
package/src/components/Form.jsx
CHANGED
|
@@ -1734,29 +1734,56 @@ function Form({
|
|
|
1734
1734
|
return acc;
|
|
1735
1735
|
}, {});
|
|
1736
1736
|
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1737
|
+
// In bulk edit mode, call saveAnother for each row in the group
|
|
1738
|
+
if (bulkEditMode && bulkEditGroupData?.groupRowIds?.length) {
|
|
1739
|
+
let hasError = false;
|
|
1740
|
+
for (const rowId of bulkEditGroupData.groupRowIds) {
|
|
1741
|
+
const saveAnotherUrl = `${saveAnother.url}/${rowId}`;
|
|
1742
|
+
const resSaveAnother =
|
|
1743
|
+
await CustomFetch(
|
|
1744
|
+
saveAnotherUrl,
|
|
1745
|
+
saveAnother.method,
|
|
1746
|
+
processedData
|
|
1747
|
+
);
|
|
1748
|
+
if (resSaveAnother.data.error !== '') {
|
|
1749
|
+
hasError = true;
|
|
1750
|
+
}
|
|
1751
|
+
}
|
|
1752
|
+
if (!hasError) {
|
|
1753
|
+
toast.success(saveAnother.message);
|
|
1754
|
+
} else {
|
|
1755
|
+
saveAnotherFailed = true;
|
|
1756
|
+
}
|
|
1749
1757
|
if (fetchTable) {
|
|
1750
1758
|
const createdItem =
|
|
1751
1759
|
res.data.data || res.data;
|
|
1752
1760
|
fetchTable(createdItem);
|
|
1753
1761
|
}
|
|
1754
1762
|
} else {
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1763
|
+
const saveAnotherUrl = `${
|
|
1764
|
+
saveAnother.url
|
|
1765
|
+
}/${formData[saveAnother.dataKey]}`;
|
|
1766
|
+
const resSaveAnother =
|
|
1767
|
+
await CustomFetch(
|
|
1768
|
+
saveAnotherUrl,
|
|
1769
|
+
saveAnother.method,
|
|
1770
|
+
processedData
|
|
1771
|
+
);
|
|
1772
|
+
|
|
1773
|
+
if (resSaveAnother.data.error === '') {
|
|
1774
|
+
toast.success(saveAnother.message);
|
|
1775
|
+
if (fetchTable) {
|
|
1776
|
+
const createdItem =
|
|
1777
|
+
res.data.data || res.data;
|
|
1778
|
+
fetchTable(createdItem);
|
|
1779
|
+
}
|
|
1780
|
+
} else {
|
|
1781
|
+
saveAnotherFailed = true;
|
|
1782
|
+
if (fetchTable) {
|
|
1783
|
+
const createdItem =
|
|
1784
|
+
res.data.data || res.data;
|
|
1785
|
+
fetchTable(createdItem);
|
|
1786
|
+
}
|
|
1760
1787
|
}
|
|
1761
1788
|
}
|
|
1762
1789
|
} else {
|
|
@@ -2204,6 +2231,24 @@ function Form({
|
|
|
2204
2231
|
|
|
2205
2232
|
useEffect(() => {
|
|
2206
2233
|
formSettings.fields.forEach((field) => {
|
|
2234
|
+
// showIfEmpty: only show field when its own value is empty/null/undefined/[]
|
|
2235
|
+
if (field.showIfEmpty) {
|
|
2236
|
+
const val = formData[field.id];
|
|
2237
|
+
const isEmpty =
|
|
2238
|
+
val === undefined ||
|
|
2239
|
+
val === null ||
|
|
2240
|
+
val === '' ||
|
|
2241
|
+
(Array.isArray(val) && val.length === 0);
|
|
2242
|
+
field.hide = !isEmpty;
|
|
2243
|
+
|
|
2244
|
+
if (updateForm) {
|
|
2245
|
+
updateForm((prevState) => ({
|
|
2246
|
+
...prevState,
|
|
2247
|
+
fields: [...formSettings.fields],
|
|
2248
|
+
}));
|
|
2249
|
+
}
|
|
2250
|
+
}
|
|
2251
|
+
|
|
2207
2252
|
const showConditions = field.show || [];
|
|
2208
2253
|
|
|
2209
2254
|
showConditions.forEach((showObject) => {
|
|
@@ -1380,6 +1380,7 @@ export const renderRelationArrayColumn = ({
|
|
|
1380
1380
|
sortable: isSortable,
|
|
1381
1381
|
filterEditor: filterEditor,
|
|
1382
1382
|
filterEditorProps: filterEditorProps,
|
|
1383
|
+
className: 'cell-word-wrap',
|
|
1383
1384
|
render: ({ data }) => {
|
|
1384
1385
|
const relationValue = column.id.reduce(
|
|
1385
1386
|
(acc, id) =>
|
|
@@ -1454,7 +1455,11 @@ export const renderRelationArrayColumn = ({
|
|
|
1454
1455
|
}
|
|
1455
1456
|
|
|
1456
1457
|
return (
|
|
1457
|
-
<CellWithTooltip
|
|
1458
|
+
<CellWithTooltip
|
|
1459
|
+
value={result}
|
|
1460
|
+
columnType="relationArray"
|
|
1461
|
+
wordWrap
|
|
1462
|
+
>
|
|
1458
1463
|
<span>{parse(result)}</span>
|
|
1459
1464
|
</CellWithTooltip>
|
|
1460
1465
|
);
|
|
@@ -1479,7 +1484,11 @@ export const renderRelationArrayColumn = ({
|
|
|
1479
1484
|
}
|
|
1480
1485
|
|
|
1481
1486
|
return (
|
|
1482
|
-
<CellWithTooltip
|
|
1487
|
+
<CellWithTooltip
|
|
1488
|
+
value={result}
|
|
1489
|
+
columnType="relationArray"
|
|
1490
|
+
wordWrap
|
|
1491
|
+
>
|
|
1483
1492
|
<span>{parse(result)}</span>
|
|
1484
1493
|
</CellWithTooltip>
|
|
1485
1494
|
);
|