drf-react-by-schema 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/api.d.ts CHANGED
@@ -63,6 +63,7 @@ export interface GetGenericModelListProps {
63
63
  columnFields: string[];
64
64
  hiddenFields?: string[];
65
65
  creatableFields?: string[];
66
+ disabledFields?: string[];
66
67
  isInBatches?: boolean;
67
68
  loadedSchema?: SchemaType | boolean;
68
69
  loadedModelOptions?: modelOptionsType | boolean;
@@ -82,7 +83,7 @@ interface SumRowsItem {
82
83
  suffix?: string;
83
84
  isCount?: boolean;
84
85
  }
85
- export declare const getGenericModelList: ({ model, serverEndPoint, id, relatedModel, relatedModelId, columnFields, hiddenFields, creatableFields, isInBatches, loadedSchema, loadedModelOptions, page, filter, queryParams, sort, sumRows, }: GetGenericModelListProps) => Promise<false | DataSchemaColumnsType>;
86
+ export declare const getGenericModelList: ({ model, serverEndPoint, id, relatedModel, relatedModelId, columnFields, hiddenFields, creatableFields, disabledFields, isInBatches, loadedSchema, loadedModelOptions, page, filter, queryParams, sort, sumRows, }: GetGenericModelListProps) => Promise<false | DataSchemaColumnsType>;
86
87
  export declare const getGenericModel: ({ model, serverEndPoint, id, relatedModel, relatedModelId, }: {
87
88
  model: string;
88
89
  serverEndPoint: serverEndPointType | null;
package/dist/api.js CHANGED
@@ -402,7 +402,7 @@ const addExistingRelatedModel = ({ model, serverEndPoint, id, data, }) => __awai
402
402
  return response;
403
403
  });
404
404
  exports.addExistingRelatedModel = addExistingRelatedModel;
405
- const getDataGridColumns = (schema, columnFields = [], hiddenFields = [], creatableFields = []) => {
405
+ const getDataGridColumns = (schema, columnFields = [], hiddenFields = [], creatableFields = [], disabledFields = []) => {
406
406
  if (!schema) {
407
407
  return false;
408
408
  }
@@ -418,6 +418,7 @@ const getDataGridColumns = (schema, columnFields = [], hiddenFields = [], creata
418
418
  headerName: schema[field].label,
419
419
  hide: hiddenFields.includes(field),
420
420
  creatable: creatableFields.includes(field) || schema[field].creatable,
421
+ disabled: disabledFields.includes(field),
421
422
  width: 100,
422
423
  };
423
424
  return column;
@@ -565,7 +566,7 @@ const signUp = (data, serverEndPoint) => __awaiter(void 0, void 0, void 0, funct
565
566
  }
566
567
  });
567
568
  exports.signUp = signUp;
568
- const getGenericModelList = ({ model, serverEndPoint, id = '', relatedModel = '', relatedModelId = '', columnFields, hiddenFields = ['id'], creatableFields = [], isInBatches = false, loadedSchema, loadedModelOptions, page, filter, queryParams = [], sort, sumRows, }) => __awaiter(void 0, void 0, void 0, function* () {
569
+ const getGenericModelList = ({ model, serverEndPoint, id = '', relatedModel = '', relatedModelId = '', columnFields, hiddenFields = ['id'], creatableFields = [], disabledFields = [], isInBatches = false, loadedSchema, loadedModelOptions, page, filter, queryParams = [], sort, sumRows, }) => __awaiter(void 0, void 0, void 0, function* () {
569
570
  let path = `${model}/${id}`;
570
571
  let schemaPath = `${model}/`;
571
572
  let schema = loadedSchema;
@@ -623,7 +624,7 @@ const getGenericModelList = ({ model, serverEndPoint, id = '', relatedModel = ''
623
624
  }
624
625
  schema = options.schema;
625
626
  modelOptions = options.modelOptions;
626
- columns = getDataGridColumns(schema, columnFields, hiddenFields, creatableFields);
627
+ columns = getDataGridColumns(schema, columnFields, hiddenFields, creatableFields, disabledFields);
627
628
  if (!columns) {
628
629
  return false;
629
630
  }
@@ -35,6 +35,9 @@ interface DataGridBySchemaEditableProps {
35
35
  setVisibleRows?: (p: any) => void;
36
36
  paginationModel?: PaginationModel;
37
37
  setPaginationModel?: (x: PaginationModel) => void;
38
+ hideFooterComponent?: boolean;
39
+ hideToolbarComponent?: boolean;
40
+ tableAutoHeight?: boolean;
38
41
  }
39
42
  declare const DataGridBySchemaEditable: React.ForwardRefExoticComponent<DataGridBySchemaEditableProps & React.RefAttributes<unknown>>;
40
43
  export default DataGridBySchemaEditable;
@@ -73,7 +73,7 @@ const ConfirmDialog_1 = require("./DataGridBySchemaEditable/ConfirmDialog");
73
73
  const APIWrapperContext_1 = require("../context/APIWrapperContext");
74
74
  const stringMask = require('string-mask');
75
75
  const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
76
- var { schema, data, rowCount = 0, columns, model, fieldKey, labelKey = 'nome', index, name = Math.floor(Math.random() * 1000000).toString(), indexField = 'nome', addExistingModel, indexFieldMinWidth = 350, indexFieldBasePath = '', stateToLink = {}, minWidth = 80, modelParent, modelParentId, customColumnOperations, customLinkDestination, LinkComponent, onProcessRow, onDataChange, onEditModel, isEditable = false, hasBulkSelect = false, sx = { mr: 2 }, isAutoHeight = false, defaultValues = {}, hideFooterPagination = false, setVisibleRows, paginationModel = undefined, setPaginationModel = undefined } = _a, other = __rest(_a, ["schema", "data", "rowCount", "columns", "model", "fieldKey", "labelKey", "index", "name", "indexField", "addExistingModel", "indexFieldMinWidth", "indexFieldBasePath", "stateToLink", "minWidth", "modelParent", "modelParentId", "customColumnOperations", "customLinkDestination", "LinkComponent", "onProcessRow", "onDataChange", "onEditModel", "isEditable", "hasBulkSelect", "sx", "isAutoHeight", "defaultValues", "hideFooterPagination", "setVisibleRows", "paginationModel", "setPaginationModel"]);
76
+ var { schema, data, rowCount = 0, columns, model, fieldKey, labelKey = 'nome', index, name = Math.floor(Math.random() * 1000000).toString(), indexField = 'nome', addExistingModel, indexFieldMinWidth = 350, indexFieldBasePath = '', stateToLink = {}, minWidth = 80, modelParent, modelParentId, customColumnOperations, customLinkDestination, LinkComponent, onProcessRow, onDataChange, onEditModel, isEditable = false, hasBulkSelect = false, sx = { mr: 2 }, isAutoHeight = false, defaultValues = {}, hideFooterPagination = false, setVisibleRows, paginationModel = undefined, setPaginationModel = undefined, hideFooterComponent, hideToolbarComponent, tableAutoHeight } = _a, other = __rest(_a, ["schema", "data", "rowCount", "columns", "model", "fieldKey", "labelKey", "index", "name", "indexField", "addExistingModel", "indexFieldMinWidth", "indexFieldBasePath", "stateToLink", "minWidth", "modelParent", "modelParentId", "customColumnOperations", "customLinkDestination", "LinkComponent", "onProcessRow", "onDataChange", "onEditModel", "isEditable", "hasBulkSelect", "sx", "isAutoHeight", "defaultValues", "hideFooterPagination", "setVisibleRows", "paginationModel", "setPaginationModel", "hideFooterComponent", "hideToolbarComponent", "tableAutoHeight"]);
77
77
  const { serverEndPoint } = (0, DRFReactBySchemaContext_1.useDRFReactBySchema)();
78
78
  const apiContext = (0, APIWrapperContext_1.useAPIWrapper)();
79
79
  const initialSnackBar = {
@@ -168,6 +168,7 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
168
168
  }
169
169
  column.editable =
170
170
  isEditable &&
171
+ !col.disabled &&
171
172
  (!schema[col.field].read_only ||
172
173
  ['field', 'nested object'].includes(schema[col.field].type));
173
174
  if (['field', 'nested object'].includes(schema[col.field].type)) {
@@ -184,7 +185,7 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
184
185
  column.filterOperators = (0, utils_2.quantityOnlyOperators)({
185
186
  type: 'date',
186
187
  });
187
- if (isEditable) {
188
+ if (isEditable && !col.disabled) {
188
189
  column.renderEditCell = (params) => (react_1.default.createElement(GridDateInput_1.GridDateInput, Object.assign({}, params, { column: column, dateViews: schema[col.field].date_views })));
189
190
  break;
190
191
  }
@@ -199,7 +200,7 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
199
200
  break;
200
201
  case 'nested object':
201
202
  column.minWidth = 150;
202
- if (isEditable) {
203
+ if (isEditable && !col.disabled) {
203
204
  column.valueFormatter = (params) => {
204
205
  return !params.value ? '' : params.value.label;
205
206
  };
@@ -216,7 +217,7 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
216
217
  break;
217
218
  case 'field':
218
219
  column.orderable = false;
219
- if (isEditable) {
220
+ if (isEditable && !col.disabled) {
220
221
  column.minWidth = 300;
221
222
  column.valueFormatter = (params) => {
222
223
  return !params.value || !Array.isArray(params.value)
@@ -234,7 +235,7 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
234
235
  };
235
236
  break;
236
237
  case 'choice':
237
- if (isEditable) {
238
+ if (isEditable && !col.disabled) {
238
239
  column.minWidth = 150;
239
240
  column.valueFormatter = (params) => {
240
241
  return !params.value ? '' : params.value.display_name;
@@ -251,7 +252,7 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
251
252
  };
252
253
  break;
253
254
  case 'boolean':
254
- if (isEditable) {
255
+ if (isEditable && !col.disabled) {
255
256
  column.valueFormatter = (params) => {
256
257
  return params.value ? 'Sim' : 'Não';
257
258
  };
@@ -277,7 +278,7 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
277
278
  maximumFractionDigits: decimalScale,
278
279
  });
279
280
  };
280
- if (isEditable) {
281
+ if (isEditable && !col.disabled) {
281
282
  column.renderEditCell = (params) => (react_1.default.createElement(GridDecimalInput_1.GridDecimalInput, Object.assign({}, params, { decimalPlaces: decimalScale, isCurrency: isCurrency, prefix: prefix, suffix: suffix, column: column })));
282
283
  }
283
284
  column.filterOperators = (0, utils_2.quantityOnlyOperators)({
@@ -314,6 +315,7 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
314
315
  return (react_1.default.createElement(LinkComponent, { to: `${indexFieldBasePath}${targetId}`, state: stateToLink }, params.formattedValue));
315
316
  };
316
317
  if (isEditable &&
318
+ !col.disabled &&
317
319
  optionsAC.current &&
318
320
  col.field in optionsAC.current &&
319
321
  addExistingModel) {
@@ -339,7 +341,7 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
339
341
  const formattedValue = new stringMask(column.patternFormat, {}).apply(params.value);
340
342
  return formattedValue;
341
343
  };
342
- if (isEditable) {
344
+ if (isEditable && !col.disabled) {
343
345
  column.renderEditCell = (params) => (react_1.default.createElement(GridPatternInput_1.GridPatternInput, Object.assign({}, params, { patternFormat: column.patternFormat })));
344
346
  }
345
347
  }
@@ -546,7 +548,7 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
546
548
  const disableRowSelectionOnClick = hasBulkSelect ? true : undefined;
547
549
  return (react_1.default.createElement(Box_1.default, { className: `dataGrid_${name}`, sx: { height: '100%' } },
548
550
  preparedColumns === null ? (react_1.default.createElement(Box_1.default, { sx: styles_1.Layout.loadingBox },
549
- react_1.default.createElement(CircularProgress_1.default, null))) : (react_1.default.createElement(x_data_grid_1.DataGrid, { rows: dataGrid.data, columns: preparedColumns, onStateChange: (state) => {
551
+ react_1.default.createElement(CircularProgress_1.default, null))) : (react_1.default.createElement(x_data_grid_1.DataGrid, { rows: dataGrid.data, columns: preparedColumns, autoHeight: tableAutoHeight, onStateChange: (state) => {
550
552
  if (setVisibleRows) {
551
553
  const newVisibleRows = Object.entries(state.filter.visibleRowsLookup)
552
554
  .filter((entry) => {
@@ -591,8 +593,8 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
591
593
  });
592
594
  console.log(e);
593
595
  }, components: {
594
- Toolbar: CustomToolbar_1.CustomToolbar,
595
- Footer: FooterToolbar_1.FooterToolbar,
596
+ Toolbar: hideToolbarComponent ? () => react_1.default.createElement(react_1.default.Fragment, null) : CustomToolbar_1.CustomToolbar,
597
+ Footer: hideFooterComponent ? () => react_1.default.createElement(react_1.default.Fragment, null) : FooterToolbar_1.FooterToolbar,
596
598
  }, componentsProps: {
597
599
  toolbar: {
598
600
  preparedColumns,
@@ -7,6 +7,7 @@ interface GenericModelListProps {
7
7
  columnFields: string[];
8
8
  hiddenFields?: string[];
9
9
  creatableFields?: string[];
10
+ disabledFields?: string[];
10
11
  minWidthFields?: Record<string, number>;
11
12
  indexField: string;
12
13
  indexFieldBasePath: string;
@@ -24,6 +25,9 @@ interface GenericModelListProps {
24
25
  paginationMode: 'server' | 'client';
25
26
  defaultFilter?: GridFilterModel;
26
27
  queryParams?: string[];
28
+ hideFooterComponent?: boolean;
29
+ hideToolbarComponent?: boolean;
30
+ tableAutoHeight?: boolean;
27
31
  }
28
- declare const GenericModelList: ({ model, columnFields, hiddenFields, creatableFields, minWidthFields, indexField, indexFieldBasePath, addExistingModel, onProcessRow, customColumnOperations, customLinkDestination, isEditable, hasBulkSelect, sumRows, isAutoHeight, forceReload, LinkComponent, hasHeader, paginationMode, defaultFilter, queryParams, }: GenericModelListProps) => JSX.Element;
32
+ declare const GenericModelList: ({ model, columnFields, hiddenFields, creatableFields, disabledFields, minWidthFields, indexField, indexFieldBasePath, addExistingModel, onProcessRow, customColumnOperations, customLinkDestination, isEditable, hasBulkSelect, sumRows, isAutoHeight, forceReload, LinkComponent, hasHeader, paginationMode, defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, }: GenericModelListProps) => JSX.Element;
29
33
  export default GenericModelList;
@@ -48,7 +48,7 @@ const utils_1 = require("../utils");
48
48
  const api_1 = require("../api");
49
49
  const DRFReactBySchemaContext_1 = require("../context/DRFReactBySchemaContext");
50
50
  const APIWrapperContext_1 = require("../context/APIWrapperContext");
51
- const GenericModelList = ({ model, columnFields, hiddenFields = [], creatableFields, minWidthFields, indexField, indexFieldBasePath, addExistingModel, onProcessRow, customColumnOperations, customLinkDestination, isEditable, hasBulkSelect = false, sumRows, isAutoHeight = true, forceReload = false, LinkComponent = null, hasHeader = false, paginationMode = 'client', defaultFilter, queryParams, }) => {
51
+ const GenericModelList = ({ model, columnFields, hiddenFields = [], creatableFields, disabledFields, minWidthFields, indexField, indexFieldBasePath, addExistingModel, onProcessRow, customColumnOperations, customLinkDestination, isEditable, hasBulkSelect = false, sumRows, isAutoHeight = true, forceReload = false, LinkComponent = null, hasHeader = false, paginationMode = 'client', defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, }) => {
52
52
  const { serverEndPoint, isInBatches, firstBatchLength } = (0, DRFReactBySchemaContext_1.useDRFReactBySchema)();
53
53
  const { onEditModel, handleLoading } = (0, APIWrapperContext_1.useAPIWrapper)();
54
54
  const [data, setData] = (0, react_1.useState)(false);
@@ -76,6 +76,7 @@ const GenericModelList = ({ model, columnFields, hiddenFields = [], creatableFie
76
76
  columnFields,
77
77
  hiddenFields,
78
78
  creatableFields,
79
+ disabledFields,
79
80
  isInBatches,
80
81
  queryParams,
81
82
  };
@@ -106,6 +107,7 @@ const GenericModelList = ({ model, columnFields, hiddenFields = [], creatableFie
106
107
  columnFields,
107
108
  hiddenFields,
108
109
  creatableFields,
110
+ disabledFields,
109
111
  page,
110
112
  filter,
111
113
  queryParams,
@@ -143,8 +145,8 @@ const GenericModelList = ({ model, columnFields, hiddenFields = [], creatableFie
143
145
  LinkComponent && (react_1.default.createElement(Box_1.default, { sx: styles_1.Layout.flexRow },
144
146
  react_1.default.createElement(LinkComponent, { to: `novo` },
145
147
  react_1.default.createElement(Button_1.default, { variant: "contained", size: "medium", sx: { alignSelf: 'stretch' }, startIcon: react_1.default.createElement(AddCircleOutline_1.default, null) }, "Adicionar")))))),
146
- react_1.default.createElement(Box_1.default, { sx: styles_1.Layout.dataGridWithTabs },
147
- react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, schema: data.schema || {}, model: model, indexField: indexField, indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onEditModel: onEditModel, isAutoHeight: isAutoHeight, customColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, hideFooterPagination: hideFooterPagination, customLinkDestination: customLinkDestination, onProcessRow: onProcessRow, onDataChange: (newData) => {
148
+ react_1.default.createElement(Box_1.default, { sx: tableAutoHeight ? {} : styles_1.Layout.dataGridWithTabs },
149
+ react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, schema: data.schema || {}, model: model, indexField: indexField, indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onEditModel: onEditModel, isAutoHeight: isAutoHeight, tableAutoHeight: tableAutoHeight, customColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, hideFooterPagination: hideFooterPagination, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, customLinkDestination: customLinkDestination, onProcessRow: onProcessRow, onDataChange: (newData) => {
148
150
  setData(Object.assign(Object.assign({}, data), { data: newData }));
149
151
  }, LinkComponent: LinkComponent, paginationModel: paginationMode === 'server' ? paginationModel : undefined, setPaginationModel: paginationMode === 'server' ? setPaginationModel : undefined, rowCount: paginationMode === 'client'
150
152
  ? undefined
@@ -9,6 +9,7 @@ interface GenericRelatedModelListProps {
9
9
  columnFields: string[];
10
10
  hiddenFields: string[];
11
11
  creatableFields: string[];
12
+ disabledFields: string[];
12
13
  usuaria?: Item | null;
13
14
  minWidthFields?: Record<string, number>;
14
15
  indexField?: string;
@@ -26,6 +27,9 @@ interface GenericRelatedModelListProps {
26
27
  paginationMode: 'server' | 'client';
27
28
  defaultFilter?: GridFilterModel;
28
29
  queryParams?: string[];
30
+ hideFooterComponent?: boolean;
31
+ hideToolbarComponent?: boolean;
32
+ tableAutoHeight?: boolean;
29
33
  }
30
- export default function GenericRelatedModelList({ model, id, relatedModel, columnFields, hiddenFields, creatableFields, usuaria, minWidthFields, indexField, indexFieldBasePath, addExistingModel, label, onProcessRow, customColumnOperations, isEditable, hasBulkSelect, sumRows, isAutoHeight, isInBatches, noCardWrapper, paginationMode, defaultFilter, queryParams, }: GenericRelatedModelListProps): JSX.Element;
34
+ export default function GenericRelatedModelList({ model, id, relatedModel, columnFields, hiddenFields, creatableFields, disabledFields, usuaria, minWidthFields, indexField, indexFieldBasePath, addExistingModel, label, onProcessRow, customColumnOperations, isEditable, hasBulkSelect, sumRows, isAutoHeight, isInBatches, noCardWrapper, paginationMode, defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, }: GenericRelatedModelListProps): JSX.Element;
31
35
  export {};
@@ -46,9 +46,9 @@ const APIWrapperContext_1 = require("../context/APIWrapperContext");
46
46
  const utils_1 = require("../utils");
47
47
  const api_1 = require("../api");
48
48
  const styles_1 = require("../styles");
49
- const ContentTable = ({ data, relatedModel, model, id, indexField, indexFieldBasePath, addExistingModel, isEditable, onEditModel, finalCustomColumnOperations, setVisibleRows, isAutoHeight, hideFooterPagination, onProcessRow, setData, sumRows, visibleRows, paginationMode = 'client', paginationModel, setPaginationModel, hasBulkSelect, }) => (react_1.default.createElement(react_1.default.Fragment, null,
50
- data.columns && (react_1.default.createElement(Box_1.default, { sx: styles_1.Layout.dataGridFixedHeight },
51
- react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, schema: data.schema, model: relatedModel, modelParent: model, modelParentId: id, indexField: indexField, indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onEditModel: onEditModel, isAutoHeight: isAutoHeight, customColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, hideFooterPagination: hideFooterPagination, onProcessRow: onProcessRow, onDataChange: (newData) => {
49
+ const ContentTable = ({ data, relatedModel, model, id, indexField, indexFieldBasePath, addExistingModel, isEditable, onEditModel, finalCustomColumnOperations, setVisibleRows, isAutoHeight, hideFooterPagination, hideFooterComponent, hideToolbarComponent, onProcessRow, setData, sumRows, visibleRows, paginationMode = 'client', paginationModel, setPaginationModel, hasBulkSelect, tableAutoHeight, }) => (react_1.default.createElement(react_1.default.Fragment, null,
50
+ data.columns && (react_1.default.createElement(Box_1.default, { sx: tableAutoHeight ? {} : styles_1.Layout.dataGridFixedHeight },
51
+ react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, schema: data.schema, model: relatedModel, modelParent: model, modelParentId: id, indexField: indexField, indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onEditModel: onEditModel, isAutoHeight: isAutoHeight, tableAutoHeight: tableAutoHeight, customColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, hideFooterPagination: hideFooterPagination, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, onProcessRow: onProcessRow, onDataChange: (newData) => {
52
52
  setData(Object.assign(Object.assign({}, data), { data: newData }));
53
53
  }, paginationModel: paginationMode === 'server' ? paginationModel : undefined, setPaginationModel: paginationMode === 'server' ? setPaginationModel : undefined, rowCount: paginationMode === 'client'
54
54
  ? undefined
@@ -56,7 +56,7 @@ const ContentTable = ({ data, relatedModel, model, id, indexField, indexFieldBas
56
56
  ? data.rowCount
57
57
  : 0 }))),
58
58
  react_1.default.createElement(DataTotals_1.default, { data: data.data, sumRows: sumRows, visibleRows: visibleRows })));
59
- function GenericRelatedModelList({ model, id, relatedModel, columnFields, hiddenFields, creatableFields, usuaria = null, minWidthFields, indexField, indexFieldBasePath, addExistingModel, label, onProcessRow, customColumnOperations, isEditable = true, hasBulkSelect = false, sumRows, isAutoHeight = false, isInBatches = true, noCardWrapper = false, paginationMode = 'client', defaultFilter, queryParams, }) {
59
+ function GenericRelatedModelList({ model, id, relatedModel, columnFields, hiddenFields, creatableFields, disabledFields, usuaria = null, minWidthFields, indexField, indexFieldBasePath, addExistingModel, label, onProcessRow, customColumnOperations, isEditable = true, hasBulkSelect = false, sumRows, isAutoHeight = false, isInBatches = true, noCardWrapper = false, paginationMode = 'client', defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, }) {
60
60
  const [data, setData] = (0, react_1.useState)(false);
61
61
  const [visibleRows, setVisibleRows] = (0, react_1.useState)([]);
62
62
  const [hideFooterPagination, setHideFooterPagination] = (0, react_1.useState)(false);
@@ -83,6 +83,7 @@ function GenericRelatedModelList({ model, id, relatedModel, columnFields, hidden
83
83
  indexFieldBasePath,
84
84
  columnFields,
85
85
  creatableFields,
86
+ disabledFields,
86
87
  hiddenFields,
87
88
  usuaria,
88
89
  isInBatches,
@@ -115,6 +116,8 @@ function GenericRelatedModelList({ model, id, relatedModel, columnFields, hidden
115
116
  relatedModel,
116
117
  columnFields,
117
118
  hiddenFields,
119
+ creatableFields,
120
+ disabledFields,
118
121
  page,
119
122
  filter,
120
123
  sort,
@@ -139,9 +142,9 @@ function GenericRelatedModelList({ model, id, relatedModel, columnFields, hidden
139
142
  loadObjectList();
140
143
  }
141
144
  }, [paginationModel]);
142
- 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(ContentTable, { data: data, model: model, relatedModel: relatedModel, id: id, indexField: indexField || '', indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, isAutoHeight: isAutoHeight, hideFooterPagination: hideFooterPagination, onProcessRow: onProcessRow, setData: setData, sumRows: sumRows, visibleRows: visibleRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel })) : (react_1.default.createElement(Card_1.default, { sx: styles_1.Layout.formCard },
145
+ 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(ContentTable, { data: data, model: model, relatedModel: relatedModel, id: id, indexField: indexField || '', indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, isAutoHeight: isAutoHeight, tableAutoHeight: tableAutoHeight, hideFooterPagination: hideFooterPagination, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, onProcessRow: onProcessRow, setData: setData, sumRows: sumRows, visibleRows: visibleRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel })) : (react_1.default.createElement(Card_1.default, { sx: styles_1.Layout.formCard },
143
146
  react_1.default.createElement(CardHeader_1.default, { title: label }),
144
147
  react_1.default.createElement(CardContent_1.default, null,
145
- react_1.default.createElement(ContentTable, { data: data, model: model, relatedModel: relatedModel, id: id, indexField: indexField || '', indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, isAutoHeight: isAutoHeight, hideFooterPagination: hideFooterPagination, onProcessRow: onProcessRow, setData: setData, sumRows: sumRows, visibleRows: visibleRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel }))))))));
148
+ react_1.default.createElement(ContentTable, { data: data, model: model, relatedModel: relatedModel, id: id, indexField: indexField || '', indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, isAutoHeight: isAutoHeight, tableAutoHeight: tableAutoHeight, hideFooterPagination: hideFooterPagination, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, onProcessRow: onProcessRow, setData: setData, sumRows: sumRows, visibleRows: visibleRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel }))))))));
146
149
  }
147
150
  exports.default = GenericRelatedModelList;
package/dist/utils.d.ts CHANGED
@@ -54,12 +54,14 @@ export interface Field {
54
54
  interface GridBySchemaColDef extends GridColDef {
55
55
  isIndexField?: boolean;
56
56
  creatable?: boolean;
57
+ disabled?: boolean;
57
58
  orderable?: boolean;
58
59
  patternFormat?: string;
59
60
  }
60
61
  interface GridActionsBySchemaColDef extends GridActionsColDef {
61
62
  isIndexField?: boolean;
62
63
  creatable?: boolean;
64
+ disabled?: boolean;
63
65
  orderable?: boolean;
64
66
  patternFormat?: string;
65
67
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drf-react-by-schema",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Components and Tools for building a React App having Django Rest Framework (DRF) as server",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",