@portnet/ui 3.0.4 → 3.0.5

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.
@@ -14,6 +14,7 @@ var _formik = require("formik");
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
  var React = _interopRequireWildcard(require("react"));
16
16
  var _useAxios = _interopRequireDefault(require("../../../hooks/useAxios"));
17
+ var _useCustomAxios = _interopRequireDefault(require("../../../hooks/useCustomAxios"));
17
18
  var _PuiButton = _interopRequireDefault(require("../../buttons/PuiButton"));
18
19
  var _PuiFormikForm = _interopRequireDefault(require("../../others/PuiFormikForm"));
19
20
  var _PuiGrid = _interopRequireDefault(require("../../others/PuiGrid"));
@@ -105,7 +106,8 @@ const PuiSpecificReferentielField = _ref2 => {
105
106
  getRenderedValue,
106
107
  onChange,
107
108
  onError,
108
- searchApi
109
+ searchApi,
110
+ customUrl
109
111
  } = _ref2;
110
112
  const {
111
113
  token,
@@ -113,6 +115,7 @@ const PuiSpecificReferentielField = _ref2 => {
113
115
  baseURL
114
116
  } = React.useContext(_ReferetielContext.default);
115
117
  const axios = (0, _useAxios.default)(token, secret, baseURL);
118
+ const customAxios = (0, _useCustomAxios.default)(token, secret, customUrl);
116
119
  const [dataFetchingState, dataFetchingDispatch] = React.useReducer(dataFetchingReducer, dataFetchingInitalState);
117
120
  const [filtreredFilters, setFiltreredFilters] = React.useState([..._specificReferentielsBaseFilters.default[searchKey]]);
118
121
  const formRef = React.useRef();
@@ -128,15 +131,24 @@ const PuiSpecificReferentielField = _ref2 => {
128
131
  dataFetchingDispatch({
129
132
  type: "GET_DATA"
130
133
  });
131
-
132
- // Déterminer l'endpoint API à utiliser
133
- const apiEndpoint = searchApi || _specificReferentielsApis.default[searchKey];
134
+ let response;
135
+ if (customUrl) {
136
+ // Si customUrl est fourni, utiliser useCustomAxios
137
+ response = await customAxios.post("/getPage", _objectSpread(_objectSpread({}, specifications), {}, {
138
+ pageNumber: dataFetchingState.pageNumber,
139
+ pageSize: dataFetchingState.pageSize
140
+ }, values));
141
+ } else {
142
+ // Sinon, utiliser useAxios avec l'URL relative
143
+ const apiEndpoint = searchApi || _specificReferentielsApis.default[searchKey];
144
+ response = await axios.post("/api/".concat(apiEndpoint, "/getPage"), _objectSpread(_objectSpread({}, specifications), {}, {
145
+ pageNumber: dataFetchingState.pageNumber,
146
+ pageSize: dataFetchingState.pageSize
147
+ }, values));
148
+ }
134
149
  const {
135
150
  data
136
- } = await axios.post("/api/".concat(apiEndpoint, "/getPage"), _objectSpread(_objectSpread({}, specifications), {}, {
137
- pageNumber: dataFetchingState.pageNumber,
138
- pageSize: dataFetchingState.pageSize
139
- }, values));
151
+ } = response;
140
152
  if (data.succes) {
141
153
  dataFetchingDispatch({
142
154
  type: "SUCCESSED",
@@ -312,7 +324,8 @@ PuiSpecificReferentielField.propTypes = {
312
324
  getReturnedValue: _propTypes.default.func,
313
325
  onChange: _propTypes.default.func,
314
326
  onError: _propTypes.default.func,
315
- searchApi: _propTypes.default.string
327
+ searchApi: _propTypes.default.string,
328
+ customUrl: _propTypes.default.string // URL de base personnalisée (ex: "https://api.example.com/preneur")
316
329
  };
317
330
  PuiSpecificReferentielField.defaultProps = {
318
331
  disabled: false,
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ require("core-js/modules/es.promise.js");
8
+ var _react = require("react");
9
+ var _axios = _interopRequireDefault(require("axios"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ const useCustomAxios = (token, secret, customUrl) => {
12
+ const axiosInstance = (0, _react.useMemo)(() => {
13
+ const instance = _axios.default.create({
14
+ baseURL: customUrl || "",
15
+ headers: {
16
+ "Content-Type": "application/json"
17
+ }
18
+ });
19
+
20
+ // Intercepteur pour ajouter l'authentification
21
+ instance.interceptors.request.use(config => {
22
+ if (token) {
23
+ config.headers.Authorization = secret ? token : "Bearer ".concat(token);
24
+ }
25
+ if (secret) {
26
+ config.headers["X-Secret"] = secret;
27
+ }
28
+ return config;
29
+ }, error => {
30
+ return Promise.reject(error);
31
+ });
32
+ return instance;
33
+ }, [token, secret, customUrl]);
34
+ return axiosInstance;
35
+ };
36
+ var _default = exports.default = useCustomAxios;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@portnet/ui",
3
- "version": "3.0.4",
3
+ "version": "3.0.5",
4
4
  "description": "Portnet UI",
5
5
  "keywords": [
6
6
  "react",