@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.
Files changed (90) hide show
  1. package/dist/components/common/DropzonePlaceholder.d.ts +2 -1
  2. package/dist/components/common/DropzonePlaceholder.d.ts.map +1 -1
  3. package/dist/components/common/DropzonePlaceholder.js +10 -7
  4. package/dist/components/common/DropzonePlaceholder.js.map +1 -1
  5. package/dist/components/common/DropzonePlaceholder.tsx +14 -9
  6. package/dist/components/core/card/CardItem.js +1 -1
  7. package/dist/components/core/card/CardItem.js.map +1 -1
  8. package/dist/components/core/card/CardItem.tsx +1 -1
  9. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  10. package/dist/components/core/card/SolidCardView.js +2 -2
  11. package/dist/components/core/card/SolidCardView.js.map +1 -1
  12. package/dist/components/core/card/SolidCardView.tsx +7 -12
  13. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  14. package/dist/components/core/common/SolidGlobalSearchElement.js +101 -86
  15. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  16. package/dist/components/core/common/SolidGlobalSearchElement.tsx +161 -98
  17. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  18. package/dist/components/core/form/SolidFormView.js +96 -72
  19. package/dist/components/core/form/SolidFormView.js.map +1 -1
  20. package/dist/components/core/form/SolidFormView.tsx +39 -17
  21. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  22. package/dist/components/core/form/fields/SolidMediaMultipleField.js +3 -2
  23. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  24. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +3 -1
  25. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  26. package/dist/components/core/form/fields/SolidMediaSingleField.js +3 -2
  27. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  28. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +3 -1
  29. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts +1 -0
  30. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  31. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +20 -2
  32. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  33. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +29 -2
  34. package/dist/components/core/form/fields/solidFields.module.css +7 -0
  35. package/dist/components/core/kanban/KanbanCard.js +1 -1
  36. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  37. package/dist/components/core/kanban/KanbanCard.tsx +1 -1
  38. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  39. package/dist/components/core/kanban/SolidKanbanView.js +7 -1
  40. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  41. package/dist/components/core/kanban/SolidKanbanView.tsx +10 -5
  42. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  43. package/dist/components/core/list/SolidListView.js +44 -88
  44. package/dist/components/core/list/SolidListView.js.map +1 -1
  45. package/dist/components/core/list/SolidListView.tsx +19 -93
  46. package/dist/components/core/list/SolidListViewColumn.d.ts +2 -1
  47. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  48. package/dist/components/core/list/SolidListViewColumn.js +2 -2
  49. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  50. package/dist/components/core/list/SolidListViewColumn.tsx +4 -3
  51. package/dist/components/core/list/columns/SolidRelationColumn.d.ts +1 -1
  52. package/dist/components/core/list/columns/SolidRelationColumn.d.ts.map +1 -1
  53. package/dist/components/core/list/columns/SolidRelationColumn.js +2 -2
  54. package/dist/components/core/list/columns/SolidRelationColumn.js.map +1 -1
  55. package/dist/components/core/list/columns/SolidRelationColumn.tsx +2 -2
  56. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts +2 -2
  57. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  58. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +5 -4
  59. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  60. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +5 -4
  61. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  62. package/dist/components/core/model/FieldMetaDataForm.js +147 -97
  63. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  64. package/dist/components/core/model/FieldMetaDataForm.tsx +123 -31
  65. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  66. package/dist/components/core/tree/SolidTreeView.js +1 -1
  67. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  68. package/dist/components/core/tree/SolidTreeView.tsx +4 -12
  69. package/dist/components/layout/AdminHeaderActions.js +1 -1
  70. package/dist/components/layout/AdminHeaderActions.js.map +1 -1
  71. package/dist/components/layout/AdminHeaderActions.tsx +1 -1
  72. package/dist/helpers/getAcceptedFileTypes.d.ts +12 -2
  73. package/dist/helpers/getAcceptedFileTypes.d.ts.map +1 -1
  74. package/dist/helpers/getAcceptedFileTypes.js +72 -16
  75. package/dist/helpers/getAcceptedFileTypes.js.map +1 -1
  76. package/dist/helpers/getAcceptedFileTypes.tsx +101 -18
  77. package/dist/helpers/registry.js +2 -1
  78. package/dist/helpers/registry.js.map +1 -1
  79. package/dist/helpers/registry.ts +3 -1
  80. package/dist/index.d.ts +1 -1
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js.map +1 -1
  83. package/dist/index.ts +1 -2
  84. package/dist/resources/globals.css +259 -109
  85. package/dist/resources/solid-responsive.css +1 -5
  86. package/dist/resources/solid-tailwind-generated.css +1 -1
  87. package/dist/resources/themes/solid-light-modern/theme.css +3 -4
  88. package/dist/types/index.d.ts +2 -4
  89. package/dist/types/solid-core.d.ts +4 -13
  90. 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, SolidDefinedFilter } from "../../../types/solid-core";
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 rowClickFormMode = useMemo(() => {
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
- {/* Desktop Version of global searcj element */}
1484
- <div className={`max-[576px]:hidden sm:hidden lg:flex w-full mt-3 lg:mt-0 lg:min-w-0`}>
1485
- {/* Keep global search mounted for now because list bootstrap/filter hydration still flows through this element. */}
1486
- <SolidGlobalSearchElement
1487
- key={params.modelName}
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=${rowClickFormMode}&${buildEditNavigationQueryString(rowData)}`);
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;CACrB,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,gGAAiG,yBAAyB,kJAoGzJ,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,8DAA+D,yBAAyB,wDAYhH,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
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,EAAoF;QAAlF,qBAAqB,2BAAA,EAAE,aAAa,mBAAA,EAAE,MAAM,YAAA,EAAE,OAAO,aAAA;IAChF,IAAI,aAAa,CAAC,YAAY,KAAK,aAAa,EAAE;QAC9C,OAAO,4BAA4B,CAAC,EAAE,qBAAqB,uBAAA,EAAE,aAAa,eAAA,EAAE,MAAM,QAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;KAClG;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 }: SolidListViewColumnParams) => {\n if (fieldMetadata.relationType === 'many-to-one') {\n return SolidRelationManyToOneColumn({ solidListViewMetaData, fieldMetadata, column, embeded });\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;"]}
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,8DAA+D,yBAAyB,4CAqCzH,CAAC;AAEF,eAAe,4BAA4B,CAAC;AAG5C,eAAO,MAAM,kCAAkC,uEAAwE,yBAAyB,4CAgD/I,CAAC"}
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: "view",
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":"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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 }: 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 }\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 }: 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: \"view\",\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"]}
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: "view",
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":"AAiCA,OAAO,yBAAyB,CAAC;AAy0BjC,QAAA,MAAM,iBAAiB,4VAoBpB,GAAG,4CA6mFL,CAAC;AAGF,eAAe,iBAAiB,CAAC"}
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"}