drf-react-by-schema 0.28.8 → 0.28.10

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 (232) hide show
  1. package/dist/@types/index.d.ts +410 -0
  2. package/dist/@types/index.d.ts.map +1 -0
  3. package/dist/@types/index.js +9 -0
  4. package/dist/@types/string-mask.d.ts +10 -0
  5. package/dist/@types/string-mask.d.ts.map +1 -0
  6. package/dist/@types/string-mask.js +1 -0
  7. package/dist/api.d.ts +81 -0
  8. package/dist/api.d.ts.map +1 -0
  9. package/dist/api.js +1118 -0
  10. package/dist/components/DataGridBySchemaEditable/BooleanInputCell.d.ts +8 -0
  11. package/dist/components/DataGridBySchemaEditable/BooleanInputCell.d.ts.map +1 -0
  12. package/dist/components/DataGridBySchemaEditable/BooleanInputCell.js +86 -0
  13. package/dist/components/DataGridBySchemaEditable/ConditionalEditWrapper.d.ts +12 -0
  14. package/dist/components/DataGridBySchemaEditable/ConditionalEditWrapper.d.ts.map +1 -0
  15. package/dist/components/DataGridBySchemaEditable/ConditionalEditWrapper.js +71 -0
  16. package/dist/components/DataGridBySchemaEditable/ConfirmDialog.d.ts +9 -0
  17. package/dist/components/DataGridBySchemaEditable/ConfirmDialog.d.ts.map +1 -0
  18. package/dist/components/DataGridBySchemaEditable/ConfirmDialog.js +21 -0
  19. package/dist/components/DataGridBySchemaEditable/CustomToolbar.d.ts +26 -0
  20. package/dist/components/DataGridBySchemaEditable/CustomToolbar.d.ts.map +1 -0
  21. package/dist/components/DataGridBySchemaEditable/CustomToolbar.js +146 -0
  22. package/dist/components/DataGridBySchemaEditable/DataGridDesktop.d.ts +73 -0
  23. package/dist/components/DataGridBySchemaEditable/DataGridDesktop.d.ts.map +1 -0
  24. package/dist/components/DataGridBySchemaEditable/DataGridDesktop.js +421 -0
  25. package/dist/components/DataGridBySchemaEditable/DataGridMobile.d.ts +18 -0
  26. package/dist/components/DataGridBySchemaEditable/DataGridMobile.d.ts.map +1 -0
  27. package/dist/components/DataGridBySchemaEditable/DataGridMobile.js +105 -0
  28. package/dist/components/DataGridBySchemaEditable/FileInputCell.d.ts +11 -0
  29. package/dist/components/DataGridBySchemaEditable/FileInputCell.d.ts.map +1 -0
  30. package/dist/components/DataGridBySchemaEditable/FileInputCell.js +155 -0
  31. package/dist/components/DataGridBySchemaEditable/FooterToolbar.d.ts +12 -0
  32. package/dist/components/DataGridBySchemaEditable/FooterToolbar.d.ts.map +1 -0
  33. package/dist/components/DataGridBySchemaEditable/FooterToolbar.js +36 -0
  34. package/dist/components/DataGridBySchemaEditable/GeoEditCell.d.ts +10 -0
  35. package/dist/components/DataGridBySchemaEditable/GeoEditCell.d.ts.map +1 -0
  36. package/dist/components/DataGridBySchemaEditable/GeoEditCell.js +85 -0
  37. package/dist/components/DataGridBySchemaEditable/GeoThumbCell.d.ts +11 -0
  38. package/dist/components/DataGridBySchemaEditable/GeoThumbCell.d.ts.map +1 -0
  39. package/dist/components/DataGridBySchemaEditable/GeoThumbCell.js +90 -0
  40. package/dist/components/DataGridBySchemaEditable/GridActionsCellItemLink.d.ts +18 -0
  41. package/dist/components/DataGridBySchemaEditable/GridActionsCellItemLink.d.ts.map +1 -0
  42. package/dist/components/DataGridBySchemaEditable/GridActionsCellItemLink.js +24 -0
  43. package/dist/components/DataGridBySchemaEditable/GridDateInput.d.ts +8 -0
  44. package/dist/components/DataGridBySchemaEditable/GridDateInput.d.ts.map +1 -0
  45. package/dist/components/DataGridBySchemaEditable/GridDateInput.js +166 -0
  46. package/dist/components/DataGridBySchemaEditable/GridDateTimeInput.d.ts +6 -0
  47. package/dist/components/DataGridBySchemaEditable/GridDateTimeInput.d.ts.map +1 -0
  48. package/dist/components/DataGridBySchemaEditable/GridDateTimeInput.js +154 -0
  49. package/dist/components/DataGridBySchemaEditable/GridDecimalInput.d.ts +10 -0
  50. package/dist/components/DataGridBySchemaEditable/GridDecimalInput.d.ts.map +1 -0
  51. package/dist/components/DataGridBySchemaEditable/GridDecimalInput.js +78 -0
  52. package/dist/components/DataGridBySchemaEditable/GridGenericInput.d.ts +8 -0
  53. package/dist/components/DataGridBySchemaEditable/GridGenericInput.d.ts.map +1 -0
  54. package/dist/components/DataGridBySchemaEditable/GridGenericInput.js +30 -0
  55. package/dist/components/DataGridBySchemaEditable/GridPatternInput.d.ts +7 -0
  56. package/dist/components/DataGridBySchemaEditable/GridPatternInput.d.ts.map +1 -0
  57. package/dist/components/DataGridBySchemaEditable/GridPatternInput.js +74 -0
  58. package/dist/components/DataGridBySchemaEditable/InputInterval.d.ts +21 -0
  59. package/dist/components/DataGridBySchemaEditable/InputInterval.d.ts.map +1 -0
  60. package/dist/components/DataGridBySchemaEditable/InputInterval.js +131 -0
  61. package/dist/components/DataGridBySchemaEditable/MobileSearchBar.d.ts +9 -0
  62. package/dist/components/DataGridBySchemaEditable/MobileSearchBar.d.ts.map +1 -0
  63. package/dist/components/DataGridBySchemaEditable/MobileSearchBar.js +70 -0
  64. package/dist/components/DataGridBySchemaEditable/RowEditingWatcher.d.ts +7 -0
  65. package/dist/components/DataGridBySchemaEditable/RowEditingWatcher.d.ts.map +1 -0
  66. package/dist/components/DataGridBySchemaEditable/RowEditingWatcher.js +41 -0
  67. package/dist/components/DataGridBySchemaEditable/SelectEditInputCell.d.ts +24 -0
  68. package/dist/components/DataGridBySchemaEditable/SelectEditInputCell.d.ts.map +1 -0
  69. package/dist/components/DataGridBySchemaEditable/SelectEditInputCell.js +263 -0
  70. package/dist/components/DataGridBySchemaEditable/geoConstants.d.ts +5 -0
  71. package/dist/components/DataGridBySchemaEditable/geoConstants.d.ts.map +1 -0
  72. package/dist/components/DataGridBySchemaEditable/geoConstants.js +6 -0
  73. package/dist/components/DataGridBySchemaEditable/hooks/useDataGridActions.d.ts +33 -0
  74. package/dist/components/DataGridBySchemaEditable/hooks/useDataGridActions.d.ts.map +1 -0
  75. package/dist/components/DataGridBySchemaEditable/hooks/useDataGridActions.js +161 -0
  76. package/dist/components/DataGridBySchemaEditable/hooks/useOptionsAC.d.ts +14 -0
  77. package/dist/components/DataGridBySchemaEditable/hooks/useOptionsAC.d.ts.map +1 -0
  78. package/dist/components/DataGridBySchemaEditable/hooks/useOptionsAC.js +69 -0
  79. package/dist/components/DataGridBySchemaEditable/hooks/usePreparedColumns.d.ts +9 -0
  80. package/dist/components/DataGridBySchemaEditable/hooks/usePreparedColumns.d.ts.map +1 -0
  81. package/dist/components/DataGridBySchemaEditable/hooks/usePreparedColumns.js +73 -0
  82. package/dist/components/DataGridBySchemaEditable/hooks/useProcessRowUpdate.d.ts +30 -0
  83. package/dist/components/DataGridBySchemaEditable/hooks/useProcessRowUpdate.d.ts.map +1 -0
  84. package/dist/components/DataGridBySchemaEditable/hooks/useProcessRowUpdate.js +199 -0
  85. package/dist/components/DataGridBySchemaEditable/utils/columnFactory.d.ts +33 -0
  86. package/dist/components/DataGridBySchemaEditable/utils/columnFactory.d.ts.map +1 -0
  87. package/dist/components/DataGridBySchemaEditable/utils/columnFactory.js +270 -0
  88. package/dist/components/DataGridBySchemaEditable/utils.d.ts +40 -0
  89. package/dist/components/DataGridBySchemaEditable/utils.d.ts.map +1 -0
  90. package/dist/components/DataGridBySchemaEditable/utils.js +181 -0
  91. package/dist/components/DataGridBySchemaEditable.d.ts +64 -0
  92. package/dist/components/DataGridBySchemaEditable.d.ts.map +1 -0
  93. package/dist/components/DataGridBySchemaEditable.js +172 -0
  94. package/dist/components/DataTotals.d.ts +12 -0
  95. package/dist/components/DataTotals.d.ts.map +1 -0
  96. package/dist/components/DataTotals.js +32 -0
  97. package/dist/components/DataTotalsServer.d.ts +10 -0
  98. package/dist/components/DataTotalsServer.d.ts.map +1 -0
  99. package/dist/components/DataTotalsServer.js +18 -0
  100. package/dist/components/DialogActions.d.ts +11 -0
  101. package/dist/components/DialogActions.d.ts.map +1 -0
  102. package/dist/components/DialogActions.js +20 -0
  103. package/dist/components/FileTypeIcon.d.ts +18 -0
  104. package/dist/components/FileTypeIcon.d.ts.map +1 -0
  105. package/dist/components/FileTypeIcon.js +48 -0
  106. package/dist/components/GenericModelList.d.ts +53 -0
  107. package/dist/components/GenericModelList.d.ts.map +1 -0
  108. package/dist/components/GenericModelList.js +194 -0
  109. package/dist/components/GenericRelatedModelList.d.ts +55 -0
  110. package/dist/components/GenericRelatedModelList.d.ts.map +1 -0
  111. package/dist/components/GenericRelatedModelList.js +181 -0
  112. package/dist/components/GenericRelatedModelListTable.d.ts +56 -0
  113. package/dist/components/GenericRelatedModelListTable.d.ts.map +1 -0
  114. package/dist/components/GenericRelatedModelListTable.js +31 -0
  115. package/dist/components/Image.d.ts +10 -0
  116. package/dist/components/Image.d.ts.map +1 -0
  117. package/dist/components/Image.js +111 -0
  118. package/dist/components/details/DetailBySchema.d.ts +4 -0
  119. package/dist/components/details/DetailBySchema.d.ts.map +1 -0
  120. package/dist/components/details/DetailBySchema.js +175 -0
  121. package/dist/components/details/DetailFieldBySchema.d.ts +4 -0
  122. package/dist/components/details/DetailFieldBySchema.d.ts.map +1 -0
  123. package/dist/components/details/DetailFieldBySchema.js +88 -0
  124. package/dist/components/forms/ChangePasswordForm.d.ts +7 -0
  125. package/dist/components/forms/ChangePasswordForm.d.ts.map +1 -0
  126. package/dist/components/forms/ChangePasswordForm.js +93 -0
  127. package/dist/components/forms/DialogFormBySchema.d.ts +22 -0
  128. package/dist/components/forms/DialogFormBySchema.d.ts.map +1 -0
  129. package/dist/components/forms/DialogFormBySchema.js +97 -0
  130. package/dist/components/forms/FieldBySchema.d.ts +4 -0
  131. package/dist/components/forms/FieldBySchema.d.ts.map +1 -0
  132. package/dist/components/forms/FieldBySchema.js +80 -0
  133. package/dist/components/forms/ForgotPasswordForm.d.ts +11 -0
  134. package/dist/components/forms/ForgotPasswordForm.d.ts.map +1 -0
  135. package/dist/components/forms/ForgotPasswordForm.js +114 -0
  136. package/dist/components/forms/Form.d.ts +61 -0
  137. package/dist/components/forms/Form.d.ts.map +1 -0
  138. package/dist/components/forms/Form.js +264 -0
  139. package/dist/components/forms/FormActions.d.ts +20 -0
  140. package/dist/components/forms/FormActions.d.ts.map +1 -0
  141. package/dist/components/forms/FormActions.js +55 -0
  142. package/dist/components/forms/FormBySchema.d.ts +21 -0
  143. package/dist/components/forms/FormBySchema.d.ts.map +1 -0
  144. package/dist/components/forms/FormBySchema.js +280 -0
  145. package/dist/components/forms/FormWatcher.d.ts +10 -0
  146. package/dist/components/forms/FormWatcher.d.ts.map +1 -0
  147. package/dist/components/forms/FormWatcher.js +25 -0
  148. package/dist/components/forms/inputs/AutocompleteFieldBySchema.d.ts +13 -0
  149. package/dist/components/forms/inputs/AutocompleteFieldBySchema.d.ts.map +1 -0
  150. package/dist/components/forms/inputs/AutocompleteFieldBySchema.js +133 -0
  151. package/dist/components/forms/inputs/BooleanFieldBySchema.d.ts +4 -0
  152. package/dist/components/forms/inputs/BooleanFieldBySchema.d.ts.map +1 -0
  153. package/dist/components/forms/inputs/BooleanFieldBySchema.js +39 -0
  154. package/dist/components/forms/inputs/DesktopDatePickerBySchema.d.ts +5 -0
  155. package/dist/components/forms/inputs/DesktopDatePickerBySchema.d.ts.map +1 -0
  156. package/dist/components/forms/inputs/DesktopDatePickerBySchema.js +54 -0
  157. package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.d.ts +5 -0
  158. package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.d.ts.map +1 -0
  159. package/dist/components/forms/inputs/DesktopDateTimePickerBySchema.js +47 -0
  160. package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.d.ts +14 -0
  161. package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.d.ts.map +1 -0
  162. package/dist/components/forms/inputs/EditableAutocompleteFieldBySchema.js +272 -0
  163. package/dist/components/forms/inputs/FileFieldBySchema.d.ts +4 -0
  164. package/dist/components/forms/inputs/FileFieldBySchema.d.ts.map +1 -0
  165. package/dist/components/forms/inputs/FileFieldBySchema.js +144 -0
  166. package/dist/components/forms/inputs/FloatFieldBySchema.d.ts +4 -0
  167. package/dist/components/forms/inputs/FloatFieldBySchema.d.ts.map +1 -0
  168. package/dist/components/forms/inputs/FloatFieldBySchema.js +64 -0
  169. package/dist/components/forms/inputs/GeometryFieldBySchema.d.ts +8 -0
  170. package/dist/components/forms/inputs/GeometryFieldBySchema.d.ts.map +1 -0
  171. package/dist/components/forms/inputs/GeometryFieldBySchema.js +61 -0
  172. package/dist/components/forms/inputs/MapGeometryPicker.d.ts +19 -0
  173. package/dist/components/forms/inputs/MapGeometryPicker.d.ts.map +1 -0
  174. package/dist/components/forms/inputs/MapGeometryPicker.js +347 -0
  175. package/dist/components/forms/inputs/PatternFieldBySchema.d.ts +4 -0
  176. package/dist/components/forms/inputs/PatternFieldBySchema.d.ts.map +1 -0
  177. package/dist/components/forms/inputs/PatternFieldBySchema.js +56 -0
  178. package/dist/components/forms/inputs/TextFieldBySchema.d.ts +4 -0
  179. package/dist/components/forms/inputs/TextFieldBySchema.d.ts.map +1 -0
  180. package/dist/components/forms/inputs/TextFieldBySchema.js +56 -0
  181. package/dist/components/forms/inputs/leafletMarker.d.ts +37 -0
  182. package/dist/components/forms/inputs/leafletMarker.d.ts.map +1 -0
  183. package/dist/components/forms/inputs/leafletMarker.js +72 -0
  184. package/dist/context/APIWrapper.d.ts +18 -0
  185. package/dist/context/APIWrapper.d.ts.map +1 -0
  186. package/dist/context/APIWrapper.js +593 -0
  187. package/dist/context/APIWrapperContext.d.ts +132 -0
  188. package/dist/context/APIWrapperContext.d.ts.map +1 -0
  189. package/dist/context/APIWrapperContext.js +63 -0
  190. package/dist/context/DRFReactBySchemaContext.d.ts +31 -0
  191. package/dist/context/DRFReactBySchemaContext.d.ts.map +1 -0
  192. package/dist/context/DRFReactBySchemaContext.js +20 -0
  193. package/dist/context/DRFReactBySchemaProvider.d.ts +5 -0
  194. package/dist/context/DRFReactBySchemaProvider.d.ts.map +1 -0
  195. package/dist/context/DRFReactBySchemaProvider.js +105 -0
  196. package/dist/context/Overlays.d.ts +5 -0
  197. package/dist/context/Overlays.d.ts.map +1 -0
  198. package/dist/context/Overlays.js +114 -0
  199. package/dist/context/PrivateContext.d.ts +10 -0
  200. package/dist/context/PrivateContext.d.ts.map +1 -0
  201. package/dist/context/PrivateContext.js +16 -0
  202. package/dist/hooks/useDeepMemo.d.ts +2 -0
  203. package/dist/hooks/useDeepMemo.d.ts.map +1 -0
  204. package/dist/hooks/useDeepMemo.js +13 -0
  205. package/dist/hooks/useWhyDidYouUpdate.d.ts +4 -0
  206. package/dist/hooks/useWhyDidYouUpdate.d.ts.map +1 -0
  207. package/dist/hooks/useWhyDidYouUpdate.js +26 -0
  208. package/dist/index.d.ts +37 -0
  209. package/dist/index.d.ts.map +1 -0
  210. package/dist/index.js +110 -0
  211. package/dist/styles/grid.d.ts +3 -0
  212. package/dist/styles/grid.d.ts.map +1 -0
  213. package/dist/styles/grid.js +38 -0
  214. package/dist/styles/index.d.ts +3 -0
  215. package/dist/styles/index.d.ts.map +1 -0
  216. package/dist/styles/index.js +38 -0
  217. package/dist/styles/layout.d.ts +23 -0
  218. package/dist/styles/layout.d.ts.map +1 -0
  219. package/dist/styles/layout.js +71 -0
  220. package/dist/styles/texts.d.ts +66 -0
  221. package/dist/styles/texts.d.ts.map +1 -0
  222. package/dist/styles/texts.js +73 -0
  223. package/dist/styles/theme.d.ts +29 -0
  224. package/dist/styles/theme.d.ts.map +1 -0
  225. package/dist/styles/theme.js +226 -0
  226. package/dist/utils/index.d.ts +2 -0
  227. package/dist/utils/index.d.ts.map +1 -0
  228. package/dist/utils/index.js +17 -0
  229. package/dist/utils/utils.d.ts +107 -0
  230. package/dist/utils/utils.d.ts.map +1 -0
  231. package/dist/utils/utils.js +957 -0
  232. package/package.json +1 -1
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DEFAULT_FILE_ICON = exports.FILE_TYPE_ICONS = void 0;
7
+ exports.default = FileTypeIcon;
8
+ const react_1 = __importDefault(require("react"));
9
+ const Description_1 = __importDefault(require("@mui/icons-material/Description"));
10
+ const FolderZip_1 = __importDefault(require("@mui/icons-material/FolderZip"));
11
+ const Image_1 = __importDefault(require("@mui/icons-material/Image"));
12
+ const InsertDriveFile_1 = __importDefault(require("@mui/icons-material/InsertDriveFile"));
13
+ const PictureAsPdf_1 = __importDefault(require("@mui/icons-material/PictureAsPdf"));
14
+ const TableChart_1 = __importDefault(require("@mui/icons-material/TableChart"));
15
+ /**
16
+ * File extension → icon, reused anywhere a stored file is shown (detail page,
17
+ * grid cells, mobile lists, ...). Kept here until a central constants module
18
+ * groups it with the other shared constants (as done with the types).
19
+ */
20
+ exports.FILE_TYPE_ICONS = {
21
+ pdf: PictureAsPdf_1.default,
22
+ jpg: Image_1.default,
23
+ jpeg: Image_1.default,
24
+ png: Image_1.default,
25
+ gif: Image_1.default,
26
+ webp: Image_1.default,
27
+ doc: Description_1.default,
28
+ docx: Description_1.default,
29
+ txt: Description_1.default,
30
+ rtf: Description_1.default,
31
+ odt: Description_1.default,
32
+ xls: TableChart_1.default,
33
+ xlsx: TableChart_1.default,
34
+ csv: TableChart_1.default,
35
+ zip: FolderZip_1.default,
36
+ rar: FolderZip_1.default,
37
+ '7z': FolderZip_1.default,
38
+ tar: FolderZip_1.default,
39
+ gz: FolderZip_1.default,
40
+ };
41
+ exports.DEFAULT_FILE_ICON = InsertDriveFile_1.default;
42
+ /** Renders the small icon matching a stored file's extension. */
43
+ function FileTypeIcon({ name }) {
44
+ var _a;
45
+ const extension = (_a = (name !== null && name !== void 0 ? name : '').split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
46
+ const Icon = (extension && exports.FILE_TYPE_ICONS[extension]) || exports.DEFAULT_FILE_ICON;
47
+ return react_1.default.createElement(Icon, null);
48
+ }
@@ -0,0 +1,53 @@
1
+ import React, { ReactElement } from 'react';
2
+ import { GridFilterModel, GridRenderCellParams } from '@mui/x-data-grid';
3
+ import { Item, OnSelectActions, OptionsAC, CustomAction, SumRowsType, LinkComponentType, MobileListRenderItemType, ExtraValidators, CustomFormFieldLayouts, FieldKey, CustomColumnOperations, MinWidthFields, FieldList, PartialItem, RowAction, NonEditableRowAction, TField, WatchEditingRowValues } from '../@types';
4
+ export interface GenericModelListProps<T extends TField = void> {
5
+ model: string;
6
+ columnFields?: FieldList<T>;
7
+ hiddenFields?: FieldList<T>;
8
+ creatableFields?: FieldList<T>;
9
+ disabledFields?: FieldList<T>;
10
+ minWidthFields?: MinWidthFields<T>;
11
+ indexField?: FieldKey<T>;
12
+ indexFieldBasePath?: string;
13
+ indexFieldViewBasePath?: string;
14
+ addExistingModel?: string;
15
+ onProcessRow?: (p?: Item<T>) => void;
16
+ onDataChange?: (p: Item<T>[]) => void;
17
+ watchEditingRowValues?: WatchEditingRowValues;
18
+ customColumnOperations?: CustomColumnOperations<T>;
19
+ customFieldFormLayouts?: CustomFormFieldLayouts<T>;
20
+ customLinkDestination?: (p: GridRenderCellParams) => string;
21
+ isEditable?: boolean;
22
+ hasBulkSelect?: boolean;
23
+ onSelectActions?: OnSelectActions[];
24
+ sumRows?: SumRowsType<T>;
25
+ isAutoHeight?: boolean;
26
+ cardsViewOnly?: boolean;
27
+ LinkComponent?: LinkComponentType | null;
28
+ hasHeader?: boolean;
29
+ paginationMode: 'server' | 'client';
30
+ defaultFilter?: GridFilterModel;
31
+ queryParams?: string[];
32
+ hideFooterComponent?: boolean;
33
+ hideToolbarComponent?: boolean;
34
+ hideColumnsButton?: boolean;
35
+ hideFilterButton?: boolean;
36
+ hideDensityButton?: boolean;
37
+ hideExportButton?: boolean;
38
+ hideQuickFilterBar?: boolean;
39
+ tableAutoHeight?: boolean;
40
+ actions?: RowAction<T>[];
41
+ nonEditableActions?: NonEditableRowAction<T>[];
42
+ customActions?: CustomAction[];
43
+ optionsAC?: OptionsAC<T>;
44
+ defaultValues?: PartialItem<T>;
45
+ disableScreenLoading?: boolean;
46
+ extraValidators?: ExtraValidators<T>;
47
+ reloadStateStamp?: number | string;
48
+ MobileListRenderItem?: MobileListRenderItemType;
49
+ MobileRenderNoResults?: () => ReactElement | null;
50
+ }
51
+ declare const _default: <T extends TField = void>(p: GenericModelListProps<T>) => React.ReactElement;
52
+ export default _default;
53
+ //# sourceMappingURL=GenericModelList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericModelList.d.ts","sourceRoot":"","sources":["../../src/components/GenericModelList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ const react_1 = __importStar(require("react"));
49
+ const axios_1 = __importDefault(require("axios"));
50
+ const Box_1 = __importDefault(require("@mui/material/Box"));
51
+ const Typography_1 = __importDefault(require("@mui/material/Typography"));
52
+ const Button_1 = __importDefault(require("@mui/material/Button"));
53
+ const AddCircleOutline_1 = __importDefault(require("@mui/icons-material/AddCircleOutline"));
54
+ const Backdrop_1 = __importDefault(require("@mui/material/Backdrop"));
55
+ const CircularProgress_1 = __importDefault(require("@mui/material/CircularProgress"));
56
+ const DataGridBySchemaEditable_1 = __importDefault(require("./DataGridBySchemaEditable"));
57
+ const DataTotals_1 = __importDefault(require("./DataTotals"));
58
+ const DataTotalsServer_1 = __importDefault(require("./DataTotalsServer"));
59
+ const styles_1 = require("../styles");
60
+ const utils_1 = require("../utils");
61
+ const DRFReactBySchemaContext_1 = require("../context/DRFReactBySchemaContext");
62
+ const APIWrapperContext_1 = require("../context/APIWrapperContext");
63
+ function GenericModelList({ model, columnFields, hiddenFields, creatableFields, disabledFields, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, onProcessRow, onDataChange, watchEditingRowValues, customColumnOperations, customFieldFormLayouts, customLinkDestination, isEditable, hasBulkSelect, onSelectActions, sumRows, isAutoHeight = true, cardsViewOnly, LinkComponent = null, hasHeader, paginationMode = 'client', defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, tableAutoHeight, actions, nonEditableActions, customActions, optionsAC, defaultValues, disableScreenLoading, extraValidators, reloadStateStamp, MobileListRenderItem, MobileRenderNoResults, }) {
64
+ const { isInBatches, firstBatchLength } = (0, DRFReactBySchemaContext_1.useDRFReactBySchema)();
65
+ const { getGenericModelList, onEditModel, isMobile } = (0, APIWrapperContext_1.useAPIWrapper)();
66
+ const [data, setData] = (0, react_1.useState)(false);
67
+ const [loading, setLoading] = (0, react_1.useState)(false);
68
+ const [visibleRows, setVisibleRows] = (0, react_1.useState)([]);
69
+ const [hideFooterPagination, setHideFooterPagination] = (0, react_1.useState)(false);
70
+ const [paginationModel, setPaginationModel] = (0, react_1.useState)(paginationMode === 'server' ? { page: 0, pageSize: 100, queryParams } : undefined);
71
+ const columnVisibilityModel = (0, react_1.useMemo)(() => {
72
+ const model = {};
73
+ hiddenFields === null || hiddenFields === void 0 ? void 0 : hiddenFields.forEach((col) => {
74
+ model[col] = false;
75
+ });
76
+ return model;
77
+ }, [hiddenFields]);
78
+ const finalCustomColumnOperations = (0, react_1.useCallback)((column) => __awaiter(this, void 0, void 0, function* () {
79
+ if (minWidthFields) {
80
+ if (column.field in minWidthFields) {
81
+ column.minWidth = minWidthFields[column.field];
82
+ }
83
+ }
84
+ if (customColumnOperations) {
85
+ return yield customColumnOperations(column);
86
+ }
87
+ return column;
88
+ }), [customColumnOperations, minWidthFields]);
89
+ const loadObjectList = (0, react_1.useCallback)(() => __awaiter(this, void 0, void 0, function* () {
90
+ if (!disableScreenLoading) {
91
+ setLoading(true);
92
+ }
93
+ switch (paginationMode) {
94
+ case 'client':
95
+ const loadParams = {
96
+ model,
97
+ columnFields,
98
+ creatableFields,
99
+ disabledFields,
100
+ isInBatches,
101
+ queryParams,
102
+ filter: defaultFilter,
103
+ };
104
+ const loadedData = yield getGenericModelList(loadParams);
105
+ if (loadedData && !axios_1.default.isAxiosError(loadedData)) {
106
+ setData(loadedData);
107
+ setLoading(false);
108
+ if (isInBatches && loadedData.data.length === firstBatchLength) {
109
+ const schema = loadedData.schema;
110
+ setHideFooterPagination(true);
111
+ getGenericModelList(Object.assign(Object.assign({}, loadParams), { loadedSchema: schema, loadedModelOptions: loadedData.modelOptions })).then((lastBatchData) => {
112
+ if (lastBatchData && !axios_1.default.isAxiosError(lastBatchData)) {
113
+ setData(Object.assign(Object.assign({}, loadedData), { data: [...loadedData.data, ...lastBatchData.data] }));
114
+ }
115
+ setHideFooterPagination(false);
116
+ });
117
+ }
118
+ return;
119
+ }
120
+ console.log('error retrieving data!');
121
+ return;
122
+ case 'server':
123
+ const page = paginationModel ? paginationModel.page : 0;
124
+ const sort = paginationModel ? paginationModel.sort : undefined;
125
+ const filter = (0, utils_1.mergeFilterItems)(defaultFilter, paginationModel ? paginationModel.filter : undefined);
126
+ const loadPaginatedParams = {
127
+ model,
128
+ columnFields,
129
+ creatableFields,
130
+ disabledFields,
131
+ page,
132
+ filter,
133
+ queryParams,
134
+ sort,
135
+ sumRows,
136
+ };
137
+ const paginatedData = yield getGenericModelList(loadPaginatedParams);
138
+ if (paginatedData && !axios_1.default.isAxiosError(paginatedData)) {
139
+ setData(paginatedData);
140
+ setLoading(false);
141
+ return;
142
+ }
143
+ console.log('error retrieving data!');
144
+ return;
145
+ }
146
+ }), [
147
+ columnFields,
148
+ creatableFields,
149
+ defaultFilter,
150
+ disableScreenLoading,
151
+ disabledFields,
152
+ firstBatchLength,
153
+ isInBatches,
154
+ model,
155
+ paginationMode,
156
+ paginationModel,
157
+ queryParams,
158
+ sumRows,
159
+ ]);
160
+ const onDataChangeLocal = (0, react_1.useCallback)((newData) => {
161
+ if (!data) {
162
+ return;
163
+ }
164
+ if (onDataChange) {
165
+ onDataChange(newData);
166
+ }
167
+ }, [data]);
168
+ (0, react_1.useEffect)(() => {
169
+ loadObjectList();
170
+ // eslint-disable-next-line react-hooks/exhaustive-deps
171
+ }, [model, defaultFilter, queryParams, hiddenFields, paginationModel, reloadStateStamp]);
172
+ (0, react_1.useEffect)(() => {
173
+ if (!paginationModel || paginationModel.queryParams === queryParams) {
174
+ return;
175
+ }
176
+ setPaginationModel(Object.assign(Object.assign({}, paginationModel), { queryParams }));
177
+ }, [queryParams, paginationModel]);
178
+ return (react_1.default.createElement(react_1.default.Fragment, null, typeof data !== 'boolean' && data.columns ? (react_1.default.createElement(react_1.default.Fragment, null,
179
+ data.data.length > 0 && (isMobile || cardsViewOnly) && MobileListRenderItem && (react_1.default.createElement(react_1.default.Fragment, null, paginationMode === 'client' ? (react_1.default.createElement(DataTotals_1.default, { schema: data.schema, data: data.data, sumRows: sumRows, visibleRows: visibleRows })) : (react_1.default.createElement(DataTotalsServer_1.default, { schema: data.schema, sumRows: sumRows, totals: data.sumRowsTotals })))),
180
+ hasHeader && (react_1.default.createElement(Box_1.default, { sx: Object.assign(Object.assign({}, styles_1.Layout.flexRowGrow), { mb: 2 }) },
181
+ react_1.default.createElement(Typography_1.default, { variant: "h5" }, data.modelOptions.verbose_name_plural || 'Listagem'),
182
+ LinkComponent && (react_1.default.createElement(Box_1.default, { sx: styles_1.Layout.flexRow },
183
+ react_1.default.createElement(LinkComponent, { to: `novo` },
184
+ react_1.default.createElement(Button_1.default, { variant: "contained", size: "medium", sx: { alignSelf: 'stretch' }, startIcon: react_1.default.createElement(AddCircleOutline_1.default, null) }, "Adicionar")))))),
185
+ react_1.default.createElement(Box_1.default, { sx: tableAutoHeight || cardsViewOnly ? {} : styles_1.Layout.dataGridWithTabs },
186
+ react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, columnVisibilityModel: columnVisibilityModel, schema: data.schema || {}, model: model, loading: loading, indexField: indexField, indexFieldBasePath: indexFieldBasePath, indexFieldViewBasePath: indexFieldViewBasePath, addExistingModel: addExistingModel, isEditable: isEditable, cardsViewOnly: cardsViewOnly, hasBulkSelect: hasBulkSelect, onSelectActions: onSelectActions, onEditModel: onEditModel, isAutoHeight: isAutoHeight, tableAutoHeight: tableAutoHeight, customColumnOperations: finalCustomColumnOperations, customFieldFormLayouts: customFieldFormLayouts, setVisibleRows: setVisibleRows, hideFooterPagination: hideFooterPagination, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, hideColumnsButton: hideColumnsButton, hideFilterButton: hideFilterButton, hideDensityButton: hideDensityButton, hideExportButton: hideExportButton, hideQuickFilterBar: hideQuickFilterBar, customLinkDestination: customLinkDestination, actions: actions, nonEditableActions: nonEditableActions, customActions: customActions, optionsAC: optionsAC, defaultValues: defaultValues, onProcessRow: onProcessRow, onDataChange: onDataChangeLocal, watchEditingRowValues: watchEditingRowValues, LinkComponent: LinkComponent || undefined, paginationModel: paginationMode === 'server' ? paginationModel : undefined, setPaginationModel: paginationMode === 'server' ? setPaginationModel : undefined, rowCount: paginationMode === 'client'
187
+ ? undefined
188
+ : typeof data.rowCount !== undefined
189
+ ? data.rowCount
190
+ : 0, extraValidators: extraValidators, MobileListRenderItem: MobileListRenderItem, MobileRenderNoResults: MobileRenderNoResults })),
191
+ data.data.length > 0 && (!(isMobile || cardsViewOnly) || !MobileListRenderItem) && (react_1.default.createElement(react_1.default.Fragment, null, paginationMode === 'client' ? (react_1.default.createElement(DataTotals_1.default, { schema: data.schema, data: data.data, sumRows: sumRows, visibleRows: visibleRows })) : (react_1.default.createElement(DataTotalsServer_1.default, { schema: data.schema, sumRows: sumRows, totals: data.sumRowsTotals })))))) : (react_1.default.createElement(Backdrop_1.default, { invisible: true, sx: { color: '#fff', zIndex: (theme) => theme.zIndex.drawer + 1 }, open: loading },
192
+ react_1.default.createElement(CircularProgress_1.default, null)))));
193
+ }
194
+ exports.default = react_1.default.memo(GenericModelList, utils_1.shouldMemoUpdate);
@@ -0,0 +1,55 @@
1
+ import React, { ReactElement } from 'react';
2
+ import { GridFilterModel } from '@mui/x-data-grid';
3
+ import { CustomColumnOperations, CustomFormFieldLayouts, ExtraValidators, FieldKey, FieldList, Id, Item, LinkComponentType, MinWidthFields, MobileListRenderItemType, OnSelectActions, OptionsAC, PartialItem, RowAction, NonEditableRowAction, SumRowsType, TField, WatchEditingRowValues } from '../@types';
4
+ interface GenericRelatedModelListProps<T extends TField = void> {
5
+ model: string;
6
+ id: Id;
7
+ relatedModel: string;
8
+ columnFields?: FieldList<T>;
9
+ hiddenFields?: FieldList<T>;
10
+ creatableFields?: FieldList<T>;
11
+ disabledFields?: FieldList<T>;
12
+ usuaria?: Item | null;
13
+ minWidthFields?: MinWidthFields<T>;
14
+ indexField?: FieldKey<T>;
15
+ indexFieldBasePath?: string;
16
+ indexFieldViewBasePath?: string;
17
+ addExistingModel?: string;
18
+ label: string;
19
+ onProcessRow?: (p?: Item<T>) => void;
20
+ onDataChange?: (p: Item<T>[]) => void;
21
+ watchEditingRowValues?: WatchEditingRowValues;
22
+ customColumnOperations?: CustomColumnOperations<T>;
23
+ customFieldFormLayouts?: CustomFormFieldLayouts<T>;
24
+ isEditable?: boolean;
25
+ hasBulkSelect?: boolean;
26
+ onSelectActions?: OnSelectActions[];
27
+ sumRows?: SumRowsType<T>;
28
+ isAutoHeight?: boolean;
29
+ cardsViewOnly?: boolean;
30
+ isInBatches?: boolean;
31
+ noCardWrapper?: boolean;
32
+ paginationMode: 'server' | 'client';
33
+ defaultFilter?: GridFilterModel;
34
+ queryParams?: string[];
35
+ hideFooterComponent?: boolean;
36
+ hideToolbarComponent?: boolean;
37
+ hideColumnsButton?: boolean;
38
+ hideFilterButton?: boolean;
39
+ hideDensityButton?: boolean;
40
+ hideExportButton?: boolean;
41
+ hideQuickFilterBar?: boolean;
42
+ tableAutoHeight?: boolean;
43
+ actions?: RowAction<T>[];
44
+ nonEditableActions?: NonEditableRowAction<T>[];
45
+ optionsAC?: OptionsAC<T>;
46
+ defaultValues?: PartialItem<T>;
47
+ LinkComponent?: LinkComponentType | null;
48
+ extraValidators?: ExtraValidators<T>;
49
+ reloadStateStamp?: number | string;
50
+ MobileListRenderItem?: MobileListRenderItemType;
51
+ MobileRenderNoResults?: () => ReactElement | null;
52
+ }
53
+ declare const _default: <T extends TField = void>(p: GenericRelatedModelListProps<T>) => React.ReactElement;
54
+ export default _default;
55
+ //# sourceMappingURL=GenericRelatedModelList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericRelatedModelList.d.ts","sourceRoot":"","sources":["../../src/components/GenericRelatedModelList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ const react_1 = __importStar(require("react"));
49
+ const axios_1 = __importDefault(require("axios"));
50
+ const Card_1 = __importDefault(require("@mui/material/Card"));
51
+ const CardHeader_1 = __importDefault(require("@mui/material/CardHeader"));
52
+ const CardContent_1 = __importDefault(require("@mui/material/CardContent"));
53
+ const APIWrapperContext_1 = require("../context/APIWrapperContext");
54
+ const utils_1 = require("../utils");
55
+ const styles_1 = require("../styles");
56
+ const GenericRelatedModelListTable_1 = __importDefault(require("./GenericRelatedModelListTable"));
57
+ function GenericRelatedModelList({ model, id, relatedModel, columnFields, hiddenFields = ['id'], creatableFields, disabledFields, usuaria = null, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, label, onProcessRow, onDataChange, watchEditingRowValues, customColumnOperations, customFieldFormLayouts, isEditable = true, hasBulkSelect = false, onSelectActions, sumRows, isAutoHeight = false, cardsViewOnly, isInBatches = true, noCardWrapper = false, paginationMode = 'client', defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, tableAutoHeight, actions, nonEditableActions, optionsAC, defaultValues, LinkComponent, extraValidators, reloadStateStamp, MobileListRenderItem, MobileRenderNoResults, }) {
58
+ const [data, setData] = (0, react_1.useState)(false);
59
+ const [visibleRows, setVisibleRows] = (0, react_1.useState)();
60
+ const [loading, setLoading] = (0, react_1.useState)(false);
61
+ const [hideFooterPagination, setHideFooterPagination] = (0, react_1.useState)(false);
62
+ const [paginationModel, setPaginationModel] = (0, react_1.useState)(paginationMode === 'server' ? { page: 0, pageSize: 100, queryParams } : undefined);
63
+ const { onEditModel, onDeleteRelatedModel, getGenericModelList } = (0, APIWrapperContext_1.useAPIWrapper)();
64
+ const columnVisibilityModel = (0, react_1.useMemo)(() => {
65
+ const model = {};
66
+ hiddenFields === null || hiddenFields === void 0 ? void 0 : hiddenFields.forEach((field) => {
67
+ model[field] = false;
68
+ });
69
+ return model;
70
+ }, [hiddenFields]);
71
+ const finalCustomColumnOperations = (0, react_1.useCallback)((column) => __awaiter(this, void 0, void 0, function* () {
72
+ if (minWidthFields) {
73
+ if (column.field in minWidthFields) {
74
+ column.minWidth = minWidthFields[column.field];
75
+ }
76
+ }
77
+ if (customColumnOperations) {
78
+ return yield customColumnOperations(column);
79
+ }
80
+ return column;
81
+ }), [customColumnOperations, minWidthFields]);
82
+ const loadObjectList = (0, react_1.useCallback)(() => __awaiter(this, void 0, void 0, function* () {
83
+ setLoading(true);
84
+ switch (paginationMode) {
85
+ case 'client':
86
+ const loadParams = {
87
+ model,
88
+ id,
89
+ relatedModel,
90
+ indexFieldBasePath,
91
+ columnFields,
92
+ creatableFields,
93
+ disabledFields,
94
+ usuaria,
95
+ isInBatches,
96
+ queryParams,
97
+ filter: defaultFilter,
98
+ };
99
+ const loadedData = yield getGenericModelList(loadParams);
100
+ if (loadedData && !axios_1.default.isAxiosError(loadedData)) {
101
+ setData(loadedData);
102
+ setLoading(false);
103
+ if (isInBatches && loadedData.data.length === 100) {
104
+ setHideFooterPagination(true);
105
+ getGenericModelList(Object.assign(Object.assign({}, loadParams), { loadedSchema: loadedData.schema })).then((lastBatchData) => {
106
+ if (lastBatchData && !axios_1.default.isAxiosError(lastBatchData)) {
107
+ setData(Object.assign(Object.assign({}, loadedData), { data: [...loadedData.data, ...lastBatchData.data] }));
108
+ setHideFooterPagination(false);
109
+ }
110
+ });
111
+ }
112
+ return;
113
+ }
114
+ console.log('error retrieving data!');
115
+ break;
116
+ case 'server':
117
+ const page = paginationModel ? paginationModel.page : 0;
118
+ const sort = paginationModel ? paginationModel.sort : undefined;
119
+ const filter = (0, utils_1.mergeFilterItems)(defaultFilter, paginationModel ? paginationModel.filter : undefined);
120
+ const paginatedData = yield getGenericModelList({
121
+ model,
122
+ id,
123
+ relatedModel,
124
+ columnFields,
125
+ creatableFields,
126
+ disabledFields,
127
+ page,
128
+ filter,
129
+ sort,
130
+ sumRows,
131
+ queryParams,
132
+ });
133
+ if (paginatedData && !axios_1.default.isAxiosError(paginatedData)) {
134
+ setData(paginatedData);
135
+ setLoading(false);
136
+ return;
137
+ }
138
+ console.log('error retrieving data!');
139
+ break;
140
+ }
141
+ }), [
142
+ columnFields,
143
+ creatableFields,
144
+ defaultFilter,
145
+ disabledFields,
146
+ id,
147
+ indexFieldBasePath,
148
+ isInBatches,
149
+ model,
150
+ paginationMode,
151
+ paginationModel,
152
+ queryParams,
153
+ relatedModel,
154
+ sumRows,
155
+ usuaria,
156
+ getGenericModelList,
157
+ ]);
158
+ const onDataChangeLocal = (0, react_1.useCallback)((newData) => {
159
+ if (!data) {
160
+ return;
161
+ }
162
+ if (onDataChange) {
163
+ onDataChange(newData);
164
+ }
165
+ }, [data]);
166
+ (0, react_1.useEffect)(() => {
167
+ loadObjectList();
168
+ // eslint-disable-next-line react-hooks/exhaustive-deps
169
+ }, [id, model, defaultFilter, queryParams, paginationModel, reloadStateStamp]);
170
+ (0, react_1.useEffect)(() => {
171
+ if (!paginationModel || paginationModel.queryParams === queryParams) {
172
+ return;
173
+ }
174
+ setPaginationModel(Object.assign(Object.assign({}, paginationModel), { queryParams }));
175
+ }, [queryParams, paginationModel]);
176
+ return (react_1.default.createElement(react_1.default.Fragment, null, typeof data !== 'boolean' && data.columns && (react_1.default.createElement(react_1.default.Fragment, null, noCardWrapper ? (react_1.default.createElement(GenericRelatedModelListTable_1.default, { data: data, columnVisibilityModel: columnVisibilityModel, relatedModel: relatedModel, model: model, loading: loading, id: id, indexField: indexField, indexFieldBasePath: indexFieldBasePath, indexFieldViewBasePath: indexFieldViewBasePath, addExistingModel: addExistingModel, isEditable: isEditable, cardsViewOnly: cardsViewOnly, hasBulkSelect: hasBulkSelect, onSelectActions: onSelectActions, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, customFieldFormLayouts: customFieldFormLayouts, setVisibleRows: setVisibleRows, visibleRows: visibleRows, isAutoHeight: isAutoHeight, tableAutoHeight: tableAutoHeight, hideFooterPagination: hideFooterPagination, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, hideColumnsButton: hideColumnsButton, hideFilterButton: hideFilterButton, hideDensityButton: hideDensityButton, hideExportButton: hideExportButton, hideQuickFilterBar: hideQuickFilterBar, onProcessRow: onProcessRow, onDataChange: onDataChangeLocal, watchEditingRowValues: watchEditingRowValues, sumRows: sumRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel, actions: actions, nonEditableActions: nonEditableActions, optionsAC: optionsAC, defaultValues: defaultValues, LinkComponent: LinkComponent, extraValidators: extraValidators, MobileListRenderItem: MobileListRenderItem, MobileRenderNoResults: MobileRenderNoResults })) : (react_1.default.createElement(Card_1.default, { sx: styles_1.Layout.formCard },
177
+ react_1.default.createElement(CardHeader_1.default, { title: label }),
178
+ react_1.default.createElement(CardContent_1.default, null,
179
+ react_1.default.createElement(GenericRelatedModelListTable_1.default, { data: data, columnVisibilityModel: columnVisibilityModel, relatedModel: relatedModel, model: model, loading: loading, id: id, indexField: indexField, indexFieldBasePath: indexFieldBasePath, indexFieldViewBasePath: indexFieldViewBasePath, addExistingModel: addExistingModel, isEditable: isEditable, cardsViewOnly: cardsViewOnly, hasBulkSelect: hasBulkSelect, onSelectActions: onSelectActions, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, customFieldFormLayouts: customFieldFormLayouts, setVisibleRows: setVisibleRows, visibleRows: visibleRows, isAutoHeight: isAutoHeight, tableAutoHeight: tableAutoHeight, hideFooterPagination: hideFooterPagination, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, onProcessRow: onProcessRow, onDataChange: onDataChangeLocal, watchEditingRowValues: watchEditingRowValues, sumRows: sumRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel, actions: actions, nonEditableActions: nonEditableActions, optionsAC: optionsAC, defaultValues: defaultValues, LinkComponent: LinkComponent, extraValidators: extraValidators, MobileListRenderItem: MobileListRenderItem, MobileRenderNoResults: MobileRenderNoResults }))))))));
180
+ }
181
+ exports.default = react_1.default.memo(GenericRelatedModelList, utils_1.shouldMemoUpdate);
@@ -0,0 +1,56 @@
1
+ import React, { ReactElement } from 'react';
2
+ import { GridRowId, GridColumnVisibilityModel } from '@mui/x-data-grid';
3
+ import { AxiosError } from 'axios';
4
+ import { OnEditModelType, OnDeleteRelatedModelType } from '../context/APIWrapperContext';
5
+ import { CustomAction, CustomColumnOperations, CustomFormFieldLayouts, DataSchemaColumnsType, ExtraValidators, FieldKey, Id, Item, LinkComponentType, MobileListRenderItemType, OnSelectActions, OptionsAC, PaginationModel, PartialItem, RowAction, NonEditableRowAction, SumRowsType, TField, WatchEditingRowValues } from '../@types';
6
+ interface GenericRelatedModelListTableProps<T extends TField = void> {
7
+ data: DataSchemaColumnsType<T>;
8
+ columnVisibilityModel?: GridColumnVisibilityModel;
9
+ relatedModel: string;
10
+ model: string;
11
+ loading?: boolean;
12
+ id: Id;
13
+ indexField?: FieldKey<T>;
14
+ indexFieldBasePath?: string;
15
+ indexFieldViewBasePath?: string;
16
+ addExistingModel?: string;
17
+ isEditable?: boolean;
18
+ cardsViewOnly?: boolean;
19
+ onEditModel: <U extends TField = void>(p: OnEditModelType<U>) => void;
20
+ onDeleteRelatedModel: (p: OnDeleteRelatedModelType) => Promise<true | AxiosError>;
21
+ finalCustomColumnOperations: CustomColumnOperations<T>;
22
+ customFieldFormLayouts?: CustomFormFieldLayouts<T>;
23
+ setVisibleRows?: (p: GridRowId[]) => void;
24
+ visibleRows?: GridRowId[];
25
+ isAutoHeight?: boolean;
26
+ hideFooterPagination: boolean;
27
+ hideFooterComponent?: boolean;
28
+ hideToolbarComponent?: boolean;
29
+ hideColumnsButton?: boolean;
30
+ hideFilterButton?: boolean;
31
+ hideDensityButton?: boolean;
32
+ hideExportButton?: boolean;
33
+ hideQuickFilterBar?: boolean;
34
+ onProcessRow?: (p?: Item<T>) => void;
35
+ onDataChange?: (p: Item<T>[]) => void;
36
+ watchEditingRowValues?: WatchEditingRowValues;
37
+ sumRows?: SumRowsType<T>;
38
+ paginationMode: 'server' | 'client';
39
+ paginationModel?: PaginationModel;
40
+ setPaginationModel?: (x: PaginationModel) => void;
41
+ hasBulkSelect?: boolean;
42
+ onSelectActions?: OnSelectActions[];
43
+ tableAutoHeight?: boolean;
44
+ actions?: RowAction<T>[];
45
+ nonEditableActions?: NonEditableRowAction<T>[];
46
+ customActions?: CustomAction[];
47
+ optionsAC?: OptionsAC<T>;
48
+ defaultValues?: PartialItem<T>;
49
+ LinkComponent?: LinkComponentType | null;
50
+ extraValidators?: ExtraValidators<T>;
51
+ MobileListRenderItem?: MobileListRenderItemType;
52
+ MobileRenderNoResults?: () => ReactElement | null;
53
+ }
54
+ declare const _default: <T extends TField = void>(p: GenericRelatedModelListTableProps<T>) => React.ReactElement;
55
+ export default _default;
56
+ //# sourceMappingURL=GenericRelatedModelListTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericRelatedModelListTable.d.ts","sourceRoot":"","sources":["../../src/components/GenericRelatedModelListTable.tsx"],"names":[],"mappings":"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"}