@portnet/ui 0.1.16 → 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
- dataFilterFunction
107
+ onError
109
108
  } = _ref2;
110
109
  const {
111
110
  token,
@@ -117,7 +116,6 @@ const PuiSpecificReferentielField = _ref2 => {
117
116
  const [filtreredFilters, setFiltreredFilters] = React.useState([..._specificReferentielsBaseFilters.default[searchKey]]);
118
117
  const formRef = React.useRef();
119
118
  const [isMounted, setIsMounted] = React.useState(false);
120
- const [filteredData, setFilteredData] = React.useState([]);
121
119
  const pageChangeHandler = pageNumber => {
122
120
  dataFetchingDispatch({
123
121
  type: "SET_PAGE",
@@ -154,14 +152,6 @@ const PuiSpecificReferentielField = _ref2 => {
154
152
  onError(error);
155
153
  }
156
154
  };
157
- React.useEffect(() => {
158
- if (dataFilterFunction) {
159
- const newFilteredData = dataFilterFunction(dataFetchingState.data);
160
- setFilteredData(newFilteredData);
161
- } else {
162
- setFilteredData(dataFetchingState.data);
163
- }
164
- }, [dataFetchingState.data, dataFilterFunction]);
165
155
  React.useEffect(() => {
166
156
  if (isMounted) {
167
157
  var _formRef$current;
@@ -184,7 +174,7 @@ const PuiSpecificReferentielField = _ref2 => {
184
174
  formik: formik,
185
175
  loading: dataFetchingState.isLoading,
186
176
  rowCount: dataFetchingState.totalElements,
187
- rows: filteredData,
177
+ rows: dataFetchingState.data,
188
178
  page: dataFetchingState.pageNumber,
189
179
  pageSize: dataFetchingState.pageSize,
190
180
  columns: Array.isArray(columns) && Boolean(columns.length) ? columns : _specificReferentielsBaseColumns.default[searchKey],
@@ -317,8 +307,7 @@ PuiSpecificReferentielField.propTypes = {
317
307
  getRenderedValue: _propTypes.default.func.isRequired,
318
308
  getReturnedValue: _propTypes.default.func,
319
309
  onChange: _propTypes.default.func,
320
- onError: _propTypes.default.func,
321
- dataFilterFunction: _propTypes.default.func
310
+ onError: _propTypes.default.func
322
311
  };
323
312
  PuiSpecificReferentielField.defaultProps = {
324
313
  disabled: false,
@@ -331,7 +320,6 @@ PuiSpecificReferentielField.defaultProps = {
331
320
  tableProps: {},
332
321
  getReturnedValue: row => row,
333
322
  onError: () => {},
334
- onChange: () => {},
335
- dataFilterFunction: null
323
+ onChange: () => {}
336
324
  };
337
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.16",
3
+ "version": "0.1.17",
4
4
  "description": "Portnet UI",
5
5
  "keywords": [
6
6
  "react",