@portnet/ui 0.1.15 → 0.1.17

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.
@@ -0,0 +1,331 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.weak-map.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ require("core-js/modules/web.dom-collections.iterator.js");
9
+ require("core-js/modules/es.promise.js");
10
+ require("core-js/modules/es.array.includes.js");
11
+ require("core-js/modules/es.string.includes.js");
12
+ require("core-js/modules/es.symbol.description.js");
13
+ var _formik = require("formik");
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+ var React = _interopRequireWildcard(require("react"));
16
+ var _useAxios = _interopRequireDefault(require("../../../hooks/useAxios"));
17
+ var _PuiButton = _interopRequireDefault(require("../../buttons/PuiButton"));
18
+ var _PuiFormikForm = _interopRequireDefault(require("../../others/PuiFormikForm"));
19
+ var _PuiGrid = _interopRequireDefault(require("../../others/PuiGrid"));
20
+ var _PuiIcon = _interopRequireDefault(require("../../others/PuiIcon"));
21
+ var _specificReferentielsApis = _interopRequireDefault(require("../common/constants/specificReferentielsApis"));
22
+ var _specificReferentielsBaseColumns = _interopRequireDefault(require("../common/constants/specificReferentielsBaseColumns"));
23
+ var _specificReferentielsBaseFilters = _interopRequireDefault(require("../common/constants/specificReferentielsBaseFilters"));
24
+ var _specificReferentielsInitialValues = _interopRequireDefault(require("../common/constants/specificReferentielsInitialValues"));
25
+ var _specificReferentielsTitles = _interopRequireDefault(require("../common/constants/specificReferentielsTitles"));
26
+ var _specificReferentielsValidationSchemas = _interopRequireDefault(require("../common/constants/specificReferentielsValidationSchemas"));
27
+ var _ReferetielContext = _interopRequireDefault(require("../common/ReferetielContext"));
28
+ var _PuiBasePopupReferentielField = _interopRequireDefault(require("./PuiBasePopupReferentielField"));
29
+ var _jsxRuntime = require("react/jsx-runtime");
30
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
31
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
32
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
34
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
35
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
36
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
37
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
38
+ const dataFetchingInitalState = {
39
+ data: [],
40
+ totalElements: 0,
41
+ isLoading: false,
42
+ isSuccessed: false,
43
+ isFailed: false,
44
+ error: null,
45
+ pageSize: 5,
46
+ pageNumber: 0
47
+ };
48
+ const dataFetchingReducer = (state, _ref) => {
49
+ let {
50
+ type,
51
+ payload
52
+ } = _ref;
53
+ switch (type) {
54
+ case "SET_PAGE":
55
+ return _objectSpread(_objectSpread({}, state), {}, {
56
+ pageNumber: payload
57
+ });
58
+ case "GET_DATA":
59
+ return _objectSpread(_objectSpread({}, state), {}, {
60
+ isSuccessed: false,
61
+ isFailed: false,
62
+ isLoading: true
63
+ });
64
+ case "SUCCESSED":
65
+ return _objectSpread(_objectSpread({}, state), {}, {
66
+ data: payload.data,
67
+ totalElements: payload.totalElements,
68
+ isSuccessed: true,
69
+ isLoading: false
70
+ });
71
+ case "FAILED":
72
+ return _objectSpread(_objectSpread({}, state), {}, {
73
+ data: [],
74
+ isFailed: true,
75
+ isLoading: false,
76
+ error: payload
77
+ });
78
+ default:
79
+ break;
80
+ }
81
+ };
82
+ const PuiSpecificReferentielField = _ref2 => {
83
+ let {
84
+ id,
85
+ className,
86
+ sx,
87
+ title,
88
+ label,
89
+ searchKey,
90
+ specifications,
91
+ filters,
92
+ filtersProps,
93
+ columns,
94
+ name,
95
+ value,
96
+ formik,
97
+ error,
98
+ disabled,
99
+ required,
100
+ focused,
101
+ fullWidth,
102
+ helperText,
103
+ tableProps,
104
+ getReturnedValue,
105
+ getRenderedValue,
106
+ onChange,
107
+ onError
108
+ } = _ref2;
109
+ const {
110
+ token,
111
+ secret,
112
+ baseURL
113
+ } = React.useContext(_ReferetielContext.default);
114
+ const axios = (0, _useAxios.default)(token, secret, baseURL);
115
+ const [dataFetchingState, dataFetchingDispatch] = React.useReducer(dataFetchingReducer, dataFetchingInitalState);
116
+ const [filtreredFilters, setFiltreredFilters] = React.useState([..._specificReferentielsBaseFilters.default[searchKey]]);
117
+ const formRef = React.useRef();
118
+ const [isMounted, setIsMounted] = React.useState(false);
119
+ const pageChangeHandler = pageNumber => {
120
+ dataFetchingDispatch({
121
+ type: "SET_PAGE",
122
+ payload: pageNumber
123
+ });
124
+ };
125
+ const submitHandler = async values => {
126
+ try {
127
+ dataFetchingDispatch({
128
+ type: "GET_DATA"
129
+ });
130
+ const {
131
+ data
132
+ } = await axios.post("/api/".concat(_specificReferentielsApis.default[searchKey], "/getPage"), _objectSpread(_objectSpread({}, specifications), {}, {
133
+ pageNumber: dataFetchingState.pageNumber,
134
+ pageSize: dataFetchingState.pageSize
135
+ }, values));
136
+ if (data.succes) {
137
+ dataFetchingDispatch({
138
+ type: "SUCCESSED",
139
+ payload: {
140
+ data: data.results,
141
+ totalElements: data.totalElements
142
+ }
143
+ });
144
+ } else {
145
+ throw new Error(data.message);
146
+ }
147
+ } catch (error) {
148
+ dataFetchingDispatch({
149
+ type: "FAILED",
150
+ payload: error.message
151
+ });
152
+ onError(error);
153
+ }
154
+ };
155
+ React.useEffect(() => {
156
+ if (isMounted) {
157
+ var _formRef$current;
158
+ (_formRef$current = formRef.current) === null || _formRef$current === void 0 || _formRef$current.submitForm();
159
+ }
160
+ // eslint-disable-next-line react-hooks/exhaustive-deps
161
+ }, [dataFetchingState.pageNumber]);
162
+ React.useEffect(() => {
163
+ setFiltreredFilters(_specificReferentielsBaseFilters.default[searchKey].filter(innerFilter => !Boolean(filters) || !Boolean(filters.length) || filters.includes(innerFilter.name)));
164
+ // eslint-disable-next-line react-hooks/exhaustive-deps
165
+ }, [filters]);
166
+ React.useEffect(() => {
167
+ setIsMounted(true);
168
+ }, []);
169
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiBasePopupReferentielField.default, {
170
+ id: id,
171
+ className: className,
172
+ sx: sx,
173
+ name: name,
174
+ formik: formik,
175
+ loading: dataFetchingState.isLoading,
176
+ rowCount: dataFetchingState.totalElements,
177
+ rows: dataFetchingState.data,
178
+ page: dataFetchingState.pageNumber,
179
+ pageSize: dataFetchingState.pageSize,
180
+ columns: Array.isArray(columns) && Boolean(columns.length) ? columns : _specificReferentielsBaseColumns.default[searchKey],
181
+ focused: focused,
182
+ required: required,
183
+ disabled: disabled,
184
+ fullWidth: fullWidth,
185
+ value: value,
186
+ readOnly: true,
187
+ error: error,
188
+ helperText: helperText,
189
+ label: label,
190
+ title: title !== null && title !== void 0 ? title : _specificReferentielsTitles.default[[searchKey]],
191
+ tableProps: tableProps,
192
+ getReturnedValue: getReturnedValue,
193
+ getRenderedValue: getRenderedValue,
194
+ onChange: onChange,
195
+ onPageChange: pageChangeHandler,
196
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Formik, {
197
+ initialValues: _specificReferentielsInitialValues.default[searchKey],
198
+ validationSchema: _specificReferentielsValidationSchemas.default[searchKey],
199
+ innerRef: formRef,
200
+ validateOnBlur: false,
201
+ onSubmit: submitHandler,
202
+ children: _ref3 => {
203
+ let {
204
+ resetForm,
205
+ submitForm
206
+ } = _ref3;
207
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiFormikForm.default, {
208
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PuiGrid.default, {
209
+ container: true,
210
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiGrid.default, {
211
+ item: true,
212
+ xs: 12,
213
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiGrid.default, {
214
+ container: true,
215
+ children: filtreredFilters.map(filtreredFilter => {
216
+ var _filtersProps$filtrer, _filtersProps$filtrer2, _filtersProps$filtrer3, _filtersProps$filtrer4;
217
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiGrid.default, {
218
+ item: true,
219
+ xs: Boolean(filtersProps) && Boolean((_filtersProps$filtrer = filtersProps[filtreredFilter.name]) === null || _filtersProps$filtrer === void 0 || (_filtersProps$filtrer = _filtersProps$filtrer.size) === null || _filtersProps$filtrer === void 0 ? void 0 : _filtersProps$filtrer.xs) ? filtersProps[filtreredFilter.name].size.xs : filtreredFilter.size.xs,
220
+ sm: Boolean(filtersProps) && Boolean((_filtersProps$filtrer2 = filtersProps[filtreredFilter.name]) === null || _filtersProps$filtrer2 === void 0 || (_filtersProps$filtrer2 = _filtersProps$filtrer2.size) === null || _filtersProps$filtrer2 === void 0 ? void 0 : _filtersProps$filtrer2.sm) ? filtersProps[filtreredFilter.name].size.sm : filtreredFilter.size.sm,
221
+ md: Boolean(filtersProps) && Boolean((_filtersProps$filtrer3 = filtersProps[filtreredFilter.name]) === null || _filtersProps$filtrer3 === void 0 || (_filtersProps$filtrer3 = _filtersProps$filtrer3.size) === null || _filtersProps$filtrer3 === void 0 ? void 0 : _filtersProps$filtrer3.md) ? filtersProps[filtreredFilter.name].size.md : filtreredFilter.size.md,
222
+ sx: {
223
+ order: Boolean(filtersProps) && Boolean((_filtersProps$filtrer4 = filtersProps[filtreredFilter.name]) === null || _filtersProps$filtrer4 === void 0 ? void 0 : _filtersProps$filtrer4.order) ? filtersProps[filtreredFilter.name].order : "initial"
224
+ },
225
+ children: Boolean(filtreredFilter.isSpecific) ? /*#__PURE__*/React.createElement(PuiSpecificReferentielField, Boolean(filtersProps) && Boolean(filtersProps[filtreredFilter.name]) ? _objectSpread(_objectSpread(_objectSpread({}, filtreredFilter.inputProps), {}, {
226
+ label: filtreredFilter.label
227
+ }, filtersProps[filtreredFilter.name]), {}, {
228
+ getReturnedValue: filtreredFilter.inputProps.getReturnedValue,
229
+ searchKey: filtreredFilter.inputProps.searchKey,
230
+ size: undefined,
231
+ order: undefined,
232
+ name: filtreredFilter.name
233
+ }) : _objectSpread(_objectSpread({}, filtreredFilter.inputProps), {}, {
234
+ label: filtreredFilter.label,
235
+ name: filtreredFilter.name
236
+ })) : /*#__PURE__*/React.cloneElement(filtreredFilter.input, Boolean(filtersProps) && Boolean(filtersProps[filtreredFilter.name]) ? _objectSpread(_objectSpread({
237
+ label: filtreredFilter.label
238
+ }, filtersProps[filtreredFilter.name]), {}, {
239
+ size: undefined,
240
+ order: undefined,
241
+ name: filtreredFilter.name
242
+ }) : {
243
+ name: filtreredFilter.name,
244
+ label: filtreredFilter.label
245
+ })
246
+ }, filtreredFilter.name);
247
+ })
248
+ })
249
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiGrid.default, {
250
+ item: true,
251
+ xs: 12,
252
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PuiGrid.default, {
253
+ container: true,
254
+ justifyContent: "end",
255
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiGrid.default, {
256
+ item: true,
257
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiButton.default, {
258
+ startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiIcon.default, {
259
+ type: "effacer",
260
+ size: "small"
261
+ }),
262
+ onClick: resetForm,
263
+ color: "tertiary",
264
+ children: "Effacer"
265
+ })
266
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiGrid.default, {
267
+ item: true,
268
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiButton.default, {
269
+ startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_PuiIcon.default, {
270
+ type: "rechercher",
271
+ size: "small"
272
+ }),
273
+ onClick: submitForm,
274
+ loading: dataFetchingState.isLoading,
275
+ loadingPosition: "start",
276
+ children: "Rechercher"
277
+ })
278
+ })]
279
+ })
280
+ })]
281
+ })
282
+ });
283
+ }
284
+ })
285
+ });
286
+ };
287
+ PuiSpecificReferentielField.propTypes = {
288
+ id: _propTypes.default.string,
289
+ className: _propTypes.default.string,
290
+ sx: _propTypes.default.object,
291
+ title: _propTypes.default.string,
292
+ label: _propTypes.default.string,
293
+ searchKey: _propTypes.default.string.isRequired,
294
+ specifications: _propTypes.default.object,
295
+ filters: _propTypes.default.arrayOf(_propTypes.default.string),
296
+ filtersProps: _propTypes.default.object,
297
+ columns: _propTypes.default.array,
298
+ name: _propTypes.default.string,
299
+ helperText: _propTypes.default.string,
300
+ formik: _propTypes.default.bool,
301
+ disabled: _propTypes.default.bool,
302
+ required: _propTypes.default.bool,
303
+ error: _propTypes.default.bool,
304
+ focused: _propTypes.default.bool,
305
+ fullWidth: _propTypes.default.bool,
306
+ tableProps: _propTypes.default.object,
307
+ getRenderedValue: _propTypes.default.func.isRequired,
308
+ getReturnedValue: _propTypes.default.func,
309
+ onChange: _propTypes.default.func,
310
+ onError: _propTypes.default.func,
311
+ dataFetchingState: _propTypes.default.shape({
312
+ data: _propTypes.default.array.isRequired,
313
+ totalElements: _propTypes.default.number.isRequired,
314
+ isLoading: _propTypes.default.bool.isRequired
315
+ })
316
+ };
317
+ PuiSpecificReferentielField.defaultProps = {
318
+ disabled: false,
319
+ required: false,
320
+ error: false,
321
+ formik: true,
322
+ fullWidth: true,
323
+ specifications: {},
324
+ columns: [],
325
+ data: null,
326
+ tableProps: {},
327
+ getReturnedValue: row => row,
328
+ onError: () => {},
329
+ onChange: () => {}
330
+ };
331
+ var _default = exports.default = PuiSpecificReferentielField;
@@ -104,8 +104,7 @@ const PuiSpecificReferentielField = _ref2 => {
104
104
  getReturnedValue,
105
105
  getRenderedValue,
106
106
  onChange,
107
- onError,
108
- fetchDataFunction
107
+ onError
109
108
  } = _ref2;
110
109
  const {
111
110
  token,
@@ -123,7 +122,7 @@ const PuiSpecificReferentielField = _ref2 => {
123
122
  payload: pageNumber
124
123
  });
125
124
  };
126
- const defaultSubmitHandler = async values => {
125
+ const submitHandler = async values => {
127
126
  try {
128
127
  dataFetchingDispatch({
129
128
  type: "GET_DATA"
@@ -153,38 +152,6 @@ const PuiSpecificReferentielField = _ref2 => {
153
152
  onError(error);
154
153
  }
155
154
  };
156
- const submitHandler = async (values, formikBag) => {
157
- // Check if dataFetchingDispatch is not null and a custom submit handler function is provided
158
- if (dataFetchingDispatch && fetchDataFunction) {
159
- try {
160
- dataFetchingDispatch({
161
- type: "GET_DATA"
162
- });
163
- const data = await fetchDataFunction(searchKey, specifications, dataFetchingState.pageNumber, dataFetchingState.pageSize, values);
164
- if (data.success) {
165
- dataFetchingDispatch({
166
- type: "SUCCESSED",
167
- payload: {
168
- data: data.results,
169
- totalElements: data.totalElements
170
- }
171
- });
172
- } else {
173
- throw new Error(data.message);
174
- }
175
- } catch (error) {
176
- dataFetchingDispatch({
177
- type: "FAILED",
178
- payload: error.message
179
- });
180
- if (onError) {
181
- onError(error);
182
- }
183
- }
184
- } else {
185
- return defaultSubmitHandler(values, formikBag);
186
- }
187
- };
188
155
  React.useEffect(() => {
189
156
  if (isMounted) {
190
157
  var _formRef$current;
@@ -340,8 +307,7 @@ PuiSpecificReferentielField.propTypes = {
340
307
  getRenderedValue: _propTypes.default.func.isRequired,
341
308
  getReturnedValue: _propTypes.default.func,
342
309
  onChange: _propTypes.default.func,
343
- onError: _propTypes.default.func,
344
- fetchDataFunction: _propTypes.default.func
310
+ onError: _propTypes.default.func
345
311
  };
346
312
  PuiSpecificReferentielField.defaultProps = {
347
313
  disabled: false,
@@ -354,7 +320,6 @@ PuiSpecificReferentielField.defaultProps = {
354
320
  tableProps: {},
355
321
  getReturnedValue: row => row,
356
322
  onError: () => {},
357
- onChange: () => {},
358
- fetchDataFunction: null
323
+ onChange: () => {}
359
324
  };
360
325
  var _default = exports.default = PuiSpecificReferentielField;
@@ -124,13 +124,13 @@ const StyledMuiTable = (0, _styles.styled)( /*#__PURE__*/React.forwardRef((props
124
124
  "& .MuiDataGrid-row": {
125
125
  maxHeight: "none !important",
126
126
  "&:nth-of-type(odd)": {
127
- backgroundColor: "#f9f9f9" // color for odd rows
127
+ backgroundColor: "#ffffff" // color for odd rows
128
128
  },
129
129
  "&:nth-of-type(even)": {
130
- backgroundColor: "#c3e7f3" // color for even rows
130
+ backgroundColor: "#F6F9FF" // color for even rows
131
131
  },
132
132
  "&:hover": {
133
- backgroundColor: "#378bb8"
133
+ backgroundColor: "#95C7FC"
134
134
  }
135
135
  },
136
136
  "& .MuiDataGrid-virtualScrollerContent": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@portnet/ui",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "description": "Portnet UI",
5
5
  "keywords": [
6
6
  "react",