mirror of
https://gitlab.nic.cz/turris/reforis/foris-js.git
synced 2025-06-16 13:46:16 +02:00
Format all files with Prettier
This commit is contained in:
@ -17,7 +17,5 @@ ErrorMessage.defaultProps = {
|
||||
};
|
||||
|
||||
export function ErrorMessage({ message }) {
|
||||
return (
|
||||
<p className="text-center text-danger">{message}</p>
|
||||
);
|
||||
return <p className="text-center text-danger">{message}</p>;
|
||||
}
|
||||
|
@ -9,7 +9,12 @@ import React from "react";
|
||||
import { render } from "customTestRender";
|
||||
import { API_STATE } from "api/utils";
|
||||
import {
|
||||
withEither, withSpinner, withSending, withSpinnerOnSending, withError, withErrorMessage,
|
||||
withEither,
|
||||
withSpinner,
|
||||
withSending,
|
||||
withSpinnerOnSending,
|
||||
withError,
|
||||
withErrorMessage,
|
||||
} from "../conditionalHOCs";
|
||||
|
||||
describe("conditional HOCs", () => {
|
||||
@ -52,14 +57,18 @@ describe("conditional HOCs", () => {
|
||||
it("should render First component", () => {
|
||||
const withAlternative = withSending(Alternative);
|
||||
const FirstWithConditional = withAlternative(First);
|
||||
const { getByText } = render(<FirstWithConditional apiState={API_STATE.SUCCESS} />);
|
||||
const { getByText } = render(
|
||||
<FirstWithConditional apiState={API_STATE.SUCCESS} />
|
||||
);
|
||||
expect(getByText("First")).toBeDefined();
|
||||
});
|
||||
|
||||
it("should render Alternative component", () => {
|
||||
const withAlternative = withSending(Alternative);
|
||||
const FirstWithConditional = withAlternative(First);
|
||||
const { getByText } = render(<FirstWithConditional apiState={API_STATE.SENDING} />);
|
||||
const { getByText } = render(
|
||||
<FirstWithConditional apiState={API_STATE.SENDING} />
|
||||
);
|
||||
expect(getByText("Alternative")).toBeDefined();
|
||||
});
|
||||
});
|
||||
@ -67,13 +76,17 @@ describe("conditional HOCs", () => {
|
||||
describe("withSpinnerOnSending", () => {
|
||||
it("should render First component", () => {
|
||||
const FirstWithConditional = withSpinnerOnSending(First);
|
||||
const { getByText } = render(<FirstWithConditional apiState={API_STATE.SUCCESS} />);
|
||||
const { getByText } = render(
|
||||
<FirstWithConditional apiState={API_STATE.SUCCESS} />
|
||||
);
|
||||
expect(getByText("First")).toBeDefined();
|
||||
});
|
||||
|
||||
it("should render spinner", () => {
|
||||
const FirstWithConditional = withSpinnerOnSending(First);
|
||||
const { container } = render(<FirstWithConditional apiState={API_STATE.SENDING} />);
|
||||
const { container } = render(
|
||||
<FirstWithConditional apiState={API_STATE.SENDING} />
|
||||
);
|
||||
expect(container).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
@ -97,13 +110,17 @@ describe("conditional HOCs", () => {
|
||||
describe("withErrorMessage", () => {
|
||||
it("should render First component", () => {
|
||||
const FirstWithConditional = withErrorMessage(First);
|
||||
const { getByText } = render(<FirstWithConditional apiState={API_STATE.SUCCESS} />);
|
||||
const { getByText } = render(
|
||||
<FirstWithConditional apiState={API_STATE.SUCCESS} />
|
||||
);
|
||||
expect(getByText("First")).toBeDefined();
|
||||
});
|
||||
|
||||
it("should render error message", () => {
|
||||
const FirstWithConditional = withErrorMessage(First);
|
||||
const { container } = render(<FirstWithConditional apiState={API_STATE.ERROR} />);
|
||||
const { container } = render(
|
||||
<FirstWithConditional apiState={API_STATE.ERROR} />
|
||||
);
|
||||
expect(container).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
|
@ -10,42 +10,40 @@ import { toLocaleDateString } from "../datetime";
|
||||
describe("toLocaleDateString", () => {
|
||||
it("should work with different locale", () => {
|
||||
global.ForisTranslations = { locale: "fr" };
|
||||
expect(
|
||||
toLocaleDateString("2020-02-20T12:51:36+00:00")
|
||||
).toBe("20 février 2020 12:51");
|
||||
expect(toLocaleDateString("2020-02-20T12:51:36+00:00")).toBe(
|
||||
"20 février 2020 12:51"
|
||||
);
|
||||
global.ForisTranslations = { locale: "en" };
|
||||
})
|
||||
});
|
||||
|
||||
it("should convert with default format", () => {
|
||||
expect(
|
||||
toLocaleDateString("2020-02-20T12:51:36+00:00")
|
||||
).toBe("February 20, 2020 12:51 PM");
|
||||
expect(toLocaleDateString("2020-02-20T12:51:36+00:00")).toBe(
|
||||
"February 20, 2020 12:51 PM"
|
||||
);
|
||||
});
|
||||
|
||||
it("should convert with custom input format", () => {
|
||||
expect(
|
||||
toLocaleDateString(
|
||||
"2020-02-20 12:51:36 +0000",
|
||||
{ inputFormat: "YYYY-MM-DD HH:mm:ss Z" },
|
||||
)
|
||||
toLocaleDateString("2020-02-20 12:51:36 +0000", {
|
||||
inputFormat: "YYYY-MM-DD HH:mm:ss Z",
|
||||
})
|
||||
).toBe("February 20, 2020 12:51 PM");
|
||||
});
|
||||
|
||||
it("should convert with custom output format", () => {
|
||||
expect(
|
||||
toLocaleDateString(
|
||||
"2020-02-20T12:51:36+00:00",
|
||||
{ outputFormat: "LL" },
|
||||
)
|
||||
toLocaleDateString("2020-02-20T12:51:36+00:00", {
|
||||
outputFormat: "LL",
|
||||
})
|
||||
).toBe("February 20, 2020");
|
||||
});
|
||||
|
||||
it("should convert with custom input and output format", () => {
|
||||
expect(
|
||||
toLocaleDateString(
|
||||
"2020-02-20 12:51:36 +0000",
|
||||
{ inputFormat: "YYYY-MM-DD HH:mm:ss Z", outputFormat: "LL" },
|
||||
)
|
||||
toLocaleDateString("2020-02-20 12:51:36 +0000", {
|
||||
inputFormat: "YYYY-MM-DD HH:mm:ss Z",
|
||||
outputFormat: "LL",
|
||||
})
|
||||
).toBe("February 20, 2020");
|
||||
});
|
||||
});
|
||||
|
@ -24,8 +24,8 @@ function withEither(conditionalFn, Either) {
|
||||
|
||||
function isSending(props) {
|
||||
if (Array.isArray(props.apiState)) {
|
||||
return props.apiState.some(
|
||||
(state) => [API_STATE.INIT, API_STATE.SENDING].includes(state),
|
||||
return props.apiState.some((state) =>
|
||||
[API_STATE.INIT, API_STATE.SENDING].includes(state)
|
||||
);
|
||||
}
|
||||
return [API_STATE.INIT, API_STATE.SENDING].includes(props.apiState);
|
||||
@ -38,15 +38,18 @@ const withSpinnerOnSending = withSpinner(isSending);
|
||||
// Error handling
|
||||
|
||||
const withError = (conditionalFn) => withEither(conditionalFn, ErrorMessage);
|
||||
const withErrorMessage = withError(
|
||||
(props) => {
|
||||
if (Array.isArray(props.apiState)) {
|
||||
return props.apiState.includes(API_STATE.ERROR);
|
||||
}
|
||||
return props.apiState === API_STATE.ERROR;
|
||||
},
|
||||
);
|
||||
const withErrorMessage = withError((props) => {
|
||||
if (Array.isArray(props.apiState)) {
|
||||
return props.apiState.includes(API_STATE.ERROR);
|
||||
}
|
||||
return props.apiState === API_STATE.ERROR;
|
||||
});
|
||||
|
||||
export {
|
||||
withEither, withSpinner, withSending, withSpinnerOnSending, withError, withErrorMessage,
|
||||
withEither,
|
||||
withSpinner,
|
||||
withSending,
|
||||
withSpinnerOnSending,
|
||||
withError,
|
||||
withErrorMessage,
|
||||
};
|
||||
|
@ -1,8 +1,9 @@
|
||||
import moment from "moment";
|
||||
|
||||
export function toLocaleDateString(date, { inputFormat, outputFormat = "LLL" } = {}) {
|
||||
export function toLocaleDateString(
|
||||
date,
|
||||
{ inputFormat, outputFormat = "LLL" } = {}
|
||||
) {
|
||||
const parsedDate = inputFormat ? moment(date, inputFormat) : moment(date);
|
||||
return parsedDate
|
||||
.locale(ForisTranslations.locale)
|
||||
.format(outputFormat);
|
||||
return parsedDate.locale(ForisTranslations.locale).format(outputFormat);
|
||||
}
|
||||
|
@ -8,11 +8,17 @@
|
||||
import { useState, useEffect } from "react";
|
||||
|
||||
/** Execute callback when condition is set to true. */
|
||||
export function useConditionalTimeout({ callback, timeout = 125 }, ...callbackArgs) {
|
||||
export function useConditionalTimeout(
|
||||
{ callback, timeout = 125 },
|
||||
...callbackArgs
|
||||
) {
|
||||
const [condition, setCondition] = useState(false);
|
||||
useEffect(() => {
|
||||
if (condition) {
|
||||
const interval = setTimeout(() => callback(...callbackArgs), timeout);
|
||||
const interval = setTimeout(
|
||||
() => callback(...callbackArgs),
|
||||
timeout
|
||||
);
|
||||
return () => setTimeout(interval);
|
||||
}
|
||||
}, [condition, callback, timeout, callbackArgs]);
|
||||
|
@ -15,21 +15,18 @@ export function undefinedIfEmpty(instance) {
|
||||
|
||||
/** Return object without keys that have undefined value. */
|
||||
export function withoutUndefinedKeys(instance) {
|
||||
return Object.keys(instance).reduce(
|
||||
(accumulator, key) => {
|
||||
if (instance[key] !== undefined) {
|
||||
accumulator[key] = instance[key];
|
||||
}
|
||||
return accumulator;
|
||||
},
|
||||
{},
|
||||
);
|
||||
return Object.keys(instance).reduce((accumulator, key) => {
|
||||
if (instance[key] !== undefined) {
|
||||
accumulator[key] = instance[key];
|
||||
}
|
||||
return accumulator;
|
||||
}, {});
|
||||
}
|
||||
|
||||
/** Return copy of passed object that has only desired keys. */
|
||||
export function onlySpecifiedKeys(object, desiredKeys) {
|
||||
return desiredKeys.reduce(
|
||||
(accumulator, key) => { accumulator[key] = object[key]; return accumulator; },
|
||||
{},
|
||||
);
|
||||
return desiredKeys.reduce((accumulator, key) => {
|
||||
accumulator[key] = object[key];
|
||||
return accumulator;
|
||||
}, {});
|
||||
}
|
||||
|
@ -30,7 +30,10 @@ const REs = {
|
||||
};
|
||||
|
||||
const createValidator = (fieldType) => (value) => {
|
||||
if (value && value !== "") return REs[fieldType].test(value) ? undefined : ERROR_MESSAGES[fieldType];
|
||||
if (value && value !== "")
|
||||
return REs[fieldType].test(value)
|
||||
? undefined
|
||||
: ERROR_MESSAGES[fieldType];
|
||||
};
|
||||
|
||||
const validateIPv4Address = createValidator("IPv4");
|
||||
|
Reference in New Issue
Block a user