mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-15 09:46:16 +01:00
Merged in feature/fix_sonar_and_lifecycle (pull request #345)
Feature/fix sonar and lifecycle
This commit is contained in:
16
pom.xml
16
pom.xml
@@ -398,6 +398,14 @@
|
||||
<version>1.1.1</version>
|
||||
</dependency>
|
||||
|
||||
<!-- utils -->
|
||||
|
||||
<dependency>
|
||||
<groupId>commons-codec</groupId>
|
||||
<artifactId>commons-codec</artifactId>
|
||||
<version>1.13</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
@@ -826,7 +834,7 @@
|
||||
<resteasy.version>3.6.2.Final</resteasy.version>
|
||||
<jersey-client.version>1.19.4</jersey-client.version>
|
||||
<enunciate.version>2.11.1</enunciate.version>
|
||||
<jackson.version>2.9.8</jackson.version>
|
||||
<jackson.version>2.10.0</jackson.version>
|
||||
<guice.version>4.0</guice.version>
|
||||
<jaxb.version>2.3.0</jaxb.version>
|
||||
|
||||
@@ -834,12 +842,12 @@
|
||||
<legman.version>1.5.1</legman.version>
|
||||
|
||||
<!-- webserver -->
|
||||
<jetty.version>9.4.14.v20181114</jetty.version>
|
||||
<jetty.maven.version>9.4.14.v20181114</jetty.maven.version>
|
||||
<jetty.version>9.4.22.v20191022</jetty.version>
|
||||
<jetty.maven.version>9.4.22.v20191022</jetty.maven.version>
|
||||
|
||||
<!-- security libraries -->
|
||||
<ssp.version>1.2.0</ssp.version>
|
||||
<shiro.version>1.4.0</shiro.version>
|
||||
<shiro.version>1.4.1</shiro.version>
|
||||
|
||||
<!-- repository libraries -->
|
||||
<jgit.version>v5.4.0.201906121030-r-scm2</jgit.version>
|
||||
|
||||
25
scm-ui/ui-components/src/DateFromNow.test.ts
Normal file
25
scm-ui/ui-components/src/DateFromNow.test.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { chooseLocale, supportedLocales } from "./DateFromNow";
|
||||
|
||||
describe("test choose locale", () => {
|
||||
|
||||
it("should choose de", () => {
|
||||
const locale = chooseLocale("de_DE", ["de", "en"]);
|
||||
expect(locale).toBe(supportedLocales.de);
|
||||
});
|
||||
|
||||
it("should choose de, even without language array", () => {
|
||||
const locale = chooseLocale("de", []);
|
||||
expect(locale).toBe(supportedLocales.de);
|
||||
});
|
||||
|
||||
it("should choose es", () => {
|
||||
const locale = chooseLocale("de", ["af", "be", "es"]);
|
||||
expect(locale).toBe(supportedLocales.es);
|
||||
});
|
||||
|
||||
it("should fallback en", () => {
|
||||
const locale = chooseLocale("af", ["af", "be"]);
|
||||
expect(locale).toBe(supportedLocales.en);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -10,8 +10,9 @@ type LocaleMap = {
|
||||
|
||||
type DateInput = Date | string;
|
||||
|
||||
const supportedLocales: LocaleMap = {
|
||||
export const supportedLocales: LocaleMap = {
|
||||
enUS,
|
||||
en: enUS,
|
||||
de,
|
||||
es
|
||||
};
|
||||
@@ -40,14 +41,26 @@ const DateElement = styled.time`
|
||||
cursor: help;
|
||||
`;
|
||||
|
||||
export const chooseLocale = (language: string, languages?: string[]) => {
|
||||
for (const lng of languages || []) {
|
||||
const locale = supportedLocales[lng];
|
||||
if (locale) {
|
||||
return locale;
|
||||
}
|
||||
}
|
||||
|
||||
const locale = supportedLocales[language];
|
||||
if (locale) {
|
||||
return locale;
|
||||
}
|
||||
|
||||
return enUS;
|
||||
};
|
||||
|
||||
class DateFromNow extends React.Component<Props> {
|
||||
getLocale = (): Locale => {
|
||||
const { i18n } = this.props;
|
||||
const locale = supportedLocales[i18n.language];
|
||||
if (!locale) {
|
||||
return enUS;
|
||||
}
|
||||
return locale;
|
||||
return chooseLocale(i18n.language, i18n.languages);
|
||||
};
|
||||
|
||||
createOptions = () => {
|
||||
@@ -64,7 +77,7 @@ class DateFromNow extends React.Component<Props> {
|
||||
|
||||
toDate = (value: DateInput): Date => {
|
||||
if (value instanceof Date) {
|
||||
return value as Date;
|
||||
return value;
|
||||
}
|
||||
return parseISO(value);
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import * as React from "react";
|
||||
import React, { ReactNode } from "react";
|
||||
import { apiClient, Loading } from "@scm-manager/ui-components";
|
||||
import { getUiPluginsLink } from "../modules/indexResource";
|
||||
import { connect } from "react-redux";
|
||||
@@ -6,7 +6,7 @@ import loadBundle from "./loadBundle";
|
||||
|
||||
type Props = {
|
||||
loaded: boolean;
|
||||
children: React.Node;
|
||||
children: ReactNode;
|
||||
link: string;
|
||||
callback: () => void;
|
||||
};
|
||||
@@ -55,7 +55,7 @@ class PluginLoader extends React.Component<Props, State> {
|
||||
});
|
||||
|
||||
const promises = [];
|
||||
const sortedPlugins = plugins.sort(comparePluginsByName);
|
||||
const sortedPlugins = [...plugins].sort(comparePluginsByName);
|
||||
for (const plugin of sortedPlugins) {
|
||||
promises.push(this.loadPlugin(plugin));
|
||||
}
|
||||
@@ -96,7 +96,8 @@ const comparePluginsByName = (a: Plugin, b: Plugin) => {
|
||||
}
|
||||
return 0;
|
||||
};
|
||||
const mapStateToProps = state => {
|
||||
|
||||
const mapStateToProps = (state: any) => {
|
||||
const link = getUiPluginsLink(state);
|
||||
return {
|
||||
link
|
||||
|
||||
@@ -7,8 +7,6 @@ import { urls } from "@scm-manager/ui-components";
|
||||
|
||||
const loadPath = urls.withContextPath("/locales/{{lng}}/{{ns}}.json");
|
||||
|
||||
// TODO load locales for moment
|
||||
|
||||
i18n
|
||||
.use(Backend)
|
||||
.use(LanguageDetector)
|
||||
|
||||
@@ -87,7 +87,8 @@ class FileTree extends React.Component<Props> {
|
||||
};
|
||||
|
||||
if (tree._embedded && tree._embedded.children) {
|
||||
files.push(...tree._embedded.children.sort(compareFiles));
|
||||
const children = [...tree._embedded.children].sort(compareFiles);
|
||||
files.push(...children);
|
||||
}
|
||||
|
||||
if (files && files.length > 0) {
|
||||
|
||||
@@ -235,7 +235,6 @@
|
||||
<dependency>
|
||||
<groupId>commons-codec</groupId>
|
||||
<artifactId>commons-codec</artifactId>
|
||||
<version>1.9</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
@@ -273,7 +272,7 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.tika</groupId>
|
||||
<artifactId>tika-core</artifactId>
|
||||
<version>1.20</version>
|
||||
<version>1.22</version>
|
||||
</dependency>
|
||||
|
||||
<!-- class loader leak prevention -->
|
||||
|
||||
Reference in New Issue
Block a user