@solidxai/core-ui 0.1.14-beta.9 → 0.1.15-beta.0
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/common/DropzonePlaceholder.d.ts +2 -1
- package/dist/components/common/DropzonePlaceholder.d.ts.map +1 -1
- package/dist/components/common/DropzonePlaceholder.js +10 -7
- package/dist/components/common/DropzonePlaceholder.js.map +1 -1
- package/dist/components/common/DropzonePlaceholder.tsx +14 -9
- package/dist/components/core/card/CardItem.js +1 -1
- package/dist/components/core/card/CardItem.js.map +1 -1
- package/dist/components/core/card/CardItem.tsx +1 -1
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardView.js +2 -2
- package/dist/components/core/card/SolidCardView.js.map +1 -1
- package/dist/components/core/card/SolidCardView.tsx +7 -12
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +101 -86
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +161 -98
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +96 -72
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +39 -17
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +3 -2
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +3 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +3 -2
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.tsx +3 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts +1 -0
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +20 -2
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +29 -2
- package/dist/components/core/form/fields/solidFields.module.css +7 -0
- package/dist/components/core/kanban/KanbanCard.js +1 -1
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.tsx +1 -1
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +7 -1
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +10 -5
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +44 -88
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +19 -93
- package/dist/components/core/list/SolidListViewColumn.d.ts +2 -1
- package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewColumn.js +2 -2
- package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
- package/dist/components/core/list/SolidListViewColumn.tsx +4 -3
- package/dist/components/core/list/columns/SolidRelationColumn.d.ts +1 -1
- package/dist/components/core/list/columns/SolidRelationColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidRelationColumn.js +2 -2
- package/dist/components/core/list/columns/SolidRelationColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidRelationColumn.tsx +2 -2
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts +2 -2
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +5 -4
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +5 -4
- package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.js +147 -97
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.tsx +123 -31
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +1 -1
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +4 -12
- package/dist/components/layout/AdminHeaderActions.js +1 -1
- package/dist/components/layout/AdminHeaderActions.js.map +1 -1
- package/dist/components/layout/AdminHeaderActions.tsx +1 -1
- package/dist/helpers/getAcceptedFileTypes.d.ts +12 -2
- package/dist/helpers/getAcceptedFileTypes.d.ts.map +1 -1
- package/dist/helpers/getAcceptedFileTypes.js +72 -16
- package/dist/helpers/getAcceptedFileTypes.js.map +1 -1
- package/dist/helpers/getAcceptedFileTypes.tsx +101 -18
- package/dist/helpers/registry.js +2 -1
- package/dist/helpers/registry.js.map +1 -1
- package/dist/helpers/registry.ts +3 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.ts +1 -2
- package/dist/resources/globals.css +259 -109
- package/dist/resources/solid-responsive.css +1 -5
- package/dist/resources/solid-tailwind-generated.css +1 -1
- package/dist/resources/themes/solid-light-modern/theme.css +3 -4
- package/dist/types/index.d.ts +2 -4
- package/dist/types/solid-core.d.ts +4 -13
- package/package.json +1 -1
|
@@ -29,7 +29,7 @@ import { resolveButtonPresentation } from "../../../helpers/buttonPresentation";
|
|
|
29
29
|
import { useDispatch, useSelector } from "react-redux";
|
|
30
30
|
import styles from "./SolidListViewWrapper.module.css";
|
|
31
31
|
import { isArchivedListRow } from "./columns/PublishStatusColumnDefaults";
|
|
32
|
-
import { SolidBeforeListDataLoad, SolidListUiEventResponse, SolidLoadList
|
|
32
|
+
import { SolidBeforeListDataLoad, SolidListUiEventResponse, SolidLoadList } from "../../../types/solid-core";
|
|
33
33
|
import { getExtensionFunction } from "../../../helpers/registry";
|
|
34
34
|
import { useSession } from "../../../hooks/useSession";
|
|
35
35
|
import { resolveActiveUserId } from "../../../helpers/resolveActiveUserId";
|
|
@@ -209,12 +209,6 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
209
209
|
const [showGlobalSearchElement, setShowGlobalSearchElement] = useState(false);
|
|
210
210
|
const suppressNextFilterPaginationResetRef = useRef(false);
|
|
211
211
|
|
|
212
|
-
// Filters offered by an onBeforeListDataLoad handler (event.definedFilters).
|
|
213
|
-
// Each stays independently removable via the search bar's pill UI rather
|
|
214
|
-
// than being baked directly into the outgoing query filter.
|
|
215
|
-
const [definedFilters, setDefinedFilters] = useState<SolidDefinedFilter[]>([]);
|
|
216
|
-
const definedFilterOverridesRef = useRef<Record<string, boolean>>({});
|
|
217
|
-
|
|
218
212
|
const [triggerCheckIfPermissionExists] = useLazyCheckIfPermissionExistsQuery();
|
|
219
213
|
|
|
220
214
|
const handleCustomButtonClick = useHandleListCustomButtonClick();
|
|
@@ -231,7 +225,7 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
231
225
|
() => normalizeSolidListTreeKanbanActionPath(pathname, editButtonUrl || "form"),
|
|
232
226
|
[editButtonUrl, pathname]
|
|
233
227
|
);
|
|
234
|
-
const
|
|
228
|
+
const recordClickFormMode = useMemo(() => {
|
|
235
229
|
const isSystemModule = solidListViewMetaData?.data?.solidView?.module?.isSystem === true;
|
|
236
230
|
|
|
237
231
|
if (isSystemModule) {
|
|
@@ -677,6 +671,7 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
677
671
|
listData: listViewData,
|
|
678
672
|
totalRecords: totalRecords,
|
|
679
673
|
type: "onListLoad",
|
|
674
|
+
isInitialLoad: !hasFiredInitialOnListLoadRef.current,
|
|
680
675
|
viewMetadata: solidListViewMetaData?.data?.solidView,
|
|
681
676
|
listViewLayout: listLayout,
|
|
682
677
|
queryParams: {
|
|
@@ -689,6 +684,7 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
689
684
|
session: session.data,
|
|
690
685
|
params: params
|
|
691
686
|
};
|
|
687
|
+
hasFiredInitialOnListLoadRef.current = true;
|
|
692
688
|
|
|
693
689
|
if (dynamicHeader) {
|
|
694
690
|
dynamicExtensionFunction = getExtensionFunction(dynamicHeader);
|
|
@@ -721,6 +717,8 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
721
717
|
const latestFilterPredicatesRef = useRef<any>(filterPredicates);
|
|
722
718
|
const latestSortFieldRef = useRef<string>(sortField);
|
|
723
719
|
const latestSortOrderRef = useRef<1 | -1 | 0>(sortOrder);
|
|
720
|
+
const hasFiredInitialOnBeforeListDataLoadRef = useRef(false);
|
|
721
|
+
const hasFiredInitialOnListLoadRef = useRef(false);
|
|
724
722
|
|
|
725
723
|
useEffect(() => {
|
|
726
724
|
latestSortFieldRef.current = sortField;
|
|
@@ -842,8 +840,11 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
842
840
|
// SolidBeforeListDataLoad Event that allows filter modification just before api call
|
|
843
841
|
const dynamicHeader = solidListViewMetaData?.data?.solidView?.layout?.onBeforeListDataLoad;
|
|
844
842
|
let dynamicExtensionFunction = null;
|
|
843
|
+
const isInitialLoad = !hasFiredInitialOnBeforeListDataLoadRef.current;
|
|
844
|
+
hasFiredInitialOnBeforeListDataLoadRef.current = true;
|
|
845
845
|
const event: SolidBeforeListDataLoad = {
|
|
846
846
|
type: "onBeforeListDataLoad",
|
|
847
|
+
isInitialLoad,
|
|
847
848
|
fieldsMetadata: solidListViewMetaData?.data?.solidFieldsMetadata,
|
|
848
849
|
viewMetadata: solidListViewMetaData?.data?.solidView,
|
|
849
850
|
listViewLayout: solidListViewMetaData?.data.solidView.layout,
|
|
@@ -867,48 +868,10 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
867
868
|
if (updatedListData && updatedListData?.filterApplied && updatedListData?.newFilter) {
|
|
868
869
|
queryData = updatedListData?.newFilter;
|
|
869
870
|
}
|
|
870
|
-
|
|
871
|
-
// Reconcile handler-offered filters against any user removals from
|
|
872
|
-
// this mount (definedFilterOverridesRef), then merge the ones still
|
|
873
|
-
// applied into the outgoing query. Stale keys (no longer offered by
|
|
874
|
-
// the handler) are dropped from the override map.
|
|
875
|
-
const nextDefinedFilters = updatedListData?.definedFilters ?? [];
|
|
876
|
-
const reconciledDefinedFilters: SolidDefinedFilter[] = nextDefinedFilters.map((def) => {
|
|
877
|
-
const hasOverride = Object.prototype.hasOwnProperty.call(definedFilterOverridesRef.current, def.key);
|
|
878
|
-
const applied = hasOverride ? definedFilterOverridesRef.current[def.key] : def.applied;
|
|
879
|
-
definedFilterOverridesRef.current[def.key] = applied;
|
|
880
|
-
return { ...def, applied };
|
|
881
|
-
});
|
|
882
|
-
Object.keys(definedFilterOverridesRef.current).forEach((key) => {
|
|
883
|
-
if (!reconciledDefinedFilters.some((def) => def.key === key)) {
|
|
884
|
-
delete definedFilterOverridesRef.current[key];
|
|
885
|
-
}
|
|
886
|
-
});
|
|
887
|
-
setDefinedFilters(reconciledDefinedFilters);
|
|
888
|
-
|
|
889
|
-
const activeDefinedFilterPredicates = reconciledDefinedFilters
|
|
890
|
-
.filter((def) => def.applied)
|
|
891
|
-
.map((def) => def.predicate);
|
|
892
|
-
if (activeDefinedFilterPredicates.length > 0) {
|
|
893
|
-
// queryData.filters may be the same object reference as
|
|
894
|
-
// latestFiltersRef.current (see assignment above) when the
|
|
895
|
-
// handler didn't return a newFilter. Clone before mutating so we
|
|
896
|
-
// never permanently bake handler predicates into that ref -
|
|
897
|
-
// otherwise they'd accumulate/duplicate on every subsequent
|
|
898
|
-
// fetch (pagination, sort, removal, ...) instead of being
|
|
899
|
-
// recomputed fresh each time.
|
|
900
|
-
const mergedFilters = queryData.filters ? structuredClone(queryData.filters) : {};
|
|
901
|
-
mergedFilters.$and = Array.isArray(mergedFilters.$and) ? mergedFilters.$and : [];
|
|
902
|
-
mergedFilters.$and.push(...activeDefinedFilterPredicates);
|
|
903
|
-
queryData.filters = mergedFilters;
|
|
904
|
-
}
|
|
905
871
|
} catch (err) {
|
|
906
872
|
console.error("Error executing onBeforeListDataLoad extension:", err);
|
|
907
873
|
}
|
|
908
874
|
}
|
|
909
|
-
} else if (Object.keys(definedFilterOverridesRef.current).length > 0) {
|
|
910
|
-
definedFilterOverridesRef.current = {};
|
|
911
|
-
setDefinedFilters([]);
|
|
912
875
|
}
|
|
913
876
|
|
|
914
877
|
const queryString = qs.stringify(queryData, { encodeValuesOnly: true });
|
|
@@ -1026,26 +989,6 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
1026
989
|
// Force synchronous state updates
|
|
1027
990
|
};
|
|
1028
991
|
|
|
1029
|
-
// Removes a single handler-offered filter pill. The override persists for
|
|
1030
|
-
// the rest of this mount (setQueryString reconciliation keeps it applied:false
|
|
1031
|
-
// on subsequent fetches) but is not persisted beyond it.
|
|
1032
|
-
const removeDefinedFilter = (key: string) => {
|
|
1033
|
-
definedFilterOverridesRef.current[key] = false;
|
|
1034
|
-
setDefinedFilters((prev) => prev.map((def) => (def.key === key ? { ...def, applied: false } : def)));
|
|
1035
|
-
setFirst(0);
|
|
1036
|
-
void setQueryString();
|
|
1037
|
-
};
|
|
1038
|
-
|
|
1039
|
-
// Applies a handler-offered filter the user picked from the "defined
|
|
1040
|
-
// filters" list (one the handler returned with applied:false by default).
|
|
1041
|
-
// Mirrors removeDefinedFilter in the other direction.
|
|
1042
|
-
const applyDefinedFilter = (key: string) => {
|
|
1043
|
-
definedFilterOverridesRef.current[key] = true;
|
|
1044
|
-
setDefinedFilters((prev) => prev.map((def) => (def.key === key ? { ...def, applied: true } : def)));
|
|
1045
|
-
setFirst(0);
|
|
1046
|
-
void setQueryString();
|
|
1047
|
-
};
|
|
1048
|
-
|
|
1049
992
|
// clear Filter
|
|
1050
993
|
const clearFilter = () => {
|
|
1051
994
|
if (solidListViewMetaData) {
|
|
@@ -1240,7 +1183,8 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
1240
1183
|
column,
|
|
1241
1184
|
setLightboxUrls,
|
|
1242
1185
|
setOpenLightbox,
|
|
1243
|
-
embeded: params.embeded
|
|
1186
|
+
embeded: params.embeded,
|
|
1187
|
+
recordClickAction: recordClickFormMode
|
|
1244
1188
|
});
|
|
1245
1189
|
} else {
|
|
1246
1190
|
return null;
|
|
@@ -1252,7 +1196,8 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
1252
1196
|
column,
|
|
1253
1197
|
setLightboxUrls,
|
|
1254
1198
|
setOpenLightbox,
|
|
1255
|
-
embeded: params.embeded
|
|
1199
|
+
embeded: params.embeded,
|
|
1200
|
+
recordClickAction: recordClickFormMode
|
|
1256
1201
|
});
|
|
1257
1202
|
}
|
|
1258
1203
|
});
|
|
@@ -1480,27 +1425,11 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
1480
1425
|
{params.embeded === false && (
|
|
1481
1426
|
<>
|
|
1482
1427
|
|
|
1483
|
-
{/*
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
viewType="list"
|
|
1489
|
-
showSaveFilterPopup={showSaveFilterPopup}
|
|
1490
|
-
setShowSaveFilterPopup={setShowSaveFilterPopup}
|
|
1491
|
-
ref={solidGlobalSearchElementRef}
|
|
1492
|
-
viewData={solidListViewMetaData}
|
|
1493
|
-
handleApplyCustomFilter={handleApplyCustomFilter}
|
|
1494
|
-
filterPredicates={filterPredicates}
|
|
1495
|
-
definedFilters={definedFilters}
|
|
1496
|
-
onRemoveDefinedFilter={removeDefinedFilter}
|
|
1497
|
-
onApplyDefinedFilter={applyDefinedFilter}
|
|
1498
|
-
>
|
|
1499
|
-
</SolidGlobalSearchElement>
|
|
1500
|
-
</div>
|
|
1501
|
-
|
|
1502
|
-
{/* Mobile Version of global search element */}
|
|
1503
|
-
<div className={`${showGlobalSearchElement ? "lg:flex" : "hidden"} lg:hidden mt-3 lg:mt-0 w-full lg:min-w-0`}>
|
|
1428
|
+
{/* Global search element: always visible on desktop (lg+), toggled via search button below lg */}
|
|
1429
|
+
{/* Base `hidden` must be avoided here: the consuming app's Tailwind CSS loads after this
|
|
1430
|
+
library's generated CSS, so the app's base `.hidden` would override our media-scoped
|
|
1431
|
+
`lg:flex`. Only media-scoped visibility classes are safe on this element. */}
|
|
1432
|
+
<div className={`${showGlobalSearchElement ? "flex" : "max-lg:hidden lg:flex"} w-full mt-3 lg:mt-0 lg:min-w-0`}>
|
|
1504
1433
|
{/* Keep global search mounted for now because list bootstrap/filter hydration still flows through this element. */}
|
|
1505
1434
|
<SolidGlobalSearchElement
|
|
1506
1435
|
key={params.modelName}
|
|
@@ -1511,9 +1440,6 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
1511
1440
|
viewData={solidListViewMetaData}
|
|
1512
1441
|
handleApplyCustomFilter={handleApplyCustomFilter}
|
|
1513
1442
|
filterPredicates={filterPredicates}
|
|
1514
|
-
definedFilters={definedFilters}
|
|
1515
|
-
onRemoveDefinedFilter={removeDefinedFilter}
|
|
1516
|
-
onApplyDefinedFilter={applyDefinedFilter}
|
|
1517
1443
|
>
|
|
1518
1444
|
</SolidGlobalSearchElement>
|
|
1519
1445
|
</div>
|
|
@@ -1714,7 +1640,7 @@ export const SolidListView = forwardRef<SolidListViewHandle, SolidListViewParams
|
|
|
1714
1640
|
params.handleEditClickForEmbeddedView(rowData?.id);
|
|
1715
1641
|
} else {
|
|
1716
1642
|
storeCurrentModelViewContext();
|
|
1717
|
-
router.push(`${editBaseUrl}/${rowData?.id}?viewMode=${
|
|
1643
|
+
router.push(`${editBaseUrl}/${rowData?.id}?viewMode=${recordClickFormMode}&${buildEditNavigationQueryString(rowData)}`);
|
|
1718
1644
|
}
|
|
1719
1645
|
}
|
|
1720
1646
|
}
|
|
@@ -6,9 +6,10 @@ export type SolidListViewColumnParams = {
|
|
|
6
6
|
setLightboxUrls?: any;
|
|
7
7
|
setOpenLightbox?: any;
|
|
8
8
|
embeded?: boolean;
|
|
9
|
+
recordClickAction?: 'view' | 'edit';
|
|
9
10
|
};
|
|
10
11
|
export declare const isFieldSortable: (fieldMetadata: any) => boolean;
|
|
11
12
|
export declare const getNumberOfInputs: (matchMode: any) => number | null;
|
|
12
13
|
export declare const applyListColumnLayoutAttrs: (columnElement: React.ReactNode, column: any) => string | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined;
|
|
13
|
-
export declare const SolidListViewColumn: ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox, embeded }: SolidListViewColumnParams) => string | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined;
|
|
14
|
+
export declare const SolidListViewColumn: ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox, embeded, recordClickAction }: SolidListViewColumnParams) => string | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined;
|
|
14
15
|
//# sourceMappingURL=SolidListViewColumn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidListViewColumn.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewColumn.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,MAAM,MAAM,yBAAyB,GAAG;IACpC,qBAAqB,EAAE,GAAG,CAAC;IAC3B,aAAa,EAAE,GAAG,CAAC;IACnB,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SolidListViewColumn.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewColumn.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,MAAM,MAAM,yBAAyB,GAAG;IACpC,qBAAqB,EAAE,GAAG,CAAC;IAC3B,aAAa,EAAE,GAAG,CAAC;IACnB,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,eAAe,kBAAmB,GAAG,KAAG,OAMpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,cAAe,GAAG,KAAG,MAAM,GAAG,IAyB3D,CAAA;AAUD,eAAO,MAAM,0BAA0B,kBAAmB,MAAM,SAAS,UAAU,GAAG,kJAkCrF,CAAC;AAoBF,eAAO,MAAM,mBAAmB,mHAAoH,yBAAyB,kJAoG5K,CAAC"}
|
|
@@ -114,7 +114,7 @@ export var applyListColumnLayoutAttrs = function (columnElement, column) {
|
|
|
114
114
|
// };
|
|
115
115
|
export var SolidListViewColumn = function (_a) {
|
|
116
116
|
var _b;
|
|
117
|
-
var solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column, setLightboxUrls = _a.setLightboxUrls, setOpenLightbox = _a.setOpenLightbox, embeded = _a.embeded;
|
|
117
|
+
var solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column, setLightboxUrls = _a.setLightboxUrls, setOpenLightbox = _a.setOpenLightbox, embeded = _a.embeded, recordClickAction = _a.recordClickAction;
|
|
118
118
|
if (!isFieldSortable(fieldMetadata) && ((_b = column === null || column === void 0 ? void 0 : column.attrs) === null || _b === void 0 ? void 0 : _b.sortable)) {
|
|
119
119
|
column = __assign(__assign({}, column), { attrs: __assign(__assign({}, column.attrs), { sortable: false }) });
|
|
120
120
|
}
|
|
@@ -160,7 +160,7 @@ export var SolidListViewColumn = function (_a) {
|
|
|
160
160
|
renderedColumn = SolidTimeColumn({ solidListViewMetaData: solidListViewMetaData, fieldMetadata: fieldMetadata, column: column });
|
|
161
161
|
}
|
|
162
162
|
else if (fieldMetadata.type === 'relation') {
|
|
163
|
-
renderedColumn = SolidRelationColumn({ solidListViewMetaData: solidListViewMetaData, fieldMetadata: fieldMetadata, column: column, embeded: embeded });
|
|
163
|
+
renderedColumn = SolidRelationColumn({ solidListViewMetaData: solidListViewMetaData, fieldMetadata: fieldMetadata, column: column, embeded: embeded, recordClickAction: recordClickAction });
|
|
164
164
|
}
|
|
165
165
|
else if (fieldMetadata.type === 'mediaSingle') {
|
|
166
166
|
renderedColumn = SolidMediaSingleColumn({ solidListViewMetaData: solidListViewMetaData, fieldMetadata: fieldMetadata, column: column, setLightboxUrls: setLightboxUrls, setOpenLightbox: setOpenLightbox });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidListViewColumn.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport SolidBigintColumn from \"./columns/SolidBigintColumn\";\nimport SolidBooleanColumn from \"./columns/SolidBooleanColumn\";\nimport SolidComputedColumn from \"./columns/SolidComputedColumn\";\nimport SolidDateColumn from \"./columns/SolidDateColumn\";\nimport SolidDatetimeColumn from \"./columns/SolidDatetimeColumn\";\nimport SolidDecimalColumn from \"./columns/SolidDecimalColumn\";\nimport SolidExternalIdColumn from \"./columns/SolidExternalIdColumn\";\nimport SolidFloatColumn from \"./columns/SolidFloatColumn\";\nimport SolidIntColumn from \"./columns/SolidIntColumn\";\nimport SolidLongTextColumn from \"./columns/SolidLongTextColumn\";\nimport SolidMediaMultipleColumn from \"./columns/SolidMediaMultipleColumn\";\nimport SolidMediaSingleColumn from \"./columns/SolidMediaSingleColumn\";\nimport SolidRelationColumn from \"./columns/SolidRelationColumn\";\nimport SolidRichTextColumn from \"./columns/SolidRichTextColumn\";\nimport SolidSelectionDynamicColumn from \"./columns/SolidSelectionDynamicColumn\";\nimport SolidSelectionStaticColumn from \"./columns/SolidSelectionStaticColumn\";\nimport SolidShortTextColumn from \"./columns/SolidShortTextColumn\";\nimport SolidTimeColumn from \"./columns/SolidTimeColumn\";\nimport SolidUuidColumn from \"./columns/SolidUuidColumn\";\n\nexport type SolidListViewColumnParams = {\n solidListViewMetaData: any;\n fieldMetadata: any,\n column: any,\n setLightboxUrls?: any,\n setOpenLightbox?: any,\n embeded?: boolean; \n};\n\nexport const isFieldSortable = (fieldMetadata: any): boolean => {\n if (!fieldMetadata) return false;\n const type = fieldMetadata.type;\n if (type === 'mediaSingle' || type === 'mediaMultiple') return false;\n if (type === 'relation') return fieldMetadata.relationType === 'many-to-one';\n return true;\n};\n\nexport const getNumberOfInputs = (matchMode: any): number | null => {\n if (matchMode.label && matchMode.label === 'Not In') {\n matchMode = 'notIn';\n }\n\n switch (matchMode) {\n case 'between':\n return 2;\n case 'in':\n case 'notIn':\n return null;\n case 'startsWith':\n case 'contains':\n case 'notContains':\n case 'endsWith':\n case 'equals':\n case 'notEquals':\n case 'lt':\n case 'lte':\n case 'gt':\n case 'gte':\n return 1;\n default:\n return 1; // Default to single input if no specific match is found\n }\n}\n\nconst mergeClassNames = (...classNames: Array<string | undefined | null | false>) =>\n classNames.filter(Boolean).join(\" \");\n\nconst mergeStyles = (...styles: Array<React.CSSProperties | undefined | null>) =>\n styles.reduce<React.CSSProperties>((mergedStyles, style) => {\n return style ? { ...mergedStyles, ...style } : mergedStyles;\n }, {});\n\nexport const applyListColumnLayoutAttrs = (columnElement: React.ReactNode, column: any) => {\n if (!React.isValidElement(columnElement)) {\n return columnElement;\n }\n\n const attrs = column?.attrs ?? {};\n const props = columnElement.props as any;\n const className = mergeClassNames(\n props.className,\n attrs.className,\n attrs.columnClassName,\n attrs.cellClassName,\n );\n const headerClassName = mergeClassNames(\n props.headerClassName,\n attrs.headerClassName,\n );\n const style = mergeStyles(\n props.style,\n attrs.style,\n attrs.columnStyle,\n attrs.cellStyle,\n );\n const headerStyle = mergeStyles(\n props.headerStyle,\n attrs.headerStyle,\n );\n\n return React.cloneElement(columnElement, {\n className: className || undefined,\n headerClassName: headerClassName || undefined,\n style: Object.keys(style).length > 0 ? style : undefined,\n headerStyle: Object.keys(headerStyle).length > 0 ? headerStyle : undefined,\n } as any);\n};\n\n// // @ts-ignore\n// const components = require.context('./columns', false, /Solid.*Column\\.tsx$/);\n\n// // Define a function to dynamically load components based on type\n// const loadComponentByType = async (type: string) => {\n// try {\n// const componentName = `./columns/Solid${type.charAt(0).toUpperCase() + type.slice(1)}Column.tsx`;\n\n// // Dynamically import the component based on type\n// const componentModule = await import(componentName);\n\n// return componentModule.default;\n// } catch (error) {\n// console.error(`Failed to load component for type: ${type}`, error);\n// return null;\n// }\n// };\n\nexport const SolidListViewColumn = ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox, embeded }: SolidListViewColumnParams) => {\n\n if (!isFieldSortable(fieldMetadata) && column?.attrs?.sortable) {\n column = { ...column, attrs: { ...column.attrs, sortable: false } };\n }\n\n let renderedColumn: React.ReactNode;\n\n // And finally we can implement additional switching logic based on certain special fields. \n if (fieldMetadata.name === 'id') {\n renderedColumn = SolidIntColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'int') {\n renderedColumn = SolidIntColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'bigint') {\n renderedColumn = SolidBigintColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'float') {\n renderedColumn = SolidFloatColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'decimal') {\n renderedColumn = SolidDecimalColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'shortText') {\n renderedColumn = SolidShortTextColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n else if (fieldMetadata.type === 'longText') {\n renderedColumn = SolidLongTextColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'richText') {\n renderedColumn = SolidRichTextColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'email') {\n renderedColumn = SolidShortTextColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'boolean') {\n renderedColumn = SolidBooleanColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'date') {\n renderedColumn = SolidDateColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'datetime') {\n renderedColumn = SolidDatetimeColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'time') {\n renderedColumn = SolidTimeColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'relation') {\n renderedColumn = SolidRelationColumn({ solidListViewMetaData, fieldMetadata, column, embeded });\n }\n else if (fieldMetadata.type === 'mediaSingle') {\n renderedColumn = SolidMediaSingleColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n else if (fieldMetadata.type === 'mediaMultiple') {\n renderedColumn = SolidMediaMultipleColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n else if (fieldMetadata.type === 'selectionStatic') {\n renderedColumn = SolidSelectionStaticColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'selectionDynamic') {\n renderedColumn = SolidSelectionDynamicColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'computed') {\n renderedColumn = SolidComputedColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'externalId') {\n renderedColumn = SolidExternalIdColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'uuid') {\n renderedColumn = SolidUuidColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else {\n renderedColumn = SolidShortTextColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n\n return applyListColumnLayoutAttrs(renderedColumn, column);\n // // Load everything else based on type and dynamically.\n // else {\n // const ComponentFound = await loadComponentByType(fieldMetadata.type);\n // const ComponentNotFound = ({ solidListViewMetaData, fieldMetadata, column }: SolidListViewColumnParams) => (\n // <Column\n // key={fieldMetadata.name}\n // field={fieldMetadata.name}\n // header={fieldMetadata.displayName}\n // className=\"text-sm\"\n // sortable={false}\n // filter={false}\n // showFilterOperator={false}\n // body={() => (<span>Type not supported</span>)}\n // style={{ minWidth: \"12rem\" }}\n // headerClassName=\"table-header-fs\"\n // ></Column>\n // );\n\n // return ComponentFound ? ComponentFound({ solidListViewMetaData, fieldMetadata, column }) : ComponentNotFound({ solidListViewMetaData, fieldMetadata, column });\n // }\n\n // TODO: we can implement additional switching logic based on the widget type being used to render the list view column.\n\n};\n"]}
|
|
1
|
+
{"version":3,"file":"SolidListViewColumn.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidListViewColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport SolidBigintColumn from \"./columns/SolidBigintColumn\";\nimport SolidBooleanColumn from \"./columns/SolidBooleanColumn\";\nimport SolidComputedColumn from \"./columns/SolidComputedColumn\";\nimport SolidDateColumn from \"./columns/SolidDateColumn\";\nimport SolidDatetimeColumn from \"./columns/SolidDatetimeColumn\";\nimport SolidDecimalColumn from \"./columns/SolidDecimalColumn\";\nimport SolidExternalIdColumn from \"./columns/SolidExternalIdColumn\";\nimport SolidFloatColumn from \"./columns/SolidFloatColumn\";\nimport SolidIntColumn from \"./columns/SolidIntColumn\";\nimport SolidLongTextColumn from \"./columns/SolidLongTextColumn\";\nimport SolidMediaMultipleColumn from \"./columns/SolidMediaMultipleColumn\";\nimport SolidMediaSingleColumn from \"./columns/SolidMediaSingleColumn\";\nimport SolidRelationColumn from \"./columns/SolidRelationColumn\";\nimport SolidRichTextColumn from \"./columns/SolidRichTextColumn\";\nimport SolidSelectionDynamicColumn from \"./columns/SolidSelectionDynamicColumn\";\nimport SolidSelectionStaticColumn from \"./columns/SolidSelectionStaticColumn\";\nimport SolidShortTextColumn from \"./columns/SolidShortTextColumn\";\nimport SolidTimeColumn from \"./columns/SolidTimeColumn\";\nimport SolidUuidColumn from \"./columns/SolidUuidColumn\";\n\nexport type SolidListViewColumnParams = {\n solidListViewMetaData: any;\n fieldMetadata: any,\n column: any,\n setLightboxUrls?: any,\n setOpenLightbox?: any,\n embeded?: boolean,\n recordClickAction?: 'view' | 'edit'; \n};\n\nexport const isFieldSortable = (fieldMetadata: any): boolean => {\n if (!fieldMetadata) return false;\n const type = fieldMetadata.type;\n if (type === 'mediaSingle' || type === 'mediaMultiple') return false;\n if (type === 'relation') return fieldMetadata.relationType === 'many-to-one';\n return true;\n};\n\nexport const getNumberOfInputs = (matchMode: any): number | null => {\n if (matchMode.label && matchMode.label === 'Not In') {\n matchMode = 'notIn';\n }\n\n switch (matchMode) {\n case 'between':\n return 2;\n case 'in':\n case 'notIn':\n return null;\n case 'startsWith':\n case 'contains':\n case 'notContains':\n case 'endsWith':\n case 'equals':\n case 'notEquals':\n case 'lt':\n case 'lte':\n case 'gt':\n case 'gte':\n return 1;\n default:\n return 1; // Default to single input if no specific match is found\n }\n}\n\nconst mergeClassNames = (...classNames: Array<string | undefined | null | false>) =>\n classNames.filter(Boolean).join(\" \");\n\nconst mergeStyles = (...styles: Array<React.CSSProperties | undefined | null>) =>\n styles.reduce<React.CSSProperties>((mergedStyles, style) => {\n return style ? { ...mergedStyles, ...style } : mergedStyles;\n }, {});\n\nexport const applyListColumnLayoutAttrs = (columnElement: React.ReactNode, column: any) => {\n if (!React.isValidElement(columnElement)) {\n return columnElement;\n }\n\n const attrs = column?.attrs ?? {};\n const props = columnElement.props as any;\n const className = mergeClassNames(\n props.className,\n attrs.className,\n attrs.columnClassName,\n attrs.cellClassName,\n );\n const headerClassName = mergeClassNames(\n props.headerClassName,\n attrs.headerClassName,\n );\n const style = mergeStyles(\n props.style,\n attrs.style,\n attrs.columnStyle,\n attrs.cellStyle,\n );\n const headerStyle = mergeStyles(\n props.headerStyle,\n attrs.headerStyle,\n );\n\n return React.cloneElement(columnElement, {\n className: className || undefined,\n headerClassName: headerClassName || undefined,\n style: Object.keys(style).length > 0 ? style : undefined,\n headerStyle: Object.keys(headerStyle).length > 0 ? headerStyle : undefined,\n } as any);\n};\n\n// // @ts-ignore\n// const components = require.context('./columns', false, /Solid.*Column\\.tsx$/);\n\n// // Define a function to dynamically load components based on type\n// const loadComponentByType = async (type: string) => {\n// try {\n// const componentName = `./columns/Solid${type.charAt(0).toUpperCase() + type.slice(1)}Column.tsx`;\n\n// // Dynamically import the component based on type\n// const componentModule = await import(componentName);\n\n// return componentModule.default;\n// } catch (error) {\n// console.error(`Failed to load component for type: ${type}`, error);\n// return null;\n// }\n// };\n\nexport const SolidListViewColumn = ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox, embeded, recordClickAction }: SolidListViewColumnParams) => {\n\n if (!isFieldSortable(fieldMetadata) && column?.attrs?.sortable) {\n column = { ...column, attrs: { ...column.attrs, sortable: false } };\n }\n\n let renderedColumn: React.ReactNode;\n\n // And finally we can implement additional switching logic based on certain special fields. \n if (fieldMetadata.name === 'id') {\n renderedColumn = SolidIntColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'int') {\n renderedColumn = SolidIntColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'bigint') {\n renderedColumn = SolidBigintColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'float') {\n renderedColumn = SolidFloatColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'decimal') {\n renderedColumn = SolidDecimalColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'shortText') {\n renderedColumn = SolidShortTextColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n else if (fieldMetadata.type === 'longText') {\n renderedColumn = SolidLongTextColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'richText') {\n renderedColumn = SolidRichTextColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'email') {\n renderedColumn = SolidShortTextColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'boolean') {\n renderedColumn = SolidBooleanColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'date') {\n renderedColumn = SolidDateColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'datetime') {\n renderedColumn = SolidDatetimeColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'time') {\n renderedColumn = SolidTimeColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'relation') {\n renderedColumn = SolidRelationColumn({ solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction });\n }\n else if (fieldMetadata.type === 'mediaSingle') {\n renderedColumn = SolidMediaSingleColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n else if (fieldMetadata.type === 'mediaMultiple') {\n renderedColumn = SolidMediaMultipleColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n else if (fieldMetadata.type === 'selectionStatic') {\n renderedColumn = SolidSelectionStaticColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'selectionDynamic') {\n renderedColumn = SolidSelectionDynamicColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'computed') {\n renderedColumn = SolidComputedColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'externalId') {\n renderedColumn = SolidExternalIdColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else if (fieldMetadata.type === 'uuid') {\n renderedColumn = SolidUuidColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n else {\n renderedColumn = SolidShortTextColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });\n }\n\n return applyListColumnLayoutAttrs(renderedColumn, column);\n // // Load everything else based on type and dynamically.\n // else {\n // const ComponentFound = await loadComponentByType(fieldMetadata.type);\n // const ComponentNotFound = ({ solidListViewMetaData, fieldMetadata, column }: SolidListViewColumnParams) => (\n // <Column\n // key={fieldMetadata.name}\n // field={fieldMetadata.name}\n // header={fieldMetadata.displayName}\n // className=\"text-sm\"\n // sortable={false}\n // filter={false}\n // showFilterOperator={false}\n // body={() => (<span>Type not supported</span>)}\n // style={{ minWidth: \"12rem\" }}\n // headerClassName=\"table-header-fs\"\n // ></Column>\n // );\n\n // return ComponentFound ? ComponentFound({ solidListViewMetaData, fieldMetadata, column }) : ComponentNotFound({ solidListViewMetaData, fieldMetadata, column });\n // }\n\n // TODO: we can implement additional switching logic based on the widget type being used to render the list view column.\n\n};\n"]}
|
|
@@ -25,7 +25,8 @@ export type SolidListViewColumnParams = {
|
|
|
25
25
|
column: any,
|
|
26
26
|
setLightboxUrls?: any,
|
|
27
27
|
setOpenLightbox?: any,
|
|
28
|
-
embeded?: boolean
|
|
28
|
+
embeded?: boolean,
|
|
29
|
+
recordClickAction?: 'view' | 'edit';
|
|
29
30
|
};
|
|
30
31
|
|
|
31
32
|
export const isFieldSortable = (fieldMetadata: any): boolean => {
|
|
@@ -125,7 +126,7 @@ export const applyListColumnLayoutAttrs = (columnElement: React.ReactNode, colum
|
|
|
125
126
|
// }
|
|
126
127
|
// };
|
|
127
128
|
|
|
128
|
-
export const SolidListViewColumn = ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox, embeded }: SolidListViewColumnParams) => {
|
|
129
|
+
export const SolidListViewColumn = ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox, embeded, recordClickAction }: SolidListViewColumnParams) => {
|
|
129
130
|
|
|
130
131
|
if (!isFieldSortable(fieldMetadata) && column?.attrs?.sortable) {
|
|
131
132
|
column = { ...column, attrs: { ...column.attrs, sortable: false } };
|
|
@@ -174,7 +175,7 @@ export const SolidListViewColumn = ({ solidListViewMetaData, fieldMetadata, colu
|
|
|
174
175
|
renderedColumn = SolidTimeColumn({ solidListViewMetaData, fieldMetadata, column });
|
|
175
176
|
}
|
|
176
177
|
else if (fieldMetadata.type === 'relation') {
|
|
177
|
-
renderedColumn = SolidRelationColumn({ solidListViewMetaData, fieldMetadata, column, embeded });
|
|
178
|
+
renderedColumn = SolidRelationColumn({ solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction });
|
|
178
179
|
}
|
|
179
180
|
else if (fieldMetadata.type === 'mediaSingle') {
|
|
180
181
|
renderedColumn = SolidMediaSingleColumn({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { SolidListViewColumnParams } from '../SolidListViewColumn';
|
|
2
|
-
declare const SolidRelationColumn: ({ solidListViewMetaData, fieldMetadata, column, embeded }: SolidListViewColumnParams) => import("react/jsx-runtime").JSX.Element | undefined;
|
|
2
|
+
declare const SolidRelationColumn: ({ solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction }: SolidListViewColumnParams) => import("react/jsx-runtime").JSX.Element | undefined;
|
|
3
3
|
export default SolidRelationColumn;
|
|
4
4
|
//# sourceMappingURL=SolidRelationColumn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidRelationColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidRelationColumn.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAKnE,QAAA,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"SolidRelationColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidRelationColumn.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAKnE,QAAA,MAAM,mBAAmB,iFAAkF,yBAAyB,wDAYnI,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -2,9 +2,9 @@ import SolidRelationManyToManyColumn from './relations/SolidRelationManyToManyCo
|
|
|
2
2
|
import SolidRelationManyToOneColumn from './relations/SolidRelationManyToOneColumn';
|
|
3
3
|
import SolidRelationOneToManyColumn from './relations/SolidRelationOneToManyColumn';
|
|
4
4
|
var SolidRelationColumn = function (_a) {
|
|
5
|
-
var solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column, embeded = _a.embeded;
|
|
5
|
+
var solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column, embeded = _a.embeded, recordClickAction = _a.recordClickAction;
|
|
6
6
|
if (fieldMetadata.relationType === 'many-to-one') {
|
|
7
|
-
return SolidRelationManyToOneColumn({ solidListViewMetaData: solidListViewMetaData, fieldMetadata: fieldMetadata, column: column, embeded: embeded });
|
|
7
|
+
return SolidRelationManyToOneColumn({ solidListViewMetaData: solidListViewMetaData, fieldMetadata: fieldMetadata, column: column, embeded: embeded, recordClickAction: recordClickAction });
|
|
8
8
|
}
|
|
9
9
|
if (fieldMetadata.relationType === 'one-to-many') {
|
|
10
10
|
return SolidRelationOneToManyColumn({ solidListViewMetaData: solidListViewMetaData, fieldMetadata: fieldMetadata, column: column });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidRelationColumn.js","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidRelationColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,6BAA6B,MAAM,2CAA2C,CAAC;AACtF,OAAO,4BAA4B,MAAM,0CAA0C,CAAC;AACpF,OAAO,4BAA4B,MAAM,0CAA0C,CAAC;AAEpF,IAAM,mBAAmB,GAAG,UAAC,
|
|
1
|
+
{"version":3,"file":"SolidRelationColumn.js","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidRelationColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,6BAA6B,MAAM,2CAA2C,CAAC;AACtF,OAAO,4BAA4B,MAAM,0CAA0C,CAAC;AACpF,OAAO,4BAA4B,MAAM,0CAA0C,CAAC;AAEpF,IAAM,mBAAmB,GAAG,UAAC,EAAuG;QAArG,qBAAqB,2BAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA,EAAE,OAAO,aAAA,EAAE,iBAAiB,uBAAA;IACnG,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,EAAE;QAC9C,OAAO,4BAA4B,CAAC,EAAE,qBAAqB,uBAAA,EAAE,aAAa,eAAA,EAAE,MAAM,QAAA,EAAE,OAAO,SAAA,EAAE,iBAAiB,mBAAA,EAAE,CAAC,CAAC;KACrH;IACD,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,EAAE;QAC9C,OAAO,4BAA4B,CAAC,EAAE,qBAAqB,uBAAA,EAAE,aAAa,eAAA,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;KACzF;IACD,IAAI,aAAa,CAAC,YAAY,KAAK,cAAc,EAAE;QAC/C,OAAO,6BAA6B,CAAC,EAAE,qBAAqB,uBAAA,EAAE,aAAa,eAAA,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;KAC1F;IACD,4BAA4B;IAC5B,6BAA6B;AACjC,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["\nimport { SolidListViewColumnParams } from '../SolidListViewColumn';\nimport SolidRelationManyToManyColumn from './relations/SolidRelationManyToManyColumn';\nimport SolidRelationManyToOneColumn from './relations/SolidRelationManyToOneColumn';\nimport SolidRelationOneToManyColumn from './relations/SolidRelationOneToManyColumn';\n\nconst SolidRelationColumn = ({ solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction }: SolidListViewColumnParams) => {\n if (fieldMetadata.relationType === 'many-to-one') {\n return SolidRelationManyToOneColumn({ solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction });\n }\n if (fieldMetadata.relationType === 'one-to-many') {\n return SolidRelationOneToManyColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n if (fieldMetadata.relationType === 'many-to-many') {\n return SolidRelationManyToManyColumn({ solidListViewMetaData, fieldMetadata, column });\n }\n // TODO: Support one-to-many\n // TODO: Support many-to-many\n};\n\nexport default SolidRelationColumn;"]}
|
|
@@ -4,9 +4,9 @@ import SolidRelationManyToManyColumn from './relations/SolidRelationManyToManyCo
|
|
|
4
4
|
import SolidRelationManyToOneColumn from './relations/SolidRelationManyToOneColumn';
|
|
5
5
|
import SolidRelationOneToManyColumn from './relations/SolidRelationOneToManyColumn';
|
|
6
6
|
|
|
7
|
-
const SolidRelationColumn = ({ solidListViewMetaData, fieldMetadata, column, embeded }: SolidListViewColumnParams) => {
|
|
7
|
+
const SolidRelationColumn = ({ solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction }: SolidListViewColumnParams) => {
|
|
8
8
|
if (fieldMetadata.relationType === 'many-to-one') {
|
|
9
|
-
return SolidRelationManyToOneColumn({ solidListViewMetaData, fieldMetadata, column, embeded });
|
|
9
|
+
return SolidRelationManyToOneColumn({ solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction });
|
|
10
10
|
}
|
|
11
11
|
if (fieldMetadata.relationType === 'one-to-many') {
|
|
12
12
|
return SolidRelationOneToManyColumn({ solidListViewMetaData, fieldMetadata, column });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SolidListViewColumnParams } from '../../../../../components/core/list/SolidListViewColumn';
|
|
2
2
|
import { SolidListFieldWidgetProps } from '../../../../../types/solid-core';
|
|
3
|
-
declare const SolidRelationManyToOneColumn: ({ solidListViewMetaData, fieldMetadata, column, embeded }: SolidListViewColumnParams) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare const SolidRelationManyToOneColumn: ({ solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction }: SolidListViewColumnParams) => import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
export default SolidRelationManyToOneColumn;
|
|
5
|
-
export declare const DefaultRelationManyToOneListWidget: ({ rowData, solidListViewMetaData, fieldMetadata, column, embeded }: SolidListFieldWidgetProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare const DefaultRelationManyToOneListWidget: ({ rowData, solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction }: SolidListFieldWidgetProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
//# sourceMappingURL=SolidRelationManyToOneColumn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidRelationManyToOneColumn.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAIpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,QAAA,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"SolidRelationManyToOneColumn.d.ts","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAIpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,QAAA,MAAM,4BAA4B,iFAAkF,yBAAyB,4CAsC5I,CAAC;AAEF,eAAe,4BAA4B,CAAC;AAG5C,eAAO,MAAM,kCAAkC,0FAA2F,yBAAyB,4CAgDlK,CAAC"}
|
|
@@ -17,7 +17,7 @@ import { buildAdminRecordFormPath } from '../../../../../helpers/routePaths';
|
|
|
17
17
|
import { ExternalLink } from "lucide-react";
|
|
18
18
|
var SolidRelationManyToOneColumn = function (_a) {
|
|
19
19
|
var _b;
|
|
20
|
-
var solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column, embeded = _a.embeded;
|
|
20
|
+
var solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column, embeded = _a.embeded, recordClickAction = _a.recordClickAction;
|
|
21
21
|
var header = (_b = column.attrs.label) !== null && _b !== void 0 ? _b : fieldMetadata.displayName;
|
|
22
22
|
return (_jsx(Column, { field: fieldMetadata.name, header: header,
|
|
23
23
|
// className="text-sm"
|
|
@@ -32,7 +32,8 @@ var SolidRelationManyToOneColumn = function (_a) {
|
|
|
32
32
|
solidListViewMetaData: solidListViewMetaData,
|
|
33
33
|
fieldMetadata: fieldMetadata,
|
|
34
34
|
column: column,
|
|
35
|
-
embeded: embeded
|
|
35
|
+
embeded: embeded,
|
|
36
|
+
recordClickAction: recordClickAction
|
|
36
37
|
};
|
|
37
38
|
return (_jsx(_Fragment, { children: DynamicWidget && _jsx(DynamicWidget, __assign({}, widgetProps)) }));
|
|
38
39
|
}, filterPlaceholder: "Search by ".concat(fieldMetadata.displayName), style: { minWidth: "12rem" }, headerClassName: "table-header-fs" }, fieldMetadata.name));
|
|
@@ -40,7 +41,7 @@ var SolidRelationManyToOneColumn = function (_a) {
|
|
|
40
41
|
export default SolidRelationManyToOneColumn;
|
|
41
42
|
export var DefaultRelationManyToOneListWidget = function (_a) {
|
|
42
43
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
43
|
-
var rowData = _a.rowData, solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column, embeded = _a.embeded;
|
|
44
|
+
var rowData = _a.rowData, solidListViewMetaData = _a.solidListViewMetaData, fieldMetadata = _a.fieldMetadata, column = _a.column, embeded = _a.embeded, recordClickAction = _a.recordClickAction;
|
|
44
45
|
var manyToOneFieldData = rowData[column.attrs.name];
|
|
45
46
|
var isArchivedRecord = (rowData === null || rowData === void 0 ? void 0 : rowData.deletedAt) !== null && (rowData === null || rowData === void 0 ? void 0 : rowData.deletedAt) !== undefined;
|
|
46
47
|
// This is the userkey that will be present within the rowData.
|
|
@@ -57,7 +58,7 @@ export var DefaultRelationManyToOneListWidget = function (_a) {
|
|
|
57
58
|
moduleName: relatedModuleName,
|
|
58
59
|
modelName: relatedModelName,
|
|
59
60
|
recordId: manyToOneFieldData === null || manyToOneFieldData === void 0 ? void 0 : manyToOneFieldData.id,
|
|
60
|
-
viewMode:
|
|
61
|
+
viewMode: recordClickAction,
|
|
61
62
|
});
|
|
62
63
|
var isDisabled = ((_m = column === null || column === void 0 ? void 0 : column.attrs) === null || _m === void 0 ? void 0 : _m.disabled) === true || isArchivedRecord;
|
|
63
64
|
if (embeded === true || isDisabled || !relationRecordPath_1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidRelationManyToOneColumn.js","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,IAAM,4BAA4B,GAAG,UAAC,
|
|
1
|
+
{"version":3,"file":"SolidRelationManyToOneColumn.js","sourceRoot":"","sources":["../../../../../../src/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { Column } from \"../../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../../../../../components/core/list/SolidListViewColumn';\nimport { getExtensionComponent } from '../../../../../helpers/registry';\nimport { getRelatedRecordDisplayText } from '../../../../../helpers/relationDisplay';\nimport { buildAdminRecordFormPath } from '../../../../../helpers/routePaths';\nimport { SolidListFieldWidgetProps } from '../../../../../types/solid-core';\nimport { ExternalLink } from \"lucide-react\";\n\nconst SolidRelationManyToOneColumn = ({ solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction }: SolidListViewColumnParams) => {\n\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n header={header}\n // className=\"text-sm\"\n sortable={column.attrs.sortable}\n body={(rowData) => {\n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultRelationManyToOneListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column,\n embeded,\n recordClickAction\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n }\n filterPlaceholder={`Search by ${fieldMetadata.displayName}`}\n style={{ minWidth: \"12rem\" }}\n headerClassName=\"table-header-fs\"\n ></Column>\n );\n\n};\n\nexport default SolidRelationManyToOneColumn;\n\n\nexport const DefaultRelationManyToOneListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction }: SolidListFieldWidgetProps) => {\n const manyToOneFieldData = rowData[column.attrs.name];\n const isArchivedRecord = rowData?.deletedAt !== null && rowData?.deletedAt !== undefined;\n // This is the userkey that will be present within the rowData.\n if (manyToOneFieldData) {\n // Since this is a many-to-one field, we fetch the user key field of the associated model.\n const userKeyField = column?.attrs?.coModelFieldToDisplay ? column?.attrs?.coModelFieldToDisplay : fieldMetadata?.relationModel?.userKeyField?.name;\n const manyToOneColVal = getRelatedRecordDisplayText(manyToOneFieldData, userKeyField);\n const relatedModuleName =\n fieldMetadata?.relationModelModuleName ||\n fieldMetadata?.relationModel?.module?.name ||\n solidListViewMetaData?.data?.solidView?.module?.name;\n const relatedModelName =\n fieldMetadata?.relationModel?.singularName ||\n fieldMetadata?.relationCoModelSingularName;\n const relationRecordPath = buildAdminRecordFormPath({\n moduleName: relatedModuleName,\n modelName: relatedModelName,\n recordId: manyToOneFieldData?.id,\n viewMode: recordClickAction,\n });\n\n const isDisabled = column?.attrs?.disabled === true || isArchivedRecord;\n\n if (embeded === true || isDisabled || !relationRecordPath) {\n return (\n <span className=\"solid-list-external-link-text\">\n {manyToOneColVal}\n </span>\n );\n }\n\n return (\n <button\n type=\"button\"\n className=\"solid-list-external-link\"\n onClick={() => {\n window.open(relationRecordPath, \"_blank\");\n }}\n >\n <span className=\"solid-list-external-link-text\">{manyToOneColVal}</span>\n <ExternalLink size={13} strokeWidth={2} className=\"solid-list-external-link-icon\" />\n </button>\n );\n }\n else {\n return <span></span>\n }\n};\n"]}
|
|
@@ -7,7 +7,7 @@ import { buildAdminRecordFormPath } from '../../../../../helpers/routePaths';
|
|
|
7
7
|
import { SolidListFieldWidgetProps } from '../../../../../types/solid-core';
|
|
8
8
|
import { ExternalLink } from "lucide-react";
|
|
9
9
|
|
|
10
|
-
const SolidRelationManyToOneColumn = ({ solidListViewMetaData, fieldMetadata, column, embeded }: SolidListViewColumnParams) => {
|
|
10
|
+
const SolidRelationManyToOneColumn = ({ solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction }: SolidListViewColumnParams) => {
|
|
11
11
|
|
|
12
12
|
const header = column.attrs.label ?? fieldMetadata.displayName;
|
|
13
13
|
|
|
@@ -29,7 +29,8 @@ const SolidRelationManyToOneColumn = ({ solidListViewMetaData, fieldMetadata, co
|
|
|
29
29
|
solidListViewMetaData,
|
|
30
30
|
fieldMetadata,
|
|
31
31
|
column,
|
|
32
|
-
embeded
|
|
32
|
+
embeded,
|
|
33
|
+
recordClickAction
|
|
33
34
|
}
|
|
34
35
|
return (
|
|
35
36
|
<>
|
|
@@ -49,7 +50,7 @@ const SolidRelationManyToOneColumn = ({ solidListViewMetaData, fieldMetadata, co
|
|
|
49
50
|
export default SolidRelationManyToOneColumn;
|
|
50
51
|
|
|
51
52
|
|
|
52
|
-
export const DefaultRelationManyToOneListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column, embeded }: SolidListFieldWidgetProps) => {
|
|
53
|
+
export const DefaultRelationManyToOneListWidget = ({ rowData, solidListViewMetaData, fieldMetadata, column, embeded, recordClickAction }: SolidListFieldWidgetProps) => {
|
|
53
54
|
const manyToOneFieldData = rowData[column.attrs.name];
|
|
54
55
|
const isArchivedRecord = rowData?.deletedAt !== null && rowData?.deletedAt !== undefined;
|
|
55
56
|
// This is the userkey that will be present within the rowData.
|
|
@@ -68,7 +69,7 @@ export const DefaultRelationManyToOneListWidget = ({ rowData, solidListViewMetaD
|
|
|
68
69
|
moduleName: relatedModuleName,
|
|
69
70
|
modelName: relatedModelName,
|
|
70
71
|
recordId: manyToOneFieldData?.id,
|
|
71
|
-
viewMode:
|
|
72
|
+
viewMode: recordClickAction,
|
|
72
73
|
});
|
|
73
74
|
|
|
74
75
|
const isDisabled = column?.attrs?.disabled === true || isArchivedRecord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldMetaDataForm.d.ts","sourceRoot":"","sources":["../../../../src/components/core/model/FieldMetaDataForm.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FieldMetaDataForm.d.ts","sourceRoot":"","sources":["../../../../src/components/core/model/FieldMetaDataForm.tsx"],"names":[],"mappings":"AAkCA,OAAO,yBAAyB,CAAC;AAs2BjC,QAAA,MAAM,iBAAiB,4VAoBpB,GAAG,4CA2qFL,CAAC;AAGF,eAAe,iBAAiB,CAAC"}
|