drf-react-by-schema 0.21.11 → 0.21.12

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DetailBySchema.d.ts","sourceRoot":"","sources":["../../../src/components/details/DetailBySchema.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAe5D,OAAO,EACL,mBAAmB,EAQpB,MAAM,cAAc,CAAC;AAkHtB,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EAAE,mBAAmB,EACjC,YAAqB,EACrB,WAAW,EACX,SAAa,EACb,SAAS,EACT,cAAc,EACd,KAAK,EACL,aAAa,EACb,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,EACX,eAAe,EACf,mBAAmB,GACpB,EAAE,mBAAmB,qBAiIrB"}
1
+ {"version":3,"file":"DetailBySchema.d.ts","sourceRoot":"","sources":["../../../src/components/details/DetailBySchema.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAe5D,OAAO,EACL,mBAAmB,EAQpB,MAAM,cAAc,CAAC;AAmHtB,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EAAE,mBAAmB,EACjC,YAAqB,EACrB,WAAW,EACX,SAAa,EACb,SAAS,EACT,cAAc,EACd,KAAK,EACL,aAAa,EACb,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,EACX,eAAe,EACf,mBAAmB,GACpB,EAAE,mBAAmB,qBA0JrB"}
@@ -61,6 +61,7 @@ const ExpandMore_1 = __importDefault(require("@mui/icons-material/ExpandMore"));
61
61
  const styles_1 = require("../../styles");
62
62
  const utils_1 = require("../../utils");
63
63
  const DetailFieldBySchema_1 = __importDefault(require("./DetailFieldBySchema"));
64
+ const APIWrapperContext_1 = require("../../context/APIWrapperContext");
64
65
  const SectionContent = ({ sectionRows, item, schema, fieldsProps, SectionCustomElement, sxRow, sxRowMultiple, sxField, sxLabel, sxValue, sxValueList, sxValueListItem, sxValueListItemText, }) => (react_1.default.createElement(react_1.default.Fragment, null,
65
66
  SectionCustomElement && react_1.default.createElement(react_1.default.Fragment, null, SectionCustomElement),
66
67
  sectionRows && (react_1.default.createElement(react_1.default.Fragment, null, sectionRows.map((row, rowIdx) => {
@@ -81,6 +82,7 @@ const SectionContent = ({ sectionRows, item, schema, fieldsProps, SectionCustomE
81
82
  return (react_1.default.createElement(row.CustomElement, Object.assign({ key: `field_customElement_row_${rowIdx}`, sxField: sxField, sxLabel: sxLabel, sxValue: sxValue, sxValueList: sxValueList, sxValueListItem: sxValueListItem, sxValueListItemText: sxValueListItemText }, fieldProps)));
82
83
  })))));
83
84
  function DetailBySchema({ values, schema, columns, loading, editLink, editLabel, fieldsLayout: fieldsLayoutInitial, hiddenFields = ['id'], fieldsProps, elevation = 2, sxSection, sxSectionTitle, sxRow, sxRowMultiple, sxField, sxLabel, sxValue, sxValueList, sxValueListItem, sxValueListItemText, }) {
85
+ const { isMobile } = (0, APIWrapperContext_1.useAPIWrapper)();
84
86
  const [preparedColumns, setPreparedColumns] = (0, react_1.useState)(null);
85
87
  const formattedValues = (0, react_1.useMemo)(() => {
86
88
  if (!preparedColumns || !values) {
@@ -104,9 +106,32 @@ function DetailBySchema({ values, schema, columns, loading, editLink, editLabel,
104
106
  return newFormattedValues;
105
107
  }, [preparedColumns, values]);
106
108
  const fieldsLayout = (0, react_1.useMemo)(() => {
107
- if (fieldsLayoutInitial && fieldsLayoutInitial.length > 0) {
109
+ if (!isMobile && fieldsLayoutInitial && fieldsLayoutInitial.length > 0) {
108
110
  return fieldsLayoutInitial;
109
111
  }
112
+ if (isMobile && fieldsLayoutInitial && fieldsLayoutInitial.length > 0) {
113
+ const rows = [];
114
+ for (const section of fieldsLayoutInitial) {
115
+ if (!section.rows) {
116
+ continue;
117
+ }
118
+ for (const field of section.rows) {
119
+ if (typeof field === 'string') {
120
+ rows.push(field);
121
+ continue;
122
+ }
123
+ if (!Array.isArray(field)) {
124
+ continue;
125
+ }
126
+ for (const key of field) {
127
+ if (typeof key === 'string') {
128
+ rows.push(key);
129
+ }
130
+ }
131
+ }
132
+ }
133
+ return [{ rows }];
134
+ }
110
135
  const rows = [];
111
136
  for (const key of Object.keys(schema)) {
112
137
  if (!hiddenFields || !hiddenFields.includes(key)) {
@@ -1 +1 @@
1
- {"version":3,"file":"FormBySchema.d.ts","sourceRoot":"","sources":["../../../src/components/forms/FormBySchema.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAWlD,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,IAAI,EACJ,SAAS,EACV,MAAM,cAAc,CAAC;AAGtB,UAAU,iBAAkB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAClE,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,MAAM,EACN,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAiB,EACjB,KAAK,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,EAAE,iBAAiB,EAC9B,OAAO,EACP,YAAY,EACZ,KAAK,EACL,YAAgB,EAEhB,YAAY,EAAE,mBAAmB,EACjC,sBAAsB,EAEtB,WAAW,EACX,YAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,SAAS,EAKT,KAAK,EACL,aAAa,EACb,SAAS,EACT,cAAc,GAKf,EAAE,iBAAiB,GAClB,IAAI,CACF,uBAAuB,EACrB,IAAI,GACJ,SAAS,GACT,SAAS,GACT,SAAS,GACT,aAAa,GACb,iBAAiB,GACjB,qBAAqB,CACxB,qBA2RF"}
1
+ {"version":3,"file":"FormBySchema.d.ts","sourceRoot":"","sources":["../../../src/components/forms/FormBySchema.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAWlD,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,IAAI,EACJ,SAAS,EACV,MAAM,cAAc,CAAC;AAGtB,UAAU,iBAAkB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAClE,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,MAAM,EACN,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAiB,EACjB,KAAK,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,EAAE,iBAAiB,EAC9B,OAAO,EACP,YAAY,EACZ,KAAK,EACL,YAAgB,EAEhB,YAAY,EAAE,mBAAmB,EACjC,sBAAsB,EAEtB,WAAW,EACX,YAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,SAAS,EAKT,KAAK,EACL,aAAa,EACb,SAAS,EACT,cAAc,GAKf,EAAE,iBAAiB,GAClB,IAAI,CACF,uBAAuB,EACrB,IAAI,GACJ,SAAS,GACT,SAAS,GACT,SAAS,GACT,aAAa,GACb,iBAAiB,GACjB,qBAAqB,CACxB,qBA2SF"}
@@ -65,7 +65,7 @@ sxRow, sxRowMultiple, sxSection, sxSectionTitle,
65
65
  // sxValueListItem,
66
66
  // sxValueListItemText,
67
67
  }) {
68
- const { getAutoComplete: defaulGetAutoComplete, onEditModel: defaultOnEditModel } = (0, APIWrapperContext_1.useAPIWrapper)();
68
+ const { getAutoComplete: defaulGetAutoComplete, onEditModel: defaultOnEditModel, isMobile, } = (0, APIWrapperContext_1.useAPIWrapper)();
69
69
  const getAutoComplete = (0, react_1.useMemo)(() => isolatedGetAutoComplete || defaulGetAutoComplete, [defaulGetAutoComplete, isolatedGetAutoComplete]);
70
70
  const onEditModel = (0, react_1.useMemo)(() => (relatedEditable === false ? undefined : customOnEditModel || defaultOnEditModel), [customOnEditModel, defaultOnEditModel, relatedEditable]);
71
71
  const [localOptionsAC, setLocalOptionsAC] = (0, react_1.useState)(undefined);
@@ -76,6 +76,7 @@ sxRow, sxRowMultiple, sxSection, sxSectionTitle,
76
76
  }
77
77
  const newOptionsACModels = [];
78
78
  if (fieldsLayoutInitial && fieldsLayoutInitial.length > 0) {
79
+ const mobileRows = [];
79
80
  for (const section of fieldsLayoutInitial) {
80
81
  if (!section.rows) {
81
82
  continue;
@@ -91,6 +92,9 @@ sxRow, sxRowMultiple, sxSection, sxSectionTitle,
91
92
  !newOptionsACModels.includes(field)) {
92
93
  newOptionsACModels.push(field);
93
94
  }
95
+ if (isMobile) {
96
+ mobileRows.push(field);
97
+ }
94
98
  continue;
95
99
  }
96
100
  if (Array.isArray(row)) {
@@ -104,15 +108,24 @@ sxRow, sxRowMultiple, sxSection, sxSectionTitle,
104
108
  !newOptionsACModels.includes(field)) {
105
109
  newOptionsACModels.push(field);
106
110
  }
111
+ if (isMobile && typeof field === 'string') {
112
+ mobileRows.push(field);
113
+ }
107
114
  }
108
115
  continue;
109
116
  }
110
117
  if (newOptionsACModels.includes(row.key)) {
111
118
  newOptionsACModels.push(row.key);
112
119
  }
120
+ if (isMobile) {
121
+ mobileRows.push(row.key);
122
+ }
113
123
  }
114
124
  }
115
- return { fieldsLayout: fieldsLayoutInitial, optionsACModels: newOptionsACModels };
125
+ return {
126
+ fieldsLayout: isMobile ? [{ rows: mobileRows }] : fieldsLayoutInitial,
127
+ optionsACModels: newOptionsACModels,
128
+ };
116
129
  }
117
130
  const rows = [];
118
131
  for (const [key, field] of Object.entries(schema)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drf-react-by-schema",
3
- "version": "0.21.11",
3
+ "version": "0.21.12",
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",