@solidstarters/solid-core-ui 1.1.23 → 1.1.25
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/components/core/form/SolidFormLayouts.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormLayouts.js +15 -7
- package/dist/components/core/form/SolidFormLayouts.js.map +1 -1
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +41 -15
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.js +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
- package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidShortTextField.js +18 -13
- package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +2 -2
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
- package/dist/components/core/form/widgets/CustomHtml.d.ts +3 -0
- package/dist/components/core/form/widgets/CustomHtml.d.ts.map +1 -0
- package/dist/components/core/form/widgets/CustomHtml.js +15 -0
- package/dist/components/core/form/widgets/CustomHtml.js.map +1 -0
- package/dist/components/core/model/CreateModel.js +4 -2
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaData.js +5 -1
- package/dist/components/core/model/FieldMetaData.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.js +6 -6
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/layout/AppSidebar.js +21 -20
- package/dist/components/layout/AppSidebar.js.map +1 -1
- package/dist/helpers/registry.d.ts.map +1 -1
- package/dist/helpers/registry.js +6 -0
- package/dist/helpers/registry.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
- package/src/components/core/form/SolidFormLayouts.tsx +15 -7
- package/src/components/core/form/SolidFormView.tsx +63 -16
- package/src/components/core/form/fields/SolidSelectionStaticField.tsx +1 -0
- package/src/components/core/form/fields/SolidShortTextField.tsx +49 -25
- package/src/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +1 -1
- package/src/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +2 -2
- package/src/components/core/form/widgets/CustomHtml.tsx +19 -0
- package/src/components/core/model/CreateModel.tsx +4 -4
- package/src/components/core/model/FieldMetaData.tsx +5 -1
- package/src/components/core/model/FieldMetaDataForm.tsx +5 -7
- package/src/components/layout/AppSidebar.tsx +1 -1
- package/src/helpers/registry.ts +13 -1
- package/src/index.ts +2 -1
- package/src/types/index.d.ts +4 -2
- package/src/types/solid-core.d.ts +12 -4
|
@@ -59,7 +59,11 @@ const FieldMetaData = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldMetaD
|
|
|
59
59
|
|
|
60
60
|
// Function to delete a row
|
|
61
61
|
const deleteRow = (rowData: any) => {
|
|
62
|
-
setFieldMetaData((prevData: any) =>
|
|
62
|
+
setFieldMetaData((prevData: any) => {
|
|
63
|
+
const updatedData = prevData.filter((item: any) => item.name !== rowData.name);
|
|
64
|
+
setIsDirty(true); // Ensure dirty state is updated immediately
|
|
65
|
+
return updatedData;
|
|
66
|
+
});
|
|
63
67
|
};
|
|
64
68
|
|
|
65
69
|
// Template for the trash (delete) icon column
|
|
@@ -109,7 +109,6 @@ const SelectionStaticValues = ({ enumValue, onUpdate, onDelete, onAdd }: any) =>
|
|
|
109
109
|
<Button
|
|
110
110
|
icon="pi pi-plus"
|
|
111
111
|
size="small"
|
|
112
|
-
className="small-button"
|
|
113
112
|
onClick={onAdd}
|
|
114
113
|
type="button"
|
|
115
114
|
/>
|
|
@@ -118,7 +117,6 @@ const SelectionStaticValues = ({ enumValue, onUpdate, onDelete, onAdd }: any) =>
|
|
|
118
117
|
<Button
|
|
119
118
|
icon="pi pi-trash"
|
|
120
119
|
size="small"
|
|
121
|
-
className="small-button"
|
|
122
120
|
onClick={onDelete}
|
|
123
121
|
outlined
|
|
124
122
|
severity="danger"
|
|
@@ -1189,7 +1187,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
|
|
|
1189
1187
|
>
|
|
1190
1188
|
<div className="formgrid grid">
|
|
1191
1189
|
{currentFields.includes("displayName") && (
|
|
1192
|
-
<div className="field col-6 flex-flex-column gap-2">
|
|
1190
|
+
<div className="field col-6 flex-flex-column gap-2 mt-2">
|
|
1193
1191
|
<label htmlFor="displayName" className="form-field-label">
|
|
1194
1192
|
Display Name
|
|
1195
1193
|
</label>
|
|
@@ -1408,7 +1406,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
|
|
|
1408
1406
|
</div>
|
|
1409
1407
|
)}
|
|
1410
1408
|
{currentFields.includes("defaultValue") && (
|
|
1411
|
-
<div className="field col-6 flex-flex-column gap-2">
|
|
1409
|
+
<div className="field col-6 flex-flex-column gap-2 mt-3">
|
|
1412
1410
|
<label
|
|
1413
1411
|
htmlFor="defaultValue"
|
|
1414
1412
|
className="form-field-label"
|
|
@@ -1472,7 +1470,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
|
|
|
1472
1470
|
value={formik.values.defaultValue ? formik.values.defaultValue : "false"}
|
|
1473
1471
|
onChange={(e) => formik.setFieldValue("defaultValue", e.value)} // Custom handling for boolean input
|
|
1474
1472
|
options={booleanOptions}
|
|
1475
|
-
className={classNames("
|
|
1473
|
+
className={classNames("", {
|
|
1476
1474
|
"p-invalid": isFormFieldValid(formik, "defaultValue"),
|
|
1477
1475
|
})}
|
|
1478
1476
|
/>
|
|
@@ -1657,7 +1655,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
|
|
|
1657
1655
|
formik.setFieldValue("mediaEmbedded", e.value);
|
|
1658
1656
|
}}
|
|
1659
1657
|
options={booleanOptions}
|
|
1660
|
-
className={classNames("
|
|
1658
|
+
className={classNames("", {
|
|
1661
1659
|
"p-invalid": isFormFieldValid(
|
|
1662
1660
|
formik,
|
|
1663
1661
|
"mediaEmbedded"
|
|
@@ -2425,7 +2423,7 @@ const FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldM
|
|
|
2425
2423
|
)}
|
|
2426
2424
|
{(currentFields.includes("regexPattern") || currentFields.includes("min") || currentFields.includes("max") || currentFields.includes("ormType")) && ormTypeOptions && selectedType.value !== 'relation' &&
|
|
2427
2425
|
<>
|
|
2428
|
-
<p className="form-wrapper-heading text-base">Validations</p>
|
|
2426
|
+
<p className="form-wrapper-heading text-base mt-3">Validations</p>
|
|
2429
2427
|
<div className="formgrid grid">
|
|
2430
2428
|
{(currentFields.includes("regexPattern") && selectedType.value === "password") &&
|
|
2431
2429
|
<>
|
package/src/helpers/registry.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CustomHtml } from "@/components/core/form/widgets/CustomHtml";
|
|
1
2
|
import React from "react";
|
|
2
3
|
|
|
3
4
|
type ExtensionRegistry = {
|
|
@@ -49,4 +50,15 @@ export const getExtensionComponent = (name: string): React.ComponentType<any> |
|
|
|
49
50
|
export const getExtensionFunction = (name: string) => {
|
|
50
51
|
// console.log(`Registry state: `, extensionRegistry);
|
|
51
52
|
return extensionRegistry.functions[name];
|
|
52
|
-
};
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
// Register all the dynamic widget & functions from inside solid-core-ui
|
|
57
|
+
// Common
|
|
58
|
+
registerExtensionComponent("CustomHtml", CustomHtml);
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
// ModuleMetadata
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
// ModelMetadata
|
package/src/index.ts
CHANGED
package/src/types/index.d.ts
CHANGED
|
@@ -25,7 +25,8 @@ import {
|
|
|
25
25
|
LayoutNode,
|
|
26
26
|
LayoutNodeType,
|
|
27
27
|
SolidUiEvents,
|
|
28
|
-
SolidUiEvent
|
|
28
|
+
SolidUiEvent,
|
|
29
|
+
SolidFormWidgetProps
|
|
29
30
|
} from './solid-core';
|
|
30
31
|
|
|
31
32
|
type ChildContainerProps = {
|
|
@@ -54,5 +55,6 @@ export type {
|
|
|
54
55
|
LayoutNode,
|
|
55
56
|
LayoutNodeType,
|
|
56
57
|
SolidUiEvents,
|
|
57
|
-
SolidUiEvent
|
|
58
|
+
SolidUiEvent,
|
|
59
|
+
SolidFormWidgetProps
|
|
58
60
|
};
|
|
@@ -70,7 +70,7 @@ export type LayoutAttribute = {
|
|
|
70
70
|
};
|
|
71
71
|
|
|
72
72
|
// Generic representation of any node in our layout
|
|
73
|
-
export type LayoutNodeType = "form" | "sheet" | "notebook" | "page" | "row" | "column" | "field";
|
|
73
|
+
export type LayoutNodeType = "form" | "sheet" | "notebook" | "page" | "row" | "column" | "field" | "div" | "p" | "span" | "h1" | "h2" | "h3";
|
|
74
74
|
export type LayoutNode = {
|
|
75
75
|
type: LayoutNodeType;
|
|
76
76
|
attrs: LayoutAttribute;
|
|
@@ -78,11 +78,19 @@ export type LayoutNode = {
|
|
|
78
78
|
};
|
|
79
79
|
|
|
80
80
|
// Event type
|
|
81
|
-
export type SolidUiEvents = "onFieldChange" | "onFieldBlur";
|
|
81
|
+
export type SolidUiEvents = "onFieldChange" | "onFieldBlur" | "onCustomWidgetRender";
|
|
82
82
|
export type SolidUiEvent = {
|
|
83
83
|
type: SolidUiEvents;
|
|
84
|
-
modifiedField
|
|
85
|
-
modifiedFieldValue
|
|
84
|
+
modifiedField?: string;
|
|
85
|
+
modifiedFieldValue?: any;
|
|
86
|
+
// This comes from Formik...
|
|
87
|
+
formData: Record<string, any>;
|
|
88
|
+
viewMetadata: SolidView;
|
|
89
|
+
fieldsMetadata: FieldsMetadata;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export type SolidFormWidgetProps = {
|
|
93
|
+
field: any;
|
|
86
94
|
// This comes from Formik...
|
|
87
95
|
formData: Record<string, any>;
|
|
88
96
|
viewMetadata: SolidView;
|