From e54db2c57783ea6cc45f34029a5a50612619d09c Mon Sep 17 00:00:00 2001 From: Maciej Lenartowicz Date: Mon, 18 Nov 2019 12:51:43 +0000 Subject: [PATCH] Use global AlertContext --- package-lock.json | 2 ++ package.json | 11 ++++++----- src/alertContext/AlertContext.js | 6 +++--- src/index.js | 2 +- src/testUtils/alertContextMock.js | 4 ++-- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3669a8d..eaf38e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6269,6 +6269,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/immutability-helper/-/immutability-helper-3.0.1.tgz", "integrity": "sha512-U92ROQQt7XkIwrdqCByUI118TQM1hXdKnRQpvKeA0HRyGSnJipu9IWHe4UD8zCN00O8UnQjQzPCgZ1CC3yBzHA==", + "dev": true, "requires": { "invariant": "^2.2.4" } @@ -6402,6 +6403,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, "requires": { "loose-envify": "^1.0.0" } diff --git a/package.json b/package.json index 0f1b608..61158a0 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,6 @@ "main": "index.js", "dependencies": { "axios": "^0.19.0", - "immutability-helper": "^3.0.0", "jest-transform-css": "^2.0.0", "moment": "^2.24.0", "moment-timezone": "^0.5.25", @@ -25,8 +24,9 @@ "react-uid": "^2.2.0" }, "peerDependencies": { - "react": "^16.9.0", - "react-dom": "^16.9.0" + "immutability-helper": "3.0.1", + "react": "16.9.0", + "react-dom": "16.9.0" }, "devDependencies": { "@babel/cli": "^7.4.4", @@ -49,12 +49,13 @@ "eslint": "^6.1.0", "eslint-config-reforis": "^1.0.0", "file-loader": "^4.2.0", + "immutability-helper": "3.0.1", "jest": "^24.8.0", "jest-mock-axios": "^3.0.0", "moment": "^2.24.0", "moment-timezone": "^0.5.25", - "react": "^16.9.0", - "react-dom": "^16.9.0", + "react": "16.9.0", + "react-dom": "16.9.0", "react-styleguidist": "^9.1.16", "snapshot-diff": "^0.5.1", "style-loader": "^1.0.0", diff --git a/src/alertContext/AlertContext.js b/src/alertContext/AlertContext.js index c262dba..196969a 100644 --- a/src/alertContext/AlertContext.js +++ b/src/alertContext/AlertContext.js @@ -11,8 +11,6 @@ import PropTypes from "prop-types"; import { Alert, ALERT_TYPES } from "bootstrap/Alert"; import { Portal } from "utils/Portal"; -const AlertContext = React.createContext(); - AlertContextProvider.propTypes = { children: PropTypes.oneOfType([ PropTypes.arrayOf(PropTypes.node), @@ -21,6 +19,7 @@ AlertContextProvider.propTypes = { }; function AlertContextProvider({ children }) { + const { AlertContext } = window; const [alert, setAlert] = useState(null); const setAlertWrapper = useCallback((message, type = ALERT_TYPES.DANGER) => { @@ -46,7 +45,8 @@ function AlertContextProvider({ children }) { } function useAlert() { + const { AlertContext } = window; return useContext(AlertContext); } -export { AlertContext, AlertContextProvider, useAlert }; +export { AlertContextProvider, useAlert }; diff --git a/src/index.js b/src/index.js index 9a51089..be99b3b 100644 --- a/src/index.js +++ b/src/index.js @@ -75,4 +75,4 @@ export { } from "validations"; // Alert context -export { AlertContext, AlertContextProvider, useAlert } from "alertContext/AlertContext"; +export { AlertContextProvider, useAlert } from "alertContext/AlertContext"; diff --git a/src/testUtils/alertContextMock.js b/src/testUtils/alertContextMock.js index 22347e3..d93338b 100644 --- a/src/testUtils/alertContextMock.js +++ b/src/testUtils/alertContextMock.js @@ -7,11 +7,11 @@ import React from "react"; -import { AlertContext } from "../alertContext/AlertContext"; - const mockSetAlert = jest.fn(); const mockDismissAlert = jest.fn(); +window.AlertContext = React.createContext(); + function AlertContextMock({ children }) { return (