@solidstarters/solid-core-ui 1.1.61 → 1.1.63
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/common/SolidGlobalSearchElement.d.ts +1 -0
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +292 -56
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts +9 -0
- package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts.map +1 -0
- package/dist/components/core/common/SolidSaveCustomFilterForm.js +37 -0
- package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -0
- package/dist/components/core/filter/fields/SolidBooleanField.js +1 -1
- package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +205 -167
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +6 -2
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
- package/dist/components/core/model/CreateModel.js +3 -3
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
- package/dist/components/core/model/ModelMetaData.js +68 -15
- package/dist/components/core/model/ModelMetaData.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/resources/globals.css +8 -0
- package/package.json +1 -1
- package/src/components/core/common/SolidGlobalSearchElement.tsx +425 -123
- package/src/components/core/common/SolidSaveCustomFilterForm.tsx +74 -0
- package/src/components/core/filter/fields/SolidBooleanField.tsx +1 -1
- package/src/components/core/kanban/SolidKanbanView.tsx +176 -158
- package/src/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +45 -2
- package/src/components/core/model/CreateModel.tsx +2 -2
- package/src/components/core/model/FieldMetaDataForm.tsx +0 -2
- package/src/components/core/model/ModelMetaData.tsx +204 -121
- package/src/index.ts +1 -0
- package/src/resources/globals.css +8 -0
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { SingleSelectAutoCompleteField } from "@/components/common/SingleSelectAutoCompleteField";
|
|
3
3
|
import { getSingularAndPlural } from "@/helpers/helpers";
|
|
4
4
|
import { useGetFieldDefaultMetaDataQuery } from "@/redux/api/fieldApi";
|
|
5
|
+
import { useLazyGetModelsQuery } from "@/redux/api/modelApi";
|
|
5
6
|
import { useLazyGetmodulesQuery } from "@/redux/api/moduleApi";
|
|
6
7
|
import { useFormik } from "formik";
|
|
7
8
|
import { snakeCase } from "lodash";
|
|
@@ -27,6 +28,7 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
|
|
|
27
28
|
const pathname = usePathname();
|
|
28
29
|
|
|
29
30
|
const [triggerGetModules, { data: moduleData, isFetching: isModuleFetching, error: moduleError }] = useLazyGetmodulesQuery();
|
|
31
|
+
const [triggerGetModels, { data: modelData, isFetching: isModelFetching, error: modelError }] = useLazyGetModelsQuery();
|
|
30
32
|
const { data: fieldDefaultMetaData, isLoading, error, refetch } = useGetFieldDefaultMetaDataQuery(null);
|
|
31
33
|
|
|
32
34
|
|
|
@@ -54,14 +56,22 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
|
|
|
54
56
|
enableSoftDelete: modelMetaData ? modelMetaData?.enableSoftDelete : "",
|
|
55
57
|
enableAuditTracking: modelMetaData ? modelMetaData?.enableAuditTracking : "",
|
|
56
58
|
internationalisation: modelMetaData ? modelMetaData?.internationalisation : "",
|
|
59
|
+
isChild: modelMetaData ? modelMetaData?.isChild : false,
|
|
60
|
+
parentModelId: modelMetaData ? modelMetaData?.parentModel?.id : "",
|
|
61
|
+
parentModel: modelMetaData ? modelMetaData?.parentModel : "",
|
|
62
|
+
|
|
57
63
|
};
|
|
58
64
|
|
|
59
65
|
const [showTableName, setShowTableName] = useState<any>(false);
|
|
66
|
+
const [showParentModel, setShowParentModel] = useState<any>(false);
|
|
60
67
|
|
|
61
68
|
useEffect(() => {
|
|
62
69
|
if (modelMetaData && modelMetaData.tableName) {
|
|
63
70
|
setShowTableName(true)
|
|
64
71
|
}
|
|
72
|
+
if (modelMetaData && modelMetaData.isChild) {
|
|
73
|
+
setShowParentModel(true)
|
|
74
|
+
}
|
|
65
75
|
}, [modelMetaData])
|
|
66
76
|
|
|
67
77
|
const validationSchema = Yup.object({
|
|
@@ -93,6 +103,10 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
|
|
|
93
103
|
enableSoftDelete: Yup.boolean(),
|
|
94
104
|
enableAuditTracking: Yup.boolean(),
|
|
95
105
|
internationalisation: Yup.boolean(),
|
|
106
|
+
isChild: Yup.boolean(),
|
|
107
|
+
parentModelId: Yup.number(),
|
|
108
|
+
parentModel: Yup.object()
|
|
109
|
+
|
|
96
110
|
});
|
|
97
111
|
|
|
98
112
|
|
|
@@ -124,6 +138,11 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
|
|
|
124
138
|
enableSoftDelete: values.enableSoftDelete === true ? true : '',
|
|
125
139
|
enableAuditTracking: values.enableAuditTracking === true ? true : '',
|
|
126
140
|
internationalisation: values.internationalisation === true ? true : '',
|
|
141
|
+
isChild: values.isChild ? values.isChild === true : '',
|
|
142
|
+
...(values.isChild == true && {
|
|
143
|
+
parentModelId: values.parentModelId,
|
|
144
|
+
parentModel: values.parentModel,
|
|
145
|
+
}),
|
|
127
146
|
};
|
|
128
147
|
setModelMetaData(modelData);
|
|
129
148
|
nextTab()
|
|
@@ -198,6 +217,37 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
|
|
|
198
217
|
};
|
|
199
218
|
|
|
200
219
|
|
|
220
|
+
const searchModel = async (event: any) => {
|
|
221
|
+
try {
|
|
222
|
+
const query = event.query;
|
|
223
|
+
const queryData = {
|
|
224
|
+
limit: 10,
|
|
225
|
+
offset: 0,
|
|
226
|
+
filters: {
|
|
227
|
+
singularName: {
|
|
228
|
+
$containsi: query,
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
const queryString = qs.stringify(queryData, {
|
|
234
|
+
encodeValuesOnly: true,
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
const result = await triggerGetModels(queryString).unwrap();
|
|
238
|
+
|
|
239
|
+
if (result && result.records) {
|
|
240
|
+
const updatedSuggestion = [...result.records];
|
|
241
|
+
return updatedSuggestion
|
|
242
|
+
} else {
|
|
243
|
+
return []
|
|
244
|
+
}
|
|
245
|
+
} catch (error) {
|
|
246
|
+
return []
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
|
|
201
251
|
const serachDataSource = async (event: any) => {
|
|
202
252
|
const query = event.query;
|
|
203
253
|
try {
|
|
@@ -404,6 +454,39 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
|
|
|
404
454
|
className="mt-2"
|
|
405
455
|
/>
|
|
406
456
|
)}
|
|
457
|
+
|
|
458
|
+
<div className="mt-4">
|
|
459
|
+
<div className="flex align-items-center gap-2">
|
|
460
|
+
<Checkbox onChange={e => { setShowParentModel(e.checked) }} checked={showParentModel} disabled={params.id !== 'new'}></Checkbox>
|
|
461
|
+
<label htmlFor="ingredient1" className="form-field-label">
|
|
462
|
+
isChild
|
|
463
|
+
</label>
|
|
464
|
+
</div>
|
|
465
|
+
</div>
|
|
466
|
+
{showParentModel &&
|
|
467
|
+
<div className="flex flex-column gap-2 mt-3">
|
|
468
|
+
<label htmlFor="type" className="form-field-label">
|
|
469
|
+
Parent Model
|
|
470
|
+
</label>
|
|
471
|
+
<SingleSelectAutoCompleteField
|
|
472
|
+
disabled={params.id !== 'new'}
|
|
473
|
+
key="parentModel"
|
|
474
|
+
formik={formik}
|
|
475
|
+
isFormFieldValid={isFormFieldValid}
|
|
476
|
+
relationField={true}
|
|
477
|
+
fieldName="parentModel"
|
|
478
|
+
fieldNameId="parentModelId"
|
|
479
|
+
labelKey="displayName"
|
|
480
|
+
valueKey="id"
|
|
481
|
+
searchData={searchModel}
|
|
482
|
+
existingData={formik.values.parentModel}
|
|
483
|
+
formErrors={formErrors}
|
|
484
|
+
/>
|
|
485
|
+
{(isFormFieldValid(formik, "parentModel") || (formErrors["parentModel"])) && (
|
|
486
|
+
<Message severity="error" text={formik?.errors?.parentModelId?.toString()} />
|
|
487
|
+
)}
|
|
488
|
+
</div>
|
|
489
|
+
}
|
|
407
490
|
{/* <div className="field col-6">
|
|
408
491
|
<div className="flex align-items-center gap-2 mt-3">
|
|
409
492
|
<Checkbox
|
|
@@ -510,132 +593,132 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
|
|
|
510
593
|
|
|
511
594
|
{/* <p className="form-wrapper-heading text-base">Basic Settings</p> */}
|
|
512
595
|
<Panel header={"Basic Settings"} className="solid-column-panel">
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
596
|
+
<div className="flex flex-column gap-2 mt-3">
|
|
597
|
+
<label htmlFor="displayName" className="form-field-label">
|
|
598
|
+
Display Name
|
|
599
|
+
</label>
|
|
600
|
+
<InputText
|
|
601
|
+
type="text"
|
|
602
|
+
id="displayName"
|
|
603
|
+
name="displayName"
|
|
604
|
+
onChange={(e) => {
|
|
522
605
|
|
|
523
|
-
|
|
524
|
-
|
|
606
|
+
formik.handleChange(e);
|
|
607
|
+
const { toCamelCase, toSnakeCase, toPluralCamelCase } = getSingularAndPlural(e.target.value);
|
|
608
|
+
if (params.id === 'new') {
|
|
609
|
+
formik.setFieldValue("singularName", toCamelCase);
|
|
610
|
+
formik.setFieldValue("pluralName", toPluralCamelCase);
|
|
611
|
+
}
|
|
612
|
+
if (showTableName == true) {
|
|
525
613
|
if (params.id === 'new') {
|
|
526
|
-
formik.setFieldValue("
|
|
527
|
-
formik.setFieldValue("pluralName", toPluralCamelCase);
|
|
528
|
-
}
|
|
529
|
-
if (showTableName == true) {
|
|
530
|
-
if (params.id === 'new') {
|
|
531
|
-
formik.setFieldValue("tableName", toSnakeCase);
|
|
532
|
-
}
|
|
614
|
+
formik.setFieldValue("tableName", toSnakeCase);
|
|
533
615
|
}
|
|
616
|
+
}
|
|
534
617
|
|
|
535
618
|
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
619
|
+
}}
|
|
620
|
+
value={formik.values.displayName}
|
|
621
|
+
className={classNames("", {
|
|
622
|
+
"p-invalid": isFormFieldValid(formik, "displayName") || formErrors["displayName"],
|
|
623
|
+
})}
|
|
624
|
+
|
|
625
|
+
/>
|
|
541
626
|
|
|
627
|
+
{(isFormFieldValid(formik, "displayName") || (formErrors["displayName"])) && (
|
|
628
|
+
<Message
|
|
629
|
+
severity="error"
|
|
630
|
+
text={formik?.errors?.displayName?.toString()}
|
|
542
631
|
/>
|
|
632
|
+
)}
|
|
633
|
+
</div>
|
|
634
|
+
<div className="flex flex-column gap-1 mt-4">
|
|
635
|
+
<label htmlFor="singularName" className="form-field-label">
|
|
636
|
+
Singular Name
|
|
637
|
+
</label>
|
|
638
|
+
<InputText
|
|
639
|
+
disabled={true}
|
|
640
|
+
type="text"
|
|
641
|
+
id="singularName"
|
|
642
|
+
name="singularName"
|
|
643
|
+
onChange={formik.handleChange}
|
|
644
|
+
value={formik.values.singularName}
|
|
645
|
+
className={classNames("", {
|
|
646
|
+
"p-invalid": isFormFieldValid(formik, "singularName") || formErrors["singularName"],
|
|
647
|
+
})}
|
|
648
|
+
/>
|
|
649
|
+
{(isFormFieldValid(formik, "singularName") || (formErrors["singularName"])) && (
|
|
650
|
+
<Message
|
|
651
|
+
severity="error"
|
|
652
|
+
text={formik?.errors?.singularName?.toString()}
|
|
653
|
+
/>
|
|
654
|
+
)}
|
|
655
|
+
</div>
|
|
656
|
+
<div className="flex flex-column gap-1 mt-4">
|
|
657
|
+
<label htmlFor="pluralName" className="form-field-label">
|
|
658
|
+
Plural Name
|
|
659
|
+
</label>
|
|
660
|
+
<InputText
|
|
661
|
+
disabled={true}
|
|
662
|
+
type="text"
|
|
663
|
+
id="pluralName"
|
|
664
|
+
name="pluralName"
|
|
665
|
+
onChange={formik.handleChange}
|
|
666
|
+
value={formik.values.pluralName}
|
|
667
|
+
className={classNames("", {
|
|
668
|
+
"p-invalid": isFormFieldValid(formik, "pluralName") || formErrors["pluralName"],
|
|
669
|
+
})}
|
|
670
|
+
/>
|
|
671
|
+
{(isFormFieldValid(formik, "pluralName") || (formErrors["pluralName"])) && (
|
|
672
|
+
<Message severity="error" text={formik?.errors?.pluralName?.toString()} />
|
|
673
|
+
)}
|
|
674
|
+
</div>
|
|
543
675
|
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
676
|
+
<div className="mt-4">
|
|
677
|
+
<div className="flex align-items-center gap-2">
|
|
678
|
+
<Checkbox onChange={e => {
|
|
679
|
+
setShowTableName(e.checked);
|
|
680
|
+
if (e.checked === true) {
|
|
681
|
+
const { toCamelCase, toSnakeCase, toPluralCamelCase } = getSingularAndPlural(formik.values.displayName);
|
|
682
|
+
if (params.id === 'new') {
|
|
683
|
+
formik.setFieldValue("tableName", toSnakeCase);
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
}} checked={showTableName} disabled={params.id !== 'new'}></Checkbox>
|
|
688
|
+
<label htmlFor="ingredient1" className="form-field-label">
|
|
689
|
+
Set table name
|
|
690
|
+
</label>
|
|
550
691
|
</div>
|
|
692
|
+
</div>
|
|
693
|
+
{showTableName &&
|
|
551
694
|
<div className="flex flex-column gap-1 mt-4">
|
|
552
|
-
<label htmlFor="
|
|
553
|
-
|
|
695
|
+
<label htmlFor="tableName" className="form-field-label">
|
|
696
|
+
Table Name
|
|
554
697
|
</label>
|
|
555
698
|
<InputText
|
|
556
|
-
disabled={
|
|
699
|
+
disabled={params.id !== 'new'}
|
|
557
700
|
type="text"
|
|
558
|
-
id="
|
|
559
|
-
name="
|
|
701
|
+
id="tableName"
|
|
702
|
+
name="tableName"
|
|
560
703
|
onChange={formik.handleChange}
|
|
561
|
-
value={formik.values.
|
|
704
|
+
value={formik.values.tableName}
|
|
562
705
|
className={classNames("", {
|
|
563
|
-
"p-invalid": isFormFieldValid(formik, "
|
|
706
|
+
"p-invalid": isFormFieldValid(formik, "tableName") || formErrors["tableName"],
|
|
564
707
|
})}
|
|
565
708
|
/>
|
|
566
|
-
{(isFormFieldValid(formik, "
|
|
709
|
+
{(isFormFieldValid(formik, "tableName") || (formErrors["tableName"])) && (
|
|
567
710
|
<Message
|
|
568
711
|
severity="error"
|
|
569
|
-
text={formik?.errors?.
|
|
712
|
+
text={formik?.errors?.tableName?.toString()}
|
|
570
713
|
/>
|
|
571
714
|
)}
|
|
572
715
|
</div>
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
type="text"
|
|
580
|
-
id="pluralName"
|
|
581
|
-
name="pluralName"
|
|
582
|
-
onChange={formik.handleChange}
|
|
583
|
-
value={formik.values.pluralName}
|
|
584
|
-
className={classNames("", {
|
|
585
|
-
"p-invalid": isFormFieldValid(formik, "pluralName") || formErrors["pluralName"],
|
|
586
|
-
})}
|
|
587
|
-
/>
|
|
588
|
-
{(isFormFieldValid(formik, "pluralName") || (formErrors["pluralName"])) && (
|
|
589
|
-
<Message severity="error" text={formik?.errors?.pluralName?.toString()} />
|
|
590
|
-
)}
|
|
591
|
-
</div>
|
|
592
|
-
|
|
593
|
-
<div className="mt-4">
|
|
594
|
-
<div className="flex align-items-center gap-2">
|
|
595
|
-
<Checkbox onChange={e => {
|
|
596
|
-
setShowTableName(e.checked);
|
|
597
|
-
if (e.checked === true) {
|
|
598
|
-
const { toCamelCase, toSnakeCase, toPluralCamelCase } = getSingularAndPlural(formik.values.displayName);
|
|
599
|
-
if (params.id === 'new') {
|
|
600
|
-
formik.setFieldValue("tableName", toSnakeCase);
|
|
601
|
-
}
|
|
602
|
-
}
|
|
603
|
-
|
|
604
|
-
}} checked={showTableName} disabled={params.id !== 'new'}></Checkbox>
|
|
605
|
-
<label htmlFor="ingredient1" className="form-field-label">
|
|
606
|
-
Set table name
|
|
607
|
-
</label>
|
|
608
|
-
</div>
|
|
609
|
-
</div>
|
|
610
|
-
{showTableName &&
|
|
611
|
-
<div className="flex flex-column gap-1 mt-4">
|
|
612
|
-
<label htmlFor="tableName" className="form-field-label">
|
|
613
|
-
Table Name
|
|
614
|
-
</label>
|
|
615
|
-
<InputText
|
|
616
|
-
disabled={params.id !== 'new'}
|
|
617
|
-
type="text"
|
|
618
|
-
id="tableName"
|
|
619
|
-
name="tableName"
|
|
620
|
-
onChange={formik.handleChange}
|
|
621
|
-
value={formik.values.tableName}
|
|
622
|
-
className={classNames("", {
|
|
623
|
-
"p-invalid": isFormFieldValid(formik, "tableName") || formErrors["tableName"],
|
|
624
|
-
})}
|
|
625
|
-
/>
|
|
626
|
-
{(isFormFieldValid(formik, "tableName") || (formErrors["tableName"])) && (
|
|
627
|
-
<Message
|
|
628
|
-
severity="error"
|
|
629
|
-
text={formik?.errors?.tableName?.toString()}
|
|
630
|
-
/>
|
|
631
|
-
)}
|
|
632
|
-
</div>
|
|
633
|
-
}
|
|
634
|
-
<div className="flex flex-column gap-1 mt-4">
|
|
635
|
-
<label htmlFor="description" className="form-field-label">
|
|
636
|
-
Description
|
|
637
|
-
</label>
|
|
638
|
-
{/* <InputText
|
|
716
|
+
}
|
|
717
|
+
<div className="flex flex-column gap-1 mt-4">
|
|
718
|
+
<label htmlFor="description" className="form-field-label">
|
|
719
|
+
Description
|
|
720
|
+
</label>
|
|
721
|
+
{/* <InputText
|
|
639
722
|
type="text"
|
|
640
723
|
id="description"
|
|
641
724
|
name="description"
|
|
@@ -645,24 +728,24 @@ const ModelMetaData = React.forwardRef(({ modelMetaData, setModelMetaData, allMo
|
|
|
645
728
|
"p-invalid": isFormFieldValid(formik, "description"),
|
|
646
729
|
})}
|
|
647
730
|
/> */}
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
731
|
+
<InputTextarea
|
|
732
|
+
id="description"
|
|
733
|
+
name="description"
|
|
734
|
+
onChange={formik.handleChange}
|
|
735
|
+
value={formik.values.description}
|
|
736
|
+
className={classNames("", {
|
|
737
|
+
"p-invalid": isFormFieldValid(formik, "description") || formErrors["description"],
|
|
738
|
+
})}
|
|
739
|
+
rows={5}
|
|
740
|
+
cols={30}
|
|
741
|
+
/>
|
|
742
|
+
{(isFormFieldValid(formik, "description") || (formErrors["description"])) && (
|
|
743
|
+
<Message
|
|
744
|
+
severity="error"
|
|
745
|
+
text={formik?.errors?.description?.toString()}
|
|
658
746
|
/>
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
severity="error"
|
|
662
|
-
text={formik?.errors?.description?.toString()}
|
|
663
|
-
/>
|
|
664
|
-
)}
|
|
665
|
-
</div>
|
|
747
|
+
)}
|
|
748
|
+
</div>
|
|
666
749
|
</Panel>
|
|
667
750
|
</div>
|
|
668
751
|
|
package/src/index.ts
CHANGED
|
@@ -225,6 +225,7 @@ export { SolidViewLayoutManager } from '@/components/core/common/SolidViewLayout
|
|
|
225
225
|
export { SolidListViewConfigure } from '@/components/core/list/SolidListViewConfigure';
|
|
226
226
|
export { SolidCreateButton } from '@/components/core/common/SolidCreateButton';
|
|
227
227
|
export { SolidGlobalSearchElement } from '@/components/core/common/SolidGlobalSearchElement';
|
|
228
|
+
export { SolidSaveCustomFilterForm } from '@/components/core/common/SolidSaveCustomFilterForm';
|
|
228
229
|
export { SolidSearchBox } from '@/components/core/common/SolidSearchBox';
|
|
229
230
|
|
|
230
231
|
// export type {ModelMetaData} from '@/components/core/field/FieldListViewData'; //Commenting this line for now, since it does not seem to be used anywhere
|