mirror of
				https://gitlab.nic.cz/turris/reforis/foris-js.git
				synced 2025-11-03 23:00:31 +01:00 
			
		
		
		
	Merge branch 'dev' into 'master'
Release 4.1.0 See merge request turris/reforis/foris-js!93
This commit is contained in:
		
							
								
								
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "foris",
 | 
			
		||||
  "version": "4.0.0",
 | 
			
		||||
  "version": "4.1.0",
 | 
			
		||||
  "lockfileVersion": 1,
 | 
			
		||||
  "requires": true,
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "foris",
 | 
			
		||||
  "version": "4.0.0",
 | 
			
		||||
  "version": "4.1.0",
 | 
			
		||||
  "description": "Set of components and utils for Foris and its plugins.",
 | 
			
		||||
  "author": "CZ.NIC, z.s.p.o.",
 | 
			
		||||
  "repository": {
 | 
			
		||||
 
 | 
			
		||||
@@ -64,6 +64,7 @@ export {
 | 
			
		||||
} from "./utils/conditionalHOCs";
 | 
			
		||||
export { ErrorMessage } from "./utils/ErrorMessage";
 | 
			
		||||
export { useClickOutside } from "./utils/hooks";
 | 
			
		||||
export { toLocaleDateString } from "./utils/datetime";
 | 
			
		||||
 | 
			
		||||
// Foris URL
 | 
			
		||||
export { ForisURLs, REFORIS_URL_PREFIX } from "./forisUrls";
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,7 @@ global.afterEach(() => {
 | 
			
		||||
global._ = (str) => str;
 | 
			
		||||
global.ngettext = (str) => str;
 | 
			
		||||
global.babel = { format: (str) => str };
 | 
			
		||||
global.ForisTranslations = {};
 | 
			
		||||
global.ForisTranslations = { locale: "en" };
 | 
			
		||||
 | 
			
		||||
// Mock web sockets
 | 
			
		||||
window.WebSocket = jest.fn();
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										51
									
								
								src/utils/__tests__/datetime.test.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								src/utils/__tests__/datetime.test.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
 | 
			
		||||
 *
 | 
			
		||||
 * This is free software, licensed under the GNU General Public License v3.
 | 
			
		||||
 * See /LICENSE for more information.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
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");
 | 
			
		||||
        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");
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    it("should convert with custom input format", () => {
 | 
			
		||||
        expect(
 | 
			
		||||
            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" },
 | 
			
		||||
            )
 | 
			
		||||
        ).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" },
 | 
			
		||||
            )
 | 
			
		||||
        ).toBe("February 20, 2020");
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										8
									
								
								src/utils/datetime.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								src/utils/datetime.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
import moment from "moment";
 | 
			
		||||
 | 
			
		||||
export function toLocaleDateString(date, { inputFormat, outputFormat = "LLL" } = {}) {
 | 
			
		||||
    const parsedDate = inputFormat ? moment(date, inputFormat) : moment(date);
 | 
			
		||||
    return parsedDate
 | 
			
		||||
        .locale(ForisTranslations.locale)
 | 
			
		||||
        .format(outputFormat);
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user