1
0
mirror of https://gitlab.nic.cz/turris/reforis/foris-js.git synced 2024-12-25 00:11:36 +01:00

Merge branch 'global-alert-context' into 'dev'

Use global AlertContext

See merge request turris/reforis/foris-js!42
This commit is contained in:
Maciej Lenartowicz 2019-11-18 12:51:43 +00:00
commit fbaa73e378
5 changed files with 14 additions and 11 deletions

2
package-lock.json generated
View File

@ -6269,6 +6269,7 @@
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/immutability-helper/-/immutability-helper-3.0.1.tgz", "resolved": "https://registry.npmjs.org/immutability-helper/-/immutability-helper-3.0.1.tgz",
"integrity": "sha512-U92ROQQt7XkIwrdqCByUI118TQM1hXdKnRQpvKeA0HRyGSnJipu9IWHe4UD8zCN00O8UnQjQzPCgZ1CC3yBzHA==", "integrity": "sha512-U92ROQQt7XkIwrdqCByUI118TQM1hXdKnRQpvKeA0HRyGSnJipu9IWHe4UD8zCN00O8UnQjQzPCgZ1CC3yBzHA==",
"dev": true,
"requires": { "requires": {
"invariant": "^2.2.4" "invariant": "^2.2.4"
} }
@ -6402,6 +6403,7 @@
"version": "2.2.4", "version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
"integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
"dev": true,
"requires": { "requires": {
"loose-envify": "^1.0.0" "loose-envify": "^1.0.0"
} }

View File

@ -15,7 +15,6 @@
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"axios": "^0.19.0", "axios": "^0.19.0",
"immutability-helper": "^3.0.0",
"jest-transform-css": "^2.0.0", "jest-transform-css": "^2.0.0",
"moment": "^2.24.0", "moment": "^2.24.0",
"moment-timezone": "^0.5.25", "moment-timezone": "^0.5.25",
@ -25,8 +24,9 @@
"react-uid": "^2.2.0" "react-uid": "^2.2.0"
}, },
"peerDependencies": { "peerDependencies": {
"react": "^16.9.0", "immutability-helper": "3.0.1",
"react-dom": "^16.9.0" "react": "16.9.0",
"react-dom": "16.9.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.4.4", "@babel/cli": "^7.4.4",
@ -49,12 +49,13 @@
"eslint": "^6.1.0", "eslint": "^6.1.0",
"eslint-config-reforis": "^1.0.0", "eslint-config-reforis": "^1.0.0",
"file-loader": "^4.2.0", "file-loader": "^4.2.0",
"immutability-helper": "3.0.1",
"jest": "^24.8.0", "jest": "^24.8.0",
"jest-mock-axios": "^3.0.0", "jest-mock-axios": "^3.0.0",
"moment": "^2.24.0", "moment": "^2.24.0",
"moment-timezone": "^0.5.25", "moment-timezone": "^0.5.25",
"react": "^16.9.0", "react": "16.9.0",
"react-dom": "^16.9.0", "react-dom": "16.9.0",
"react-styleguidist": "^9.1.16", "react-styleguidist": "^9.1.16",
"snapshot-diff": "^0.5.1", "snapshot-diff": "^0.5.1",
"style-loader": "^1.0.0", "style-loader": "^1.0.0",

View File

@ -11,8 +11,6 @@ import PropTypes from "prop-types";
import { Alert, ALERT_TYPES } from "bootstrap/Alert"; import { Alert, ALERT_TYPES } from "bootstrap/Alert";
import { Portal } from "utils/Portal"; import { Portal } from "utils/Portal";
const AlertContext = React.createContext();
AlertContextProvider.propTypes = { AlertContextProvider.propTypes = {
children: PropTypes.oneOfType([ children: PropTypes.oneOfType([
PropTypes.arrayOf(PropTypes.node), PropTypes.arrayOf(PropTypes.node),
@ -21,6 +19,7 @@ AlertContextProvider.propTypes = {
}; };
function AlertContextProvider({ children }) { function AlertContextProvider({ children }) {
const { AlertContext } = window;
const [alert, setAlert] = useState(null); const [alert, setAlert] = useState(null);
const setAlertWrapper = useCallback((message, type = ALERT_TYPES.DANGER) => { const setAlertWrapper = useCallback((message, type = ALERT_TYPES.DANGER) => {
@ -46,7 +45,8 @@ function AlertContextProvider({ children }) {
} }
function useAlert() { function useAlert() {
const { AlertContext } = window;
return useContext(AlertContext); return useContext(AlertContext);
} }
export { AlertContext, AlertContextProvider, useAlert }; export { AlertContextProvider, useAlert };

View File

@ -75,4 +75,4 @@ export {
} from "validations"; } from "validations";
// Alert context // Alert context
export { AlertContext, AlertContextProvider, useAlert } from "alertContext/AlertContext"; export { AlertContextProvider, useAlert } from "alertContext/AlertContext";

View File

@ -7,11 +7,11 @@
import React from "react"; import React from "react";
import { AlertContext } from "../alertContext/AlertContext";
const mockSetAlert = jest.fn(); const mockSetAlert = jest.fn();
const mockDismissAlert = jest.fn(); const mockDismissAlert = jest.fn();
window.AlertContext = React.createContext();
function AlertContextMock({ children }) { function AlertContextMock({ children }) {
return ( return (
<AlertContext.Provider value={[mockSetAlert, mockDismissAlert]}> <AlertContext.Provider value={[mockSetAlert, mockDismissAlert]}>